关于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);

 

posted @ 2017-08-18 18:55  杭者  阅读(2374)  评论(0编辑  收藏  举报