前言
在游戏场景中,有时候需要大量相同的对象,比如贪吃蛇中的食物,森林中的树,大量生成的敌人等等,这些就需要用Prefab预制体的概念去实现,这里做一个简单的概述。
一、什么是预制体?
游戏场景中需要很多模型,如果未来某一天想批量给某一类模型添加或修改一些参数,总不能每一个都手动调一遍,所以这就引入了预制体的概念。
二、使用步骤
1.创建预制体
方法很简单,在Hierarchy层级视图中选择需要制作的对象(制作好的对象),然后将其直接拖入Project项目视图中即可生成一个Prefab预制体。
2.使用预制体
使用预制体就和普通的复制一样,当原对象被制作成预制体后,在层级视图中可以看到它前面的图标变成了蓝色,在scene视图中,Ctrl+D即可复制该对象,可以看到复制生成的对象的图标也是蓝色的,这就完成了复制生成一个预制体。
脚本方式实例化一个Prefab方法如下:
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/XXX.prefab");
GameObject go = PrefabUtility.InstantiatePrefab(prefab) as GameObject;
go.transform.SetParent(Selection.activeTransform,false);
在场景中创建了许多预制体后,就可以在project视图中修改预制体的参数来实现对游戏场景中预制体的批量修改了。 若想某一个预制体的某个参数不被批量修改,那么可以在层级视图中二次修改该参数,这样下次prefab修改后,此参数将不会再被同步。
|