1. 기본 물리 속성

  • Mass (질량): 오브젝트의 무게입니다. (기본 단위: kg)
  • Drag (항력): 직선 운동 시 발생하는 공기 저항입니다. 값이 클수록 물체가 빨리 멈춥니다.
  • Angular Drag (회전 항력): 회전 운동 시 발생하는 저항입니다. 값이 클수록 회전이 빨리 멈춥니다.
  • Automatic Center Of Mass: 오브젝트의 부피(Volume)를 계산하여 무게 중심을 자동으로 설정합니다.

2. 운동 제어 및 보정

  • Is Kinematic: 체크 시 물리 엔진의 영향을 받지 않습니다. (중력, 충돌 반작용 무시) 오직 스크립트나 애니메이션으로만 움직임을 제어할 때 사용합니다.
  • Interpolate (보정): 물리 연산(FixedUpdate)과 화면 렌더링(Update) 주기 차이로 발생하는 지터링(Jittering, 화면 떨림) 현상을 해결합니다.
    • Interpolate: 이전 프레임의 위치를 참고하여 부드럽게 연결합니다.
    • Extrapolate: 다음 프레임의 위치를 예측하여 부드럽게 연결합니다.

3. Collision Detection (충돌 감지 방식) ★

물체가 너무 빠를 때 콜라이더를 뚫고 지나가는 '터널링 현상'을 방지하기 위한 설정입니다.

모드 특징
Discrete (이산) 기본값. 일반적인 정지/저속 오브젝트에 사용 (성능 최적화).
Continuous (연속) 빠르게 움직이는 물체가 정지된 물체를 통과하는 것을 방지.
Continuous Dynamic 빠르게 움직이는 물체끼리 충돌할 때 사용 (가장 정밀하지만 비용 높음).
Continuous Speculative 예측 기반 충돌 감지로 성능과 정확도의 절충안을 제공.

팁: 지터링(Jittering)이 발생하는 이유

유니티의 물리 엔진은 기본적으로 0.02초(FixedUpdate)마다 계산되지만

화면 렌더링은 사용자의 모니터 주사율(Update, 보통 60fps/0.016초)에 따라 다릅니다.

이 간극 때문에 캐릭터가 미세하게 끊겨 보일 때 Interpolate를 켜면 훨씬 부드러워집니다.

+ Recent posts