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();