유니티에서 캐릭터의 조작을 구현할 때 어떻게 구현할지 고민하게 된다.
그중에서 Character Controlle 컴포넌트를 사용하면 3D 환경에서 캐릭터의 다양한 움직임을 쉽게 구현할 수 있다.
하지만 다음과 같은 단점이 존재한다.
1. 제한된 기능
간단한 움직임 및 점프와 같은 기본적인 캐릭터 컨트롤 기능을 제공하지만, 고급 기능을 구현하기에는 한계가 있다.
2. 물리 시뮬레이션 부족
유니티 캐릭터 컨트롤러는 물리 시뮬레이션을 제공하지 않거나 제한적으로 지원한다.
3. 격자 형태 이동
캐릭터 컨트롤러는 주로 격자 형태로 이동하는 것을 지원하며, 좀 더 부드러운 이동이나 미끄러짐을 다루기에는 어려움이 있을 수 있다.
4. 커스터마이즈 어려움
기본 캐릭터 컨트롤러를 수정하거나 확장하기가 어렵다.
5. 네트워크 및 멀티플레이어
멀티플레이어 게임을 개발할 때 유니티 캐릭터 컨트롤러는 네트워크 지원과 관련하여 일부 제한이 있을 수 있다.
캐릭터 컨트롤러를 이용하면 이러한 단점을 고려해서 캐릭터 조작을 구현해야 한다.
유니티 공식 메뉴얼에도 플레이어 캐릭터가 물리에 의해 영향을 받도록 하고 싶을 경우, 캐릭터 컨트롤러 대신 Rigidbody를 사용하는 것을 권장하고 있다.
캐릭터 컨트롤러 - Unity 매뉴얼
캐릭터 컨트롤러(Character Controller) 는 Rigidbody 물리를 활용하지 않는 3인 또는 1인 플레이어에 주로 사용됩니다.
docs.unity3d.com