Unity 使用预制件
Prefabs 是特殊资产,允许开发人员将游戏对象及其组件和其他数据存储到可配置模板中,稍后可以在场景和其他项目之间重用,或通过脚本实例化,而无需再次配置它们。
预制件有用的情况:
- 环境资产(树木、灌木丛、岩石等)
- NPC(非玩家角色)
- 射弹
- 玩家实例
- 游戏中需要重复使用的任何物体
使用示例
当将模型直接拖放到场景时,它们通常会出现一些问题,例如:
- 缺少纹理
- 比例错误
- 错误的旋转
上述问题可以在场景中轻松解决(分配正确的材质、更改比例/旋转等):
但是,如果您打算重复使用该模型和/或在各种场景中使用该模型,重复上述步骤将很快成为一项乏味的任务,因此,我们可以将模型保存到预制件中。
如何创建预制件
- 要在 Unity 中创建预制件,只需将对象从场景视图拖放到项目视图中即可。
- 创建预制件后,可以将其放入任何场景中,创建精确的副本:
编辑预制件
编辑现有预制件可以通过两种方式完成:在预制件编辑器中修改它们或在场景中修改它们。
在预制件编辑器中进行修改
- 在项目视图中选择预制件,然后在检查器视图中单击 "Open Prefab"
- 预制件将在编辑器中打开,您可以在其中对其进行修改。
- 完成修改后,单击层次结构视图中的后退箭头退出编辑并保存更改。
在场景中修改
- 将预制件放入场景视图中,然后在那里进行编辑。
- 就我而言,我已将另一个对象添加到层次结构中(注意图标附近的 (+) 符号)
- 修改场景中的预制件时,不会自动保存更改,而是需要手动选择预制件的根对象,然后在 Inspector View 中单击 "Overrides" 然后单击 "Apply All" 保存更改,或者 "Revert All" 恢复更改。
- 直接在场景中编辑预制件时不支持某些操作,例如,如果您需要重组层次结构,则会向您显示消息 "Cannot restructure Prefab instance" 以及 "Open Prefab" 或 "Cancel" 选项。
要重构预制件实例,请单击 'Open Prefab' 或右键单击层次结构视图中的预制件,然后单击预制件 -> 解包或预制件 -> 完全解包。
解压预制件将删除其与主预制件的关联,从而使其在场景中完全可编辑。
要将解压后的预制件保存回来,请选择原始预制件所在的文件夹,然后将修改后的对象从层次结构视图拖放到该预制件中。
有时,如果更改太大,您会收到一条确认消息。
确保仔细检查您正在修改正确的预制件,然后单击 "Replace Anyway" 完成操作或“不替换”取消操作。
新的预制件现已保存并可供使用。