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);
}
}
衝突や地形対応がしやすく、移動に特化したコントローラー。