【发布时间】:2017-04-28 20:35:49
【问题描述】:
我目前正在处理的函数实例化一个游戏对象(使用预制件)。我将此 GameObject 存储在局部变量中
GameObject tmpObject;
完美运行。接下来,我尝试将此 GameObject 分配给 Vive 控制器的 GameObject 表示,如下所示:
tmpObject = tmpController.gameObject.AddComponent<GameObject>() as GameObject;
我得到的错误是 UnityEngine.GameObject 无法转换为 UnityEngine.Component。
我在那里缺少一个简单的/基本的吗?我尝试按照 Unity 的official guidline 添加一个 SphereCollider,它确实有效,那么为什么我不能添加 GameObject?是否有将 GameObjects 添加到另一个 GameObject 的解决方法?任何帮助都非常感谢!
【问题讨论】:
-
一个
GameObject可以有属性/组件,但是一个GameObject不能包含其他GameObjects。如果您想将parent作为GameObject分配给另一个人,那就另当别论了。 -
但是假设我有一架飞机。然后,我可以通过将立方体拖到 Unity 层次结构中的平面中来将其添加到平面。那么立方体(GameObject)是平面(GameObject)的一个孩子。否则我明白你的意思,但我怎样才能将 tmpObject 指定为 tmpController 的子级?
-
正确,但它不是父组件。