什么是预制体呢?
预制体的概念:
预制体: 预先制作好的游戏物体
为什么需要?比如:小兵有不同的类型,有跑车。。需要让小兵加载出来,需要什么去加载,这个加载的逻辑就是预制体。
这个就是预制体,以prefab结尾的文件
预制体的使用
拖到这两个地方都行
基于预制体 ,创建的游戏物体比较接近“引用关系”,我们修改预制体会直接
导致场景中的游戏物体发生变化
预制体的修改具备特殊性,需要进入“异世界进入编辑”。
进入异世界的方法:
预制体的删除,不会影响游戏中的物体:
但是游戏物体会在层级面板中变成红色,意味着预制体被删除了,
我们可以在层级面板中右键,取消这种引用关系,让这个游戏物体变成普通的游戏物体。
预制体可以嵌套预制体:
现在进入的是预制体--小兵的“异世界”,可以把预制体—帽子,嵌套到小兵上面。
在小兵的异世界里面修改预制体帽子,则在本来的世界里面的预制体帽子不会受到影响。
变体:
在创建预制体的过程当中,如果游戏物体已经是预制体,那么unity会提示:
这里面有两个选项:
1.原始预制体:一个独立的预制体。
2.预制体变体:旧的(原来的)预制体变化,变体也会发生变化,但是变体保留和预制体不同的部分。
我们先看原始预制体:
然后在“小兵2号”的“异世界”里面,修改一条腿的颜色,小兵1号也会改变颜色。
实际上就是以小兵1号作为蓝本,改变小兵2号的颜色,小兵1号的颜色也会跟着改变;实际上小兵1号已经变成了小兵2号了,和原来的预制体“小兵”已经没有任何关系了;
小兵预制体没有任何变化。
再来看预制体变体:
预制体变体:就是新创建的预制体做的改变,不会影响原来的预制体的属性,但是原来的预制体做的改变会影响新的预制体。
它们两个的区别就是:
原始预制体:新的能改变旧的
预制体变体:旧的能改变新的