리플렉션은 씬의 지상 오브젝트에 라이트를 비추어 환경에 생기를 불어넣는 중요한 요소입니다. 리얼타임 3D에서 리플렉션은 머티리얼이 어떻게 설정되었는지로 시작합니다. 러프니스 값이 낮은 머티리얼은 표면 반사가 약합니다. 거울 같은 표면과 닦은 금속 같은 표면의 차이를 생각해 볼 수 있습니다.
언리얼 엔진은 프로젝트에 사용할 수 있는 몇 가지 전용 리플렉션 시스템을 제공합니다. 몇몇 전용 시스템은 다른 리플렉션 메서드의 우선순위를 낮추면서 다른 시스템과 함께 사용하거나 자체적으로 사용할 수 있습니다. 프로젝트에 사용할 리플렉션 유형은 주로 타깃으로 하는 퀄리티와 출시하려는 타깃 플랫폼에 따라 달라집니다. 리플렉션 시스템에 따라서 퍼포먼스에 비해 너무 비싸거나 특정 플랫폼에서만 지원되거나 하드웨어 제한이 있는 시스템도 있습니다.
리플렉션 유형
프로젝트 개발 시, 프로젝트에 다이내믹 리플렉션 필요 여부, 달성하고픈 퀄리티 레벨, 그리고 출시 타깃 플랫폼에서의 지원 여부를 고려해야 합니다.
예를 들어, 스태틱 리플렉션 캡처와 다이내믹 스크린 스페이스 리플렉션 포스트 프로세스 이펙트 조합을 사용하면 대부분의 플랫폼에서 원활하게 작동하고 빠르게 렌더링되지만 그 특성 때문에 렌더링 아티팩트가 발생합니다. 하지만, 루멘 글로벌 일루미네이션 및 리플렉션(Lumen Global Illumination and Reflections)이나 레이 트레이싱 리플렉션(Ray Tracing Reflections)을 사용하면 씬의 지상 오브젝트에 라이트와 리플렉션을 더 정확하게 에뮬레이트하지만 렌더링 비용이 더 많이 소모될 뿐만 아니라 미지원 플랫폼도 있습니다.
사용할 수 있는 리플렉션 시스템은 다음과 같은 유형의 리플렉션 플랫폼을 지원합니다.
리플렉션 시스템 | 리플렉션 유형 | 지원 플랫폼 |
---|---|---|
루멘 리플렉션(Lumen Reflections) | 다이내믹 | 하이엔드 데스크톱 PC 및 차세대 콘솔 |
레이 트레이싱 리플렉션(Ray Tracing Reflections) | 다이내믹 | Windows 10, DirectX 12 및 지원되는 NVIDIA GPU가 있는 데스크톱 PC |
스크린 스페이스 리플렉션(Screen Space Reflections) | 다이내믹 | 데스크톱 및 콘솔 |
리플렉션 캡처(Reflection Captures) | 스태틱 | 모든 플랫폼 |
플레이너 리플렉션(Planar Reflections) | 다이내믹 | 모든 플랫폼 |
루멘 리플렉션
루멘 리플렉션 은 소프트웨어 또는 하드웨어 기반 레이 트레이싱을 사용하여 씬의 리플렉션을 생성하는 루멘 글로벌 일루미네이션 및 리플렉션 시스템의 일부입니다. 루멘에서는 소프트웨어 레이 트레이싱 모드를 사용하는 경우 갖가지 방법을 조합하여 화면 트레이스를 통해 씬을 정확하게 표현합니다. 하드웨어 레이 트레이싱 모드가 활성화된 경우, 리플렉션을 위해 기존 레이 트레이싱 아키텍처를 활용하지만 이것이 정상 작동하려면 지원되는 NVIDIA GPU가 필요합니다.


자세한 정보는 루멘 글로벌 일루미네이션 및 리플렉션에서 확인할 수 있습니다.
레이 트레이싱 리플렉션
레이 트레이싱의 이 피처는 지원이 중단되었으므로 향후 릴리즈에서 제거될 수 있습니다.
하드웨어 레이 트레이싱 리플렉션 은 레이 트레이싱 기법으로 환경을 정확하게 표현하기 위해 라이트가 작동하는 방식을 에뮬레이트하고 다중 리플렉션 바운스를 지원합니다. 언리얼 엔진에서의 레이 트레이싱은 이 기능을 지원하는 NVIDIA GPU와 DirectX 12를 지원하는 Windows OS가 필요합니다.


자세한 정보는 하드웨어 레이 트레이싱에서 확인할 수 있습니다.
스크린 스페이스 리플렉션
스크린 스페이스 리플렉션(SSR) 은 화면에서 보이는 것만 반사하는 다이내믹 포스트 프로세스 이펙트입니다. 화면 밖의 오브젝트나 화면 안에서 다른 오브젝트에 가려진 오브젝트는 스크린 스페이스 리플렉션에 표시될 수 없으므로 리플렉션에 렌더링 아티팩트가 발생할 수 있습니다.

자세한 정보는 스크린 스페이스 리플렉션을 참조하세요.
리플렉션 캡처 액터
리플렉션 캡처 액터는 리플렉션 프로브가 배치된 영역의 저비용 스태틱 캡처입니다. 그중 다수는 런타임 전에 계산되므로 퍼포먼스에 영향을 미치는 일 없이 레벨의 여러 곳에 배치될 수 있습니다.

박스(Box) 셰이프와 구체(Sphere) 셰이프, 두 가지 유형의 리플렉션 캡처 중에서 선택할 수 있습니다. 이러한 캡처는 중심으로부터 주변 배경 이미지를 캡처한 다음, 리플렉션 캡처 셰이프에 매핑하는 방식으로 작동합니다. 리플렉션 캡처는 다른 리플렉션 캡처와 겹치거나 혼합할 수 있으며, 종종 큰 캡처로 한 지역을 둘러싸고 표면에 더 분명한 스태틱 리플렉션을 위해 작은 캡처를 배치합니다.
자세한 정보는 리플렉션 캡처 액터를 참조하세요.
플레이너 리플렉션
플레이너 리플렉션 은 씬의 정확한 다이내믹 리플렉션을 생성하기 위해 표면을 따라 배치할 수 있는 액터로, 리플렉션 방향에서부터 레벨을 다시 렌더링합니다. 이 리플렉션 메서드는 비용이 많이 들지만, 정확한 리플렉션을 제공하며 모든 플랫폼에서 지원됩니다.


자세한 정보는 플레이너 리플렉션을 참조하세요.
고퀄리티 리플렉션
기본 리플렉션 퀄리티 세팅은 퍼포먼스와 비주얼 퀄리티 간에 균형을 잘 맞췄습니다. 하지만 퍼포먼스 걱정이 덜한 프로젝트에서 리플렉션 퀄리티를 더 높이고 싶다면, 고정밀 노멀(High Precision Normals) GBuffer를 사용하면 됩니다.
리플렉션 퀄리티를 높이는 데 있어 중요한 요소는 버텍스 노멀과 탄젠트를 얼마나 정확히 표현할 수 있는가입니다. 메시의 밀도가 매우 높으면 인접한 버텍스가 같은 버텍스 노멀 및 탄젠트 값으로 양자화되어 노멀 방향으로 툭툭 넘나들 수 있습니다. 개발자가 노멀과 탄젠트를 채널당 16비트 벡터로 인코딩하면 자신의 결정에 따라 버텍스 버퍼 인코딩에 메모리를 추가로 쓰는 대신 퀄리티를 높일 수 있습니다.


리플렉션을 위해 고정밀 노멀을 활성화하면 다음 세팅이 필요합니다.
-
엔진(Engine) > 렌더링(Rendering) > 최적화(Optimizations) 의 프로젝트 세팅(Project Settings)에서 GBuffer 포맷(GBuffer Format) 을 고정밀 노멀(High Precision Normals) 로 변경합니다.
-
아무 스태틱 메시 에셋(Static Mesh Asset)이든 열고 스태틱 메시 에디터(Static Mesh Editor)의 디테일(Details) 패널로 간 후 LOD 0 > 빌드 세팅(Build Settings) 에서 높은 정밀도 탄젠트 베이시스 사용(Use High Precision Tangent Basis) 을 활성화합니다.