1.什么是Prefab?
Prefab又被称为预设,下面部分来自官网:预置是一种资源类型——存储在项目视图中的一种可重复使用的游戏对象。预置可以多次放入到多个场景中。当你添加一个预置到场景中,就创建了它的一个实例。所有的预置实例链接到原始预置,基本上是它的克隆。不管你的项目存在多少实例,当你对预置进行任何更改,你将看到这些更改将应用于所有实例。
当预置源发生变化,这些变化将应用于所有已链接的游戏对象。例如,如果添加一个新的脚本到预置,所有已链接的游戏对象都将立刻包含该脚本。但是,它有可能改变一个单独实例的属性,同时保持链接。改变任何一个预置实例的属性,可以看到变量名称变为粗体,现在该变量可以被重写,所有的重写属性不会影响预置源的变化。这使你可以修改预置实例使它们变得独一无二,而不破坏它们与预置源之间的链接。
2.Prefab有哪些特点、优点?
a. Prefab一个重要的优势就是编辑prefab资源后,场景中所有使用Prefab克隆的游戏对象将全部使用新编辑的资源,无需一个一个的给场景中的对象赋值。
b.当游戏中需要频繁创建一个物体时,使用Prefab能够节省内存。
c.当你在一个场景中增加一个Prefabs,你就实例化了一个Prefabs。
3.什么情况下使用Prefab呢?
如果需要频繁的创建一些重复的物体时,就应该使用Prefab
4.Prefab与常规资源的区别?
Prefab实际上是资源的一些组合链接(个人观点)。
5.Prefab相关接口
PrefabUtility.CreatePrefab(prefabpath, prefabobj); PrefabUtility.ReplacePrefab(...); EditorApplication.SaveAssets();
原文地址:http://blog.csdn.net/alexander_xfl/article/details/44308779