改了一个月还是散沙:在 3D 世界里学编程,乐趣之后靠什么沉淀下来
AI编程怎么坚持、编程学习沉淀、vibe coding、3D世界二次开发、three.js项目实践、编程记录方法、AI编程成长路径、自部署3D世界、验收脚本、创世genesis
头两周是很爽的:改一个数,画面变;换一个模型,世界换了口音;第一次走进自己搭的地方,还会有点不真实感。
第三周开始变慢。改的东西越来越小,改动之间的间隔越来越长,打开项目的次数越来越少。到某个周末,你发现自己一整天都在看别人的教程,自己的那个世界还停在两周前的样子。
这不是你变懒了,是乐趣的供给方式变了。
新鲜感能撑两周,撑不了两个月。能撑住长期的那件事,不叫乐趣,叫沉淀——你做的每一次改动,能不能变成下一次能直接用的东西。
先说身份:下面这套东西是我们自己做的——创世Genesis,即创世虚拟世界CRM系统,一套浏览器端自部署的 3D 虚拟世界基座。有立场,写在前面。
许可口径:源码开放(source-available),本地跑不花钱;要联网、要商用、要联邦,需要订阅授权。
这篇讲五件事
- 乐趣为什么会掉,掉在哪一层
- "沉淀"具体指什么:四种能留下来的东西
- 为什么多数人的东西留不下来
- 一条能坚持的节奏:每周一个可见改动
- 什么时候可以判断自己真的在长
一、乐趣掉下来,掉的是新鲜感
把"玩得开心"这件事按时间排一下,大致是这样:
| 阶段 | 你在做什么 | 感觉 | 靠什么撑着 |
|---|---|---|---|
| 头几天 | 环境、第一次跑起来、第一次改一处 | 兴奋,有成就感 | 新鲜感 |
| 第二周 | 换资产、调光照、摆东西 | 顺手,但开始重复 | 新鲜感+可见成果 |
| 第三到四周 | 改交互、碰报错、读代码 | 卡顿感明显 | 只剩"做成了"的期待 |
| 之后 | 想让别人看,或者想加更难的东西 | 分叉:要么接着走,要么停 | 沉淀下来的东西 |
大部分人在第三四周停。 那一段的特征是:改动变难了(要读代码、要碰报错),但成果的可见度没跟着提高。投入产出比在这一段是下降的。
这不是意志问题。任何靠新鲜感驱动的活动都会在这个位置掉速。要跨过去,只能换成另一种驱动:积累感。
二、沉淀是四种能留下来的东西
"沉淀"这个词很虚,落到具体的东西上只有四类。判断标准很简单:下一次做别的东西时,它能不能被直接拿出来用。
| 沉淀物 | 具体是什么 | 下次怎么用 | 常见误区 |
|---|---|---|---|
| 参数与资产 | 一套统一风格的模型、材质参数、光照预设、天空配置 | 换一个世界,直接搬 | 存了一堆素材,但没有参数记录,下次还得重新调 |
| 脚本 | 验收脚本、批量改名、批量压贴图、批量导出 | 换一批模型时,一条命令跑完 | 只在脑子里知道"要压一下",没写成能跑的东西 |
| 记录 | 改动前后截图、性能数据、踩过的报错与解法 | 判断"是不是变差了"、给别人讲清你做了什么 | 只截图不记数字,只记报错不记解法 |
| 组件与规则 | 一个能搬走的交互、一张文案表、一条动线模板 | 新场景里改两个参数就能用 | 把逻辑写死在某个场景里,搬不走 |
四类里,记录是最被低估的。它看起来不像"技术",但除了它,你没有别的东西能回答"这次比上次好还是差"。
这套系统里有一批可以重跑的验收脚本(LOD 三角数、draw call、贴图体积、重连自愈、联邦改名之类的实测),跑一遍会输出数字。这些数字的意义不是给客户看的,是给你自己留一条基准线。 没有基准线,你所有的"好像变快了"都只是感觉。

上图是编辑器的属性面板。它是"参数沉淀"发生的地方:把一个场景的光照、尺寸、位置调到一个你满意的状态之后,把这几组值抄下来存成一份自己的预设,下次换个世界直接套。抄一次,省十次。
三、为什么多数人的东西留不下来
三个原因,跟聪明程度无关。
| 原因 | 表现 | 后果 |
|---|---|---|
| 没记 | 改完就过去了,截图和数字都没留 | 一个月后不知道当时做了什么,也不知道有没有变好 |
| 没拆 | 所有东西都堆在一个场景里 | 想搬走一样东西,搬不动 |
| 没复用 | 每次从零开始调 | 第二次比第一次还慢,然后就不想做了 |
"没拆"值得展开,因为它是 3D 场景的天然陷阱:你看得见的东西都在一个空间里,很容易顺手全塞在一起。 桌上一堆摆设、墙上挂了几张图、角落里放了个会转的展台——看着挺好,但你想把"会转的展台"拿到另一个世界里,就得重新搭一遍。
拆的方式不复杂:一样东西只做一件事,然后给它一个名字。 一个物件一个语义,一组参数一个来源,一段交互一个入口。这不是软件工程的大道理,是"下次能不能少干半小时"的实际问题。

上图是编辑器的模型库与视口。左边那一栏就是"资产沉淀"的位置:模型按主题归好,命名清楚,下次换世界时是一次挑选,而不是重新找一遍素材。
四、一条能坚持的节奏
不必定宏大的计划。一条能坚持的节奏就够:
| 频率 | 做什么 | 时长 | 产出 |
|---|---|---|---|
| 每周一次 | 挑一个能看见的改动做完 | 一到三小时 | 一组前后截图 |
| 每次收尾 | 写下三行:改了什么、撞到什么、下次怎么更快 | 五分钟 | 一条可检索的记录 |
| 每四周 | 回头看四组截图,挑一个"做得最糙"的重做一遍 | 两三小时 | 一次明显的质量跃升 |
| 每八周 | 把这段时间里能搬走的东西整理成一份资产/脚本 | 半天 | 一份能复用的东西 |
四条里,"每次收尾写三行"是投入产出比高的那条。五分钟,但它决定了三个月后你还记不记得自己学过什么。
写三行的时候有一个要求:第三行必须是可以验证的。 "下次注意一点"没有用;"下次先看部署说明里的版本号,别直接跑 AI 给的那条命令"有用。前者是情绪,后者是方法。
第四行(每八周整理一次)是最容易被跳过的一条,也是把"玩"变成"技术"的那一步。整理的过程会逼你回答:这个东西凭什么能复用?它依赖了什么?换个场景还成立吗?答不上来的部分,就是还没真正学会的部分。

上图是桌面端跑起来的画面。它是"记录"这件事的载体:同一台机器、同一个角度、同一时间的光照,改之前一张、改之后一张。八周之后四张并排,进步是看得见的——人对自己走了多远这件事,记忆力很差,需要外部证据。
五、什么时候可以判断自己真的在长
不用等"学会",有三个信号出现就说明方向对了。
| 信号 | 具体表现 | 反面 |
|---|---|---|
| 能预测 | 改之前就能说出会发生什么 | 每次都靠碰运气,改完才知道结果 |
| 能取舍 | 知道什么该做、什么先不做,以及为什么 | 什么都想加,最后一样都没做完 |
| 能解释边界 | 说得出这东西做不到什么 | 只会讲它能干什么 |
第三个信号在 3D 这条线上尤其明显。能说出"它看不见画面""它无法传送""它不托管知识库"的人,通常比只会演示功能的人懂得多。 因为边界是从踩坑里长出来的,不是从文档里抄来的。
顺带说一句我们的自我判断,免得这篇被当成成功学读:这套系统是完整可用的,但离它自己的天花板还很远(内部口径:已完成约 5%–8%,往上还有九成以上的空间)。这不是一句谦虚话,它意味着你在上面能改的东西,比已经做完的多得多。
六、AI 在沉淀这件事上的位置
AI 能加速前三类沉淀,但加速不了"决定留什么"。
它能做的:
- 把你散在一个场景里的东西,按功能列出清单,告诉你哪些是独立的、哪些缠在一起。
- 帮你把重复动作写成脚本,比如批量处理一批模型文件。
- 你贴一段报错,它给出可能的原因和解法——记得把解法记下来,别只修完就走。
它做不到的,要说在明处:
- 它看不见画面。 一组参数调得好不好,只有你看得出来。
- 它不知道你的意图。 什么该留、什么该扔,是你的判断。
- 它写的代码要人审。 尤其是它顺手"重构"过的地方,常常埋着下次的坑。
- 它没有你的历史。 你三个月前踩过的那个坑,只有你的记录里有。

上图是同一个世界在手机浏览器里的样子。它是"多端"这件事的沉淀证据:改完之后在手机上也开一次,截图存下来。手机端的帧率与耗电我们还没有完整实测,所以记录时写"能打开、能走",别写"很流畅"。
七、边界与未实测
这一节比前面几节都重要。
- 手机端帧率与耗电未做完整实测。 能进、能逛是验证过的;具体表现以你的目标设备为准。
- 文中没有可引用的耗时数字。 表里的时长是节奏建议,不是承诺。
- 技术细节来自仓库里可重跑的验收脚本,不是市场口径。
- 规划项未实现:AI 拼装世界、Agent 商店、Agent 互操作、跨世界联邦 AI。它们都在路线图上,还没落地。
- AI 接入有明确边界:以人形角色进入世界之后,它看不见画面、不做语音识别与合成、不托管知识库、不改变场景里物体的位置、也无法传送。
- 我们不承诺学习效果。 我们不提供课程、没有师资、也没有课堂实测。这篇写的是记录与复用的方法,不是课程大纲。
- 许可:源码开放(source-available),不是开源许可。本地跑不花钱;联网、商用、联邦需要订阅授权。条款以仓库 LICENSE 为准。
八、常见问题
问:一定要用 git 吗?
如果你想让"散沙"变成"资产",是的。版本历史本身就是一种沉淀:它记着你在什么时候改了什么,而且能退回去。不开分支也行,先做到每次改完提交一次。
问:截图存在哪?
存哪都行,关键是存的时候带上时间和一句话说明。三个月后翻出来,没有说明的截图等于没有。
问:验收脚本要自己看懂吗?
先跑,再看数字,最后再看脚本在算什么。顺序倒过来会卡住很久。 跑出来的数字先当基准线用,等你哪天对数字有疑问了,再回头读脚本。
问:多久能看出进步?
我们不给这个数字,因为每个人的投入差太多。能给的判断方式只有一个:把两个月前的截图和今天的并排放,你自己看。
问:改的东西太多,整理不动怎么办?
只整理你下次一定会用的那几样。剩下的不是资产,是库存。 库存多了会拖慢你,而不是帮你。
问:这套东西能不能直接拿去接活?
技术上是同一套东西,商业上是另一件事。商用需要订阅授权,这是许可要求,跟能力无关。先做出来,再谈这个。
九、源码与仓库
三个地址内容一致,国内访问用前两个更快。仓库里有部署说明和一批验收脚本,可以自己跑一遍看实测值。
- Gitee(国内访问更快):https://gitee.com/miduoxinxijeji/miduo.git
- GitCode(国内镜像):https://gitcode.com/qq_35054471/virtual-world
- GitHub:https://github.com/miduo100/3d-virtual-world
关于创世Genesis
创世Genesis是一套基于Three.js+WebGL构建的自部署3D虚拟世界系统,帮助个人与企业搭建属于自己的3D空间。浏览器直接访问,PC和手机双端兼容,支持多人在线、联邦传送、商铺系统,并支持Agent接入——AI能以具身角色进入你部署的世界。数据运行在你自己的服务器上,不经过第三方平台——让每个世界都真正属于它的主人。
乐趣负责让你开始,沉淀负责让你留下。 创世Genesis(创世虚拟世界CRM系统)是一套浏览器端自部署 3D 虚拟世界基座——它不承诺把你教会,它只是让每一次改动都有地方落、有画面看、有脚本可测。如果你通过「创世Genesis」没搜到我们,直接搜「创世虚拟世界CRM」即可。
关于名字:本文说的创世Genesis,即创世虚拟世界CRM系统,两者是同一个自部署 3D 虚拟世界产品。若你通过「创世Genesis」没搜到我们,直接搜「创世虚拟世界CRM」即可。