Version: Unity 6.0 (6000.0)
언어 : 한국어
리지드바디 2D
리지드바디 2D 바디 유형

리지드바디 2D 소개

게임 오브젝트에 Rigidbody 2D 컴포넌트를 연결하여 물리 시스템으로 조작할 수 있습니다. 리지드바디 2D는 표준 리지드바디와 비슷한 프로퍼티를 갖지만 2D 개발에 적합합니다. 예를 들어 Rigidbody 2D 컴포넌트가 연결된 게임 오브젝트는 XY 평면상에서만 이동할 수 있으며 해당 평면에 수직인 축을 따라서만 회전할 수 있습니다.

리지드바디 2D 작동 방식

Unity 에디터의 Transform 컴포넌트는 씬 내에서 게임 오브젝트(및 해당 자식 게임 오브젝트)의 위치, 회전, 스케일을 정의합니다. 이 컴포넌트를 변경하면 다른 컴포넌트가 업데이트되어 그 렌더링 위치나 다른 콜라이더의 위치가 영향을 받을 수 있습니다. Unity의 2D 물리 시스템은 콜라이더를 움직이고 콜라이더가 서로 상호작용하도록 만들 수 있으므로, Unity는 물리 시스템이 이 콜라이더의 움직임을 Transform 컴포넌트로 다시 전달할 방법을 요구합니다. Rigidbody 2D 컴포넌트는 이러한 움직임과 콜라이더와의 연결을 위해 존재합니다. Rigidbody 2D 컴포넌트는 Transform 컴포넌트를 오버라이드하고 자신이 정의하는 위치 또는 회전으로 업데이트합니다.

참고: Transform 컴포넌트를 직접 수정하여 리지드바디 2D를 오버라이드할 수 있습니다(Unity가 모든 컴포넌트의 모든 프로퍼티를 노출하기 때문). 하지만 그렇게 하면 예측할 수 없는 움직임이 발생하거나 게임 오브젝트가 서로를 통과하는 등의 문제가 발생합니다.

콜라이더 2D와 리지드바디 2D 상호 작용

동일한 게임 오브젝트 또는 자식 게임 오브젝트에 추가된 모든 Collider 2D 컴포넌트는 해당 리지드바디 2D 게임 오브젝트에 암시적으로 연결되므로 콜라이더 2D가 리지드바디 2D와 함께 이동하게 됩니다. 연결된 이후에는 트랜스폼이나 콜라이더 오프셋을 사용하여 콜라이더 2D를 직접 움직이지 말고, 리지드바디 2D를 움직여야 합니다. 리지드바디 2D를 움직이면 최상의 성능을 얻을 수 있으며 충돌을 올바르게 감지할 수 있습니다. 동일한 리지드바디 2D에 연결된 콜라이더 2D는 서로 충돌하지 않습니다. 즉, Rigidbody 2D와 동기화되어 움직이고 회전하며, 하나의 복합 콜라이더처럼 효과적으로 작동하는 콜라이더 집합을 만들 수 있습니다.

리지드바디 2D를 추가하면 스크립팅 API의 힘을 적용하여 스프라이트를 물리적으로 사실적인 방식으로 움직일 수 있습니다. 스프라이트 게임 오브젝트에 적절한 콜라이더 컴포넌트를 연결하면 다른 움직이는 게임 오브젝트와의 충돌할 때 영향을 받게 됩니다. Unity 물리 시스템을 사용하면 많은 일반적인 게임플레이 메카닉을 단순화하고 최소한의 코딩만으로 사실적인 동작을 묘사할 수 있습니다.

참고: 리지드바디 2D는 종종 서로 충돌하는 것으로 설명되지만, 실제로 충돌하는 것은 각 바디에 부착된 콜라이더 2D입니다. 리지드바디 2D는 콜라이더 없이는 서로 충돌할 수 없습니다.

추가 리소스

Rigidbody2D

리지드바디 2D
리지드바디 2D 바디 유형