LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
Unity-预制体
Zeiod 2022-03-18

1.预制体的概念

2.预制体的创建

3.预制体的使用

4.预制体的修改


1.预制体的概念

            预制体:预先制作好的游戏物体(游戏物体:GameObject)

            为什么需要?

            比如Moba游戏里有许多小兵。小兵长的基本一样,但也有不同类型。远程的炮车,近战的。

                    怎样实现,什么时候放小兵出来?

                    游戏开始后20秒生成小兵。小兵是加载出来。

                            加载什么?或者说,以什么为模板?

                            这个,模板就是 预制体。

2.预制体的创建

            直接将游戏物体拽到项目面板中,Unity会自动为我们生成一个预制体。         

预制体若由多个物体组成,需要将1个作为父物体,其余作为子物体。

然后拖到project项目面板。

可见,预制体的父物体标变蓝色了、物体名变蓝色了。

邮件->在资源浏览器查看,可见预制体是一个资源文件,后缀.prefab


3.预制体的使用

            将预制体从项目面板中拖拽到层级面板中达到复用的效果    

4.预制体的修改

            ·基于预制体创建的游戏物体比较接近“引用关系”,我们修改预制体会直接导致场景中的游戏物体发生变化。

            ·预制体被删除,不会影响游戏中的物体,但是游戏物体会在层级面板中变成红色,意味着预制体被删除了,我们可以在层级面板中右键取消这种引用关系,让这个游戏物体变成普通游戏物体。

Tip:

Unpack Prefab :解除当前等级的Prefab绑定,不会对其嵌套的Prefab有影响

Unpack Prefab Completely :解除Prefab的所有绑定关系,包括其嵌套的Prefab  

            ·预制体的修改具有特殊性,需要双击进入“异世界”进行编辑

在这个界面可单独修改预制体的各个组成物体,通过拖材质到Scene(场景)或Hierarchy(层级)面板的物体上材质。这些操作将改变预制体,进而更改所有场景中的预制体。

而不在这个界面操作,比如选择场景中的一个进行修改,只会影响个体。

在层级面板有 > 按钮返回。

还可以这样进入"异世界":


预制体可以套娃,也就是预制体套预制体。

变体

创建预制体的过程中,如果游戏物体已经是预制体,Unity会弹窗提醒我们选择创建模式

1.原始预制体:一个完全独立的预制体

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

改变预制体会使所有预制体改变,但如果修改的部分,比如给一个物体上色。场景中的预制体这个物体已经上过色了,那么给修改project预制体的母版的这部分,并不会应用到已修改这部分的场景中预制体。(类似就近原则)

如果将一个预制体拖入project,会提示三个选项,

Original Prefab

Prefab Variant(Variant译为:变种; 变体; 变形)

Cancel

对了,拖的那个物体也会变成两个选项选择的那个类型。

比如我选择Original Prefab,那么我拖的那个就变成Original Prefab类型的新预制体了也。

进入异世界修改原预制体

退出可见新的original不受影响


改变原预制会影响Variant,但改变Variant不影响原预制体

推荐文章
评论(0)
分享到
转载我的主页