在 Unity 的预制件系统中,__预制件资源__充当模板。可以在 Editor 中创建预制件资源,这些资源将保存在 Project 窗口中。基于__预制件资源__可以创建任意数量的__预制件实例__。可以在 Editor 中创建预制件实例并将其保存为场景的一部分,也可以在运行时对预制件实例进行实例化。
要创建预制件资源,请将一个游戏对象从 Hierarchy 窗口拖入 Project 窗口。该游戏对象及其所有组件和子游戏对象在 Project 窗口中成为新的资源。Project 窗口中的预制件资源将会显示游戏对象的缩略图视图或蓝色立方体预制件图标,具体取决于 Project 窗口中的设置。
创建预制件资源的这一过程也会将原始游戏对象转换为预制件实例。该对象现在将成为新创建的预制件资源的实例。预制件实例以蓝色文本显示在 Hierarchy 窗口中,预制件的根游戏对象显示为蓝色立方体预制件图标,而不是红色、绿色和蓝色游戏对象图标。
To create multiple Prefab Assets at once, drag multiple GameObjects from the Hierarchy window into the Project window. This functionality is the same as in the above paragraph.
If you drag multiple GameObjects that are not already Prefabs into the Project window, Unity creates new original Prefab Assets for each one without any additional steps.
If any of the GameObjects you drag into the Project Window are existing Prefab variants or Model Variants, Unity displays a dialog box which asks you to confirm whether you want to create new Prefab Assets or new variants from the GameObjects. The content of this dialog box changes depending on the number and type of GameObjects you drag into the Project window.
可通过将预制件资源从 Project 视图拖动到 Hierarchy 或 Scene 视图,在 Editor 中创建预制件资源的实例。
还可以使用脚本在运行时创建预制件的实例。有关更多信息,请参阅实例化预制件。
若要替换预制件,可采用的方法是从 Hierarchy 窗口中拖动新的游戏对象并将其放到 Project 窗口中现有的预制件资源上方。
如果要替换现有预制件,Unity 会尝试保留对预制件本身的引用以及预制件的各个部分(如子游戏对象和组件)。要执行此操作,系统会在新预制件与您要替换的现有预制件之间匹配游戏对象的名称。
注意:因为仅按名称进行此匹配,所以如果预制件的层级视图中有多个同名的游戏对象,则无法预测会匹配哪个游戏对象。因此,如果需要确保在对现有预制件进行保存时保留引用,则必须确保预制件中的所有游戏对象都具有唯一名称。
另请注意:当预制件中的单个游戏对象附加了多个相同组件类型时,如果在对现有预制件进行保存时保留对现有组件的引用,则可能会遇到相似问题。在此情况下,无法预测哪个组件会与现有引用匹配。
2018–07–31 页面已发布
在 2018.3 版中添加了嵌套预制件和预制件变体