⬜ Unity 灰盒工作流 (Greybox Workflow)
1. 什么是灰盒测试 (Greyboxing)?
灰盒测试是指在没有任何美术资源(贴图、模型、特效)的情况下,使用简单的几何体(立方体、胶囊体)搭建关卡,以验证核心玩法和关卡节奏的过程。
为什么必须做灰盒?
- 低成本试错: 移动一个立方体只需要 1 秒;移动一个精细的城堡模型需要 1 小时(涉及光照烘焙、碰撞体调整)。
- 聚焦玩法: 没有美术干扰,开发者能更专注于“好不好玩”。
- 明确需求: 灰盒定稿后,美术团队就有了精确的尺寸参考,避免了“做大了放不进关卡”的尴尬。
2.1 ProBuilder (Unity 官方内置)
- 用途: 在 Editor 内直接进行 3D 建模。
- 优势: 支持 UV 展开、顶点着色,且生成的 Mesh 自动带有碰撞体。
- 常用操作: Extrude (挤出), Bevel (倒角), Boolean (布尔运算)。
2.2 Polybrush
- 用途: 地形雕刻和顶点色绘制。
- 场景: 快速拉出起伏的地形,或用顶点色标记“这里是草地”、“这里是岩石”。
3. 度量衡与标准 (Metrics)
在开始搭建前,必须定义一套严苛的度量标准。
| 对象 |
尺寸 (Unity Units / Meters) |
备注 |
| 门高 |
2.5m |
确保摄像机不穿模 |
| 门宽 |
1.5m |
允许两个单位并排通过 |
| 墙厚 |
0.2m ~ 0.5m |
避免光照漏光 |
| 台阶高 |
0.2m |
角色无需跳跃即可走上 |
| 跳跃极限 |
3.0m (水平) / 1.5m (垂直) |
基于角色移动参数设定 |
💡 Tip: 制作一个标尺 Prefab(包含 1m, 2m, 3m 的刻度),随时拖入场景比对。
4. 工作流步骤 (The Pipeline)
阶段 1: 粗模 (Blockout)
- 使用 ProBuilder 快速拉出关卡结构。
- 重点: 动线 (Flow)、遮挡关系 (Sightlines)、战斗空间大小。
- 禁止: 任何细节(如栏杆、窗框)。
阶段 2: 玩法验证 (Gameplay Verification)
- 放入角色控制器和怪物 AI。
- 测试:
- 跳跃距离是否合理?
- 掩体是否足够?
- 怪物的寻路网格 (NavMesh) 是否连通?
- 迭代: 如果觉得战斗太拥挤,直接推拉 ProBuilder 的面,10 秒搞定。
阶段 3: 资产替换 (Art Replacement)
这是最容易出错的步骤。为了保证逻辑不丢失,推荐使用 Prefab Variants。
技术方案:
- Greybox Prefab: 制作一个
Wall_Greybox 预制体,挂载 BoxCollider 和脚本。
- Art Prefab: 美术制作最终模型
Wall_Final。
- 替换逻辑:
- 方案 A (Nested Prefab):
Wall_Greybox 内部包含一个 Mesh 子物体。美术只需替换这个子物体,外层的 Collider 和脚本保持不变。
- 方案 B (Editor Tool): 编写一个简单的 Editor 脚本,选中场景中所有
Wall_Greybox,一键替换为 Wall_Final,并自动对齐位置和旋转。
5. 常见陷阱
- 过早细化: 在玩法没确定前就开始做倒角、贴材质。
- 比例失调: 没有参照物,导致做出来的房间像巨人国或小人国。
- 忽视碰撞: 灰盒的碰撞体往往很简单,但最终美术模型的碰撞体可能很复杂(如凹凸不平的墙面),导致角色卡住。建议: 始终使用简单的几何体(Box/Capsule)作为物理碰撞层,美术模型仅作渲染。