반사 프로브에는 세 가지 기본 타입이 있으며 인스펙터의 Type 프로퍼티에서 선택합니다. 자세한 내용은 컴포넌트 레퍼런스 페이지를 참조하십시오.
이 세 가지 타입은 아래 세부 사항에서 설명합니다.
베이크된 반사 프로브의 반사 큐브맵은 Unity 에디터에 캡처 및 저장되어 추후 플레이어에서 사용됩니다. 자세한 내용은 반사 프로브 소개를 참조하십시오. 일단 캡처 프로세스가 완료되면 반사는 “동결”되며, 따라서 베이크된 프로브는 움직이는 오브젝트가 유발한 씬의 런타임 변경사항에 반응할 수 없습니다. 그러나 베이크된 프로브는 변경 사항에 반응하는 실시간 프로브에 비해 프로세싱 오버헤드가 훨씬 낮으며 여러 가지 목적으로 사용할 수 있습니다. 예를 들어 움직이는 반사 오브젝트가 하나만 있을 경우 이 오브젝트는 정적 주변 환경만 반사하면 됩니다.
프로브가 베이크된 프로브로써 동작하도록 하려면 이 프로브의 Type 프로퍼티를 Baked 또는 Custom 으로 설정해야 합니다. 커스텀 프로브가 제공하는 추가 기능은 아래를 참조하십시오.
베이크된 프로브가 캡처하는 반사에는 모든 오브젝트용 인스펙터 패널의 왼쪽 상단에 있는 Static 메뉴를 사용하여 Reflection Probe Static 으로 표시된 씬 오브젝트만 포함할 수 있습니다. 반사 큐브맵에 포함된 오브젝트를 더 다듬으려면 Culling Mask 및 Clipping Planes 프로퍼티를 사용하면 됩니다. 이 프로퍼티는 카메라와 동일한 방법으로 작동합니다. 프로브는 기본적으로 여섯 개의 큐브맵 전면을 바라보도록 회전하는 카메라와 같습니다.
조명 창에서 Auto 옵션이 켜져 있으면 씬의 포지션 오브젝트가 배치되면서 베이크된 반사가 자동으로 업데이트됩니다. 자동 베이킹을 활용하지 않을 경우 반사 프로브 인스펙터의 Bake 버튼을 클릭하여 프로브를 업데이트할 수 있습니다. 조명 창의 Build 버튼 역시 프로브가 업데이트할 수 있도록 트리거합니다.
자동 또는 수동 베이킹을 사용하는 경우에도 에디터에서 계속 작업하는 동안 베이크 프로세스가 비동기적으로 수행됩니다. 하지만 정적 오브젝트를 이동하거나 머티리얼을 변경하거나 시각적 형상을 변경하면 베이킹 프로세스가 다시 시작됩니다.
기본적으로 커스텀 프로브는 베이크된 프로브와 동일한 방식으로 작동합니다. 하지만 커스텀 프로브에는 이 동작을 변화하는 추가 옵션도 있습니다.
커스텀 프로브의 인스펙터에 있는 Dynamic Objects 프로퍼티를 통해 Reflection Probe Static 으로 표시되지 않은 오브젝트가 반사 큐브맵에 포함될 수 있습니다. 하지만 이러한 오브젝트의 포지션은 베이킹 시점의 반사에서는 여전히 “동결”되어 있습니다.
Cubemap 프로퍼티를 통해 직접 만든 큐브맵을 프로브에 할당할 수 있고 이에 따라 큐브맵을 뷰 포인트에서 “볼” 수 있는 것과는 완전히 독립적으로 만들 수 있습니다. 이를 사용하면 3D 모델링 프로그램에서 생성한 스카이박스 또는 큐브맵 등을 반사의 소스로 설정할 수 있습니다.
베이크된 프로브는 여러 가지 목적으로 유용하게 사용할 수 있으며 런타임 성능이 훌륭합니다. 하지만 플레이어에서 라이브 업데이트가 되지 않는다는 단점이 있습니다. 즉 오브젝트가 씬에서 움직일 수 있으나 그 반사가 오브젝트를 따라서 움직이지는 않는다는 의미입니다. 이러한 제한을 피하고 싶다면 런타임 시점에 반사 큐브맵을 업데이트하는 Realtime 프로브를 사용하면 됩니다. 이 효과는 프로세싱 오버헤드가 높지만 현실성을 크게 향상시켜 줍니다.
프로브가 런타임 시점에 업데이트되도록 하려면 반사 프로브 인스펙터에서 프로브의 Type 프로퍼티를 Realtime 으로 설정해야 합니다. 베이크된 프로브와는 달리 오브젝트의 반사를 캡처하기 위해 오브젝트를 Reflection Probe Static 으로 표시하지 않아도 됩니다. 하지만 Culling Mask 및 Clipping Planes 프로퍼티를 사용하여 오브젝트를 반사 큐브맵에서 선택적으로 제외할 수 있습니다. 이 프로퍼티는 카메라의 경우와 동일한 방법으로 작동합니다. 프로브는 기본적으로 여섯 개의 큐브맵 전면을 바라보도록 회전하는 카메라와 같습니다.
에디터에서 실시간 프로브는 더 빠르게 렌더링되는 경향이 있지만 베이크된 프로브와 워크플로가 거의 동일합니다.
참고: 현재 실시간 프로브는 Reflection Probe Static 오브젝트가 이동하거나 모양이 변하는 경우에만 씬 뷰에서 반사를 업데이트합니다. 즉, 움직이는 동적 오브젝트는 이 오브젝트가 반사에 표시되어도 업데이트를 유발하지 않는다는 의미입니다. 동적 오브젝트가 변경될 때 반사를 업데이트하려면 조명 창의 Build 버튼 팝업에서 Bake Reflection Probes 옵션을 선택해야 합니다.