本节书摘来自华章社区《Unity开发实战》一书中的第1章,第1.5节把Unity中创建的资源另存为Prefab,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看
1.5 把Unity中创建的资源另存为Prefab
在Unity中很容易就能创建基础几何对象,本节中,使用Unity的资源创建一个游戏对象(GameObject)然后将其在项目中另存为Prefab(预设)。
1.5.1 操作步骤
请按照下面的步骤创建Prefab(预设):
1)在Unity编辑器中,依次打开 GameObject(游戏对象)| Create Other(创建其他)| Sphere(球体)。
2)在Hierarchy视图中,右击Sphere,在弹出菜单中选择rename(重命名)改名为“Cue Ball”。
3)在Project视图中,点击Create(创建)按钮然后在菜单中选择Material(材质)。然后,将这个新材质重命名成“Cue Ball Material”。
4)在Project视图中,选中“Cue Ball Material”,然后,在Inspector视图中,将其Shader(着色器)的值改成Specular(镜面反射)。
5)将Specular Color(镜面反射色)的值改成白色,将Shininess(反光度)的值改成最大,如下图所示:
6)把Project视图中的Cue Ball Material拖动到Hierarchy视图中的Cue Ball游戏对象上。
7)在Hierarchy视图中选中Cue Ball,然后访问菜单的 Component(组件)| Physics(物理)| Rigidbody(刚体),让Rigidbody(刚体)组件附加到这个球体游戏对象上。
8)游戏对象现在就创建完成了,点击Project视图中的Create(创建)按钮并在菜单中选择Prefab,将其重命名为Cue Ball Prefab。
9)在Hierarchy视图中将Cue Ball游戏对象拖动到Project视图中的Prefab中,这个游戏对象就可以重用了,如下图所示。
1.5.2 实现原理
在Unity中,游戏对象可以另存为Prefab,在几个场景中重用游戏对象或通过脚本实例化游戏对象时很有用。Adobe Flash用户可以认为它是Unity中等效的MovieClip。
1.5.3 更多内容
还有一些使用Unity内置资源的其他方式,可以考虑。
- 添加外部文件
本节中,还没使用过任何外部资源。但是,例如,不可能不导入纹理,并将其用于Cue Ball Material的底图。 - 把Prefab用于其他项目中
如果计划在其他项目中重用Prefab,可以将其导出成custom package(自定义的包)。 - 创建其他类型的游戏对象
你可能也注意到了,球体(sphere)并不是Unity中唯一能够创建的实体。其他基础对象(primitive)也可以创建,包括很多其他类型的实体:光照(light)、摄像机(camera)、GUI纹理(GUI texture)等。可以通过菜单 GameObject | Create Other(创建其他类型)试试其他选项。