首页/ 第 3 章 · 场景与基础对象/ 第 34 课
LESSON 34 · 场景与基础对象

预制体变体 Prefab Variant

预制体变体已掌握。下一课综合练习:搭建一个完整的 3D 房间。

⏱ 约 12 分钟📊 难度:入门🗂 第 3 章 · 场景与基础对象📍 第 34 / 300 课
课程进度
34 / 300

🎯本节学习目标

  • 理解预制体变体的概念
  • 学会创建变体
  • 区分变体与普通预制体

🚀课程导读

有“普通敌人”模板后,想做个“精英敌人”(更大、血更多)?复制模板又失去同步更新。变体正是为此而生。

什么是变体

变体 = 基于一个预制体的“子类”。

  1. 预制体变体(Prefab Variant)基于一个“基础预制体”派生而来。
  2. 变体继承了基础模板的全部内容,并可在此基础上修改/增加组件与属性。
  3. 修改基础模板时,变体会同步继承这些修改(除非变体自己覆盖了那部分)。
  4. 适合场景:普通怪 → 精英怪、普通箱 → 高级箱、基础 UI → 多个皮肤。
  5. 变体文件仍是 .prefab,但在 Inspector 顶部显示“基于 XX 预制体的变体”。
💡
变体是“继承 + 覆盖”,普通预制体是“全新模板”,这是核心区别。

创建与使用变体

两分钟上手。

  1. 在 Project 选中已有的 Enemy 预制体(基础模板)。
  2. 右键 →【创建 Create】→【预制体变体 Prefab Variant】。
  3. 生成名为“Enemy (1)”的变体文件,重命名为 EliteEnemy。
  4. 双击变体进入编辑模式,把 Scale 改为 1.5,把材质改成金色,加一个 Point Light(发光的精英怪)。
  5. 点返回,把 EliteEnemy 拖进场景,得到一个“金色大号发光怪”。
  6. 同时摆一个普通 Enemy,对比两者。
  7. 现在改基础 Enemy 模板(如加一个 Rigidbody),变体 EliteEnemy 也会拥有 Rigidbody(继承生效)。
  8. 若在变体里改 Rigidbody 的 Mass,则变体“覆盖”了该项,基础模板改了不影响它。
💡
看 Inspector 顶部:普通预制体显示“Prefab”,变体显示“Variant”,一眼区分。

常见错误与排查

错误:改了基础模板,变体没变化?
原因:变体可能覆盖了被修改的属性
解决:检查变体 Inspector 中是否有“蓝色覆盖项”,把不需要覆盖的属性点 Reset 恢复继承。

动手练习

课后小任务(做出来才算真的学会)

  • 基于 Enemy 预制体创建一个变体
  • 在变体里改大小和颜色,验证与普通实例不同
  • 修改基础模板,验证变体继承新增组件

本节小结

预制体变体已掌握。下一课综合练习:搭建一个完整的 3D 房间。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课创建与使用预制体