Record/TIL
[Unity] 캐릭터 컨트롤러(Character Controller)
석영
2024. 8. 10. 01:06
반응형
캐릭터 컨트롤러
캐릭터 컨트롤러(Character Controller)는 Unity에서 캐릭터나 플레이어의 움직임과 충돌을 관리하기 위해 사용되는 컴포넌트이다. 이 컴포넌트는 물리 엔진이 아닌 캐릭터의 움직임을 프레임 기반으로 처리하므로, 주로 3D 캐릭터를 제어하는 데 사용된다.
어디서 사용하는지?
Rigidbody 물리를 활용하지 않는 3인 또는 1인 플레이어에 주로 사용한다.
특징
캐릭터 이동
- 캐릭터 컨트롤러는 단순한 이동을 쉽게 구현할 수 있도록 메서드를 제공한다. 주로 이동 방향과 이동 속력을 설정하여 캐릭터를 움직이게 한다.
중력 적용
- 캐릭터 컨트롤러는 Rigidbody 물리의 도움을 받기 힘들기 때문에, 중력과 점프 기능 등을 직접 개발해야한다. 수평 방향의 이동과 경사면 이동에는 강점이 있지만 수직 이동에는 직접 개발 필요.
충돌 처리
- 캐릭터 컨트롤러는 물리 엔진을 사용하지 않고, 캐릭터의 충돌을 감지하고 처리할 수 있다. 다른 콜리더와의 충돌을 통제하고, 경사로와의 상호작용 등을 지원한다.
바닥 검출
- 캐릭터 컨트롤러는 캐릭터가 바닥 위에 놓이도록 바닥 검출을 처리한다. 바닥과의 거리, 표면 노멀 등을 고려하여 캐릭터의 높이를 조절하거나 점프를 가능하게 한다.
움직임 제한
- 캐릭터 컨트롤러는 움직임을 제한하는 기능도 제공한다. 지정된 영역 내에서만 움직이도록 하거나, 지형의 경사를 따라 이동할 수 있도록 설정할 수 있다.
반응형