標籤:transform 方向 ctr 向量 加法 date ... 座標系 ace
方向
Vector3可以定義以全局座標軸為參考的三維向量,Vector3.forward,Vector3.up,Vector3.right方別對應物體全局座標系的Z,Y,X軸方向的單位向量,或者叫三維單位方向向量,是向量
this.transform.forward,this.transform.up,this.transform.right分別對應當前物體在本地座標系的Z,Y,X軸方向的單位向量,或者叫三維單位方向向量,是向量
距離
Update(){
float distance = this.first_move_speed * Time.deltaTime;//每秒移動的距離,是標量
......
注意
三維單位方向向量乘標量距離才能成為一個可以使用的有長度有方向的三維向量
移動translate函數用(X軸方向的標量,Y軸方向的標量,,Z軸方向的標量,,指定的座標系)就可以表示
move函數的是以三維向量為參數
物體position的加減是以三維向量為單位的
方法一
this.transform.Translate(0, 0, -distance, Space.Self);//本地座標係為參考系
this.transform.Translate(0, 0, -distance, Space.World);//全局座標係為參考系
方法二
this.c_ctrl.Move(-this.transform.forward * distance);//,this.c_ctrl是Unity內建的角色控制器,括弧裡的是一個三維向量,三維單位方向向量乘標量距離,本地座標係為參考系
this.c_ctrl.Move(-Vector3.forward * distance);//全局座標係為參考系
方法三
this.transform.position+=transform.forward * distance;//做了一個三維向量的加法,三維單位方向向量乘標量距離,本地座標係為參考系
this.transform.position+=Vector3.forward * distance;//全局座標係為參考系
關於Unity中物體分別在本地和全局座標系對應方向的移動