Unity - Character Controller

수냉·2025년 11월 16일

Unity

목록 보기
6/10

캐릭터 컨트롤러

캐릭터 컨트롤러는 유니티에서 기본적으로 제공하는 이동 관련 컴포넌트다.
기본 제공인 만큼 웬만한 이동 관련 기능들은 내장되어 있고, 바로바로 사용할 수 있단 점에서 매우 편리하나 결국 정교한 물리 관련 행동은 Rigidbody를 통해서 해결해야하며 여러가지 잔버그들이 좀 있는 불안정한 컴포넌트이다.

그래서 캐릭터 컨트롤러를 유용하게 사용하려면 사용자가 커스텀해서 사용하여 최대한 안정화시켜서 사용하면 좋을 것이다.

캐릭터 컨트롤러 프로퍼티

centerradiusheightslopeLimitvelocity
충돌체의 중심 위치충돌체의 반지름충돌체의 높이이동할 수 있는 최대 경사도 (기본 45º)마지막 Move()에서 호출된 이동 속도 (읽기 전용 프로퍼티)
stepOffsetskinWidthminMove DistanceisGroundeddetectCollisions
자동으로 오를 수 있는 최대 계단 높이 (hight보다 낮아야함)충돌 감지를 위한 여유 거리최소 이동거리캐릭터가 지면에 닿아있는지 여부 판별 (버그 많음!)충돌 감지 여부

캐릭터 컨트롤러 메서드

MoveSimpleMoveOnControllerColliderHit
지정한 방향과 거리로 이동속도를 받아 중력 자동 적용Move()가 작동중일 때 콜라이더에 부딪힐 때 호출

캐릭터 컨트롤러의 상속된 변수 및 메서드

Unity API <- 유니티 API문서로 이동하면 상세하게 알 수 있다.

캐릭터 컨트롤러 장점

  • 플레이어 움직임을 제어하기 쉬움
  • 물리 충돌을 사용하지 않아 캐릭터의 이동이 자연스러움
  • 경사로나 계단을 이동할 수 있음

캐릭터 컨트롤러 단점

  • 물리 충돌을 사용하지 않아 정교한 움직임이 힘듦
  • IsGrounded 같은 프로퍼티에서 버그가 있어 사용이 제한됨

0개의 댓글