0

控制台向我显示此错误:

Cannot destroy GameObject that is part of a prefab instance. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

我很困惑。日志不会告诉您涉及哪个预制件或游戏对象。你能帮我吗 ?

非常感谢您的回答!

4

2 回答 2

0

很多时候,当您编辑预制件时,您会注意到其中一些可能是蓝色的,而另一些则没有颜色。蓝色表示它们在项目中保持对原始预制件的引用并且它们不是副本,因此对它们所做的任何更改都将对原始预制件本身进行,因此副本(克隆)来自的原始预制件是制成。

为避免这种情况,您需要解压缩预制件,以便操作副本而不是原始参考。

错误可能是由于您正在销毁一些未解包的预制件,因此运行时GameObject.Destroy无法销毁该预制件,即从场景中销毁克隆副本。

于 2021-07-28T08:58:11.823 回答
0

看起来您试图破坏未实例化到场景中的部分预制件。如果您需要在编辑器脚本中修改某些预制件,请参阅PrefabUtility但请注意,该类只能从 UnityEditor 访问。

否则,请仔细检查您的代码,也许您在预制实例化后使用了错误的对象引用。

于 2021-07-30T09:41:42.130 回答