Version: Unity 6.0 (6000.0)
语言 : 中文
Introduction to prefabs
在预制件模式下编辑预制件

创建预制件

在 Unity 的预制件系统中,__预制件资源 (Prefab Assets) 充当模板。可以在 Editor 中创建预制件资源,这些资源将保存在项目 (Project) 窗口中。基于__预制件资源__可以创建任意数量的__预制件实例。可以在 Editor 中创建预制件实例并将其保存为场景的一部分,也可以在运行时对预制件实例进行实例化。

创建预制件资源

要创建预制件资源,请将一个游戏对象从层级视图 (Hierarchy) 窗口拖入项目 (Project) 窗口。该游戏对象及其所有组件和子游戏对象在 Project 窗口中成为新的资源。Project 窗口中的预制件资源将会显示游戏对象的缩略图视图或蓝色立方体预制件图标,具体取决于 Project 窗口中的设置。

Project 窗口中以两列视图(左)和一列视图(右)显示的两个预制件(“FatBlob”和“Key”)
Project 窗口中以两列视图(左)和一列视图(右)显示的两个预制件(“FatBlob”和“Key”)

创建预制件资源的这一过程也会将原始游戏对象转换为预制件实例。该对象现在将成为新创建的预制件资源的实例。预制件实例以蓝色文本显示在 Hierarchy 窗口中,预制件的根游戏对象显示为蓝色立方体预制件图标,而不是红色、绿色和蓝色游戏对象图标。

场景中的预制件实例 (Key)
场景中的预制件实例 (Key)

创建多个预制件资源

如要一次创建多个预制件资源,将多个游戏对象从 Hierarchy 窗口拖入 Project 窗口。此功能与上一段所述相同。

如果将多个尚非预制件的游戏对象拖入 Project 窗口,Unity 会为每个游戏对象创建新的原始预制件资源,而无需执行任何额外步骤。

如果拖放到 Project 窗口中的任何游戏对象是现有的预制件变体或模型变体,Unity 会显示一个对话框,询问您是否确认从游戏对象创建新的预制件资源或新的变体。此对话框的内容会根据拖放到 Project 窗口中的游戏对象的数量和类型而变化。

创建预制件实例

可通过将预制件资源从 Project 视图拖动到 Hierarchy 或 Scene 视图,在 Editor 中创建预制件资源的实例。

将预制件“Key”拖放到场景中
将预制件“Key”拖放到场景中

还可以使用脚本在运行时创建预制件的实例。有关更多信息,请参阅实例化预制件

替换现有预制件

若要替换预制件,可采用的方法是从 Hierarchy 窗口中拖动新的游戏对象并将其放到 Project 窗口中现有的预制件资源上方。

如果要替换现有预制件,Unity 会尝试保留对预制件本身的引用以及预制件的各个部分(如子游戏对象和组件)。要执行此操作,系统会在新预制件与您要替换的现有预制件之间匹配游戏对象的名称。

注意:因为此匹配仅按名称进行,所以如果预制件的层级视图中有多个同名的游戏对象,则无法预测会匹配到哪个游戏对象。因此,如果需要确保在对现有预制件进行保存时保留引用,则必须确保预制件中的所有游戏对象都具有唯一名称。

另请注意:当预制件中的单个游戏对象附加了多个相同组件类型时,如果在对现有预制件进行保存时保留对现有组件的引用,则可能会遇到相似问题。在此情况下,无法预测哪个组件会与现有引用匹配。


  • 2018–07–31

  • 在 2018.3 版中添加了嵌套预制件和预制件变体

Introduction to prefabs
在预制件模式下编辑预制件