首先,我们要理解预制体Prefab的大概意思,使用预制体,我们可以快速创建物体,且在Prefab资源中,包含了所有的数据(prefab只是记录了节点的信息,prefab文件中不包含材质,贴图数据,仅包含引用)
1.预制体的创建:
打开Unity,新建一个项目,创建一个Cube;在Project(项目面板)中,Asserts目录下新建两个文件夹,分别为Prefab(放置预制体)和Materials(放置一些材质球,为物体添加材质),然后把我们创建的红色材质球拖到Cube上,我们就可看到Cube变成红色了,
接下来就是把 Cube直接拖到我们新建的Prefab中,这样一个简单的预制体就建成了。此时,在Hierarchy中就可删除Cube了,如果想要再次使用它,就可把它从文件夹Prefab中拖到Hierarchy就可得到
2.预制体的实例(Prefab Instance,由预制体创建得到的对象):
预制体的实例就是我们把文件夹Prefab中的预制体直接拖到层级面板(Hierarchy)中,用几个就拖几个,然后把他们移到相应位置即可,如图
特征:
在Hierarchy(层级面板)中,节点图标不同
在Hierarchy(层级面板)中,右键菜单Prefab
选中一个Cube,单击右键就可发现菜单中多出了一个预制体(Prefab)
在Inspector(检查器面板)中,上下文工具Prefab
我们可以发现在Inspector下多了一个关于Prefab的组件,其中有三个按钮,即打开(Open),选择(Select),覆盖(Overrides)。
Prefab Instance和原Prefab之间存在关联
右键Prefab→解压缩(Unpack),则解释关联,成为普通物体,如图我们可以看到Cube(1)的颜色变成白色说明成为普通物体。
3.预制体的编辑:
*.prefab相当于是一个模板,可以再次编辑
第一种方式:单独编辑双击Prefab,进入单独编辑模式,编辑节点和组件退出,完成编辑
第二种方式:原位编辑(原始场景进行编辑)
选择Rrefab Instance(随便选一个Cube),在检查器中点击打开(Open),
Content(上下文)显示:Normal(法线)/Gray(灰色)/Hidden(已隐藏)(此时,仅选中的物体被编辑,其余物体是陪衬),编辑节点,退出,完成编辑
第三种方式:覆盖编辑
选择Prefab Instance(Cube),直接在场景中编辑,编辑完后
覆盖(Overrides)→Apply,应用编辑 覆盖(Overrides)→Revert,取消编辑
以上便是编辑预制体的三种方式,大家可以选一个自己喜欢的方式来进行编辑