资产定义
预制体资产(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 目录下的路径在剪切板中。 |
