如何在运行时控制实例化的预制件作为孩子
Posted
技术标签:
【中文标题】如何在运行时控制实例化的预制件作为孩子【英文标题】:How to control instantiated prefabs at runtime as children 【发布时间】:2015-10-21 11:42:50 【问题描述】:我在 Unity 中有一个游戏,每隔几秒我就会实例化 GameObjects。然后在层次结构中,预制件显示在被实例化的列表中,例如:
EnemyBlue(Clone)
EnemyRed(Clone)
EnemyGreen(Clone)
EnemyBlue(Clone)
这阻塞了我的层次结构。我的问题是,是否可以将 GameObjects 实例化为空 GameObject 的子对象,例如:
Enemies // An Empty GameObject
EnemyBlue(Clone)
EnemyRed(Clone)
EnemyGreen(Clone)
EnemyBlue(Clone)
【问题讨论】:
【参考方案1】:您可以设置像 ILiveForVR 提到的变换的父级,但您也可以为已经存在的东西设置父级:
gameObject.transform.parent = GameObject.Find("Name of game object").transform;
【讨论】:
【参考方案2】:实例化后可以设置对象的父对象:http://docs.unity3d.com/ScriptReference/Transform.SetParent.html
比如:EnemyBlue.tranform.SetParent(Enemies.transform);
【讨论】:
您是否必须在检查器中设置父级?或者你可以做一个 .Find 来找到父母吗?以上是关于如何在运行时控制实例化的预制件作为孩子的主要内容,如果未能解决你的问题,请参考以下文章