一般來說,要控制角色移動的話我們通常都會使用 transform.position 加減換算或 rigidbody.MovePosition。而今天我在 Unity 官方提供的遊戲範本中找到了一個還蠻好用的鍵盤控制腳本,特此紀錄一下。
第一步 先建一個 PlayerInputHandler.cs,加入 GetMoveInput 函式。
public Vector3 GetMoveInput() { Vector3 move = new Vector3(Input.GetAxisRaw(“Horizontal”), 0f, Input.GetAxisRaw(“Vertical”)); move = Vector3.ClampMagnitude(move, 1); return move; }
第二步 再建一個 PlayerController.cs,加入以下程式碼。
public float moveSpeed;
CharacterController m_Controller;
PlayerInputHandler m_InputHandler;
Vector3 characterVelocity;
private void Start() {
m_Controller = GetComponent
最後將這兩個腳本帶入遊戲角色物件,Move Speed 填入 10,並加入一個 Character Controller Component,完成。
相關文檔:
遊戲開發這系列的文章,依據我個人的學習進度隨時有可能會進行修正,如果有相關話題也歡迎留言討論。