版本: Unity 6 (6000.0)
语言 : 英语
预制体变体
未使用的覆盖

多级覆盖

当您在其他预制体中使用预制体,或使用 预制体一种资产类型,允许您存储一个包含组件和属性的游戏对象。预制体充当模板,您可以从模板中在场景中创建新的对象实例。 更多信息
参见 词汇表
变体时,覆盖可能会存在于多个级别,并且相同的覆盖可以应用于多个不同的预制体。

应用目标的选择

当您有一个预制体实例,其中包含嵌套的预制体,或者它是一个预制体变体时,您可能可以选择将覆盖应用于哪个预制体。

假设一个预制体“花瓶”嵌套在另一个预制体“桌子”中,并且 场景场景包含游戏环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰,从本质上来说就是设计和构建游戏的各个部分。 更多信息
参见 词汇表
包含“桌子”预制体的实例。

A ‘Vase’ Prefab nested inside a ‘Table’ Prefab.
嵌套在“桌子”预制体中的“花瓶”预制体。

如果在这个实例上,“花瓶”的某个属性被覆盖,则该覆盖可以应用于多个预制体: “花瓶”或 “桌子”。

覆盖下拉窗口中的全部应用按钮只允许将覆盖应用于外部预制体 - 本例中为“桌子”。但是,在通过上下文菜单或通过覆盖下拉窗口中单个组件的比较视图应用覆盖时,可以提供应用目标的选择。

在本例中,如果您选择应用于预制体“花瓶”,该值将应用于“花瓶”预制体资产,并将用于“花瓶”预制体的所有实例。

如果您选择作为预制体“桌子”中的覆盖应用,则该值将成为“桌子”预制体中“花瓶”实例的覆盖。该属性不再被标记为场景中实例的覆盖,但如果您在预制体模式下打开“桌子”预制体,则“花瓶”预制体实例上的属性将被标记为覆盖。

当作为“桌子”预制体资产中的覆盖进行覆盖时,“花瓶”预制体资产本身不受任何影响。这意味着所有“桌子”预制体实例现在在其“花瓶”预制体实例上都有新值,但不在“桌子”预制体中的其他“花瓶”预制体实例不受影响。

如果以后更改“花瓶”预制体本身的属性,它将影响“花瓶”预制体的所有实例,除了该属性被覆盖的地方。由于它在“桌子”预制体中的“花瓶”实例上被覆盖,因此更改不会影响作为“桌子”实例一部分的任何“花瓶”实例。

应用于内部预制体也可能影响外部预制体

将一个或多个属性应用于内部预制体资产有时也会修改外部预制体资产,因为这些属性在外部预制体中恢复了其覆盖。

在我们的示例中,如果选择应用于预制体“花瓶”,并且“桌子”预制体具有该值的覆盖,则“桌子”预制体中的此覆盖将同时恢复,以便实例上的属性保留刚刚应用的值。如果不是这样,则实例上的值会在应用后立即更改。


  • 2018–07–31 页面发布

  • 嵌套预制体和预制体变体在 2018.3 中添加。

预制体变体
未使用的覆盖