下载 App
《班级模拟》开发日志 #05|把素材拼进引擎的手艺活
昨天 15:032 浏览综合
上一篇聊了原型和引擎的落差。这篇聊点更细的:把 UI 素材真正拼进 Godot 的时候,到底在干什么。
一句话概括:拼素材不是复制粘贴,是拿着一套不精准的零件,组装一台要求精准的机器。
素材到手,从来都不是"刚刚好"的
不管素材是 AI 生成的还是设计同学出的,到手的第一件事永远是量,不是装:
- AI 给的素材不会那么精准。 同一张桌子,这一批和那批的桌腿高度差几个像素;透明边缘可能带着毛边或没清干净的底色;人物素材的"中心点"基本不在你以为的地方。
- 示意图本身也会有溢出。 交付稿在 Figma 里看着整整齐齐,真拼进引擎才发现元素超出容器边界——按钮比槽位宽、名牌比桌面前沿长、图标在示意稿里"看起来放得下",实际放不下。
这不是谁的问题,这是素材的常态。问题在于:你是拼到一半才发现,还是开工前就把规矩定好。
我们的规矩:规范先行
被坑过几次之后,现在每批素材进引擎前,先过这几条:
- 先登记,后使用。 每个素材入库先登记锚点和尺寸基准——桌子的前沿在哪、人物的中心点在哪、名牌贴在哪个高度。示意图里的位置只当参考,一切以登记值为准。
- 统一边距和密度。 选项一行放几个、离面板边缘收多少,定死。我们的建班页就是脸型一行 6 个、发型一行 8 个、选项和顶栏统一内收一圈——每一批新选项加进来都不用再想排版。
- 分层规则写死。 三层导航谁是实心、谁是线框、谁是下划线;人物的头发、脸、校服谁在前谁在后——定一次,全局生效。
- 溢出一律裁剪,不许硬塞。 元素超出容器就按实际边界裁,不允许"缩小一点凑合"——缩出来的精致感,在真机上就是模糊。
示意图里看不出来的坑
有些问题只有拼进去才会现形,这次合并就撞上一批:
第二颗头。 编辑页的脸部特写和半身预览叠出一颗悬空的头——五官的旋转绘制把预览缩放重置了,两张脸各画各的。示意图里特写和半身是两个分开的框,永远看不出这个。
圆头缩水。 关系页里编辑过的角色头像比没编辑的小一圈,一排圆头里有个"发育不良"。两条绘制路径,两个尺寸。
名牌贴哪。 示意图上的姓名牌悬浮在桌子前方很好看,真拼进去发现学生坐下后名字被身体挡住——最后定成"课桌挡住下半身,姓名贴在桌子前沿",这是示意图给不了的答案。

熟能生巧是真的
这个项目里我们已经拼了三批素材:最早的角色发型和五官、后来的校服身体、这次的教室背景 + 12 套桌椅 + 传纸条整套 UI。
第一批拼得鸡飞狗跳,锚点重算了三轮;第二批开始顺;到传纸条这批——抬头按钮、纸条结果条、教室背景,基本是对着登记好的规范直接落位,一天接完。

差别不在手艺变好了多少,在规范提前了:第一批踩的坑变成了第二批的清单,第二批的清单变成了第三批的肌肉记忆。
一句话总结
素材永远不精准,示意图永远会溢出——UI 开发的手艺,就是把"意外"提前写成"规矩"。
下一篇聊聊关系模拟:一群纸片人怎么自己长出小团体。













