[TIL] Rigidbody2D (Dynamic) vs Kinematic in Unity 2D

Dreamer·2024년 12월 24일

1. 오늘 주제

오늘은 Rigidbody2D 에서 BodyType을 바꿔서 사용 했을 때 어떤식으로 작동 되는지에 대해 남겨본다.

  1. Dynamic
  • 물리엔진(Physics 2D)의 모든 영향을 받음 (중력, 충돌 반작용, 마찰, 관성 등).
  • 이동, 회전 등이 자동으로 물리 계산되는 오브젝트.
    예: 움직이는 플랫폼, 떨어지는 박스, 플레이어 캐릭터 등.
  1. Kinematic
  • 외부 물리 힘(Force)으로는 움직이지 않음.
  • 직접 스크립트(velocity, MovePosition, transform.position)로만 제어해 움직이는 타입.
  • 충돌 시 상대(Dynamic)가 반응하고, Kinematic 자신은 영향 받지 않음.
    예: 문, 엘리베이터, AI 캐릭터(외부 힘 무시), 레이저 발사체 등.
  1. Static
  • 전혀 움직이지 않는, ‘고정된’ 오브젝트.
  • 물리엔진은 Static 오브젝트가 움직이지 않는다고 가정하므로,
  • 위치를 바꾸면(Transform 변경) 성능 경고나 예측 불가 충돌 문제가 생길 수 있음.
    예: 벽, 바닥, 건물처럼 절대 이동하지 않을 맵 환경.
profile
새로운 시작

0개의 댓글