Version: 2023.2
언어: 한국어
반사 프로브 타입
고급 반사 프로브 기능

반사 프로브 사용

기본 반사 프로브

새 씬을 추가하면 Unity의 빌트인 기본 스카이박스 큐브맵을 저장하는 숨겨진 기본 반사 프로브가 자동으로 생성됩니다.

숨겨진 반사 프로브의 데이터는 고정되어 있습니다. 예를 들어 Lighting 창에서 Skybox Material을 변경해도 프로브의 데이터는 변경되지 않으므로 오브젝트의 환경 조명은 동일하게 유지됩니다.

숨겨진 반사 프로브의 사용을 중지하려면 Lighting 창에서 Generate Lighting 또는 Clear Baked Data를 선택합니다. 그러면 Unity가 새롭게 베이크된 기본 반사 프로브(앰비언트 반사 프로브)를 생성하여 사용합니다. 이 반사 프로브는 프로젝트(Project) 창에 있는 에셋이며, Generate Lighting을 선택하면 업데이트됩니다.

반사 프로브 추가

Reflection Probe 컴포넌트를 씬의 아무 오브젝트에나 추가할 수 있지만, 각 프로브를 별도의 빈 게임 오브젝트에 추가하는 방법이 일반적입니다. 일반적인 워크플로는 다음과 같습니다.

  • 새로운 빈 게임 오브젝트를 생성(메뉴: GameObject > Create Empty)하고, 그런 다음 Reflection Probe 컴포넌트를 오브젝트에 추가(메뉴: Component > Rendering > Reflection Probe)합니다. 또는 씬에 프로브가 이미 있는 경우 이 씬을 대신 복제(메뉴: Edit > Duplicate)하면 더 쉽습니다.
  • 새로운 프로브를 원하는 위치에 놓고 프로브의 Offset 점과 그 효과 영역의 크기를 설정합니다.
  • 필요하다면 프로브에 다른 프로퍼티를 설정하여 동작을 커스터마이즈합니다.
  • 필요한 위치가 모두 할당될 때까지 프로브를 계속 추가합니다.

반사를 보려면 씬에 반사 오브젝트가 하나 이상 있어야 합니다. 간단한 테스트 오브젝트를 다음과 같이 생성할 수 있습니다.

  • 구체(메뉴: GameObject > 3D Object > Sphere)와 같은 프리미티브 오브젝트를 씬에 추가합니다.
  • 새 머티리얼을 생성(메뉴: Assets > Create > Material)하고 기본 Standard 셰이더를 제자리에 놔둡니다.
  • MetallicSmoothness 프로퍼티를 모두 1.0 으로 설정하여 머티리얼을 반사 머티리얼로 만듭니다.
  • 새로 만든 머티리얼을 구체 오브젝트로 드래그하여 할당합니다.

이제 구체에는 프로브로부터 얻은 반사 효과가 표시됩니다. 프로브가 1개 있는 간단한 구성으로 반사의 기본적인 효과를 충분히 나타낼 수 있습니다.

마지막으로 프로브를 베이크해야 반사가 표시됩니다. 반사 프로브 인스펙터에서 Bake 버튼을 눌러 프로브를 업데이트합니다.

프로브 위치 지정

프로브 위치는 주로 게임 오브젝트 위치에 따라 결정되므로 간단히 오브젝트를 원하는 위치로 드래그하면 됩니다. 이 작업을 완료한 후에는 프로브의 효과 영역을 설정해야 합니다. 이 영역은 축에 정렬된 상자 모양으로, Box Size 프로퍼티에 따라 크기가 설정됩니다. 크기 값을 직접 설정하거나 인스펙터에서 크기 편집 모드를 활성화하고 씬 뷰에서 상자의 면을 드래그하여 설정할 수 있습니다. 자세한 내용은 Reflection Probe 컴포넌트 페이지를 참조하십시오. 전체 프로브 집합의 영역 전체는 반사 오브젝트가 지나갈 수 있는 씬의 모든 부위를 포함해야 합니다.

씬에서 눈에 띄게 반사되는 큰 오브젝트 가까이에 프로브를 배치해야 합니다. 벽 중앙 및 모서리의 주변 영역은 프로브를 배치하는 데 적합합니다. 더 작은 오브젝트의 시각 효과가 강한 경우 프로브를 오브젝트 가까이에 배치해야 할 수 있습니다. 예를 들어 모닥불의 불꽃은 오브젝트 자체가 작고 달리 중요하지 않아도 반사되도록 하는 것이 좋습니다.

모든 적절한 위치에 프로브가 있는 경우 각 프로브마다 효과 영역을 정의해야 합니다. 이 작업은 위에서 언급한 Box Size 프로퍼티를 사용하여 수행할 수 있습니다. 벽에는 (적어도 벽의 형상이 매우 균일할 경우) 벽의 대부분에 걸쳐 프로브 영역이 하나만 필요할 수 있지만, 벽과 직각을 이루는 방향에서는 이 영역이 비교적 좁을 수 있습니다. 즉, 꽤 가까이에 있는 오브젝트만 벽에 반사됨을 의미합니다. 위치에 따라 형상이 거의 다르지 않은 트인 공간은 종종 프로브 하나로 처리할 수 있습니다. 프로브 영역은 주 월드 축(X, Y, Z)에 정렬되고, 회전할 수 없습니다. 따라서 벽이 균일해도 축에 정렬되지 않은 경우에는 여러 프로브가 필요할 수 있습니다.

기본적으로 프로브 효과 영역의 중심은 영역의 뷰 포인트지만, 이 위치는 반사 큐브맵을 캡처하는 데 적합하지 않을 수 있습니다. 예를 들어 매우 높은 벽의 프로브 영역은 벽에서 먼 거리까지 확장될 수 있지만, 반사를 구역의 중심에서 캡처하지 않고 가까운 점에서 대신 캡처하고 싶을 수 있습니다. 필요하다면 Box Offset 프로퍼티를 사용하여 오프셋을 뷰 포인트에 추가할 수 있습니다. 이 경우 오프셋이 게임 오브젝트의 로컬 공간에서 프로브의 큐브맵 뷰가 생성되는 위치입니다. 이 프로퍼티를 사용하여 뷰 포인트를 쉽게 효과 영역 안에 놓거나 영역 밖에 놓을 수도 있습니다.

겹치는 프로브 영역

인접한 반사 프로브의 영역을 서로 겹치지 않게 배치하기는 매우 어려울 것이며, 다행히 그럴 필요가 없습니다. 하지만 겹치는 영역에서 어느 프로브를 사용할 것인지 선택해야 하는 문제가 남습니다. Unity 에디터는 기본적으로 반사 오브젝트의 경계 상자와 겹치는 각 프로브 영역이 교차하는 용적을 계산합니다. 경계 상자와 교차하는 용적이 가장 큰 영역이 선택됩니다.

A 프로브가 오브젝트와 교차하는 용적이 더 크기 때문에 선택되었습니다.
A 프로브가 오브젝트와 교차하는 용적이 더 크기 때문에 선택되었습니다.

프로프의 Importance 프로퍼티를 사용하여 계산을 수정할 수 있습니다. 겹치는 영역 안에 있을 때 중요도 값이 높은 프로브는 중요도가 낮은 프로브보다 우선합니다. 이 프로퍼티는 예를 들어 큰 영역 안에 완전히 포함되는 작은 프로브 영역이 있는 경우(즉 캐릭터의 경계 상자와 그 주위를 둘러싸는 영역의 교차 용적이 항상 더 커서 작은 영역이 사용되지 않을 때)에 유용합니다.

블렌딩

반사 프로브 블렌딩을 활성화하려면 Graphic Settings > Tier settings 로 이동합니다. Tier settings는 빌트인 렌더 파이프라인에서만 사용할 수 있습니다. 블렌딩이 활성화된 경우 Unity 에디터는 한 프로브의 큐브맵을 점진적으로 페이드 아웃하면서 반사 오브젝트가 한 구역에서 다른 구역으로 지나갈 때 다른 프로브를 페인드 인합니다. 이 점진적인 전환을 통해 오브젝트가 영역의 경계를 지날 때 다른 오브젝트가 반사에 “갑자기” 나타나는 현상이 방지됩니다.

블렌딩은 Mesh Renderer 컴포넌트의 Reflection Probes 프로퍼티를 사용하여 조절합니다. 다음 네 가지 블렌딩 옵션을 사용할 수 있습니다.

  • Off - 반사 프로브 블렌딩이 비활성화됩니다. 스카이박스만 반사에 사용됩니다.
  • Blend Probes - 인접한 프로브만 블렌드하고 스카이박스를 무시합니다. “실내”에 있거나 씬의 가려진 부분(예: 동굴, 터널)에 있는 오브젝트에 사용해야 합니다. 이런 위치에서는 하늘이 보이지 않으므로 반사에 나타나면 안 되기 때문입니다.
  • Blend Probes and Skybox - Blend Probes 처럼 작동하지만 스카이박스를 블렌딩에 사용할 수도 있습니다. 이 옵션은 하늘이 항상 보이는 개방된 공간에 있는 게임 오브젝트에 사용해야 합니다.
  • Simple - 겹치는 반사 프로브 영역이 두 개 있으면 프로브 간 블렌딩을 비활성화합니다.

프로브의 Importance 값이 같은 경우 특정 프로브 영역의 블렌딩 가중치는 영역이 오브젝트의 경계 상자와 교차하는 용적을 모든 프로브가 박스와 교차하는 용적의 합으로 나눠서 계산합니다. 예를 들어 박스가 프로브 A의 영역과 1.0 입방 단위만큼 교차하고 프로브 B의 영역과 2.0 입방 단위만큼 교차하는 경우 블렌딩 값은 다음과 같습니다.

  • A 프로브: 1.0 / (1.0 + 2.0) = 0.33
  • B 프로브: 2.0 / (1.0 + 2.0) = 0.67

다시 말해, 블렌드는 A 프로브의 반사를 33% 포함하고 프로브 B의 반사를 67% 포함합니다.

프로브 하나가 다른 프로브 안에 완전히 포함되어 있는 경우 계산을 약간 다르게 처리해야 합니다. 내부 영역이 외부 영역과 완전히 겹치기 때문입니다. 오브젝트의 경계 상자 전체가 내부 영역 안에 있으면 해당 구역의 블렌딩 가중치는 1.0입니다. 즉, 외부 영역이 전혀 사용되지 않습니다. 오브젝트의 일부분이 내부 영역 밖에 있으면 경계 상자와 내부 영역이 교차하는 용적을 박스의 전체 용적으로 나눕니다. 예를 들어 교차 용적이 1.0 입방 단위이고 경계 상자의 용적이 4.0 입방 단위라면 내부 프로브의 블렌딩 가중치는 1.0 / 4.0 = 0.25입니다. 다음으로, 이 값을 1.0에서 차감하여 외부 프로브의 가중치를 구합니다. 이 사례에서 외부 프로브의 가중치는 0.75입니다.

블렌드와 연관된 프로브 하나의 Importance 값이 다른 프로브보다 더 높으면 더 중요한 프로브가 다른 프로브를 일반적인 방법으로 오버라이드합니다.


  • Unity 5.6에서 업데이트됨

  • 2017–06–06 페이지 게시됨

반사 프로브 타입
고급 반사 프로브 기능