预制件用于存储一些可以复用的场景对象,它可以包含节点、组件以及组件上的数据。由预制件生成的实例既可以继承模板的数据,又可以有自己定制化的数据修改。
创建预制件有两种方法:
-
在场景中将节点编辑好之后,直接将节点从 层级管理器 拖到 资源管理器 中即可完成预制件资源的创建。
-
点击 资源管理器 左上方的 + 按钮,或者点击面板空白处,然后选择 Node Prefab 即可。(v3.1.1 新增)
创建完成后,原节点自动变为该预制件的实例,根节点呈现 亮绿色,非嵌套预制件子节点呈现 暗绿色。
在 v3.4.1 中我们对预制体资源增加了 Persistent 选项。该选项目前为引擎预留,开发者不必关心。其说明如下:
属性 | 说明 | 默认值 | 可选项 |
---|---|---|---|
Persistent | 标记该预制体是否需要同步 | false | true, false |
将预制件资源从 资源管理器 拖拽到 层级管理器 或 场景编辑器,即可在场景中生成一个预制件的实例。
场景中的预制件实例对象,数据源来自预制件资源的反序列化,所以它的数据默认同步了预制件资源,如果对预制件实例中的各项属性进行修改,修改的数据会被存储在预制件实例中,所以不会影响到预制件资源和它生成的其它预制件实例的数据。
在 资源管理器 中双击预制件资源可从场景编辑模式切换到预制件编辑模式。
此时可以在编辑器中编辑预制件资源,编辑完成之后,点击场景编辑器中的 保存 按钮即可保存编辑后的预制件资源,之后点击 关闭 按钮即可返回场景编辑模式。
注意:请尽量避免多人同时修改同一个 Prefab 资源,否则可能会导致冲突,且无法通过
git
合并解决冲突。
预制件节点在 属性检查器 中呈现 绿色 时表示与资源关联正常;呈现 红色 则表示关联的资源丢失。
在 层级管理器 中选中预制件节点,属性检查器 的顶部便会出现几个可操作的按钮:
在预制件实例下增加的新节点,在节点名字的右下角会有一个 + 标志,它的数据存储在预制件的实例下,所以不会影响关联的预制件资源的数据。
在预制件实例下增加的新组件,在组件名字的后面会有一个 + 标志,它的数据存储在预制件的实例下,所以不会影响关联的预制件资源的数据。
在预制件实例下删除 非预制件实例下新增的组件,会在 属性检查器 上增加一条删除的组件的数据,它的数据存储在预制件的实例下,所以不会影响关联的预制件资源的数据。
同时会在这条数据后面出现以下两个按钮:
按钮图标 | 功能说明 |
---|---|
![]() |
还原该删除的组件 |
![]() |
将该删除的组件在预制件资源中同步删除 |
- 不允许在预制件实例中删除从预制件资源中创建的节点
- 不允许在预制件实例中更改从预制件资源中创建的节点的层级关系
- 不允许预制件嵌套自己