20241030 / Unity_6차 8주차 수요일
과제제출이 끝나고 플레이어의 이동에 대해서 알아보는데 Character Controller에 대해 발견하게 되었다.
이 컴포넌트는 자체적으로 Capsule Collider를 가지고 있으며,
Rigid Body 가 없더라도 충돌과 같은 물리효과를 구현할 수 있다.
또한 벽에 닿았을 때 움직임에 제한이 없도록 Skin Width로 최소 이격거리 보장을 해주고
Step Offset 값을 조절하여 낮은 단차를 지나갈 수 있게 해 주기도 한다.
반면에 질량, 중력, 회전운동같은 프로퍼티를 가지고 있지 않기 때문에
이러한 물리효과를 직접 구현해야 한다.
사실 플레이어 캐릭터에 대해선 Rigid Body의 세세한 물리효과가 오히려 방해가 되는 경우가 많기에
이걸 쓰는 것도 나쁘진 않은 것 같다.
컴포넌트 이름이 Character Controller인 이유가 있겠지
근데 경사면 끄트머리를 밟고 올라갈 때 슈퍼점프가 되는 버그가 있다.
결국 매끄러운 움직임이나 물리학적 버그를 방지하기 위해선 RayCast를 활용해야 할 것 같다.