Skip to main content

⬜ Unity 灰盒工作流

1. 什么是灰盒测试 (Greyboxing)?

灰盒测试是指在没有任何美术资源(贴图、模型、特效)的情况下,使用简单的几何体(立方体、胶囊体)搭建关卡,以验证核心玩法关卡节奏的过程。

为什么必须做灰盒?

  • 低成本试错: 移动一个立方体只需要 1 秒;移动一个精细的城堡模型需要 1 小时(涉及光照烘焙、碰撞体调整)。
  • 聚焦玩法: 没有美术干扰,开发者能更专注于“好不好玩”。
  • 明确需求: 灰盒定稿后,美术团队就有了精确的尺寸参考,避免了“做大了放不进关卡”的尴尬。

2. 核心工具 (Tools)

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

技术方案:

  1. Greybox Prefab: 制作一个 Wall_Greybox 预制体,挂载 BoxCollider 和脚本。
  2. Art Prefab: 美术制作最终模型 Wall_Final
  3. 替换逻辑:
    • 方案 A (Nested Prefab): Wall_Greybox 内部包含一个 Mesh 子物体。美术只需替换这个子物体,外层的 Collider 和脚本保持不变。
    • 方案 B (Editor Tool): 编写一个简单的 Editor 脚本,选中场景中所有 Wall_Greybox,一键替换为 Wall_Final,并自动对齐位置和旋转。

5. 常见陷阱

  1. 过早细化: 在玩法没确定前就开始做倒角、贴材质。
  2. 比例失调: 没有参照物,导致做出来的房间像巨人国或小人国。
  3. 忽视碰撞: 灰盒的碰撞体往往很简单,但最终美术模型的碰撞体可能很复杂(如凹凸不平的墙面),导致角色卡住。建议: 始终使用简单的几何体(Box/Capsule)作为物理碰撞层,美术模型仅作渲染。