中文  |  English

济宁米多信息科技有限公司

不知道用 AI 编程做什么:一套 3D 虚拟世界能改成的十二个方向

AI编程做什么项目、不知道开发什么、AI编程练手项目、二次开发项目推荐、3D虚拟世界开发、three.js项目练手、开源项目二次开发、独立开发练手、改造开源项目、创世genesis

工具箱装好了,教程也看完了,模型能连上,提示词写得越来越顺。然后打开一个空文件夹,光标在那儿闪。

卡住的不是能力,是题目。

这是"想用 AI 编程"的人很典型的状态:不是不会写,是不知道写什么。于是又去做一个待办清单,或者一个博客,或者一个能对话的机器人——做完,存在硬盘里,再也没打开过。

这篇不是讲怎么用 AI,是给题目。

下面这十二个方向,都是拿一套已经在跑的浏览器端 3D 虚拟世界基座(创世Genesis,即创世虚拟世界CRM系统)当靶子,按工作量从半天排到一个月以上。每个方向写三件事:改什么、会撞上什么、怎么算做成了。

先说清身份和口径:这套东西是我们自己做的,所以有立场。文中技术细节来自仓库里能重跑的验收脚本,工作量是估计值,不是承诺。

许可口径:源码开放(source-available),本地跑不花钱;要联网、要商用、要联邦,需要订阅授权。

这篇讲四件事

  1. 为什么"选题"比"写代码"难
  2. 四条看起来合理、实际走不远的选题
  3. 十二个能真正做出来的方向
  4. 怎么从这十二个里挑一个

一、选题比写代码难,因为它没有边界

写代码有明确的完成信号:报错消失、测试通过、页面出现。选题没有。 你可以在"做什么"这个问题上耗掉几个月,而且耗的时候没有任何反馈告诉你"快到了"。

难点有三个:

没有验收标准。 "做个有意思的东西"——怎么算有意思?AI 也不知道,它会给你一个看起来还行、但你自己都不想打开的答案。

没有参照物。 从零开始的时候,你不知道什么规模是合理的。于是要么做得太大(三周后放弃),要么做得太小(两小时做完,没有下一层)。

没有边界。 空白画布上什么都能画,等于什么都没指向。

这三件事,换一个已经有结构的东西就全解决了。 不是因为它简单,是因为它给了你约束:文件在哪、状态是什么、改一处会牵动什么。你要做的不是从零想一个题目,而是在既有结构上找到一个"这里可以不一样"。

这句话是整篇的骨架:不是给你一个项目,是给你一个题目。

浏览器端 3D 编辑器:左侧模型库、中间场景视口、右侧对象列表与属性面板
浏览器端 3D 编辑器:左侧模型库、中间场景视口、右侧对象列表与属性面板

上图是这套系统自带的浏览器端 3D 编辑器:左边模型库、中间视口、右边对象列表与属性面板。看懂这张图,十二个方向里有一半就已经知道从哪下手了——它把"一个世界"拆成了可以逐个处理的对象。

二、四条看起来合理、实际走不远的选题

不是这些题材不好,是它们没有下一层。

选题第一周的状态为什么长不大
待办清单增删改查跑通加东西只有一种加法:再加一个字段。加到第五个就没有地方了
个人博客首页能看,文章能发剩下的活是排版和部署,不是开发
爬虫 / 数据看板抓到数据,画了图数据源一改就崩,而且过程看不见
聊天机器人能对话,能记住上下文调的是别人的接口,你能改的只有提示词

四条有一个共同点:关掉就没了,改坏了看不出,做完没有第三层。

判断一个选题值不值得做,问三个问题就够了:

  1. 它有没有画面? 改对了、改错了,能不能一眼看出来。
  2. 它有没有验收? 有没有一个"通过条件",让你知道这一步成了。
  3. 它有没有下一层? 做完这个,还有没有下一个想加的东西。

三个都答"有",才值得投入。这套 3D 世界的三个答案分别是:有画面、有验收脚本、层数多到能改一年。

三、十二个方向

先看总表,再往下看每个方向的具体说明。工作量是估计值。

#工作量改什么会撞上什么
1半天换一套主题资产,把默认场景改成你的(校园、老家街道、产品展厅)GLB 格式、贴图尺寸、模型原点与比例
2半天改界面文案、配色、欢迎语文案在哪个文件、改了为什么没生效
3半天换掉默认角色,用你自己的 GLB 人物骨骼兼容、动作重定向、比例
4一天排一条导览动线:出生点 → 三个看点 → 出口触发范围、出生点朝向、碰撞
5一天加一个只在你这个世界成立的交互:要按才开的门、踩上去会亮的格子、只在一个区域响的声音事件绑定时机、条件判断、多人时的状态
6一天给你的物体写 AI 描述,让讲解员能讲你的东西描述表怎么填、AI 读什么不读什么
7两三天接一个自己的数据源:课程表、产品目录、设备清单,变成世界里的物件或看板数据形状、接口、缓存、什么时候刷新
8两三天给 AI 角色一个行为:巡逻、跟随、只在某个区域说话Agent 的接口能力,以及它的边界
9一周做一套主题资产包:统一视觉风格、统一材质参数资产管线、LOD、draw call
10一周跑验收脚本做一轮性能优化,记录前后数字读数字、什么改动影响什么
11一周适配手机:竖屏布局、触屏操作、加载顺序移动浏览器、帧率、耗电
12更长给一个空间加共享状态:座位、开关、记分板实时同步、弱网、冲突

下面逐个说。

1. 换一套主题资产(半天)

改什么。 把默认场景里的模型换掉,换成一整套同一个主题的:一个学校、一条你老家的街、一个产品展厅。这一步几乎不需要写代码,主要在资产目录、模型引用和摆放。

会撞上什么。 三个坑:一是 GLB 的格式和导出设置,有的模型导出来材质会丢;二是贴图尺寸,一张 8K 贴图能让加载时间翻几倍;三是模型的原点和比例——这是新手容易卡住的地方,模型会悬空、会陷进地板、会大得离谱。这不是 bug,是坐标系没对齐。

算做成了。 别人进来,不用你解释,能说出"这是一个学校"。

2. 改界面文案、配色、欢迎语(半天)

改什么。 首页的欢迎语、按钮文字、几个主色。目的是让它一眼不像"原版"。

会撞上什么。 看起来门槛低,但会教你一件真实的事:改了没生效。可能是缓存、可能是改的不是那处文案、可能是构建产物没更新。这三种情况的排查方式完全不同,而这个排查过程,就是工程能力本身。

算做成了。 找不到一句原版文案。你自己刷新三次,都不觉得哪里别扭。

浏览器端 3D 编辑器的属性面板与对象列表
浏览器端 3D 编辑器的属性面板与对象列表

上图是编辑器右侧的属性面板与对象列表。这一块是"改一个数、看一眼"发生的具体位置——尺寸、位置、颜色都在这几个输入框里。它也是新手第一次体会到"我动的这个东西,到底是哪一个"的地方。

3. 换掉默认角色(半天)

改什么。 用自己的 GLB 人物替换默认角色,让他能走、能跑、能跳。

会撞上什么。 骨骼。这是 3D 里比较硬的一块:骨架命名要对得上、比例要匹配、动作要能重定向。T 姿势不对,角色会歪;蒙皮权重有问题,胳膊会抽。这套系统里做过骨骼映射的兼容验证(四个来源的角色,67 个骨骼点对得上 67 个),但你自己的模型不一定在验证范围内。

算做成了。 角色站在地上,不是浮着也不是陷进去;走起来动作不抽搐。

4. 排一条导览动线(一天)

改什么。 出生点放在哪、先看到什么、接下来往哪走、在哪停一下、怎么出去。配上走近才出现的说明文字。

会撞上什么。 你会第一次意识到"空间是有语法的"。出生点转身看见一面空墙,人立刻不知道往哪走;动线太宽,人会乱逛;说明文字出现得太早,人会边走边读,然后撞墙。

算做成了。 找一个没来过的人,不说话,让他自己走完。他走错了,说明你的空间语言没写清楚。

5. 加一个只在你这个世界成立的交互(一天)

改什么。 一扇要按才开的门、一片踩上去会亮的格子、一段只在一个区域响的声音、一个走近才弹出的提示。

会撞上什么。 事件在哪绑、条件按什么顺序判断、多人同时在的时候状态归谁。这是从"摆东西"跨到"写逻辑"的那一步,也是这套东西真正开始需要读懂代码的地方。

算做成了。 条件对的时候触发,条件不对的时候不触发。后半句比前半句难。

6. 给物体写 AI 描述(一天)

改什么。 世界里每个物体有一张描述表,你往里填这个物体是什么、有什么可讲的。填完,AI 讲解员就能讲你的东西。

会撞上什么。 一个反直觉的点:AI 读的是你写的描述,不是模型本身。 它看不见画面。所以描述写得抽象("这是一台设备"),它就只能讲得空泛;写得具体(型号、用途、和旁边那台的区别),它才讲得出东西。

算做成了。 你写进去的一条具体信息,能被它准确地讲出来。

7. 接一个自己的数据源(两三天)

改什么。 把一组你自己的数据——课程表、产品目录、设备清单——变成世界里的物件、看板或者可点击的卡片。

会撞上什么。 数据形状不匹配、接口跨域、缓存、以及一个容易忽略的事:数据变了,世界里的东西不会自己变。要么刷新,要么重载,要么自己写一个同步。这一步会让你真正理解"前端"和"数据"之间隔着什么。

算做成了。 你改一行数据,知道要做什么操作才能在画面里看到变化——知道,比"它自己变了"更有价值。

8. 给 AI 角色一个行为(两三天)

改什么。 让它巡逻、跟着你走、只在某个区域开口。这一步不需要模型能力,需要你把"行为"拆成它能执行的动作。

会撞上什么。 它的能力是有边界的,而且边界很具体:它看不见画面、不做语音识别与合成、不托管知识库、不能传送、不能改变场景里物体的位置。 你能让它做的,是移动、走向某处、跟随、转向、跳、说话、触发交互这几类。

所以真正要设计的是:在它能做的这几件事里,怎么组合出一个像"有人在那儿"的行为。 这件事比写代码难,也更有意思。

算做成了。 它能按你说的动,并且你能说清它做不到哪三件事。说得出边界,才算真懂了。

9. 做一套主题资产包(一周)

改什么。 不是换模型,是定一套视觉规则:材质参数统一、色调统一、细节密度统一。让十个模型摆在一起像一套。

会撞上什么。 资产管线。贴图怎么压、LOD 做几档、同屏 draw call 控制到多少。这套系统里做过两轮:贴图压缩让 GLB 体积降了 68%–92%,LOD 三个版本把三角面压掉 71%–87%,密集场景的 draw call 从 3064 降到 837。这些数字不是让你抄,是说明这个地方有活干。

算做成了。 把十个模型摆在一屏里,看不出哪个是后来加的。

10. 跑一轮性能优化(一周)

改什么。 先跑一遍仓库里的验收脚本,记下数字,然后找一个你看着不顺眼的指标,改,再跑,记下新数字。

会撞上什么。 一个很具体的教训:有些卡顿不是"电脑慢",是你动了一个会牵动全局的东西。 这套系统里有个真实案例:改场景里灯的数量会触发整个场景重新编译,一次编译要将近九秒;后来把触发条件收窄,这九秒就不需要了。这类因果关系,看书看不出来,得自己撞一次。

算做成了。 你有一份前后对比的记录,能说清"我改了什么,哪个数字动了,为什么"。

11. 适配手机(一周)

改什么。 竖屏布局、触屏操作、加载顺序(哪些模型先来、哪些可以晚点来)。

会撞上什么。 手机不是一个"小屏的电脑"。它的输入方式、性能上限、内存都很不一样。帧率和耗电我们没做完整实测,这一块你要自己测,而且要在两三台不同档位的机器上测——只测你自己那台,结论大概率不成立。

算做成了。 竖屏能进、能走、界面不横向溢出,走一圈不发烫到拿不住。

手机浏览器里的街景建筑与浮空岛广告牌
手机浏览器里的街景建筑与浮空岛广告牌

上图是手机浏览器里的画面:竖屏下的街景建筑和上方浮空的广告牌。手机端不是把桌面端缩小——你要重新决定什么先加载、什么可以晚点来、什么在小屏上根本不显示。

12. 加共享状态(更长)

改什么。 两个人同时在一个空间里,看同一个状态:谁坐在哪个座位、哪盏灯被打开、记分板上的分数。

会撞上什么。 实时同步里麻烦的不是"发出去",是"两边看到的不一样怎么办"——弱网、断线、重连、同时操作同一个东西谁赢。这套系统里做过重连自愈的验证(9 个场景 9 个通过),但那是我们自己的测试条件,不能保证你的场景。

算做成了。 两台设备同时操作,双方看到同一个结果;断网再连回来,状态不错乱。

四、怎么从这十二个里挑一个

不要按难度挑,按你手边已经有什么挑。

你手边有从哪个开始为什么
一堆好看的 3D 模型1 或 9你的瓶颈是摆放与统一,不是建模
一份自己的数据(课程表、产品表、设备清单)7数据是你的独有素材,别人抄不走
一个具体要做的场景(学校、门店、展馆)1 → 4 → 5按"先有空间、再有动线、再有交互"排
审美偏好但不会建模2 或 9先从配色和材质规则下手,成本低反馈快
想搞性能10这是纯工程,验收数字会给你明确反馈
想做 AI6 → 8先让它能讲,再让它能动
什么也没有2半天能做,做完就有下一个想法

这里有个反直觉的建议:从"半天"那一档开始,不要从"一周"那一档开始。 因为你要验证的不是"我能不能做成大事",是"这个方向值不值得我投两周"。用半天换一个判断,比用一周换一个半成品划算。

桌面端浏览器打开 3D 世界的实机画面
桌面端浏览器打开 3D 世界的实机画面

上图是桌面端浏览器里的实机画面。这张图的作用是给你一个验收标准:你要做的东西,最后应该是一张"别人能走进去的画面",而不是一段自己看得懂的代码。

五、第一周不要做什么

这三件事会让"改坏了不知道是哪一步坏的":

不要让它重构目录结构。 AI 很容易热情地把文件搬来搬去,看起来更整齐,但你接下来找任何东西都要重新学一遍。结构是别人定的,先按他的来。

不要让它升级依赖的大版本。 一次大版本升级会同时改掉几十个行为,出了问题你分不清是"我改的那处"还是"升级带来的"。要升级,单独开一个分支。

不要一次改多个文件。 一次只改一处,改完刷新看结果,跑一遍验收脚本,提交。这个循环走得慢,但它走得远。

六、边界与未实测

  • 工作量是估计值。 上面的"半天""一周"是按熟悉这套结构的人估的,第一次上手通常更慢。不要把它当承诺。
  • 手机端帧率与耗电未做完整实测。 能进、能逛是验证过的,具体表现以你的目标设备为准。
  • 文中技术数字来自仓库里可重跑的验收脚本,是那几次优化的结果,不是所有场景都成立的通用结论。
  • 规划项未实现:AI 拼装世界、Agent 商店、Agent 互操作、跨世界联邦 AI。它们都在路线图上。
  • AI 接入有明确边界:以人形角色进入世界之后,它看不见画面、不做语音识别与合成、不托管知识库、不能传送、不能改变场景里物体的位置。
  • 这套系统是完整可用的,但离它自己的天花板还很远(内部口径:已完成约 5%–8%,往上还有九成以上的空间)。这是好事:有地方给你改。
  • 不承诺学习效果。 我们不提供课程,也说不清"做完这十二个中的几个能达到什么水平"。
  • 许可:源码开放(source-available),本地跑不花钱;联网、商用、联邦需要订阅授权。条款以仓库 LICENSE 为准。

七、常见问题

问:这十二个必须按顺序做吗?

不必。它们之间没有依赖,只有难度差别。挑一个你手边有素材的,先做出来。

问:不会 three.js 能做吗?

前六个基本不用写 three.js。前三个甚至可以只动资产和配置。 到第 5 个开始需要读代码,到第 9 个开始需要懂渲染的一些概念。

问:用 AI 一次能做完一个方向吗?

能做出一版,但不会是你想要的那一版。AI 擅长按条件把东西做到通过,不擅长判断"这是不是那个味道"。 所以流程是:它做,你看,你说不对,它改。

问:这套东西是不是必须部署到服务器?

本地跑也可以。要让别人打开,才需要服务器和域名。本地跑不花钱。

问:做完能拿去卖吗?

商用需要订阅授权。先做出来,再谈这个。

问:十二个方向里哪个最有价值?

看你想要什么。想要一个作品,选 1 到 5;想要一段能写进简历的工程经验,选 10 和 12;想要理解 AI 在空间里能干什么,选 6 和 8。这三个目标的答案不一样,别混着选。

八、源码与仓库

三个地址内容一致,国内访问用前两个更快。仓库里有部署说明和一批验收脚本,可以自己跑一遍看实测值。

  • 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」即可。
← 返回文章列表