Skip to content

预制件(Prefab)

对应视频教程

哔哩哔哩

当我们需要某物品在保留现有功能的情况下,复制到任何一个场景中时,我们就能提前把这个游戏对象制作成预制件,从而方便地进行复制和修改。

制作预制件

制作预制件的过程,就像在制作一块印章,这里演示制作一个预制件:

  1. 使用Unity Hub,点击新建项目1

提示

预制件Unity的通用知识,所以这里不需要用到ALCOM

  1. 选择咱们的Unity版本,选择核心模板中的3D模板,修改项目名称并将其创建在本地2

注意

注意,一定要将项目保存在本地!一定要取消勾选 使用Unity Version Control

  1. 项目加载完毕后,创建四个场景便于观察。 3

  2. 进入场景1

    1. Hierarchy窗口中单击右键,选择3D Object,选择Cube创建一个立方体4
    2. 选中我们创建的Cube,在Inspector窗口中,找到Transform组件,点击右侧的三点按钮,选择Reset重置一下Cube的坐标。 5
    3. Project窗口单击右键,选择Create,选择Material创建一个材质。 6
    4. 选中创建的材质,从Inspector窗口中将颜色修改为自己喜欢的颜色。 7
    5. 调整好颜色后,将材质拖到立方体上。 8
    6. 为了体现预制件的特性,再给立方体添加一个Animator组件。 9

    提醒

    需要强调的是:新建的立方体是没有Animator组件的,这是我们手动“刻”上去的。

    1. 现在我们就可以将它制作为预制件了。
      制作预制件的方式为:将CubeHierarchy窗口直接拖入Project窗口,能看见Cube变成了蓝色的图标。 10
    2. 至此,我们成功创建了一个名为CubePrefab(预制件)。

修改预制件

  1. 分别进入场景2 3 4,将我们制作的预制件拖入到每个场景当中。

提醒

此时我们的操作和复制粘贴没什么两样,但接下来才是体现预制件特性的时刻。

  1. 进入预制件:从Project窗口中双击我们制作的预制件,即可进入编辑我们的预制件。 11

提醒

进入预制件后,有三个特点:

  1. Hierarchy窗口边多出一个返回键
  2. Scene窗口标签下会显示你在场景的Cube预制件下。
  3. Scene窗口背景为深蓝色。
  1. Cube上单击右键,选择3D Object,选择Sphere创建一个圆球12

  2. 移动圆球到任意位置。 13

  3. 然后点击Hierarchy窗口上的返回键,退出预制件14

  4. 此时再次分别进入场景2 3 4,就能发现所有场景中的Cube都变成了我们最后修改的样子。

提醒

这就是预制件的特点。

  • 如果只靠复制粘贴,那么在存在大量物体的情况下,修改起来是非常困难的。
  • 预制件可以做到一次修改,多个物件同步修改。

解除预制件关联

当希望场景中的预制件不跟随其他预制件一同变化时,此时就需要解除预制件关联,官方文档叫做解压缩预制件实例(Unpacking Prefab instances)。
解除的方式为:在Hierarchy窗口中的预制件上单击右键,选择PrefabUnpack Completely。那么这个对象就成为了单独的新对象。 15

完成

提醒

Released under the CC License.