HDRP의 모션 벡터
모션 벡터는 한 프레임에서 다음 프레임으로 게임 오브젝트의 픽셀당 스크린 공간 모션을 캡처합니다. 게임 오브젝트에 대한 모션 벡터를 계산하기 위해 HDRP는 현재 프레임과 이전 프레임의 게임 오브젝트 포지션 간의 차이를 사용합니다.
HDRP는 TAA(Temporal Anti-Aliasing)과 모션 블러와 같은 다양한 효과에 모션 벡터를 사용합니다.
HDRP는 2단계로 모션 벡터를 계산합니다.
- HDRP는 먼저 오브젝트 모션 벡터를 계산합니다. 오브젝트 모션 벡터는 HDRP가 게임 오브젝트의 스크린 공간 움직임을 기반으로 계산하는 모션 벡터입니다.
- 그러면 HDRP는 카메라 모션 벡터를 계산합니다. 이러한 벡터는 카메라의 움직임으로 인해 발생하는 모션 벡터입니다. HDRP는 첫 번째 단계에서 모션 벡터를 작성하지 않은 픽셀에 대한 카메라 모션 벡터를 계산합니다.
모션 벡터 사용
HDRP에서 모션 벡터를 사용하려면 먼저 모션 벡터를 활성화해야 합니다.
- Unity 프로젝트의 HDRP 에셋에서 다음을 수행합니다.
- HDRP Asset을 선택하고 인스펙터 창에서 확인합니다.
- Rendering 섹션으로 이동하여 Motion Vectors를 활성화합니다.
- 프레임 설정에서 카메라 수준당 모든 카메라 또는 개별 카메라에 대해 모션 벡터를 활성화할 수 있습니다.
- 모든 카메라에 대한 모션 벡터를 활성화하려면 HDRP Default Settings Project Settings 탭을 연 다음(메뉴: Edit > Project Settings > HDRP Default Settings) Default Frame Settings For를 Camera로 설정합니다. 특정 카메라에 대한 모션 벡터를 활성화하려면 카메라를 선택하고 인스펙터에서 Custom Frame Settings를 활성화합니다.
- Rendering Section에서 Motion Vectors를 활성화합니다. 이렇게 하면 카메라 모션 벡터를 활성화합니다.
- 불투명 게임 오브젝트에 대해 모션 벡터를 활성화하려면 Opaque Object Motion을 활성화합니다. 투명 게임 오브젝트에 대해 모션 벡터를 활성화하려면 Transparent Object Motion을 활성화합니다.
HDRP는 이제 모션 벡터를 렌더링할 수 있습니다. 오브젝트 모션 벡터를 활성화한 경우 기본적으로 새로운 메시 렌더러가 오브젝트 모션 벡터를 작성합니다. 이 동작을 변경하려면 메시 렌더러를 선택하여 인스펙터에서 Motion Vectors 프로퍼티 값을 변경합니다.
옵션은 다음과 같습니다.
- Camera Motion Only: HDRP는 이 게임 오브젝트가 채우는 스크린 영역에 대한 카메라 모션 벡터만 계산합니다.
- Per Object Motion: HDRP는 다음의 경우에 이 게임 오브젝트에 대한 모션 벡터를 계산합니다.
- 게임 오브젝트는 이동하고 카메라는 이동하지 않는 경우
- 카메라는 이동하고 게임 오브젝트는 이동하지 않는 경우
- 게임 오브젝트와 카메라가 모두 이동하는 경우
- Force No Motion: HDRP는 이 게임 오브젝트가 채우는 스크린 영역에 대해 모션 벡터를 계산하지 않습니다.
투명 오브젝트에 대한 모션 벡터
기본적으로 HDRP는 투명 머티리얼에 대한 모션 벡터를 렌더링하지 않습니다. 이는 투명 게임 오브젝트의 모션 벡터가 뒤에 있는 게임 오브젝트에 대한 모션 벡터를 덮어쓰기 때문입니다. 예를 들어 창은 그 뒤에서 날아가는 새에 대한 모션 벡터를 덮어씁니다.
HDRP가 투명 머티리얼에 대한 모션 벡터를 렌더링하게 하려면 모션 벡터 사용에서 단계를 참조하고 Transparent Object Motion을 활성화합니다.
투명 오브젝트가 주어진 픽셀에 모션 벡터를 작성할 때 해당 픽셀의 이전 모션 벡터를 교체합니다. 이는 머리카락과 같이 알파 클리핑을 사용하는 머티리얼에 특히 유용합니다.
모션 블러를 투명 게임 오브젝트와 함께 사용하는 경우 모션 블러는 뎁스 정보도 사용합니다. 즉 머티리얼이 뎁스 정보도 작성하게 해야 합니다. 그렇게 하려면 Surface Options로 이동하여 Transparent Depth Postpass 체크박스를 활성화합니다.