關於Unity中的世界座標和區域性座標

weixin_34391854發表於2017-08-18

 

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

 

相關文章