unity人物移動

2021-07-03 18:57:35 字數 544 閱讀 8002

建議使用以下做法:

給人物加character controller,然後在指令碼中獲取人物的角色控制器:

charactercontroller character = fighter.getcomponent();    //fighter是人物對應的gameobject物件

然後利用character移動,例如控制角色向前移動:

character.move(fighter.transform.forward * time.deltatime * 5);

為什麼不用transform元件的translate和rotate等函式呢?

fighter.transform.translate(fighter.transform.forward * time.deltatime * 5);

因為transform的轉換是以物體自身的座標係為參考的,實際執行時不會按照預期的方式移動,而且translate函式強行移動,忽略collider的碰撞,即人物會穿過具有collider的物體

而character controller的移動是以世界座標係為參考的

unity實現手機端搖桿控制人物移動

前言 玩過王者榮耀或者荒野行動的人,都知道,手機左下方或右下方都會有乙個搖桿,滑動搖桿可以讓人物向360度方向移動。沒有玩過的可以看看下方 荒野行動手機端為例 本篇就來講解如何使用unity製作搖桿控制人物移動。2種方法 1.guitexture製作,是unity自帶的乙個joystick元件,主要...

Unity 之 人物換裝

原理 一 skinedmeshrender 該物件負責網格繪製。主要資料成員包括 var bones transform 骨骼 var materials material 材質 var sharedmesh mesh 網格 其中mesh的主要成員是 vertices vector3 頂點 bone...

Unity 之 人物換裝

原理 一 skinedmeshrender 該物件負責網格繪製。主要資料成員包括 var bones transform 骨骼 var materials material 材質 var sharedmesh mesh 網格其中mesh的主要成員是 vertices vector3 頂點 bonew...