Gun*_*ram 2 c# unity-game-engine htc-vive
我正在处理的函数实例化一个GameObject(使用预制).我将此GameObject存储在局部变量中
GameObject tmpObject;
Run Code Online (Sandbox Code Playgroud)
工作完美无瑕.接下来我尝试将此GameObject分配给我的Vive控制器的GameObject表示,如下所示:
tmpObject = tmpController.gameObject.AddComponent<GameObject>() as GameObject;
Run Code Online (Sandbox Code Playgroud)
我得到的错误是UnityEngine.GameObject无法转换为UnityEngine.Component.
我错过了简单/基本吗?我尝试按照Unity的官方指南添加一个SphereCollider ,它确实有效,所以为什么我不能添加GameObject?是否有将GameObjects添加到另一个GameObject的解决方法?非常感谢任何帮助!
您无法将GameObject添加到GameObject.开始时甚至没有意义.你只能附加组件.我认为你想让GameObject成为另一个GameObject的孩子......你可以使用这个SetParent
功能.请参阅下面的示例,了解如何创建GameObject以及您可以执行的操作:
创建一个名为"BallObject"的新GameObject
GameObject a = new GameObject("BallObject");
Run Code Online (Sandbox Code Playgroud)
创建一个名为"BrickObject"的新GameObject
GameObject b = new GameObject("BrickObject");
Run Code Online (Sandbox Code Playgroud)
使"BrickObject"对象成为"BallObject"对象的父对象
a.transform.SetParent(b.transform);
Run Code Online (Sandbox Code Playgroud)
使"BallObject"对象本身."BrickObject"对象不再是它的父级了
a.transform.parent = null;
Run Code Online (Sandbox Code Playgroud)
将脚本/组件添加到"BrickObject"对象
b.AddComponent<Rigidbody>();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2220 次 |
最近记录: |