Unity 使用预制件

Prefabs 是特殊资产,允许开发人员将游戏对象及其组件和其他数据存储到可配置模板中,稍后可以在场景和其他项目之间重用,或通过脚本实例化,而无需再次配置它们。

预制件有用的情况:

  • 环境资产(树木、灌木丛、岩石等)
  • NPC(非玩家角色)
  • 射弹
  • 玩家实例
  • 游戏中需要重复使用的任何物体

使用示例

当将模型直接拖放到场景时,它们通常会出现一些问题,例如:

  • 缺少纹理
  • 比例错误
  • 错误的旋转

具有默认材质的树模型

上述问题可以在场景中轻松解决(分配正确的材质、更改比例/旋转等):

具有正确材质的树模型

但是,如果您打算重复使用该模型和/或在各种场景中使用该模型,重复上述步骤将很快成为一项乏味的任务,因此,我们可以将模型保存到预制件中。

如何创建预制件

  • 要在 Unity 中创建预制件,只需将对象从场景视图拖放到项目视图中即可。

Unity 3D 创建预制件

  • 创建预制件后,可以将其放入任何场景中,创建精确的副本:

Unity 预制件项目视图

编辑预制件

编辑现有预制件可以通过两种方式完成:在预制件编辑器中修改它们或在场景中修改它们。

在预制件编辑器中进行修改

  • 在项目视图中选择预制件,然后在检查器视图中单击 "Open Prefab"

  • 预制件将在编辑器中打开,您可以在其中对其进行修改。

  • 完成修改后,单击层次结构视图中的后退箭头退出编辑并保存更改。

Unity 3D 保存预制件更改(方法 1)

在场景中修改

  • 将预制件放入场景视图中,然后在那里进行编辑。

  • 就我而言,我已将另一个对象添加到层次结构中(注意图标附近的 (+) 符号)
  • 修改场景中的预制件时,不会自动保存更改,而是需要手动选择预制件的根对象,然后在 Inspector View 中单击 "Overrides" 然后单击 "Apply All" 保存更改,或者 "Revert All" 恢复更改。

  • 直接在场景中编辑预制件时不支持某些操作,例如,如果您需要重组层次结构,则会向您显示消息 "Cannot restructure Prefab instance" 以及 "Open Prefab" 或 "Cancel" 选项。

要重构预制件实例,请单击 'Open Prefab' 或右键单击层次结构视图中的预制件,然后单击预制件 -> 解包或预制件 -> 完全解包。

解压预制件将删除其与主预制件的关联,从而使其在场景中完全可编辑。

要将解压后的预制件保存回来,请选择原始预制件所在的文件夹,然后将修改后的对象从层次结构视图拖放到该预制件中。

Unity 3D 保存预制件更改(方法 2)

有时,如果更改太大,您会收到一条确认消息。

确保仔细检查您正在修改正确的预制件,然后单击 "Replace Anyway" 完成操作或“不替换”取消操作。

Unity 3D 替换预制件确认消息

新的预制件现已保存并可供使用。

推荐文章
如何在 Unity 中在地形上绘制树木
Unity 中资源包的使用
如何将动画导入到 Unity
在 Unity 中为您的环境选择正确的天空盒
保护 Unity 游戏免遭盗版的策略
如何在 Unity 中制作受 FNAF 启发的游戏
讲故事在 Unity 游戏开发中的重要性