设置驻留在预制资产中的转换的父级被禁用以防止数据损坏
Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption
我在 Unity 中一次又一次地遇到这个问题。我找不到解决方案。
我认为我的代码是正确的,但问题在哪里?
GameObject visual = Instantiate<GameObject>(placementObject[num], hit.point + visualOffset, Quaternion.identity);
visual.transform.SetParent(parentObject.transform); <--- Causing error
有什么建议吗?感谢您的任何反馈!
你可以直接设置parent:
GameObject visual = Instantiate<GameObject>(placementObject[num], hit.point + visualOffset, Quaternion.identity, parentObject.transform);
但在 Instantiate() 之后使用 SetParent 也应该有效。
检查parent对象是否不为空。
您正在尝试分配一个预制件而不是场景中对象实例的父项。
确保 parentObject
是实际对象而不是预制件(或者,如果您正在编辑预制件,请确保它是 内的实际对象预制件,而不是未引用的预制件本身)。
我在 Unity 中一次又一次地遇到这个问题。我找不到解决方案。 我认为我的代码是正确的,但问题在哪里?
GameObject visual = Instantiate<GameObject>(placementObject[num], hit.point + visualOffset, Quaternion.identity);
visual.transform.SetParent(parentObject.transform); <--- Causing error
有什么建议吗?感谢您的任何反馈!
你可以直接设置parent:
GameObject visual = Instantiate<GameObject>(placementObject[num], hit.point + visualOffset, Quaternion.identity, parentObject.transform);
但在 Instantiate() 之后使用 SetParent 也应该有效。 检查parent对象是否不为空。
您正在尝试分配一个预制件而不是场景中对象实例的父项。
确保 parentObject
是实际对象而不是预制件(或者,如果您正在编辑预制件,请确保它是 内的实际对象预制件,而不是未引用的预制件本身)。