본문 바로가기

Unity/Knowledge

Rigidbody2D - Body Type

Dynamic

  • 설명: Dynamic 타입의 Rigidbody2D는 물리 엔진에 의해 완전히 제어됩니다. 이는 중력, 충돌, 힘, 토크 등에 영향을 받음을 의미합니다.
  • 특징:
    • 물리 법칙에 따라 움직입니다.
    • 중력의 영향을 받습니다.
    • 다른 객체와 충돌 시 충돌 반응을 합니다.
    • AddForce, AddTorque 등의 함수를 사용하여 힘이나 토크를 적용할 수 있습니다.
    • 외부 힘(예: 바람, 폭발 등)과 상호작용합니다.
  • 용도:
    • 주로 물리적으로 시뮬레이션되어야 하는 객체에 사용됩니다. 예를 들어, 플레이어 캐릭터, 적, 이동 가능한 오브젝트 등.

Kinematic

  • 설명: Kinematic 타입의 Rigidbody2D는 물리 엔진에 의해 위치와 회전이 결정되지 않습니다. 대신, 스크립트에 의해 직접 제어됩니다. 물리 법칙의 영향을 받지 않지만, 충돌 감지는 가능합니다.
  • 특징:
    • 중력의 영향을 받지 않습니다.
    • 다른 객체와 충돌 시 충돌 반응은 없지만, 충돌 이벤트는 발생합니다.
    • 물리적 힘을 직접 적용할 수 없습니다 (AddForce, AddTorque 사용 불가).
    • velocity나 MovePosition, MoveRotation 등을 사용하여 이동시킬 수 있습니다.
    • 다른 객체와의 충돌 감지는 가능하지만, 반응은 스크립트로 처리해야 합니다.
  • 용도:
    • 주로 외부 힘의 영향을 받지 않고, 스크립트로 제어되어야 하는 객체에 사용됩니다. 예를 들어, 움직이는 플랫폼, NPC 경로 이동 등.

요약

  • Dynamic:
    • 물리 엔진에 의해 제어됨.
    • 중력, 충돌, 힘, 토크의 영향을 받음.
    • 물리적으로 시뮬레이션되어야 하는 객체에 사용.
  • Kinematic:
    • 물리 엔진에 의해 제어되지 않음.
    • 중력의 영향을 받지 않음.
    • 스크립트에 의해 직접 제어됨.
    • 충돌 이벤트는 감지하지만, 충돌 반응은 없음.
    • 외부 힘의 영향을 받지 않고 스크립트로 제어되어야 하는 객체에 사용.