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

Posted 杭者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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中的世界坐标和局部坐标的主要内容,如果未能解决你的问题,请参考以下文章

关于Unity的坐标系

关于Unity中坐标系的种类

关于Unity中物体分别在本地和世界坐标系对应方向的移动

Unity中的全局坐标系和局部坐标系

UNITY 复制对象后局部坐标和世界坐标的变化问题

详解Unity中的各种坐标系