Version: 2017.4
앰비언트 오클루전
안개

스크린 공간 반사

이 페이지에서는 포스트 프로세싱 스택에 포함된 기본 효과에 대해 설명합니다.

스크린 공간 반사(Screen Space Reflection)는 스크린 공간 데이터를 재사용하여 반사를 계산하는 기법으로, 일반적으로 젖은 바닥면이나 물웅덩이 등에서 더 미묘한 반사를 생성하기 위해 사용됩니다.

스크린 공간 반사는 많은 비용이 드는 기법이지만 올바로 사용하면 좋은 결과를 얻을 수 있습니다. 스크린 공간 반사는 노멀 G버퍼에 종속하므로 디퍼드 렌더링 경로에서만 사용할 수 있습니다. 많은 비용이 드는 효과이므로 모바일에 사용하는 것은 권장하지 않습니다.

스크린 스페이스 리플렉션을 적용한 씬
스크린 스페이스 리플렉션을 적용한 씬
스크린 스페이스 리플렉션을 적용하지 않은 씬
스크린 스페이스 리플렉션을 적용하지 않은 씬
스크린 공간 반사에 대한 UI
스크린 공간 반사에 대한 UI

프로퍼티

프로퍼티: 기능:
Blend Type 반사가 렌더로 블렌드되는 방식
Reflection Quality 해결에 사용되는 버퍼의 크기. 절반 해상도 SSR이 훨씬 더 빠르지만 정확성이 떨어집니다.
Max Distance 최대 반사 거리(월드 유닛 단위)
Iteration Count 최대 레이트레이싱 길이
Step Size 레이 트레이싱 대략적 스텝 크기. 값이 클수록 더 멀리 추적하고 낮을수록 더 나은 품질의 실루엣을 제공합니다.
Width Modifier 열, 벽 및 기타 반사 레이가 통과할 수 있는 오브젝트의 일반적인 두께
Reflection Blur 반사의 흐릿함
Reflect Backface 모든 전면을 컬링하여 씬을 렌더링하고 결과 텍스처를 사용하여 뒤에서 뎁스 맵의 한 지점을 누를 때 후면의 모습을 추정합니다.
Reflection Multiplier SSR 반사를 위한 비물리적 멀티플라이어. 1.0은 물리적 기반 반사를 나타냅니다.
Fade Distance SSR 페이딩을 시작하기 위한 최대 거리로부터의 거리
Fresnel Fade 프레넬 페이드 아웃을 확대합니다. 바닥 반사가 표면 가까이서 양호해 보이고 바닥 ’아래’에서 멀어질수록 나빠진다면 증가시킵니다.
Fresnel Fade Power 반사가 지표각에서 변해가면서 큰 값이 더 빠른 프레넬 페이드에 일치됩니다.
(Screen Edge Mask) Intensity 값이 클수록 SSR를 화면의 에지 가까이 페이드 아웃하므로 해당 반사가 카메라 모션 아래 표시되지 않습니다.

최적화

  • 후면 반사 비활성화

  • 반사 품질 감소

  • 반복 횟수 줄이기(보정하기 위해 스텝 크기 늘리기)

  • 추가 반사 사용

제약 사항

  • VR에서는 미지원

세부 정보

스크린 공간 반사는 큐브맵 또는 반사 프로브 등 다른 방법보다 더 세부적인 반사를 얻기 위해 사용할 수 있습니다. 반사를 위해 큐브맵을 사용하는 오브젝트는 셀프 반사를 얻을 수 없으며 반사 프로브는 정확도가 제한됩니다.

베이크된 반사 프로브를 사용하는 씬
베이크된 반사 프로브를 사용하는 씬

위의 이미지에서 빨간색으로 강조 표시된 영역에는 부정확한 반사가 표시될 수 있습니다. 이는 카메라와 반사 프로브 간의 이동 때문입니다. 또한 반사 프로브는 베이크된 반사 프로브이므로 컬러 구체와 같은 동적 오브젝트를 반사할 수 없습니다.

실시간 반사 프로브(위에 표시됨)를 사용하면 동적 오브젝트가 캡처되지만 위의 예제와 같이 반사의 포지션이 정확하지 않습니다. 빨간색으로 강조 표시된 영역에는 흰색 구체의 반사가 표시될 수 있습니다.

이를 (스크린 공간 반사를 사용하는)페이지 상단의 이미지와 비교하면 반사 정확도에 분명히 차이가 있지만 이 메서드는 훨씬 더 적은 비용이 들며 이러한 정확도가 필요하지 않은 경우 항상 사용해야 합니다.

스크린 공간 반사는 뎁스 맵의 반사 지점에서 다른 표면으로 이동하는 레이에 의해 계산됩니다. 뎁스 버퍼의 각 반사 지점에 대해 반사 벡터가 계산됩니다. 이 벡터는 뎁스 버퍼의 다른 지점과 교차할 때까지 단계별로 이동합니다. 그런 다음 이 두 번째 포인트가 원래 지점에 반사로 그려집니다.

Iteration Count 를 줄이면 레이가 뎁스 버퍼에 대해 테스트되는 시간이 줄어들고 비용이 크게 감소합니다. 하지만, 그렇게 하면 테스트되는 전체 뎁스가 단축되어 반사가 짧아집니다. Step Size 를 늘리면 테스트 간의 거리가 증가하여 전체 뎁스가 다시 늘어나지만 정밀도는 감소합니다.

Physically Based Blend Type 을 사용하는 경우 반사 머티리얼의 BRDF가 샘플링되어 결과 반사를 변경하는 데 사용됩니다. 이 프로세스에는 많은 비용이 들지만, 특히 표면이 거칠수록 더 사실적인 반사를 얻을 수 있습니다.

Reflect Backface 를 사용하는 경우 효과는 오브젝트 뒤쪽의 반사를 유사하게 재현하기 위해 반대 방향으로도 레이트레이싱합니다. 이 프로세스는 효과의 비용이 크게 증가하지만 앞쪽에 다른 오브젝트가 있는 반사 오브젝트의 반사를 유사하게 재현하는 데 사용할 수 있습니다.

요구 사항

자세한 내용과 지원되는 하드웨어 리스트는 그래픽스 하드웨어 성능 및 에뮬레이션 페이지를 참조하십시오.


  • 2017–05–24 편집 리뷰 없이 페이지 게시됨

  • Unity 5.6의 새로운 기능

앰비언트 오클루전
안개