作者分享了AI辅助大场景开发的六个具体踩坑案例与解决思路,对独立开发者有直接参考价值。
把花果山从 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
来源:堂吉诃德 · x.com