스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록

2024.07.03 TIL - 캐릭터 컨트롤러 VS Rigidbody

테크러너 2024. 7. 3.

캐릭터 컨트롤러(Character Controller)

캐릭터 컨트롤러(Character Controller)는 Unity에서 캐릭터나 플레이어의 움직임과 충돌을 관리하기 위해 사용되는 컴포넌트다. 이 컴포넌트는 물리 엔진이 아닌 캐릭터의 움직임을 프레임 기반으로 처리하므로, 주로 3D 캐릭터를 제어하는 데 사용된다.

 

캐릭터 컨트롤러의 주요 기능과 특징은 다음과 같다:

  1. 캐릭터 이동: 캐릭터 컨트롤러는 단순한 이동을 쉽게 구현할 수 있도록 메서드를 제공한다. 주로 이동 방향과 이동 속력을 설정하여 캐릭터를 움직이게 한다.
  2. 중력 적용: 캐릭터 컨트롤러는 Rigidbody 물리의 도움을 받기 힘들기 때문에, 중력과 점프 기능 등을 직접 개발해야 한다. 수평 방향의 이동과 경사면 이동에는 강점이 있지만 수직 이동에는 직접 개발 필요.
  3. 충돌 처리: 캐릭터 컨트롤러는 물리 엔진을 사용하지 않고, 캐릭터의 충돌을 감지하고 처리할 수 있다. 다른 콜리더와의 충돌을 통제하고, 경사로와의 상호작용 등을 지원한다.
  4. 바닥 검출: 캐릭터 컨트롤러는 캐릭터가 바닥 위에 놓이도록 바닥 검출을 처리한다. 바닥과의 거리, 표면 노멀 등을 고려하여 캐릭터의 높이를 조절하거나 점프를 가능하게 한다.
  5. 움직임 제한: 캐릭터 컨트롤러는 움직임을 제한하는 기능도 제공한다. 지정된 영역 내에서만 움직이도록 하거나, 지형의 경사를 따라 이동할 수 있도록 설정할 수 있다.

 

캐릭터 컨트롤러 VS Rigidbody

캐릭터 컨트롤러는 Rigidbody 물리를 활용하지 않는 3인 또는 1인 플레이어에 주로 사용된다.

계단을 올라간다던지 물리적 작용이 있다면 Rigidbody를 사용하고, 그냥 좌우 방향을 이동하는 것뿐이라면 캐릭터 컨트롤러 사용이 편하다.

반응형

댓글