求问 unity里面如何获取一个物体自身的坐标系?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求问 unity里面如何获取一个物体自身的坐标系?相关的知识,希望对你有一定的参考价值。

求问 unity里面如何获取一个物体自身的坐标系?我的想法是获取了物体x轴 让摄像机移动到物体的x0(中间)位置 我百度了好多 就是找不到所需要的。。。。。 而且网上信息量太大了。。。

参考技术A //获取物体的世界坐标
Vector3 v3 = gameObject.transform.position;
//把摄像机的位置放置到该物体x/2的位置。
Camera.main.transform.position = new Vector3(v3.x / 2, v3.y, v3.z);本回答被提问者采纳
参考技术B 找不到答案就来百度了,哈哈哈,Q发给你了追问

我去。。。。又是你

追答

哈哈哈

参考技术C 物体.transfrom.postion

关于Unity中的世界坐标和局部坐标

 

1.物体的局部坐标的方向(物体自身的方向)

transform.forward、 transform.right、 transform.up

 

2.物体的世界坐标的方向

Vector3.forward、 Vector3.right、 Vector3.up

 

例子:

子弹沿自身坐标轴的Z轴方向运动

Vector3 v = this.transform.forward * this.speed;

this.body.velocity = v;

 

 

注意:

父节点在Scene视图中显示出来的位置并非真正的Inspector面板中的position,父节点在Scene视图中显示出来的位置会随着子节点的变多而发生改变,一般是所有子节点的中心位置,但是这个位置并不是它自己真正的位置

世界坐标用的比较多,在Inspector面板中填的position都是局部坐标,在代码中写的都是世界坐标,只要我们在代码中写

Debug.Log("cube"+this.transform.position);,打印出来的就是世界坐标,是父节点的Inspector面板中填的position加上当前节点(子节点)Inspector面板中填的position相加的结果

要想打印出Inspector面板中填的position的数值,也就是局部坐标的值,使用的是Debug.Log("cube"+this.transform.localPosition);

 

以上是关于求问 unity里面如何获取一个物体自身的坐标系?的主要内容,如果未能解决你的问题,请参考以下文章

unity3d物体旋转

求问一下 unity生成的项目如何在安卓运行? 谢谢

unity怎么设置物体坐标?

unity如何获得二维坐标

关于Unity中的世界坐标和局部坐标

Unity中的Transform类