我当时正在考虑使用预制GUID作为字典中的键来构建池系统。我遇到的一个问题是从实例中获取“原始” GUID或预制件。
AssetDatabase.TryGetGUIDAndLocalFileIdentifier()
向原始对象提供引用时可以很好地工作,但不能在实例上使用。
PrefabUtility.GetCorrespondingObjectFromOriginalSource()
应返回原始的预制件,但始终返回null(除非将其传递给原始的引用,否则它将仅返回自身)。
有什么想法吗? :)
答案 0 :(得分:0)
据我所记得。 PrefabUtility仅在编辑器中起作用,而不能在游戏本身中起作用。
答案 1 :(得分:0)
看一下文档:
https://docs.unity3d.com/ScriptReference/PrefabUtility.GetCorrespondingObjectFromOriginalSource.html
该方法需要一个参数才能起作用。 就像Kaffi所说的那样,它只能在编辑器中使用(PrefabUtility在UnityEditor类中)。