보간은 런타임에 리지드바디 게임 오브젝트의 움직임에 나타나는 지터를 관리할 수 있는 방법을 제공합니다.
지터는 물리 시뮬레이션 업데이트 속도(Fixed Timestep에 의해 결정됨)가 애플리케이션의 프레임 속도보다 느릴 때 발생할 수 있습니다.이것은 리지드바디에 카메라가 런타임에서 추적하는 물리 기반 움직임이 있는 경우 가장 눈에 띕니다.
Unity의 PhysX 시스템은 보간을 구현하는 방법을 제공합니다.리지드바디의 Interpolate 설정은 런타임에 리지드바디의 모션이 흔들리는 것 같을 때 부드럽게 처리하는 두 가지 옵션을 제공합니다.이러한 옵션은 Interpolate와 Extrapolate입니다.
이 보간과 외삽 모두 물리 업데이트 사이에 리지드바디의 포즈(즉, 포지션 및 회전)를 계산합니다.어떤 옵션을 선택해야 하는지는 사용 사례에 가장 적합한 시각적 결과를 제공하는 옵션에 따라 다릅니다.
리지드바디의 움직임에 지터가 있는 경우에만 보간 또는 외삽을 사용해야 합니다.Interpolate는 기본적으로 None으로 설정되어 있습니다.
이전 두 물리 업데이트에서 리지드바디의 포즈를 사용하여 현재 프레임에서 리지드바디의 포즈를 계산하고 적용합니다.
보간을 사용하면 리지드바디가 원래 위치에서 약간 뒤로 이동하는 것처럼 보입니다.그 이유는 보간은 리지드바디의 포즈를 한 번의 물리 업데이트만큼 지연시켜 계산에 사용할 두 포인트를 확보하고 리지드바디를 새 포즈로 이동하는 데 충분한 시간을 갖게 하기 때문입니다.
보간은 외삽보다 정확하지만 물리 업데이트 한 번의 시간 지연이 있습니다.
보간은 일반적으로 리지드바디의 속도가 변하거나 리지드바디의 움직임에 영향을 주는 다른 물리 요소가 있는 상황에 가장 적합한 옵션입니다.
보간은 API 프로퍼티 RigidbodyInterpolation.Interpolate
로 표현됩니다.
이전 물리 업데이트에서 리지드바디의 포즈를 사용하고 다음 물리 업데이트에서 리지드바디의 포즈를 예측하여 현재 프레임의 포즈를 계산하고 예측합니다.
외삽을 사용하면 리지드바디가 원래 위치보다 약간 앞쪽으로 움직이는 것처럼 보입니다.외삽은 리지드바디의 현재 속도를 사용하여 다음 물리 업데이트에서 리지드바디의 포즈를 예측하므로 계산에 사용할 두 개의 포인트가 있기 때문입니다.
외삽은 종종 정확도가 떨어지고 충돌 바운드를 눈에 띄게 초과할 수 있습니다(다음 물리 업데이트 후 다음 프레임에서 자체 수정).이는 외삽 계산이 미래의 물리적인 힘이나 계산을 고려하지 않기 때문입니다.
외삽은 일반적으로 정확도가 중요하지 않은 상황, 예를 들어 리지드바디가 일정한 속도로 움직이고 리지드바디의 움직임에 영향을 주는 다른 물리 요소가 없는 경우에만 좋은 옵션입니다.
Extrapolate is represented by the API property RigidbodyInterpolation.Extrapolate.html
.