覆盖预制体属性
中级 程序员 设计师
如果你在预制体实例中修改了某个属性,该实例就不再从预制体继承这个属性的更改。这称为覆盖(Override)。

在下面的视频中,Lamp 预制体包含若干属于 Boxes 父级的箱子实体。当我们从实例中删除这些箱子时,只有该实例受影响。预制体(右侧所示)保持不变。
如果我们向预制体中的 Boxes 父级再添加一个箱子,它不会出现在被覆盖的实例中。这是因为我们已从该实例中删除了 Boxes 父级。
查看被覆盖的属性
在属性面板中,你可以看到预制体实例的哪些属性与预制体中的基础值不同。
被覆盖的以及独有的属性显示为白色加粗:

相同的属性显示为灰色:

将属性重置为预制体中的值
要将被覆盖的属性重置为父级预制体中的值,请右键单击该属性并点击重置为基础值(Reset to base value)。

示例
在这个示例中,我们有一个未来风格路灯的预制体。

路灯预制体由三个实体组成:灯柱、立柱和聚光灯。它们列在预制体编辑器的实体树中。

我们向场景中添加五个路灯预制体的实例。

现在我们修改其中一个实例。在场景编辑器中,我们选择一个聚光灯实体,并在聚光灯组件属性中将其颜色改为红色。属性面板会以白色加粗显示修改后的 Color 属性,这意味着它覆盖了预制体的属性。

我们可以在场景视图中看到这一效果。

现在我们回到预制体编辑器,把预制体中聚光灯的颜色改为绿色,看看会发生什么。

其中四盏路灯变成了绿光。第五盏仍然是红色,因为修改预制体时,被覆盖的属性不会改变。
