리지드바디(Rigidbody)Unity Docs
‘강체’로 번역할 수 있다. Show 유니티 엔진에서 제공하는 기본 컴포넌트이다. 리지드바디가 존재하는 게임 오브젝트는 물리 엔진의 영향을 받는다. 현실감 있는 물리 시뮬레이션이 가능해지며, 힘(Force)과 속도(Velocity)의 영향을 받는다. 3D에서는
프로젝트 종류에 따라 잘 구분해서 사용해야 한다. 콜라이더(Collider)Unity Docs
‘충돌체’로 번역할 수 있다. 유니티 엔진에서 기본적으로 제공하는 콜라이더는 박스(Box), 구(Sphere), 캡슐(Capsule), 메시(Mesh) 등이 있다. 콜라이더마다 고유의 모양과 영역이 있으며, 서로의 영역이 겹칠 경우 충돌이 발생한다.
2D에서는 정적 콜라이더와 동적 콜라이더리지드바디를 갖고 있지 않는 게임 오브젝트의 콜라이더를 정적 콜라이더(Static Collider), 리지드바디를 갖고 있는 게임 오브젝트의 콜라이더를 동적 콜라이더(Dynamic Collider)라고 지칭한다. 정적 콜라이더는 게임 내에서 위치, 회전을 변경시키면 안된다. 물리 시뮬레이션에 성능, 정확도 면에서 악영향을 줄 수 있다. 동적 콜라이더는 자유롭게 위치, 회전을 변경해도 된다. 대신 트랜스폼을 직접 조작하면 안되고, 리지드바디를 통해 변경해야 한다. 충돌(Collision)Unity Docs
콜라이더 컴포넌트를 가진 두 게임오브젝트가 부딪힐 경우 발생한다. 두 게임 오브젝트 중 적어도 하나는 반드시 리지드바디를 갖고 있어야 하고, 두 콜라이더는 모두 동적 콜라이더는 충돌 발생 시 부딪혀 튕겨나가게 된다. 리지드바디를 가진 게임 오브젝트에 해당 클래스 내에 충돌이 발생하는 순간 마찬가지로 충돌이 유지되는 동안에는 충돌이 끝나는 순간에는 2D의 경우, 이름 뒤에 트리거(Trigger) 충돌Unity Docs
두 게임 오브젝트가 모두 콜라이더 컴포넌트를 갖고 있고 두 콜라이더 중 하나 이상의 콜라이더에 두 게임 오브젝트 중 하나 이상의 게임 오브젝트에 리지드바디 컴포넌트가 존재할 경우 발생한다. 트리거 충돌이 발생해도 게임오브젝트는 튕겨나가지 않고, 그저 관통한다. 트리거가 아닌 충돌과 마찬가지로, 트리거 충돌 발생 시 리지드바디를 가진 게임오브젝트에 메시지가 전달된다. 충돌 시작 시 충돌이 유지되는 동안 충돌 종료 시
리지드바디를 가진 게임오브젝트에 컴포넌트로 넣어주면 트리거 충돌 발생 시 각각의 충돌 단계에 해당하는 메소드가 호출된다. 2D의 경우, 이름 뒤에 트랜스폼과 리지드바디트랜스폼이 존재하는 기본적인 월드를 게임 월드(Game World)라고 할 때, 물리 엔진에 의해 리지드바디가 제어되는 월드를 물리 월드(Physics World)라고 할 수 있다. 리지드바디가 존재하지 않는 게임 오브젝트의 트랜스폼은 게임 월드에만 존재하고, 리지드바디가 존재하는 게임 오브젝트의 트랜스폼은 게임 월드, 물리 월드 양측에 존재한다. 쉽게 말해, 물리 월드의 트랜스폼은 리지드바디의 내부에 감춰진 트랜스폼이라고 이해하면 된다.
리지드바디를 가진 게임 오브젝트의 경우, 게임 월드의 트랜스폼은 물리 월드의 트랜스폼에 영향을 받는다. 반대로 물리 월드의 트랜스폼이 게임 월드의 트랜스폼에 영향을 받기도 하지만, 통제의 우선권은 물리 월드에 있다. 따라서 리지드바디가 존재하는 게임 오브젝트는 트랜스폼을 직접 조작하면 안되고 반드시 리지드바디를 조작하여 이동, 회전시켜야 한다. 그리고 물리 엔진의 갱신은 따라서 리지드바디를 가진 게임 오브젝트는
키네마틱(Kinematic) 리지드바디리지드바디에는 키네마틱으로 설정될 경우, 해당 게임오브젝트는 리지드바디가 존재함에도 불구하고 물리 시뮬레이션이 발생하지 않는다. 다시 말해, 다른 리지드바디에 부딪혀도 절대 튕겨나가지 않는다. 그리고 물리 엔진의 영향을 아예 받지 않아서, 리지드바디를 통해 힘을 줘도( 하지만 콜라이더를 갖고 있다면 다른 동적 콜라이더에는 충돌을 발생시킨다. 키네마틱 리지드바디 특징
키네마틱 리지드바디의 사용처키네마틱 리지드바디는 ‘움직여도 되는 정적 콜라이더’라고 생각하면 된다. 다른 물체로부터 물리적으로 영향을 받을 필요는 없지만, 반대로 플레이어 캐릭터와 같은 강체에 물리적으로 영향을 줄 수 있는 환경 요소에 사용할 수 있다. 예를 들면 여닫이문, 움직이는 발판 등이 있다. References
|