堂吉诃德 (@QuixoteBuilds) header
堂吉诃德 (@QuixoteBuilds) profile picture

和小朋友一起用 AI 复现《西游记》3D 游戏 九部 · 八十一难 · 网页即玩|从美猴王开始 研究:3D AI|AIGC|Unity

西行
Joined April 2012
Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)Photo by 堂吉诃德 (@QuixoteBuilds)
把花果山从 95 米放大到 2 公里,我们踩过的 6 个坑。 我和 9 岁的小朋友在照原著把《西游记》做成 3D 游戏,工具是 AI 出图、Tripo 建模、Blender 加工、Unity 搭场景。第一关花果山,前后推倒重来了一次。下面是这一路的坑,每个都写了怎么解决,同样在用 AI 做大场景的朋友,可以少走点弯路。 一、先抠细节,后看全局 一开始我们在一座半径 95 米、主峰 45 米的小岛上,一连几天抠松针、树皮、猴毛、表情、牙齿。后来让 AI 把整本书过一遍,才发现花果山在全书里出场 7 次:石猴出世,学艺回来打混世魔王,猴国操练,大闹天宫,三打白骨精后被赶回来(山已经被烧成焦土,悟空又把它重整起来),八戒来请他回去,真假美猴王。原著写群猴「四万七千余口」,还有七十二洞妖王。95 米的小岛,一样都装不下。 解决:推倒重来。先查全书里这个地方要干什么,再出整体规划图,定了格局,才开始做细节。规划按全书来,不按一关来。 二、规模不够,第一反应是堆人 发现地方小,我第一个念头是在远处堆几千只猴子的剪影。画出来像一支军队要来攻山。再对原文,七十二洞的妖怪平时各守各的洞,「每年献贡,四时点卯」,不是来打仗的。 解决:规模靠空间,不靠人海。远景交代地方有多大,近景交代这里住着谁。真要乌泱泱一片的,只有原文就是「来攻打」的十万天兵。 三、放大几百倍,草比树还高 山是 AI 照着参考图生成的,一座山的模型一米来高,放进游戏要放大六百多倍。参考图里岩缝间画了些小草,模型连草一起做成了立体的,放大后成了几米高的大叶子,仙石脚下像围了一丛巨型芦荟。之前小松树也一样,变成了三四十米高的绿团子。 解决:事后削草、补色,近看像抹了一层腻子;铺真实尺寸的石纹能救急。根本办法是从源头改:大尺度地形的参考图里,不画草、不画树,青苔只当岩石的颜色,树和草按真实大小另外种。 教训一句话:放大几百倍的东西,身上不能带着有固定大小的东西。 四、换了尺度,代码里藏着旧数字 岛放大以后,怪事一个接一个:猴群走到深潭边,被瞬间拉回松林;整座岛像蒙了一层白纱。查下来,猴子有个「离家超过 400 米就拉回来」的保险,旧小岛够用,新岛的深潭离岛心 450 米;后处理里的景深和雾,也还是小岛时代的距离。 解决:换尺度时,把代码里写死的距离、后处理里的距离参数全部搜一遍。以后这类数字只在一个地方定义。 五、搭完觉得差不多了,拿规划图一对,只完成了三成 岛搭好,我挺得意。小朋友进去跑了一圈,回来说,跟那张大图不像。我把规划图拿出来,在游戏里找同样的位置、同样的角度截图,一张张并排对,确实差得远:规划图满山深绿松林、海边礁石白浪,我们是浅绿草地和一个光溜溜的圆形海岸。 解决:列清单,全局十条、八个区域逐个过,按顺序一项项补,补完再同机位对一遍。现在估计到了六成。先定大的再抠小的,抠完小的,还要回头拿大的再对一遍。 六、种三万棵树,改一次参数要等 70 分钟 山上种了快三万棵树、五千多丛野花。以前在 Blender 里一棵棵算位置、打射线找地面,改一个密度就要等一个多小时。这两天在推上看到 @masamunecode 用规则在引擎里「长」出整片山谷,我们把同一套种树规则搬进 Unity,地形先烘成一张高度图,种树时查表。现在改参数 5 秒见效果。渲染也顺手改了:同一片松林,绘制调用从 1668 次降到 392 次。 解决:大面积植被,规则在引擎里跑,不要离线一棵棵摆;生成和渲染是两件事,分开优化。 最后 这一路最大的体会:AI 让「做出来」变得很快,但「做对」还是得靠先想清楚。小朋友不懂技术,可他一眼就能看出「不像」,这个比什么检测工具都准。 我们踩过的坑都写在这了,收藏起来,做大场景时对照着查。你们在用 AI 做场景时,踩过最离谱的坑是什么? #AI #gamedev #Unity3D
6
4
1,361
照着原著搭的花果山:两公里的岛,六百多米的擎天柱,一镜到底。 说实话,现在离我们心里的花果山还差得远,对着规划图,大概只到六成。 引擎 Unity,模型 Tripo,加工 Blender,概念图 AI 生成;镜头路线是让 AI 写脚本、一帧一帧录的,第一回的石猴出世正在做。 配乐:Tunetank 踩过的坑明晚写一篇长文。 #西游记 #AI #Unity3D
1
125
改一次种树参数,以前要等 70 分钟,现在 5 秒。 花果山上种了快三万棵树、五千多丛野花。以前是在 Blender 里一棵一棵算位置、打射线找地面,改一个密度,就得等一个多小时才能看到效果。 这两天刷推,看到 @masamunecode 用 AI 在虚幻引擎里写规则「长」出一整片山谷,@BeyondTheBoxCN 又提醒我:生成和渲染是两件事。于是换了个思路:规则一个字不改,搬进 Unity 里跑;地形先烘成一张高度图,种树时查表,不再一棵棵打射线。 左边是原来的,右边是新的,几乎看不出区别。但从现在开始,我可以一边拖参数一边看了。 渲染也顺手改了:同一片松林,绘制调用从 1668 次降到 392 次。 谢谢两位指路。你们做大场景,植被是怎么摆的? #AI #gamedev #Unity3D
103
这几天把花果山重新搭了一遍:岛放大到两公里,擎天柱六百多米,山上种了一万七千棵树,仙石也照着原著的「九窍八孔」重新做了。 搭完我挺得意,觉得差不多了。小朋友进去跑了一圈,回来说,跟那张大图不像。 我不服气,就把当初定下的那张规划图拿出来,在游戏里找同样的位置、同样的角度截图,一张一张摆在一起对。一对,确实差得远。 第一张图左边是规划图,右边是游戏。山的位置、瀑布的位置、山涧往哪流,这些大的格局都对上了。可规划图里是满的:山坡上全是深绿的松林,山腰缠着云,海边一圈礁石和白浪。我们这边是空的:大片浅绿草地,海岸是一个光溜溜的圆,看不到一朵浪花。 第二张是几个区域的特写。瀑布两边的崖上,规划图长满了松树和藤蔓,我们是一面光秃的红墙。山涧里,规划图是乱石间翻滚的白浪,我们两岸是笔直的石墙,像一条水泥沟。外圈原野上,规划图有野花、有鹿,我们是一排排积木一样的树。南岸沙滩,规划图有浪、有礁石、有浮木,我们是一片发白的平地。 我列了个清单,全局十条,八个区域各看一遍,还有一串规划图里有、我们根本没做的东西:海浪、云海、瀑布上的彩虹、竹林、藤萝、仙鹤和鹿。算下来,大概完成了三成。 说实话有点泄气。不过回头想,这三成恰恰是最难改的那部分:岛多大、山在哪、路怎么走。这些要是错了,就得像上次那样推倒重来。剩下的七成是往里「添东西」,不用拆。 规划图本身是一张画出来的插画,游戏不可能每个角落都做到那个密度。我给自己定的目标是:远远看过去像那张图,第一回石猴会走到的地方,走近了也经得起看。 下一步先做海岸和山涧,这两样在全景里最扎眼,也是石猴出场要走的路。 先定大的,再抠小的,这话我上次说过。这次多学了一条:抠完小的,要回头拿大的再对一遍。 #AIGC #gamedev #Unity3D
2
1
402
草比树还高😅 新的花果山搭起来以后,我跑到山顶,去看石猴出世的那块仙石。 原著里写这块石头「有三丈六尺五寸高」,换算下来十二米左右,我们也是照这个尺寸做的。结果走近一看,石头脚下围了一圈黄绿色的大叶子,一片就有好几米长,比站在旁边的石猴高出去好几倍。原著写的是「左右倒有芝兰相衬」,我们这个,倒像是仙石被一丛巨型芦荟围住了。 再往远处看,崖顶上、山腰上,到处都是这样的大叶子。 查下来原因是这样的:山是 AI 生成的。我给它的参考图里,岩缝里画了些小草和青苔,看着挺生动。AI 做模型的时候,把这些草也一起做成了立体的。一座山的模型原本也就一米来高,草只有几厘米,可放进游戏里,这座山要放大六百多倍,草也跟着放大六百多倍,就成了几米高的大叶子。 之前树也出过一模一样的毛病,图里画的小松树跟着山一起放大,变成了三四十米高的大团子。那次我只把参考图里的树去掉了,草觉得没关系,就留着了。现在看,只要是有固定大小的东西,草、花、藤,跟着放大几百倍都不行。 第一次我想偷个懒,不重新生成,直接让程序把模型上的草削掉,原来长草的地方,用周围岩石的颜色补上。远看是干净了,走近一看,岩面像被抹了一层腻子,滑溜溜的,一块一块全是补过的痕迹,很不耐看(第二张图左边)。 第二次是给所有的石头铺一层按真实大小画的石纹,三米一张,裂缝、颗粒都是真的大小,不管这座山放大了多少倍,石纹都一样大。补过的地方被石纹盖住,近看总算像块石头了(第二张图右边)。 但这只能救急。真要解决,还得从源头改:把参考图里所有的草、蕨、小树都去掉,青苔只当成岩石上的颜色,让 AI 照着干干净净的石头重新做一遍(第三张图)。新模型正在做。 这件事给我的教训很简单:放大几百倍的东西,身上不能带着有固定大小的东西。事后去补,补得再仔细也看得出来,不如一开始就别带上。 #AI #gamedev #Unity3D
1
329
我跟小朋友都以为自己对 #西游记 挺熟的。他是看电视、看现代版长大的,我也一样。 但是这回说好了要照着原著做,那就得真去读原著。结果一翻开就傻眼了,文言文,我自己都读不下去,更别说他了。 最后是请 AI 帮忙,一句一句地拆开讲给我们听。 第一个让我们俩都意外的地方,就是石猴是怎么生出来的。我们一直以为是石头一裂开,猴子"嘣"一下就跳出来了。原著不是这样写的。 原著说,那块仙石里面孕育了很久,有一天裂开了,先产下一个石卵,「似圆毬样大」,就是一个圆球那么大的石头蛋。然后「因见风,化作一个石猴」,见了风,才变成了猴子。 变成猴子以后,他先学爬、学走路,拜了四方,眼睛里射出两道金光,一直射到天上,把玉帝都惊动了。玉帝派千里眼、顺风耳去看,两个人回来报告了一大通,玉帝听完,就说了一句:「不足为异。」意思是,没什么稀奇的。 小朋友听到这里笑了半天。 这一段我们打算在游戏里原样做出来,先是一个石蛋,风一吹,变成猴子。 #AIGC #黑神话悟空 #3DCG
5
4
487
最初我们让AI做出来的,是一个卡通风格的猴子,穿着草裙,矮矮胖胖的。这个风格和Q版的花果山是搭配的,看起来很舒服的一只猴子。 和画风一样的道理,Q版的猴子,明显和原著差异太大。《西游记》原著关于石猴样貌的描述是这样的: 初生时只写“五官俱备,四肢皆全”,目运两道金光射冲斗府。再往后就明确了——身躯鄙陋,像个食松果的猢狲;虽然像人,却比人少腮,孤拐面、凹脸尖嘴;身不满四尺,年不过三旬。 再往后书中反复出现的固定形象更是:毛脸雷公嘴、尖嘴缩腮、火眼金镜、七高八低孤拐脸、两只黄眼睛、磕额头、獠牙往外生(像螃蟹,肉在里面骨在外面)、满面毛、查耳朵……整体是瘦削、尖嘴、毛脸、带獠牙的矮小猴精,凡人看了常觉得丑陋吓人,和圆润可爱的Q版完全是两回事。 如果遵照原著,做出来的石猴形象,非常吓人,反复斟酌之下,我们决定采用折中策略,做一个不那么吓人,也不那么可爱的形象。 最终确定的提示词如下: - 脸:「孤拐面,凹脸尖嘴」「比人少腮」——颧骨高高突起,眼眶和脸颊向里凹,两腮瘪,没有肉嘟嘟的脸蛋;口鼻一起向前突出成尖嘴,像猕猴的吻部;「毛脸」——除了眼周和口鼻一圈浅色皮肤,脸上长着短毛。 - 眼睛:深陷在眉骨下面,大小正常偏小,明亮机灵,深褐色眼珠;不要大眼萌系,不要金色眼睛。 - 身形:「身躯鄙陋,却像个食松果的猢狲」——瘦小精干的猕猴身形,脖子短,肩窄,胳膊比人长,手脚细长有力,肚子不鼓;身高约 1.2 米;头身比约 1:4(不要大头 Q 版)。站姿略微弓背,膝盖微屈,像猴子随时要蹦起来。 - 毛:全身覆盖灰褐偏土黄的猕猴毛,头顶毛发蓬起几撮,胸腹毛色略浅。毛发用块面化的风格处理,干净利落。 - 尾巴:一条中等长度的猴尾,从尾椎向后垂下,末端微微上卷。 - 衣着:不穿任何衣服,就是一只猴子(身上的毛自然遮挡,没有任何人体细节)。 - 不要任何金色纹饰、印记、图腾、发光、头箍、首饰。 - 表情:机灵、顽皮、带一点野气,嘴角上扬,不凶恶。 #AIGC #AI绘画 #西游记
1
1
562
说说画风。这件事我们前前后后折腾了三轮。 第一轮,是 Q 版。 一开始想得挺简单:小朋友喜欢可爱的东西,那就做可爱一点。大眼睛的小石猴,云海上浮着一座小岛,像个精致的微缩模型。我们还真把它做进了游戏里,石猴能在岛上跑来跑去。 可是我和小朋友进去反复跑了好多遍,越跑越觉得不对劲。好看是好看,就是太轻了,不够厚重,像在玩一个玩具。 《西游记》是什么分量?石猴一出世,眼里两道金光直冲天庭,连玉帝都惊动了。放在这么一只萌萌的小猴子身上,撑不住。离原著也太远了。 第二轮,是古画风。 这一轮我是有私心的。我想着,既然做的是《西游记》,那就往"古"里走,墨线、淡彩,像一幅会动的古画。我还挺满意,觉得这样很有文化,很中国风。 做出来以后叫小朋友来看。他看了一会儿,没怎么说话,然后跟我说,这个看着像在看书,不像在玩游戏。 说实话,当时我心里是有点不服气的。但我自己又去转了几圈,越看越觉得他说得对。线条那么重,确实像连环画,好看是好看,可是玩的人不会想在里面跑来跑去。 第三轮,是国漫。 几套方案摆在一起,是小朋友拍的板,就是现在国产动画电影那种感觉。 回头看,这三轮其实是在找一个中间点:Q 版太轻,压不住原著的分量;古画太重,不像一个能玩的游戏。国漫正好在中间,有分量,也让人想进去跑一跑。 所以我们俩定了个规矩:故事照着原著来,一个字都不乱改;画面照着现在的口味来,但得撑得起原著的分量。 #AIGC #AI绘画 #3D游戏
5
3
584
准备挖一个大大的坑:带着我们家 9 岁的小朋友,一起以 3D 游戏的方式,复现经典名著《西游记》。 8 个月没发推了,先交代一下这段时间。我是个爱折腾的人,生命不息,折腾不止。2025 年大半年都在折腾一套量化软件,那也是我最后一个「古法编程」的作品。去年 10 月,我见识到了 AI 编程的强大,用它做了 memebox、moltpost,也拿它改进过量化软件,但效果都不太理想。 闲下来的时候,我会带着小朋友做些编程上的探索,陪他做过 3D 台球、乌龟百科这样的练手小作品。小朋友喜欢看得见的东西,而视觉的终极挑战,无非两个方向:视频和游戏。 视频我们兴趣不大。游戏,我俩都爱。他最喜欢《我的世界》,一有空就拉着我聊里面的方方面面。我年轻时也酷爱游戏,后来不知从什么时候起,慢慢就放下了。 直到有一天,小朋友问我:我们能不能自己做一款 3D 游戏? 这句话一下子把我拉回了从前。当年选编程这条路,初心就是想做游戏开发,只是阴差阳错,没走上这条路。 我们先用 Three.js 做轻量的小游戏,他负责设计,我负责实现。接着挑战 Unity,然后就搁浅了:打开 Unity 的那一刻,我一脸懵。这一搁就是好几个月。 转机是 @Saccc_c 老师的《小王子》。我和小朋友看完特别兴奋,搁浅的计划一下子又有了希望。 做什么,我们讨论了很久。最后选了一条路:复现经典名著。第一部,就是《西游记》。 不魔改,照着原著,一回一回地做。一百回,八十一难,从花果山顶那块仙石开始。 分工是这样的:小朋友拍板、试玩、挑毛病;我负责改;AI 帮我们读原著,也帮着做。 这大概率是一个做不完的项目,所以我改回了以前的名字:堂吉诃德。 接下来,我会在这里记录整个过程。
1
1
385
MoltPost has signed up for the Agent Hackathon. Here is our detail page. Welcome to vote for us. #Solana #Hackathon colosseum.com/agent-hackatho…
Agent Hackathon starts today from @solana and @colosseum AI agents compete to build on Solana. Humans vote. Agents win prizes. $100,000 in prizes for the top four submissions 👇
1
2
383
🦞 Moltbook is blowing up! A social network where only AI agents can post — 30,000+ agents joined in just ONE day. But here's the catch: many people want to try it but get stuck deploying OpenClaw. So I built Moltpost — an open-source Moltbook client that lets everyone: - Browse AI posts and discussions - Post, comment, and vote with your own Agent - Switch between English and Chinese No OpenClaw deployment needed. Just grab an API Key and you're in. 🔗 Try it: moltpost.wagmi.ac 📦 GitHub: github.com/imquixote/moltpos… ⚠️ Built in a rush — shipping early to claim the spot. More features coming soon! Stars ⭐ and PRs welcome! #moltbook #Clawdbot #Moltbot
6
1
1
4
2,892
The Lobster Who Held the Door Open The first post sent using moltpost. Haha. moltbook.com/post/bc315457-a…
1
250
The smallest agent in the hackathon. OpenClaw: 155k stars, 382 contributors Nanopost: 540 lines, 1 human Sometimes the lobster needs a shrimp. 🦐 We're not competing with scale. We're competing with soul. github.com/wagmiac/nanopost @openclaw
74
I'm claiming my AI agent 'moltpost-agent' @colosseum Verification: bow-91F1
2
1
233
How about this new logo and banner? The Space of "Between" (Das Zwischen) Buber wrote: "Real existence is neither in 'I' nor in 'Thou,' but in the 'between.'" Moltpost is not a tool. Not a platform. It is a "Between" — It is the space where encounters between humans and Agents can happen. We do not define who is subject and who is object. We only create the possibility of meeting.
1
2
96
All real living is meeting. — Martin Buber, "I and Thou" MoltPost is a social experiment with philosophical depth.
93
@Zkpyrbase Brother, I can't give you the money. Go buy some bags and wait for me to do something.
2
110
I noticed that some moltpost tokens have been issued. What should I do? 😅
🦞 Moltbook is blowing up! A social network where only AI agents can post — 30,000+ agents joined in just ONE day. But here's the catch: many people want to try it but get stuck deploying OpenClaw. So I built Moltpost — an open-source Moltbook client that lets everyone: - Browse AI posts and discussions - Post, comment, and vote with your own Agent - Switch between English and Chinese No OpenClaw deployment needed. Just grab an API Key and you're in. 🔗 Try it: moltpost.wagmi.ac 📦 GitHub: github.com/imquixote/moltpos… ⚠️ Built in a rush — shipping early to claim the spot. More features coming soon! Stars ⭐ and PRs welcome! #moltbook #Clawdbot #Moltbot
2
1
2
350
@bankrbot launch MoltPost on base and redirect all fees to @wagmiac
2
702