先写个脚本用来打印选中的对象所属类型
using UnityEngine;
using UnityEditor;
public class TestEditor : MonoBehaviour {
[MenuItem("Assets/ShowSelectionType", false, 0)]
private static void ShowSelectionType()
{
UnityEngine.Object obj = Selection.activeObject;
Debug.Log(PrefabUtility.GetPrefabType(obj));
}
}
PrefabType.Prefab
PrefabType.PrefabInstance
把Prefab从Project面板拖到Hierarchy并改名为PrefabInstance
PrefabType.MissingPrefabInstance
在Project里随便创建个prefab并拖到Hierarchy改名为MissingPrefabInstance,然后把Project里的这个prefab删除掉(即,使它关联的prefab丢失)
PrefabType.DisconnectedPrefabInstance
把原本在PrefabInstance下面的DisconnectedPrefabInstace拖出来,这就断开了此对象与Prefab的关联。
PrefabType.ModelPrefabInstance与PrefabType.DisconnectedPrefabInstance同理