什么是预制体呢?

        

预制体的概念:

  预制体: 预先制作好的游戏物体

为什么需要?比如:小兵有不同的类型,有跑车。。需要让小兵加载出来,需要什么去加载,这个加载的逻辑就是预制体。

unity中预制体有什么作用 unity预制体的概念_unity中预制体有什么作用

unity中预制体有什么作用 unity预制体的概念_加载_02

 这个就是预制体,以prefab结尾的文件

预制体的使用

        

unity中预制体有什么作用 unity预制体的概念_嵌套_03

拖到这两个地方都行

        基于预制体 ,创建的游戏物体比较接近“引用关系”,我们修改预制体会直接

导致场景中的游戏物体发生变化

             

        预制体的修改具备特殊性,需要进入“异世界进入编辑”。

进入异世界的方法:

   

        

unity中预制体有什么作用 unity预制体的概念_unity_04

 

预制体的删除,不会影响游戏中的物体:

unity中预制体有什么作用 unity预制体的概念_加载_05

unity中预制体有什么作用 unity预制体的概念_加载_06

但是游戏物体会在层级面板中变成红色,意味着预制体被删除了,

我们可以在层级面板中右键,取消这种引用关系,让这个游戏物体变成普通的游戏物体。

unity中预制体有什么作用 unity预制体的概念_unity中预制体有什么作用_07

 

预制体可以嵌套预制体:

unity中预制体有什么作用 unity预制体的概念_改变颜色_08

 

现在进入的是预制体--小兵的“异世界”,可以把预制体—帽子,嵌套到小兵上面。

在小兵的异世界里面修改预制体帽子,则在本来的世界里面的预制体帽子不会受到影响。

unity中预制体有什么作用 unity预制体的概念_unity_09

 

变体:

        在创建预制体的过程当中,如果游戏物体已经是预制体,那么unity会提示:

 

unity中预制体有什么作用 unity预制体的概念_unity中预制体有什么作用_10

这里面有两个选项:
        1.原始预制体:一个独立的预制体。

        2.预制体变体:旧的(原来的)预制体变化,变体也会发生变化,但是变体保留和预制体不同的部分。

我们先看原始预制体:

unity中预制体有什么作用 unity预制体的概念_加载_11

 

 然后在“小兵2号”的“异世界”里面,修改一条腿的颜色,小兵1号也会改变颜色。

        实际上就是以小兵1号作为蓝本,改变小兵2号的颜色,小兵1号的颜色也会跟着改变;实际上小兵1号已经变成了小兵2号了,和原来的预制体“小兵”已经没有任何关系了;

unity中预制体有什么作用 unity预制体的概念_改变颜色_12

 小兵预制体没有任何变化。

再来看预制体变体:

        预制体变体:就是新创建的预制体做的改变,不会影响原来的预制体的属性,但是原来的预制体做的改变会影响新的预制体。

它们两个的区别就是:

        原始预制体:新的能改变旧的

        预制体变体:旧的能改变新的