建議使用以下做法:
給人物加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...