Version: Unity 6.0 (6000.0)
언어 : 한국어
반사
반사 프로브 유형

반사 프로브 소개

반사 프로브 는 모든 방향으로 주변의 구형 뷰를 캡처하는 카메라와 비슷합니다. 캡처된 이미지는 반사 머티리얼이 있는 오브젝트에 사용할 수 있는 큐브맵으로 저장됩니다. 특정 씬에서 여러 반사 프로브를 사용할 수 있으며, 오브젝트가 가장 가까운 프로브에서 생성한 큐브맵을 사용하도록 설정할 수 있습니다. 그 결과 오브젝트의 반사는 환경에 따라 크게 달라질 수 있습니다.

인근 오브젝트의 반사를 나타내는 반사 프로브
인근 오브젝트의 반사를 나타내는 반사 프로브

CG 영화와 애니메이션에는 일반적으로 매우 사실적인 반사가 포함되어 있으며, 이는 씬의 오브젝트 간에 ‘연결’되어 있는 느낌을 표현하는 데 중요합니다. 하지만 이러한 반사의 정확도로 인해 프로세서 시간이 많이 소모되며, 영화에서는 문제가 되지 않지만 실시간 게임에서 반사 오브젝트의 사용이 크게 제한됩니다.

전통적으로 게임은 _반사 매핑_이라는 기법을 사용하여 오브젝트의 반사를 시뮬레이션하면서 처리 오버헤드를 허용되는 수준으로 유지했습니다. 이 기법은 씬의 모든 반사 오브젝트가 정확히 동일한 주변 환경을 ‘볼 수 있고’ 반사할 수 있다고 가정합니다. 이는 게임의 메인 캐릭터(예: 빛나는 자동차)가 넓은 공간에 있는 경우에 적합하지만, 캐릭터가 다른 환경으로 이동할 때는 현실감이 떨어집니다. 예를 들어 자동차가 터널에 들어가도 창문에 하늘이 여전히 뚜렷하게 반사되는 경우 이상하게 보입니다.

Unity는 씬의 전략적 지점에서 시각 환경을 샘플링할 수 있는 반사 프로브 를 사용하여 기본 반사 매핑을 개선합니다. 일반적으로 반사 오브젝트의 모습이 눈에 띄게 변하는 모든 지점(예: 터널, 건물 근처 영역, 지면 색상이 변하는 곳)에 배치해야 합니다. 반사 오브젝트가 프로브 근처를 지날 때 프로브가 샘플링한 반사를 오브젝트의 반사 맵에 사용할 수 있습니다. 또한 근처에 프로브가 여러 개 있을 때 Unity는 프로브 간에 보간하여 반사의 점진적인 변화를 허용할 수 있습니다. 따라서 반사 프로브를 사용하면 허용 가능한 처리 오버헤드로 매우 현실적인 반사를 구현할 수 있습니다.

반사 프로브 동작 방식

씬의 한 지점에 대한 시각적 환경은 큐브맵으로 표현할 수 있습니다. 큐브맵의 개념은 여섯 방향(위, 아래, 왼쪽, 오른쪽, 앞, 뒤)에서 바라본 평면 이미지로 상자 내부 표면을 페인팅한 것과 같습니다.

스카이박스 큐브맵의 내부 표면(전면은 제거됨)
스카이박스 큐브맵의 내부 표면(전면은 제거됨)

오브젝트가 반사를 표시하려면 해당 셰이더가 큐브맵에 나타내는 이미지에 액세스할 수 있어야 합니다. 오브젝트 표면의 각 지점에서는 표면이 향하는 방향(즉 표면 노멀 벡터의 방향)으로 큐브맵의 작은 영역을 ‘볼 수 있습니다’. 셰이더는 이 지점의 큐브맵 컬러를 사용하여 오브젝트 표면의 컬러를 계산합니다. 미러 머티리얼은 컬러를 정확하게 반사할 수 있으며, 반짝이는 자동차는 색이 희미해지고 색조가 다소 옅어질 수 있습니다.

위에서 언급한 바와 같이 전통적인 반사 매핑 큐브맵 하나만 사용하여 전체 씬의 환경을 나타냅니다. 큐브맵은 아티스트가 페인팅하거나 씬의 한 지점에서 큐브 면 하나당 하나의 샷으로 6개의 ‘스냅샷’을 촬영하여 얻을 수 있습니다. 반사 프로브는 큐브맵 스냅샷을 찍을 수 있는 씬의 사전 정의된 지점을 여러 개 설정하여 이를 개선합니다. 따라서 반사가 눈에 띄게 달라지는 씬의 모든 지점에서 주변 뷰를 기록할 수 있습니다.

프로브에는 뷰 포인트 외에도 씬에서 보이지 않는 상자 모양으로 정의되는 효과 영역이 있습니다. 프로브 영역 내에서 지나가는 반사 오브젝트는 프로브가 일시적으로 반사 큐브맵을 제공합니다. 오브젝트가 한 영역에서 다른 영역으로 이동하면 큐브맵이 그에 따라 변경됩니다.

기본 반사 프로브

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

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

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

추가 리소스

반사
반사 프로브 유형