[Unity] Rigidbody2D 기능 정리

2020. 12. 31. 23:11코딩/게임 개발

  • 개요

    강체라는 뜻을 가진 Rigidbody는 유니티에서 매우 많이 사용하는 주요 컴포넌트 입니다

    오브젝트에 물리적인, 즉 강체적 특성을 갖게 합니다

 

  • Body Type

    RigidBody2D는 3가지 BodyType으로 분류됩니다

    첫번째로 Dynamic타입입니다

    Dynamic타입을 선택하면 표시되는 화면입니다

    Dynamic타입은 동역학, 모든 물리현상을 받습니다

    중력, 충돌에 의한 힘 등 물리적인 물체를 생각하면 됩니다

 

 

    Static은 말그대로 정적인 타입닙니다

    아무런 물리현상을 받지않고 그 자리에서 움직이지 않습니다 

 

 

    Kinematic은 물리현상은 받지 않지만 스크립트를 통해 움직입니다

    물리와 상관없이 프로그래머의 어떠한 목적을 갖고 움직이려 할때 사용합니다

 

 

  • 요소 정리

    Simulate는 다른 물체와 상호작용 여부입니다. 해제하면 다른 물체와 상호작용하지 않습니다

    Use Auto Mass 질량을 자동으로 감지한다 합니다 (사용처를 잘 모르겠네요)

    Mass 질량입니다. 물리시간에 질량 생각하시면 될 것 같습니다

    Linear Drag 포지션에 대한 저항계수입니다. 0이면 무한이 날라가겠죠?

    Angular Drag 각에 대한 저항계수입니다. 0이면 계속 핑핑 돌겠네요

    Gravity Scale 중력

    Collision Detection (Discrete / Continuous)가 존재합니다

          Discrete 의 경우 빠른속도로 충돌시 통과 혹은 겹칠 수 있습니다 

          Continuous 의 경우 절대 겹지치 않습니다. CPU부하가 커집니다

    Sleeping Mode (Never Sleep / Start Awake / Start Asleep)가 존재합니다

    오브젝트가 휴면 상태일때 프로세서를 절약합니다

          Never Sleep 의 경우 절전모드를 비활성화 합니다 (Unity에서도 추천하지 않습니다)

          Start Awake 의 경우 시작시 깨어있습니다

          Start Asleep 의 경우 시작시 절전모드이고 충돌시 깨어납니다

    Interpolate (None / Interpolate / Extrapolate)가 존재합니다

    물리 업데이트 사이의 보간의 방식을 정의합니다

          None 의 경우 보간이 적용되지 않습니다

          Interpolate 의 경우 이전프레인에서 오브젝트의 위치에 따라 보간합니다

          Extrapolate 의 경우 다음프레임에서의 추정치를 기반으로 보간합니다