在游戲開發中,物體的移動是一個常見且重要的功能。Unity作為一款強大的游戲開發引擎,提供了多種方法用于實現物體的移動。接下來,我將介紹一種常用方法,幫助在Unity中實現物體的移動效果。
如果需要實現角色式的移動效果,可以使用Unity的CharacterController組件。CharacterController提供了許多有用的方法和屬性,如Move、SimpleMove、velocity等,可以實現靈活且精確的角色移動。

首先,我們先添加CharacterController組件,并在項目中創建一個C#腳本,打開該C#腳本,先輸入以下代碼,
publicclassPlayerMove: MonoBehaviour
{
privateCharacterController characterController;
publicfloatwalkspeed = 10f;//行走速度
publicfloatrunSpeed = 15f;//奔跑速度
publicfloatspeed;
publicVector3 moveDirction;
publicboolisRun;//判斷是否是奔跑
/*鍵位設置*/
[Header("鍵位設置")]
[SerializeField][Tooltip("奔跑按鍵")]privateKeyCode runInputName;//奔跑鍵位
privatevoidStart()
{
characterController = GetComponent<CharacterController>();
runInputName = KeyCode.LeftShift;
publicvoidMove()
{
floath = Input.GetAxis("Horizontal");
floatv = Input.GetAxis("Vertical");
isRun = Input.GetKey(runInputName);
if(isRun)
{
speed = runSpeed;
}
else
{
speed = walkspeed;
}
moveDirction = (transform.right * h + transform.forward * v).normalized;//設置玩家移動方向
characterController.Move(moveDirction * speed * Time.deltaTime);//移動
}
最后按住ctrl+s保存就可以啦。
這段代碼先定義了一些變量,然后通過方向鍵控制物體的移動,shift鍵控制物體的加速。
以上代碼通過獲取CharacterController組件并在Update方法中使用Move方法來實現物體的移動。CharacterController還會自動處理碰撞和重力,因此非常適合角色移動。
你學會了嗎?趕快打開unity試試吧。