public static bool IsPrefabInstance(UnityEngine.GameObject obj){
var type = PrefabUtility.GetPrefabAssetType(obj);
var status = PrefabUtility.GetPrefabInstanceStatus(obj);
// 是否为预制体实例判断
if (type == PrefabAssetType.NotAPrefab || status == PrefabInstanceStatus.NotAPrefab)
{
return false;
}
return true;
}
贴上Unity官方对PrefabAssetType和PrefabInstanceStatus枚举值的解释
PrefabAssetType:
PrefabInstanceStatus:
Object类型同理