Unity 리지드바디 2D 가이드
이 문서는 Unity에서 2D 게임 개발을 위한 리지드바디(Rigidbody) 2D의 기본 개념과 사용 방법에 대해 설명합니다.
리지드바디 2D 소개
리지드바디 2D는 Unity의 물리 엔진에서 객체가 물리적으로 상호작용하는 것을 가능하게 하는 컴포넌트입니다. 리지드바디 2D의 동작은 "바디 타입"에 의해 정의됩니다. 바디 타입은 객체의 움직임 방식과 콜라이더 간의 상호작용에 영향을 미칩니다.
바디 타입
리지드바디 2D는 세 가지 바디 타입을 제공합니다:
- 동적 바디 타입 (Dynamic)
- 물리 시뮬레이션을 통해 객체가 자유롭게 움직일 수 있도록 합니다.
- 중력과 충돌을 감지하여 자연스럽게 운동합니다.
- 키네마틱 바디 타입 (Kinematic)
- 사용자나 스크립트를 통해 명시적으로 제어할 수 있는 객체입니다.
- 물리 시뮬레이션에 의한 영향은 받지 않지만, 다른 객체와의 충돌은 감지합니다.
- 정적 바디 타입 (Static)
- 움직이지 않는 객체를 나타내며, 물리 시뮬레이션의 영향을 받지 않습니다.
- 주로 월드의 장애물로 사용합니다.
바디 타입의 변경
바디 타입을 변경하면 Unity 내부적으로 질량 관련 속성을 재계산하며, 기존의 충돌 정보도 다음 FixedUpdate에서 다시 평가하게 됩니다. 이로 인해 성능에 영향을 줄 수 있습니다.
인스펙터 창에서 리지드바디 2D 컴포넌트의 프로퍼티는 선택한 바디 타입에 따라 다르게 설정됩니다.
추가 리소스
활용 예제
1. 동적 바디 타입 활용 예
동적 바디 타입을 사용해 무게에 따라 떨어지는 상자를 만들어볼 수 있습니다. 이를 통해 중력과 충돌 효과를 자연스럽게 체험할 수 있습니다.
2. 키네마틱 바디 타입 활용 예
키네마틱 바디 타입을 사용해 플레이어가 다음 단계로 올라갈 때 이동하는 플랫폼을 구현할 수 있습니다. 이 플랫폼은 스크립트를 통해 제어됩니다.
3. 정적 바디 타입 활용 예
정적 바디 타입은 도로, 벽, 장애물 등 움직이지 않는 배경 오브젝트로 사용됩니다. 이 오브젝트들은 다른 동적 리지드바디와 충돌할 수 있습니다.
결론
Unity의 리지드바디 2D는 2D 게임에서 객체의 물리적 상호작용을 정의하는 중요한 요소입니다. 바디 타입에 따라 다양한 동작을 구현할 수 있으므로, 적절한 타이핑을 선택하는 것이 중요합니다. 추가적인 실습을 통해 각 버전의 특징을 마스터해보세요!