翻译Unity中文版的初衷是因为官方提供的中文版存在缺陷,而且翻译的不全。现在基于Unity2023.2版本对官方文档进行翻译。
创建件预制 🔗
在Unity的预制件(Prefab)系统中,预制件资源(Prefab Assets)充当模板。您可以在编辑器中创建预制件资源,并将它们保存为项目窗口中的资源。从预制件资源,您可以创建任意数量的预制件实例。预制件实例可以在编辑器中创建并保存为您的**场景(Scenes)**的一部分,也可以在运行时实例化。
创建预制资源 🔗
要创建预制件资源,从层级视图中将一个**GameObject(游戏对象)**拖拽到项目窗口中。GameObject及其所有组件和子对象将成为项目窗口中的新资源。预制件资源在项目窗口中以GameObject的缩略图视图或蓝色立方体预制件图标显示,具体取决于您如何设置项目窗口。
项目窗口中显示两个预制件(“FatBlob”和“Key”)的双列视图(左)和单列视图(右)
此创建预制件资源的过程还会将原始的GameObject转换为预制件实例。它现在是新创建的预制件资源的实例。预制件实例在层级视图中以蓝色文本显示,预制件的根GameObject以蓝色立方体预制件图标显示,而不是红色、绿色和蓝色的GameObject图标。
创建多个预制件资源 🔗
要一次创建多个预制件资源,请将多个GameObject从层级视图拖拽到项目窗口中。此功能与上面段落中的操作相同。
如果您将多个不是预制件的GameObject拖拽到项目窗口中,Unity将为每个GameObject创建新的原始预制件资源,而无需任何其他步骤。
如果您拖拽到项目窗口的任何GameObject是现有的预制件变体或模型变体,Unity会显示一个对话框,询问您是否要创建新的预制件资源或从GameObject创建新的变体。此对话框的内容会根据您拖拽到项目窗口中的GameObject的数量和类型而变化。
创建预制件实例 🔗
您可以通过将预制件资源从项目视图拖拽到层级视图或场景视图中,在编辑器中创建预制件资源的实例。
您还可以使用脚本在运行时创建预制件的实例。有关详细信息,请参阅创建预制件。
替换预制件 🔗
您可以通过从层级视图中拖拽一个新的GameObject,并将其放置在项目窗口中的现有预制件资源上,来替换预制件。
如果您正在替换一个现有的预制件,Unity会尝试保留对预制件本身和预制件的各个部分(如子GameObject和组件)的引用。为了做到这一点,它会通过匹配新预制件和要替换的现有预制件之间的GameObject名称来进行匹配。
注意: 由于这种匹配只是根据名称进行的,如果预制件的层级结构中存在具有相同名称的多个GameObject,就无法预测哪一个会被匹配。因此,如果您需要确保在保存到现有预制件时保留引用,必须确保预制件内的所有GameObject具有唯一的名称。
还要注意: 当在现有预制件上保存时,如果预制件中的单个GameObject附加了多个相同类型的组件,也可能遇到类似的问题,即保留对现有组件的引用时无法预测将匹配到哪个组件。
结论 🔗
搬砖愉快!