Unity는 GameObject 당이 아니라 픽셀 당 주변 프로브를 샘플링합니다. 이 샘플링 방식은 더 나은 조명 일관성과 인접한 GameObject 간의 이음새 감소로 이어집니다.
주 : 아래 그림의 좌측 그림 차의 문짝에 적용된 라이트 프로브가 다르걸 보세요. 오브젝트 단위로 적응되던 라이트 프로브와 달리 오른쪽처럼 픽셀단위로 적용되기 때문에 훨씬 정밀합니다
예를 들어, 더 자세한 조명이나 지오메트리가 있는 실내 공간에 더 조밀한 Light Probe 세트를 사용하여 장면 전체에서 Light Probe 레이아웃을 조정할 수 있습니다. 자세한 내용은 Adaptive Probe Volumes의 크기와 밀도 구성을 참조하세요.
여러 장면에서 작업하는 경우 Adaptive Probe Volumes가 잘 작동합니다 . 자세한 내용은 Baking Sets 를 참조하세요.
적응형 프로브 볼륨에는 대규모 오픈 월드를 지원하기 위한 스트리밍 기능이 포함되어 있습니다.
적응형 프로브 볼륨을 사용하면 스카이 오클루전으로 런타임에 하늘의 빛을 업데이트할 수 있습니다 .
.
적응형 프로브 볼륨에는 다음과 같은 제한이 있습니다.
Adaptive Probe Volume 내부에서 Light Probe의 위치를 조정할 수 없습니다. 설정과 오버라이드를 사용하여 눈에 보이는 아티팩트를 수정하려고 할 수 있지만 Light Probe가 벽을 따르거나 서로 다른 조명 영역 사이의 정확한 경계에 있는지 확인하는 것은 불가능할 수 있습니다. 자세한 내용은 Adaptive Probe Volumes의 문제 해결 을 참조하세요.
라이트 프로브 그룹을 적응형 프로브 볼륨으로 전환할 수 없습니다.
적응형 프로브 볼륨의 작동 방식
유니버설렌더 파이프라인 (URP)는 Adaptive Probe Volume을 '벽돌'의 3D 구조로 자동으로 채웁니다. 각 벽돌에는 4 x 4 x 4 그리드에 배열된 64개의 Light Probe가 들어 있습니다.
옥트리 구조
URP는 장면의 다른 영역에 있는 지오메트리의 양을 맞추기 위해 크기가 다른 브릭을 사용합니다. 예를 들어, 지오메트리가 더 많은 영역에서 URP는 Light Probes 사이의 거리가 짧은 작은 브릭을 사용합니다. Light Probes는 더 높은 해상도로 조명을 캡처하므로 조명이 더 정확합니다.
기본 라이트 프로브 간격은 1, 3, 9 또는 27m입니다.
1*3 = 3 3*3 = 9 9*3 = 27
게임 객체의 각 픽셀은 주변에 있는 가장 가까운 8개의 Light Probe로부터 조명 데이터를 샘플링합니다.
적응형 프로브 볼륨의 장면에서 조명을 저장하려면 해당 장면이 베이킹 세트의 일부여야 합니다.
베이킹 세트에는 다음이 포함됩니다.
하나 이상의 장면에는 선택적으로 적응형 프로브 볼륨이 포함됩니다.
단일 설정 컬렉션입니다.
기본적으로 URP는 단일 장면 모드를 사용하고 각 장면을 자동으로 자체 베이킹 세트에 배치합니다. 그러나 한 번에 하나의 베이킹 세트만 활성화할 수 있으므로 여러 장면으로 작업하는 경우 함께 베이킹하려면 이러한 장면을 단일 베이킹 세트에 추가해야 합니다. 자세한 내용은 베이킹 세트로 여러 장면을 함께 베이크하기 를 참조하세요.
조명 시나리오
Lighting Scenario 에셋에는 장면 또는 Baking Set에 대한 베이크된 조명 데이터가 들어 있습니다. 다양한 조명 설정을 다양한 Lighting Scenario 에셋에 베이크하고, 런타임에 URP가 사용하는 것을 변경하거나, 둘을 혼합할 수 있습니다.
자세한 내용은 조명 시나리오를 사용하여 다양한 조명 설정 베이크 를 참조하세요 .
조명 시나리오가 데이터를 저장하는 방법
Adaptive Probe Volumes는 조명 시나리오 데이터를 두 부분으로 분할하여 데이터 중복을 방지합니다.
공유 데이터에는 주로 장면 세분화 정보와 프로브 배치가 포함되어 있습니다.
프로브 조명 정보를 포함하는 시나리오별 데이터입니다.
베이크 간에 지오메트리를 이동하면 URP가 조명 시나리오 간에 데이터를 공유하거나 블렌딩할 수 없습니다. Light Probe 위치가 변경될 수 있기 때문입니다. 자세한 내용은 다른 조명 시나리오에서 Light Probe를 동일하게 유지 를 참조하세요.
댓글