Unity_Lesson

3. CharacterControllerによる移動

CharacterControllerは、キャラクターの移動を制御する専用のコンポーネントで、物理エンジンの影響を軽減しながら衝突や地形の反応を処理できます。

基本サンプルコード:

using UnityEngine;

public class CharacterControllerMove : MonoBehaviour
{
    public float speed = 5f;
    private CharacterController controller;

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
        float moveInput = Input.GetAxis("Horizontal");
        Vector3 move = transform.right * moveInput * speed * Time.deltaTime;

        // Moveを使用してキャラクターを移動
        controller.Move(move);
    }
}

特徴:


衝突や地形対応がしやすく、移動に特化したコントローラー。