Skip to content

资产定义

预制体资产(Prefab Asset)是在 SandMod 游戏编辑器的 场景编辑器(Scene Editor)中,通过 层级窗口(Hierarchy)以及 项目窗口(Project)协作创建的,将 游戏对象(Game Object)集合以资产的形式存储于 项目窗口(Project)中,以用来存储可以复用的场景游戏对象集合,或者游戏对象集合在一开始不存在于场景中,而希望在运行时将其进行实例化。创建后将在 项目窗口(Project)对应项目文件夹中获得预制体资产,该资产样式如图:

【Prefab_Asset001.png】

项目文件夹中的预制体资产

创建预制体

预期生成预制体的 游戏对象(Game Object)集合,需要有统一的根游戏对象。如果该游戏对象集合没有统一的根游戏对象,需要在 层级窗口(Hierarchy)中创建统一的根游戏对象。然后通过 层级窗口(Hierarchy)的上下文菜单或者结合 项目窗口(Project)创建预制体资产。

方法一:

在 层级窗口(Hierarchy)中将鼠标指向根游戏对象,并点击右键打开上下文菜单,依次点击 预制体(Prefab)> 创建预制体(Create Prefab) 进行创建。

【Prefab_Asset002.png】

此方法预制体资产将在当前 项目窗口(Project)打开的路径下创建。

【Prefab_Asset003.gif】

方法二:

在 层级窗口(Hierarchy)中将鼠标指向根游戏对象,并点击右键打开上下文菜单,依次点击 预制体(Prefab)> 另存为预制体(Save Prefab As) 。在资源管理器中指定预制体资产的保存地址以及名称,点击 保存(Save) 按钮另存预制体资产。

【Prefab_Asset004.png】

方法三:

在 层级窗口(Hierarchy)中将鼠标指向根游戏对象,并长按左键,将游戏对象集合拖动至 项目窗口(Project)中,这样创建的预制体资产将保存在当前 项目窗口(Project)打开的路径。

【Prefab_Asset005.gif】

资产实例化

如果在编辑场景时将 预制体资产(Prefab Asset)实例化,需要将 预制体资产(Prefab Asset)从 项目窗口(Project)拖拽到 层级窗口(Hierarchy)或 场景预览窗口(Scene),即可在场景中生成 1 个该 预制体(Prefab)的实例。

【Prefab_Asset006.png】

如果需要在游戏项目运行时动态实例化预制体资产,可以通过 Preafab.Instance() 代码在场景中动态生成 1 个该预制体的实例。

【Prefab_Asset007.png】

关于预制体的实例化方法,请参阅 预制体实例化 章节。

查看资产

如果您需要查看 预制体资产(Prefab Asset),您可以在 项目窗口(Project)中点击选中预制体资产,此时在 检视窗口(Inspector)中即可查看该预制体资产的属性。

【Prefab_Asset007_1.png】

在 检视窗口(Inspector)中,除了资产的基础属性外(具体请参阅 资产 章节),您还可以在预览窗口预览对应的预制体资产。如果预览窗口没有显示,您可以拖动 检视窗口(Inspector)底部的 预览窗口(Preview)将其显示,并可通过拖动 预览窗口(Preview)的顶部调整窗口的大小。

【Prefab_Asset007_2.gif】

点击 2D 切换按钮可以选择以 2D 还是 3D 的方式预览预制体。

【Prefab_Asset007_3.png】

在 3D 预览预制体时能进行以下操作:

  • 旋转:长按鼠标左键并拖动鼠标,可以旋转对应预制体进行多角度查看。

【Prefab_Asset007_4.gif】

  • 缩放:滚动鼠标滚轮或类似功能可放大和缩小对应的预制体。

【Prefab_Asset007_5.gif】

在 2D 预览预制体时能进行以下操作:

  • 旋转:点击预览视图上不同的箭头可以从不同坐标轴的方向查看预制体。

【Prefab_Asset007_6.gif】

  • 缩放:滚动鼠标滚轮或类似功能可放大和缩小对应的预制体。

【Prefab_Asset007_7.gif】

资产右键菜单

在 项目窗口(Project)中,鼠标指向预制体资产,并点击鼠标右键,即会打开预制体资产对应的上下文菜单,在上下文菜单中您可以对此预制体资产进行以下内容的编辑。

【Prefab_Asset008.png】

名称描述
在资源管理器中显示(Show In Explorer)在电脑的资源管理器上打开选中的预制体资产。
复制(Copy)复制所选预制体资产至剪贴板。
剪切(Cut)剪切所选预制体资产至剪贴板,与复制不同的是,剪切后的预制体资产将不再出现于原路径下。
复制并粘贴(Duplicate)在所选的预制体资产路径下克隆一份所选的预制体资产。
重命名(Rename)使预制体资产名称可编辑,以便进行更改。按 Enter 键以保存更改,或按 Esc 键以取消重命名。
删除(Delete)删除选中的预制体资产。
上传资产(Upload Asset)将选中的预制体资产上传至资产商店,具体上传方法请参阅 上传资产 章节。
复制资源 ID(Copy Asset ID)复制选中的预制体资产的 ID 至剪贴板中,Resources.Load(Type,ID) 代码可以直接通过此 ID 将预制体资产以 Preafab 类型动态引用。 随后通过 Preafab.Instance() 的方式,即可将预制体资产在脚本中动态实例化。
复制路径(Copy Path)以 Type Script 语法的方式,创建选中的预制体对象从 Assets 目录下的路径在剪切板中。