Version: 2022.3
언어: 한국어
반사 프로브
반사 프로브 사용

반사 프로브 타입

반사 프로브에는 세 가지 기본 타입이 있으며 인스펙터의 Type 프로퍼티에서 선택합니다. 자세한 내용은 컴포넌트 레퍼런스 페이지를 참조하십시오.

  • Baked 프로브는 에디터 내에서 생성된(“베이크된”) 반사 큐브맵을 저장합니다.반사 프로브 인스펙터 하단의 Bake 버튼 또는 Lighting 창Generate Lighting 버튼을 클릭하여 베이킹을 트리거할 수 있습니다.Lighting 창에서 Auto를 활성화한 경우 베이크된 프로브는 씬 뷰에 오브젝트를 배치할 때 자동으로 업데이트됩니다.베이크된 프로브의 반사는 인스펙터에서 Reflection Probe Static으로 표시된 오브젝트만 표시할 수 있습니다.이는 런타임에 오브젝트가 움직이지 않음을 Unity에 알려줍니다.
  • Realtime 프로브는 에디터가 아닌 플레이어에서 런타임에 큐브맵을 생성합니다.즉, 반사가 정적 오브젝트에 국한되지 않고 실시간으로 업데이트되어 씬의 변화를 표시할 수 있습니다.그러나 프로브 뷰를 새로 고치는 데는 상당한 처리 시간이 걸리므로 업데이트를 신중하게 관리하는 것이 좋습니다.Unity에서는 스크립트에서 업데이트를 트리거할 수 있으므로 업데이트 발생 시점을 정확하게 제어할 수 있습니다.또한 프로브 업데이트에 timeslicing을 적용하여 몇 프레임에 걸쳐 점진적으로 업데이트가 이루어지도록 하는 옵션도 있습니다.
  • 커스텀 프로브 타입도 사용할 수 있습니다. 이 프로브를 사용하면 베이크된 프로브처럼 에디터에서 뷰를 베이크할 수 있으며 반사를 위한 커스텀 큐브맵도 사용할 수 있습니다. 커스텀 프로브는 런타임 시점에 업데이트할 수 없습니다.

이 세 가지 타입은 아래 세부 사항에서 설명합니다.

베이크 및 커스텀 반사 프로브

베이크된 반사 프로브의 반사 큐브맵은 Unity 에디터에 캡처 및 저장되어 추후 플레이어에서 사용됩니다. 자세한 내용은 반사 프로브 소개를 참조하십시오. 일단 캡처 프로세스가 완료되면 반사는 “동결”되며, 따라서 베이크된 프로브는 움직이는 오브젝트가 유발한 씬의 런타임 변경사항에 반응할 수 없습니다. 그러나 베이크된 프로브는 변경 사항에 반응하는 실시간 프로브에 비해 프로세싱 오버헤드가 훨씬 낮으며 여러 가지 목적으로 사용할 수 있습니다. 예를 들어 움직이는 반사 오브젝트가 하나만 있을 경우 이 오브젝트는 정적 주변 환경만 반사하면 됩니다.

베이크된 프로브 사용

프로브가 베이크된 프로브로써 동작하도록 하려면 이 프로브의 ** Type 프로퍼티를 Baked 또는 Custom 으로 설정해야 합니다. 커스텀 프로브가 제공하는 추가 기능은 아래를 참조하십시오.

베이크된 프로브로 캡처한 반사에는 Reflection Probe Static으로 표시된 씬 오브젝트만 포함할 수 있습니다(모든 오브젝트에 대해 인스펙터 패널의 왼쪽 상단에 있는 Static 메뉴 사용).Camera와 동일한 방식으로 작동하는 Culling MaskClipping Planes 프로퍼티를 사용하여 반사 큐브맵에 포함되는 오브젝트를 더욱 세분화할 수 있습니다(프로브는 기본적으로 6개의 큐브맵 면을 각각 보기 위해 회전하는 카메라와 같음).

Lighting 창에서 Auto 옵션을 켜면 씬에서 오브젝트를 배치할 때 베이크된 반사가 자동으로 업데이트됩니다.자동 베이킹을 사용하지 않는 경우 반사 프로브 인스펙터에서 Bake 버튼을 클릭하여 프로브를 업데이트해야 합니다.(Lighting 창의 Generate Lighting 버튼도 프로브의 업데이트를 트리거합니다.)

자동 또는 수동 베이킹을 사용하는 경우에도 에디터에서 계속 작업하는 동안 베이크 프로세스가 비동기적으로 수행됩니다. 하지만 정적 오브젝트를 이동하거나 머티리얼을 변경하거나 시각적 형상을 변경하면 베이킹 프로세스가 다시 시작됩니다.

커스텀 프로브

기본적으로 커스텀 프로브는 베이크된 프로브와 동일한 방식으로 작동합니다. 하지만 커스텀 프로브에는 이 동작을 변화하는 추가 옵션도 있습니다.

커스텀 프로브 인스펙터의 Dynamic Objects 프로퍼티를 사용하면 Reflection Probe Static으로 표시되지 않은 오브젝트도 반사 큐브맵에 포함할 수 있습니다.

참고:이러한 오브젝트의 포지션은 베이킹할 때 반사에서 여전히 “고정”되어 있습니다.

Cubemap 프로퍼티를 사용하면 프로브에 고유한 큐브맵을 할당할 수 있으므로 프로브의 관점에서 "볼 수" 있는 것과 완전히 독립적으로 만들 수 있습니다.예를 들어 3D 모델링 앱에서 생성된 스카이박스 또는 큐브맵을 반사 소스로 설정하는 데 사용할 수 있습니다.

실시간 프로브

베이크된 프로브는 여러 가지 목적으로 유용하게 사용할 수 있으며 런타임 성능이 훌륭합니다. 하지만 플레이어에서 라이브 업데이트가 되지 않는다는 단점이 있습니다. 즉 오브젝트가 씬에서 움직일 수 있으나 그 반사가 오브젝트를 따라서 움직이지는 않는다는 의미입니다. 이러한 제한을 피하고 싶다면 런타임 시점에 반사 큐브맵을 업데이트하는 Realtime 프로브를 사용하면 됩니다. 이 효과는 프로세싱 오버헤드가 높지만 현실성을 크게 향상시켜 줍니다.

실시간 프로브 사용

프로브가 런타임에 업데이트되도록 하려면 Reflection Probe 인스펙터에서 Type 프로퍼티를 Realtime으로 설정해야 합니다.베이크된 프로브에서와 같이 오브젝트의 반사를 캡처하기 위해 Reflection Probe Static으로 표시하지 않아도 됩니다.하지만 Camera와 동일한 방식으로 작동하는 Culling MaskClipping Planes 프로퍼티를 사용하여 반사 큐브맵에서 오브젝트를 선택적으로 제외할 수 있습니다(프로브는 기본적으로 6개의 큐브맵 면을 각각 보기 위해 회전하는 카메라와 같음).

에디터에서 실시간 프로브는 더 빠르게 렌더링되는 경향이 있지만 베이크된 프로브와 워크플로가 거의 동일합니다.

참고:현재 실시간 프로브는 Reflection Probe Static 오브젝트가 움직이거나 모양이 변경될 때만 씬 뷰에서 반사를 업데이트합니다.즉, 해당 오브젝트가 반사에 표시되더라도 동적 오브젝트를 움직여도 업데이트가 발생하지 않습니다.Lighting 창Generate Lighting 버튼 드롭다운에서 Bake Reflection Probes 옵션을 선택하여 동적 오브젝트가 변경될 때 반사를 업데이트해야 합니다.

반사 프로브
반사 프로브 사용