CharacterController中Move和SimpleMove的區別

角色控制器這個組件還是非常有意思的。有時候人物的控制就用它來做。那麼你知道這個組件它的一些方法到底是怎麼實現的。又應該怎麼選擇用誰呢?今天我會講下Move和SimpleMove之間的區別。

還是先了解下什麼是角色控制器把。如圖:

 

組件的屬性含義依次是:坡度(大於這個值就爬不上去),臺階高度,皮膚寬度(太大就抖,太小就被卡住),最小移動距離,中心,半徑,高度(這三個都是指角色控制器本身)。好了,有了這些,我們就可以進入今天的主題了。Move和SimpleMove直間的區別。

首先,它們的共同點都是用來移動的,參數都是Verctor3類型的向量。不同的是,Move這個方法它的實際作用和Transform組件中的translate幾乎一樣。而且它計算速度是以幀計算的。(cc表示角色控制器)所以需要乘每幀時間間隔:cc.Move(Vector3.forward * Time.deltaTime * 5).而SimpleMove它就比較特別了。當你使用它來移動你的目標時,它就具備了“重力”,而且移動的時候,它時以秒爲單位的。不用乘時間:cc.SimpleMove(Vector3.forward * 5). 直接上代碼:

而且還有一個點,角色控制器它也是一個碰撞體哦。

OK,本節就這麼些內容了

unity學習交流羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章