
리지드바디 vs 캐릭터 컨트롤러
리지드바디 (Rigidbody)
리지드바디는 물리적 객체의 기본적인 모델이다. 질량, 관성, 충돌 감지 등의 속성을 가지고 있고, 물리 엔진에 의해 제어된다.
문서> 리지드바디
캐릭터 컨틀롤러 (Character Controller)
캐릭터 컨트롤러는 Rigidbody 물리를 활용하지 않는 3인 또는 1인 플레이어에 주로 사용된다. 리지드바디와 달리 물리 엔진에 의해 제어되지 않는다.
문서> 캐릭터 컨트롤러
차이점
제어 방식
- 리지드바디: 물리 엔진에 의한 제어
- 캐릭터 컨트롤러: 입력에 의한 제어
충돌 처리
- 리지드바디: 모든 오브젝트와의 충돌
- 캐릭터 컨트롤러: 일부 유형과 충돌하며, 충돌 처리에 제약이 존재
OnControllerColliderHit() 함수를 사용하여 컨트롤러와 충돌하는 모든 오브젝트에 힘을 적용할 수 있다.
캐릭터 컨트롤러의 단점
제한된 기능
- 간단한 움직임 및 점프와 같은 기본적인 캐릭터 컨트롤 기능을 제공하지만, 고급 기능을 구현하기에는 한계가 있다.
물리 시뮬레이션 부족
- 물리 시뮬레이션을 제공하지 않거나 제한적으로 지원한다.
격자 형태 이동
- 캐릭터 컨트롤러는 주로 격자 형태로 이동하는 것을 지원하며, 좀 더 부드러운 이동이나 미끄러짐을 다루기에는 어려움이 있을 수 있다.
커스터마이즈 어려움
- 기본 캐릭터 컨트롤러를 수정하거나 확장하기가 어렵다.
네트워크 및 멀티플레이어
- 멀티플레이어 게임을 개발할 때 유니티 캐릭터 컨트롤러는 네트워크 지원과 관련하여 일부 제한이 있을 수 있다.