개요
Unity의 반사 렌더링은 표면에 주변 환경이나 다른 물체의 영상이 비치도록 계산하는 기능이다. 반사 결과에는 표면을 표현하는 재질과 셰이더뿐 아니라 반사에 사용되는 장면 정보가 함께 관여한다. 지원 기능과 설정은 Built-in, URP, HDRP 등 렌더 파이프라인과 버전에 따라 달라진다.
반사 프로브
반사 프로브는 카메라와 비슷하게 주변 환경을 캡처하고, 반사 재질이 사용할 영상을 저장한다. 일반적인 Reflection Probe는 여러 방향의 환경을 큐브맵으로 저장한다. 미리 구운 베이크 방식과 실행 중 갱신하는 실시간 방식은 움직이는 물체의 반영 여부와 계산 비용에서 차이가 난다.
베이크된 반사 영상에 물체가 포함되어 있다는 사실과, 그 물체의 현재 움직임이 매 프레임 반영된다는 것은 다르다. 실시간 프로브 역시 갱신 시점과 주기를 별도로 설정한다.
평면 반사
HDRP의 Planar Reflection Probe는 기준 평면에 대해 반사된 카메라의 위치와 방향으로 장면을 캡처하고 결과를 2차원 렌더 텍스처에 저장한다. 바닥이나 거울처럼 평평한 반사면의 표현과 연결되는 방식이다. 주변을 한 지점에서 캡처하는 큐브맵 프로브와는 시점 계산 방식이 다르다.
화면 공간 반사
화면 공간 반사(SSR)는 화면의 깊이와 색상 버퍼를 사용해 반사를 계산한다. HDRP에서는 프로젝트와 카메라의 지원 설정 및 Volume의 SSR 설정이 관여한다. 화면 공간 자료의 범위와 투명 물체 처리 등의 제약이 있으며, 다른 반사 방식과 조합해 사용될 수 있다.
참고 자료
Unity HDRP 16: Reflection Probes