Rigidbody 2D 컴포넌트를 게임 오브젝트에 연결하여 물리 시스템으로 제어할 수 있습니다.리지드바디 2D는 표준 Rigidbody와 유사한 프로퍼티를 공유하지만 2D 개발에 맞게 조정되었습니다.예를 들어 Rigidbody 2D 컴포넌트가 연결된 게임 오브젝트는 XY 평면을 따라만 이동할 수 있으며 해당 평면에 수직인 축에서만 회전할 수 있습니다.
Unity 에디터의 트랜스폼 컴포넌트는 씬 내에서 게임 오브젝트(및 자식 게임 오브젝트)의 포지션, 회전, 확대/축소 방법을 정의합니다.이 컴포넌트를 변경하면 다른 컴포넌트가 업데이트되어 렌더링 위치나 다른 콜라이더의 포지션에 영향을 줄 수 있습니다.Unity의 2D 물리 시스템은 콜라이더를 움직이고 서로 상호작용할 수 있으므로, 물리 시스템이 이러한 콜라이더의 움직임을 트랜스폼 컴포넌트에 다시 전달할 수 있는 방법이 필요합니다.이러한 움직임과 콜라이더와의 연결이 바로 Rigidbody 2D 컴포넌트의 역할입니다.Rigidbody 2D 컴포넌트는 트랜스폼 컴포넌트를 오버라이드하고 대신 정의한 포지션 및/또는 회전으로 업데이트합니다.
참고:Unity는 모든 컴포넌트에 모든 프로퍼티를 노출하므로 트랜스폼 컴포넌트를 직접 수정하여 리지드바디 2D를 오버라이드할 수 있습니다.그러나 이렇게 하면 예측할 수 없는 움직임이나 게임 오브젝트가 서로 통과하는 등의 문제가 발생할 수 있습니다.
동일한 게임 오브젝트 또는 자식 게임 오브젝트에 추가된 모든 콜라이더 2D 컴포넌트는 해당 리지드바디 2D 게임 오브젝트에 암시적으로 첨부되어 콜라이더 2D가 해당 리지드바디 2D와 함께 움직이게 됩니다.부착된 경우 트랜스폼이나 임의의 콜라이더 오프셋을 사용하여 콜라이더 2D를 직접 이동하지 말고 대신 리지드바디 2D를 이동해야 합니다.리지드바디 2D를 움직이면 최상의 성능이 제공되고 정확한 충돌 검사가 보장됩니다.동일한 리지드바디 2D에 연결된 콜라이더 2D는 서로 충돌하지 않습니다.즉, 하나의 복합 콜라이더처럼 효과적으로 작동하는 콜라이더 세트를 만들 수 있으며, 이들 모두 리지드바디 2D와 동기화하여 움직이고 회전합니다.
리지드바디 2D를 추가하면 스크립팅 API로부터 힘을 가하여 스프라이트를 물리적으로 설득력 있게 움직일 수 있습니다.스프라이트 게임 오브젝트에 적절한 콜라이더 컴포넌트를 부착하면 다른 움직이는 게임 오브젝트와의 충돌에 의해 영향을 받습니다.Unity 물리 시스템을 사용하면 많은 일반적인 게임플레이 메커니즘을 간소화하고 최소한의 코딩으로 사실적인 동작을 구현할 수 있습니다.
참고:리지드바디 2D는 종종 서로 충돌하는 것으로 설명되지만, 실제로 충돌하는 것은 각 바디에 부착된 콜라이더 2D입니다.리지드바디 2D는 콜라이더 없이는 서로 충돌할 수 없습니다.
Rigidbody2D