關於Unity中物體分別在本地和全局座標系對應方向的移動

來源:互聯網
上載者:User

標籤: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中物體分別在本地和全局座標系對應方向的移動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.