2
 public GameObject aiArrow;
 aiArrow.transform.parent = this.gameObject.transform;

当我尝试将预制件设置为另一个对象的子对象时,会发生以下错误。

禁用设置驻留在预制资产中的转换的父级以防止数据损坏

如何将此“aiArrow”预制件设置为另一个游戏对象的子对象。

4

1 回答 1

1

您可以在Instantiate()函数调用中直接执行此操作。

public Transform parentObject;
public GameObject prefab;

public void CreateObject()
{
   Instantiate(prefab, parentObject);
}

该方法Instantiate有几个重载,您可以在其中指定父对象。这是最简单的例子。重要的!上面的示例不会修改位置或旋转。它的作用就像您将游戏对象拖放Hierarchy到另一个游戏对象下面一样。有关您需要的重载,请参阅Instatiate 。

于 2021-08-24T11:00:26.740 回答