public GameObject aiArrow;
aiArrow.transform.parent = this.gameObject.transform;
当我尝试将预制件设置为另一个对象的子对象时,出现以下错误。
Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption
如何将这个“aiArrow”预制件设置为另一个游戏对象的子对象。
最佳答案
您可以直接在 Instantiate()
函数调用中执行此操作。
public Transform parentObject;
public GameObject prefab;
public void CreateObject()
{
Instantiate(prefab, parentObject);
}
Instantiate
方法有多个重载,您可以在其中指定父对象。这是最简单的例子。重要的!上面的例子不修改位置或旋转。它的作用就像您将 Hierarchy
中的游戏对象拖放到另一个游戏对象下方一样。参见 Instatiate对于您需要的过载。
关于c# - 将预制件统一设置为另一个游戏对象的子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68904442/