패스 트레이서

패스 트레이서 렌더링 모드의 기능에 대한 개요입니다.

Choose your operating system:

Windows

macOS

Linux

패스 트레이서(Path Tracer)는 프로그레시브 하드웨어 가속 렌더링 모드로서, 리얼타임 피처의 단점을 완화하기 위해 물리적으로 올바르고 아무런 절충이 없는 글로벌 일루미네이션과 머티리얼의 리플렉션/리프랙션 등을 사용합니다. 언리얼 엔진에 내장된 레이 트레이싱 아키텍처를 공유하며, 깔끔하고 포토리얼한 렌더링을 달성하는 데 있어 아무런 추가 설정이 필요 없거나 극히 적은 설정만 필요합니다.

LS_CineCameraActor13_508_0000_Ultra.png

"언리얼 엔진에서의 가상 여행" - ARCHVYZ. Toledano Architects 디자인.

패스 트레이서는

[리얼타임 레이 트레이싱](designing-visuals-rendering-and-graphics/RayTracing)
[GPU 라이트매스](designing-visuals-rendering-and-graphics/GPULightmass)
등의 다른 레이 트레이싱 피처와 같은 레이 트레이싱 아키텍처를 사용하며, 비교 기준 비교 및 프로덕션 렌더에 적합합니다. 패스 트레이서는 씬에 있는 지오메트리와 머티리얼만 사용하여 편향되지 않은 결과를 렌더링하며, 리얼타임 렌더링에 적합하도록 개발된 것과 동일한 레이 트레이싱 코드를 공유하지 않습니다.

패스 트레이서의 장점

패스 트레이서는 다른 렌더링 모드에 비해 다음과 같은 장점이 있습니다.

  • 고퀄리티의 포토리얼한 렌더링을 물리적으로 정확한 결과물로 생성할 수 있습니다.

  • 다른 오프라인 렌더러와 비슷한 결과를 추가 설정 없이 또는 최소의 설정만으로 달성할 수 있습니다.

  • 비슷한 리얼타임 피처들과의 기능적 격차를 줄입니다. 예를 들어, 리플렉션과 리프랙션에서 보이는 머티리얼은 글로벌 일루미네이션 및 패스 트레이싱된 섀도를 갖는 등 아무 제한 없이 렌더링됩니다.

  • 시퀀서(Sequencer) 및 무비 렌더 큐(Movie Render Queue)와 완벽하게 통합되므로 영화나 TV급 렌더 출력을 지원합니다.

패스 트레이싱 씬 예시

다음 씬은 패스 트레이서를 사용하여 달성한 고퀄리티 렌더의 예시입니다.

LS_CineCameraActor20_612_0000_Ultra.png

"언리얼 엔진에서의 가상 여행" - ARCHVYZ. Toledano Architects 디자인.

프로젝트에서 패스 트레이서 활성화하기

프로젝트에 필요한 레이 트레이싱 기능이 활성화되면 패스 트레이서를 사용할 수 있습니다. 다음 시스템 요구 사양을 충족하고 필요 세팅이 활성화되어야 합니다.

시스템 요구 사양:

  • 운영 체제: Windows 10 1809 이상

  • GPU: NVIDIA RTX 및 DXR 드라이버 지원 GTX 시리즈 그래픽 카드

프로젝트 세팅:

![패스 트레이서 프로젝트 세팅](ProjectSetting_EnablePathTracer.png)

  • 플랫폼(Platforms) > Windows > 목표 RHI(Targeted RHIs) > 기본 RHI(Default RHI): DirectX 12

  • 엔진(Engine) > 렌더링(Rendering) > 하드웨어 레이 트레이싱(Hardware Ray Tracing): 패스 트레이싱(Path Tracing) 활성화

  • 엔진(Engine) > 렌더링(Rendering) > 하드웨어 레이 트레이싱(Hardware Ray Tracing): 하드웨어 레이 트레이싱 지원(Support Hardware Ray Tracing) 활성화

  • 엔진 > 렌더링 > 최적화(Optimizations): 스킨 캐시 계산 지원(Support Compute Skin Cache) 활성화

    프로젝트에 레이 트레이싱이 활성화되면, 스킨 캐시(Skin Cache) 가 아직 활성화되지 않은 경우 활성화 여부를 묻는 팝업 창이 표시됩니다. 이 프로퍼티는 레이 트레이싱과 패스 트레이싱 기능을 지원하는 데 필요합니다.

엔진을 재시작하여 변경 사항을 적용합니다.

패스 트레이서의 한계

다음은 언리얼 엔진에서 현재 패스 트레이싱이 보여주는 일부 한계입니다.

  • 인테리어 렌더를 느리게 만드는 밝은 머티리얼

    • 밝은 흰색처럼 알베도 값이 1.0에 근접한 머티리얼은 프레임 렌더링이 필요 이상으로 오래 걸립니다. 왜냐하면 패스 트레이서가 반사가 많은 라이트 패스를 시뮬레이션해야 하기 때문입니다. 특히 인테리어 씬이 이 부분에 민감한데, 라이트 레이가 종료 전까지 환경을 탈출하는 데 시간이 오래 걸릴 수 있기 때문입니다. 패스 트레이서는 러시안룰렛(Russian Roulette) 기법을 채택하여 씬에 기여할 가능성이 별로 없는 레이를 보다 일찍 종료합니다. 씬에서 계속해서 반사되는 레이가 발생할 가능성이 적어집니다. 왜냐하면 러시안룰렛 기법으로 종료 가능한 경우 이러한 레이가 종료되기 때문입니다. 머티리얼의 알베도 값이 1.0에 가까울수록 레이 패스가 종료할 가능성이 적어지고 해당 프레임 렌더링 시간이 길어집니다.

    • 들어오는 모든 리플렉션을 반사하는 머티리얼은 실제 세계에서는 드물고 표면이 색바랜 모습인 경우가 많습니다. 이러한 연유로 모든 디퓨즈 머티리얼의 베이스 컬러를 0.8 미만으로 지정하는 것이 좋습니다.

  • 다이내믹 씬 엘리먼트

    • 패스 트레이서는 시간이 지남에 따라 렌더러가 샘플을 축적하도록 만드는 방식으로 작동합니다. 이는 스태틱 씬에 이상적입니다. 라이트 이동, 애니메이팅된 스킨 입힌 메시, 비주얼 이펙트와 같은 다이내믹 씬에는 별로 적합하지 않습니다. 이러한 유형의 엘리먼트는 에디터에서 패스 트레이싱을 무효화하지 않으며, 프레임에서 블러 처리되거나 줄무늬 형태의 아티팩트로 나타납니다. 이는 에디터에서 작업할 때만 나타나며, 무비 렌더 큐로 최종 엘리먼트를 렌더링하여 해결할 수 있습니다.

  • Path Tracing Material Quality Switch 노드

    • 패스 트레이싱에 적합하도록 머티리얼을 최적화하기 위해 Path Tracing Quality Switch Replace 노드로 복잡도를 낮추면 표준 머티리얼에 사용되는 임시 해결책이나 복잡도가 줄어듭니다. 런타임은 문제가 아니므로 머티리얼을 절충할 필요는 없습니다. 이러한 노드를 사용하면 머티리얼을 복제하지 않고 절충 없는 결과를 제공할 수 있습니다.

특정 기능에 대한 추가 정보나 참고 사항은 이 페이지의 지원되는 기능 섹션에서 확인할 수 있습니다.

레벨 에디터에서 패스 트레이서 사용하기

레벨 뷰포트(Level Viewport)에서 뷰 모드(View Modes) 드롭다운을 선택하고 패스 트레이싱(Path Tracing) 을 고르면 패스 트레이서를 활성화할 수 있습니다.

패스 트레이싱을 위한 레벨 뷰포트 뷰 모드

패스 트레이서는 카메라가 움직이지 않을 때 꾸준히 샘플을 추가하는 프로그레시브 축적 방식을 사용합니다. 목표 샘플 수에 도달하면, 프레임에서 노이즈가 제거되면서(포스트 프로세스 세팅에서 노이즈 제거가 활성화된 경우) 렌더에 남아 있던 노이즈도 모두 사라집니다.

대부분의 경우, 씬이 변경되면 샘플이 무효화되고 프로세스가 다시 시작됩니다. 카메라를 이동하거나, 뷰를 변경하거나, 오브젝트에서 머티리얼을 변경/업데이트하거나, 씬에 오브젝트를 추가/이동하는 모든 경우에 씬의 샘플이 무효화됩니다.

패스 트레이서는 인터랙티브 방식으로 사용될 수 있으며, 샘플이 축적됨에 따라 곧 셰이딩된 색으로 픽셀을 표시하기 시작합니다. 렌더링에 소요되는 시간은 주로 씬의 복잡도와 샘플링되는 머티리얼에 따라 달라집니다. 야외 씬에서는 레이가 더 빠르고 적은 반사 횟수로 탈출할 수 있으므로 더 빨리 렌더링되는 편입니다. 인테리어 씬, 그중에서도 특히 알베도가 1.0에 가까운 머티리얼이 있는 인테리어 씬은 라이트 패스가 더 길기 때문에 렌더링 시간도 더 늘어납니다.

포스트 프로세스 볼륨 패스 트레이서 세팅

레벨에 포스트 프로세스 볼륨(Post Process Volumes)을 배치하면 패스 트레이서에 환경설정 가능 프로퍼티를 제공합니다. 여기에는 최대 라이트 바운스 횟수, 픽셀당 샘플, 안티 에일리어싱 퀄리티(필터 너비) 등의 세팅이 포함됩니다.

패스 트레이서 세팅은 패스 트레이싱(Path Tracing) 카테고리의 포스트 프로세스 볼륨 디테일 패널에서 확인할 수 있습니다.

패스 트레이서 포스트 프로세스 볼륨 세팅

프로퍼티

설명

최대 반사(Max. Bounces)

종료 전까지 레이가 이동해야 하는 라이트의 최대 반사 수를 설정합니다.

픽셀당 샘플(Samples Per Pixel)

컨버전스에서 픽셀당 사용되는 샘플 수를 설정합니다. 샘플 수가 높으면 렌더링된 이미지의 노이즈가 줄어듭니다.

필터 너비(Filter Width)

안티 에일리어싱의 필터 너비를 설정하여 출력 퀄리티를 개선합니다. 값이 낮을수록 결과가 더 선명합니다(더 많이 에일리어싱됨).

이미시브 머티리얼(Emissive Materials)

이미시브 머티리얼의 바운스 라이팅을 활성화합니다. 이 프로퍼티를 활성화하면 실제 라이트 소스로도 표현되는 표면의 더블 카운트 일루미네이션과 소형 이미터의 노이즈가 방지됩니다. 예를 들어 작은 전구를 표현하는 이미시브 머티리얼이 포인트 또는 스포트 라이트 소스도 사용하여 영역을 밝히는 경우 일루미네이션이 더블 카운트로 중복됩니다.

최대 패스 노출(Max Path Exposure)

패스 트레이싱에 허용되는 최대 노출을 설정하여 파이어플라이 아티팩트 발생을 줄입니다. 노출을 씬 노출보다 더 높은 값으로 조정하면 이러한 아티팩트를 완화할 수 있습니다. (이런 유형의 아티팩트에 대한 상세 정보와 예시를 보려면 이 페이지의 추가 정보 섹션을 참조하세요).

노이즈 제거(Denoiser)

이 토글은 현재 로드된 노이즈 제거 플러그인을 마지막 샘플에 사용하여 렌더링된 출력에서 노이즈를 제거합니다. 언리얼 엔진은 기본적으로 Intel의 오픈 이미지 노이즈 제거(Open Image Denoiser) 플러그인을 사용합니다. 노이즈 제거 플러그인이 활성화되지 않은 경우, 이 토글은 렌더링된 출력에 아무 효과를 미치지 않습니다.

무비 렌더 큐를 사용한 패스 트레이싱 렌더

이 섹션에서는 무비 렌더 큐를 사용하여 패스 트레이싱 렌더링 출력을 생성하는 방법을 자세하게 살펴봅니다. 진행하기 전에 무비 렌더 큐에서 일반적인 사용법과 워크플로 정보를 확인해주세요.

무비 렌더 큐(MRQ) 는 고퀄리티 렌더링 출력을 생성하는 프로덕션 파이프라인에 유용합니다. 패스 트레이서와 결합해서 사용하면 다른 방법으로 달성할 수 있는 것보다 훨씬 고퀄리티의 렌더링이 가능합니다.

패스 트레이서 모듈을 사용하면 패스 트레이서를 사용하여 렌더링된 프레임을 출력할 수 있으며, 해당 렌더링 패스에 관련된 몇 가지 세팅이 가능합니다.

무비 렌더 큐 패스 트레이서 모듈 세팅

포스트 프로세스 볼륨 은 레벨에서 최대 레이 반사 횟수, 이미시브 머티리얼 지원, 노출 등의 특정한 패스 트레이싱 기능도 제어합니다.

MRQ에는 고퀄리티 렌더링을 달성하기 위한 추가적인 컨트롤과 옵션을 제공하는 다른 세팅 모듈도 있습니다.

  • 고해상도 모듈은 다른 방법보다 더 높은 단일 프레임 해상도를 렌더링하도록 결합 가능한 개별 타일로 프레임을 렌더링하는 세팅을 제공합니다. 개별 타일은 그래픽 카드에서 지원하는 최대 해상도(예: RTX 3080 카드의 경우 7680x4320)를 사용할 수 있습니다.

  • 안티 에일리어싱 모듈은 픽셀당 샘플 수를 조정하고 모션 블러 퀄리티를 개선하는 특정 세팅을 제공합니다. 이 모듈은 씬을 정확하게 렌더링하기 위해 비주얼 이펙트와 레벨 로딩에 필요할 수 있는 웜업 시간을 제공합니다.

    • 템포럴 샘플 수(Temporal Sample Count) 는 시간적으로 약간 오프셋된 인스턴스에서 여러 렌더링 프레임을 보간함으로써 모션 블러 퀄리티를 개선합니다. 이러한 샘플 축적은 노이즈 제거가 실행된 뒤에 발생하여 개별 공간 패스에서 잔여 아티팩트를 안정화할 수 있습니다.

    • 공간 샘플 수(Spatial Sample Count) 는 프레임당 사용하는 픽셀당 샘플 수를 설정합니다. 픽셀당 샘플 수를 늘리면 각 렌더 패스에 있는 노이즈가 감소하지만 각 프레임 렌더링에 소요되는 시간은 늘어납니다. 픽셀당 포스트 프로세스 볼륨 샘플 세팅은 MRQ 출력과 관련하여 이 세팅에 아무런 영향을 주지 않습니다.

    • 픽셀당 사용되는 총 샘플 수는 공간 샘플 수와 시간 샘플 수의 곱입니다. 경우에 따라서는 공간과 시간 양쪽에 샘플을 분산하면 더 좋은 결과를 얻을 수 있습니다. 예를 들어, 픽셀당 16개 샘플을 사용하고 싶다면 공간에 4개, 시간에 4개를 적용하거나 공간에 16개, 시간에 1개를 적용할 수 있습니다.

  • 콘솔 변수 모듈을 사용하면 모든 관련 콘솔 변수를 렌더링된 프레임에 추가할 수 있습니다. 여기에는 퀄리티를 위한 오버라이드나 패스 트레이서와 관련된 일부 세팅의 토글이 포함됩니다.

  • 출력 모듈은 출력 디렉터리와 파일 이름, 이미지 해상도, 렌더링할 시작/끝 프레임을 환경설정하는 세팅을 제공합니다.

추가 정보

패스 트레이싱 모드는 언리얼 엔진 내 다른 렌더링 메서드와는 다른 방식으로 작동합니다. 이는 리얼타임 렌더링에는 잘 작동하는 메서드가 패스 트레이싱 렌더링에는 잘 맞지 않을 수도 있다는 뜻입니다. 다음 섹션에서는 이러한 불일치와 일반적인 문제, 그리고 패스 트레이서로 결과를 개선하는 단계에 대해 설명합니다.

파이어플라이 아티팩트 줄이기

패스 트레이서는 라이트를 시뮬레이션하기 위해 머티리얼 프로퍼티에 따라 레이를 무작위로 트레이싱합니다. 씬의 밝은 영역이 발견될 확률이 낮으면, 결과 샘플이 지나치게 밝아질 수 있으며 프레임 내에서 나타났다 사라지는 빛 입자들(파이어플라이)이 생성될 수 있습니다. 패스 트레이싱은 이러한 효과를 일으키는 가장 일반적인 원인을 최소화하려고 시도하지만, 그래도 일부 시나리오에서는 여전히 발생할 수가 있습니다.

패스 트레이서 파이어플라이 아티팩트

패스 트레이싱된 결과가 블룸 포스트 프로세스 패스와 결합되면, 그 결과로 픽셀이 나타났다 사라지는 방식이나 밝아졌다 어두워지는 방식 때문에 특히나 더 두드러져 보일 수 있습니다.

포스트 프로세스 세팅 최대 노출 패스(Max Exposure Path) 는 렌더링된 패스 트레이싱된 씬에서 사용되는 최대 노출을 제어합니다. 포스트 프로세스 최대 EV100 (렌즈(Lens)> 노출(Exposure) 섹션 아래에 있음)에 설정된 현재 씬 노출보다 몇 단계만 노출을 높이면 파이어플라이 발생 확률이 감소합니다.

노이즈 제거하기

샘플 수가 높아도 패스 트레이서에는 항상 렌더링된 프레임에 약간의 잔여 노이즈가 남습니다. 포스트 프로세스 볼륨 세팅의 노이즈 제거 옵션을 사용하면 Intel의 오픈 이미지 노이즈 제거 라이브러리를 사용하여 마지막 샘플에서 노이즈를 제거할 수 있습니다.

노이즈 제거 툴은 CPU에서 실행되며 현재 인터랙티브 노이즈 제거 툴로 설계되지는 않았지만 장기 실행 프레임의 퀄리티를 개선하는 데는 도움이 됩니다. 현재 시간적 일관성은 보장하지 않으며, 안정적인 출력을 위해서는 비교적 픽셀당 높은 샘플이 필요합니다. 무비 렌더 큐를 사용하는 경우, 안티 에일리어싱 세팅 모듈에서 템포럴 샘플 수 를 늘려 시간적 안정성을 개선할 수도 있습니다.

노이즈가 제거된 이미지

노이즈를 제거 안 한 이미지

패스 트레이서를 사용한 스카이라이팅

스카이라이팅은 두 가지 방식으로 처리됩니다. 적용된 스카이 머티리얼과 함께 전통적인 스카이박스를 사용하거나, 스카이 라이트(Sky Light)의 리얼타임 캡처(Real Time Capture) 모드를 사용하여 씬에서 스카이, 애트머스피어, 구름을 캡처하는 것입니다.

skyboxmesh.png

VolClouds.png

스카이박스 메시(Skybox Mesh)

스카이 라이트 리얼타임 캡처

스카이박스를 사용하여 스카이를 표현하려면 메시와 머티리얼에서 몇 가지 설정을 해야 패스 트레이서와 원활히 작동합니다. 먼저, 스카이 머티리얼의 디테일 패널 세팅에서 Is Sky 플래그가 활성화되어 있어야 합니다. 그래야 씬에 스카이 라이트가 있을 때 스카이박스 머티리얼의 일루미네이션이 두 번 계산되지 않습니다. 또한, 스카이박스가 실제로 두 번 계산되는 경우 발생할 수 있는 노이즈 양을 줄일 수도 있습니다.

머티리얼 세팅 Is Sky 플래그

레벨에서 스카이박스 액터를 선택하고 디테일 패널을 사용하여 섀도 캐스트(Cast Shadows) 를 비활성화함으로써 메시가 씬에 스카이 라이트와 디렉셔널 라이트가 기여하는 부분을 가리지 않게 합니다.

스카이박스 메시에서 섀도 비활성화

또는, 스카이 라이트에서 리얼타임 캡처 모드를 활성화하여

[스카이 애트머스피어](building-virtual-worlds/FogEffects/SkyAtmosphere)
[볼류메트릭 클라우드](building-virtual-worlds/LightingAndShadows/VolumetricClouds)
시스템의 조명 기여도를 캡처할 수도 있습니다. 이렇게 스카이 라이트 표현을 위한 스카이박스 캡처, 스카이 애트머스피어, 볼류메트릭 클라우드에 가해지는 제한 때문에 그 해상도는 스카이 라이트 큐브맵 해상도(Cubemap Resolution) 에 따라 달라집니다.

VolClouds_128Res.png

VolClouds_512Res.png

스카이 라이트 큐브맵 해상도: 128(기본값)

스카이 라이트 큐브맵 해상도: 512

라이트 소스의 직접적인 가시성

직사 카메라 레이는 기본적으로 소스 반경이 있는 포인트 라이트, 렉트 라이트, 스카이 라이트와 같은 비규칙적 라이트를 볼 수 없습니다. 리얼타임 캡처 가 활성화된 스카이 라이트의 경우는 예외입니다.

일반적으로 카메라 레이에는 스카이박스 지오메트리 및 스태틱, 또는 지정된 큐브맵과 쌍을 이루는 스카이라이팅이 보이지 않습니다. 콘솔 변수 `r.PathTracing.VisibleLights 1`을 세팅하여 이 부분을 수정할 수 있습니다.

가시광 콘솔 변수가 활성화되었든 아니든 리플렉션과 리프랙션에 모든 라이트 소스가 보입니다. 이렇게 하면 가능한 모든 레이 패스가 이를 볼 수 있습니다. 하지만 어떤 경우에는 예상외의 동작을 일으킬 수 있습니다. 예를 들어, 유리창 바로 뒤에 배치한 렉트 라이트는 볼 수 있으며, 진정한 리프랙션의 경우 리프랙션 인덱스가 1이 아닐 때만 창을 통과해서 보지 못하도록 차단합니다.

패스 트레이서를 통한 유리 렌더링

패스 트레이서로 지정된 두께의 유리를 렌더링하는 방법은 두 가지입니다. 표면의 피지컬 프로퍼티에 기반하여 물리적으로 정확한 모습을 제공하는 몇 가지 값을 사용하는 방법과 아트 디렉션을 더 확실하게 제어할 수 있지만 물리적으로는 덜 정확한 추가적인 프로퍼티를 사용하는 방법이 있습니다. 두 메서드 모두 패스 트레이서와 함께 사용하여 유리 같은 머티리얼로 고퀄리티의 결과를 얻기에 적합하며 유효한 방법입니다.

물리적으로 정확한 결과를 얻으려면, 아래의 예시와 같이 머티리얼에 몇 가지 값과 파라미터만 설정하면 됩니다.

전체 크기로 보려면 이미지를 클릭하세요.

아트 디렉션에 더 많은 제어가 필요한 상황에서 Base Color를 조정하면 유리 리플렉션(섀도는 제외)에 색조를 줄 수 있으며, Opacity 입력에 연결된 Fresnel을 사용하면 리플렉션 감쇠를 더 세밀하게 제어할 수 있습니다.

전체 크기로 보려면 이미지를 클릭하세요.

근사치 굴절 반사

패스 트레이서는 특히 유리나 메탈 표면의 러프니스 값이 낮은 경우, 근사치 굴절 반사 패스를 사용하여 노이즈를 줄일 수 있습니다. 이러한 머티리얼 유형의 경우, 리플렉션 굴절 반사가 다양한 패턴을 생성할 수 있으며, 노이즈 없는 이미지를 만드는 데 비현실적인 양의 샘플이나 시간을 소모할 수 있습니다.

예를 들어, 이 이미지는 렌더링과 샘플 축적 과정에서 연속으로 포착하고 완료 후 노이즈를 제거한 최종 이미지입니다.

전체 크기로 보려면 이미지를 클릭하세요.

일반적으로 굴절 반사의 경우 노이즈 없는 결과를 수렴하는 데 많은 시간이 걸리므로 패스 트레이서는 콘솔 명령 `r.PathTracing.ApproximateCaustics 1`을 사용하여 이미지에 나타날 굴절 반사의 근사치를 통해 이미지 노이즈를 줄입니다. 이 변수는 기본적으로 활성화되어 있습니다.

근사치 굴절 반사: 활성화됨

근사치 굴절 반사: 비활성화됨

또 다른 고려 요소는 리프랙션 굴절 반사와 근사치 굴절 반사 간의 차이입니다. 노이즈 반사 툴을 사용하면 충분한 수렴 시간이 주어졌을 때 나타날 굴절 반사 모습을 프리뷰할 수 있지만, 근사치 굴절 반사를 사용하면 훨씬 짧은 시간에 실제 제작에 사용 가능한 이미지를 제공합니다.

리프랙션 굴절 반사 | 근사치 굴절 반사: 활성화됨 (w:900)

리프랙션 굴절 반사 | 근사치 굴절 반사: 비활성화됨 (w:900)

얇은 반투명 셰이딩 모델

얇은 반투명(Thin Translucency) 셰이딩 모델은 근사치 굴절 반사가 있는 두꺼운 유리에 적절한 색상의 반투명 섀도잉을 사용하여 물리적으로 정확한 결과를 얻는 데 유용합니다.

전체 크기로 보려면 이미지를 클릭하세요.

한 가지 주의할 점은 각 인터페이스는 고유한 유리판으로 취급된다는 점입니다. 즉, 셰이더가 해당 리프랙션을 계산하지 않으므로 오브젝트는 단단한 지오메트리보다는 거품처럼 보일 것이라는 뜻입니다.

표준 유리 머티리얼

얇은 반투명 유리 머티리얼

전체 크기로 보려면 이미지를 클릭하세요.

전체 크기로 보려면 이미지를 클릭하세요.

거친 라이트 투과 및 리플렉션

패스 트레이서는 거친 리플렉션과 더불어 거친 투과 렌더링을 허용한다는 점에서 고유하며, 패스 트레이서의 경우 이러한 셰이더 파라미터들이 서로 결합됩니다.

아래 예시에서 유리 머티리얼은 다양한 범위의 러프니스 값으로 근사치 굴절 반사 및 리플렉션 러프니스와 그것이 드리워진 반투명 섀도에 미치는 영향을 보여줍니다.

슬라이더를 드래그하여 제로 러프니스부터 약간의 러프니스까지 글래스 머티리얼이 변화하는 모습을 확인하세요. 러프니스 값은 0~0.2입니다.

유용한 콘솔 변수

다음은 패스 트레이서 사용 시 활성화할 수 있는 몇 가지 유용한 콘솔 변수입니다.

콘솔 변수

설명

r.PathTracing.VisibleLights

카메라 레이에 모든 라이트가 보이게 만듭니다. 이 옵션은 엔진의 래스터 기반 모드와 일치시키기 위해 기본적으로 비활성화되어 있지만, 라이트가 모델링되는 방식을 이해하고 라이트가 겹치는 경우를 찾을 때 유용할 수 있습니다.

r.PathTracing.ProgressDisplay

이 옵션은 픽셀당 환경설정된 샘플에 대한 진행률을 표시하는 작은 프로그레스 바를 뷰에 추가합니다. 프로그레스 바가 완전히 채워지면 자동으로 숨겨집니다. 무비 렌더 큐를 통한 렌더링에는 영향이 없으며 활성화한 상태로 두어도 안전합니다.

r.PathTracing.Denoiser

이 옵션은 노이즈 제거 툴을 빠르게 토글하는 데 사용할 수 있습니다(현재 샘플 축적이 완료되었다는 가정하에). 포스트 프로세스 볼륨 세팅과는 달리 이 옵션은 변경해도 축적이 재시작되지 않으며 노이즈 제거가 활성화된 상태와 비활성화된 상태에서의 렌더링된 프레임을 빠르게 비교할 때 유용하게 사용할 수 있습니다.

지원되는 패스 트레이서 피처

패스 트레이서의 한계는 현재 구현된 피처의 한계일 수도 있고, 지원 예정에 없는 피처일 수도 있습니다. 이 기능 목록은 현재 릴리즈에서 지원하는 피처에 대한 개념을 알려주려는 목적으로 작성되었습니다. 엔진에서 지원되는 피처와 프로퍼티를 전부 포함하는 목록은 아닙니다.

패스 트레이서는 언리얼 엔진의

[리얼타임 레이 트레이싱](designing-visuals-rendering-and-graphics/RayTracing)
피처에서 사용된 것과 같은 코드를 사용합니다. 전반적으로 리얼타임 레이 트레이싱에서 지원되는 피처는 패스 트레이서에서도 지원됩니다.

피처 이름

지원 여부

추가 참고 사항

지오메트리 유형(Geometry Types)

나나이트(Nanite)

스킨 입힌 메시(Skinned Meshes)

지원됨

애니메이션은 패스 트레이서를 무효화하지 않으므로 블러 또는 줄무늬 형태가 뷰포트에 보일 수 있습니다. 무비 렌더 큐는 최종 이미지 출력에 사용해야 합니다.

월드 포지션 오프셋 주도 애니메이션(World Position Offset-driven Animation)

지원됨

개별 씬 액터에 월드 포지션 오프셋 평가(Evaluate World Position Offset) 가 활성화되어 있어야 합니다. 패스 트레이서를 무효화하지 않으므로 블러 또는 줄무늬 형태가 뷰포트에 보일 수 있습니다. 무비 렌더 큐는 최종 이미지 출력에 사용해야 합니다.

헤어 스트랜드(Hair Strands)

지원됨

랜드스케이프(Landscape)

지원됨

스플라인 메시(Spline Meshes)

미지원

인스턴스드 스태틱 메시(Instanced Static Mesh)

지원됨

계층형 인스턴스드 스태틱 메시(Hierarchical Instanced Static Mesh)

지원됨

비주얼 이펙트

나이아가라 파티클 시스템(Niagara Particle Systems)

지원됨

파티클 시스템은 패스 트레이서를 무효화하지 않으므로 블러 또는 줄무늬 형태가 뷰포트에 보일 수 있습니다. 무비 렌더 큐는 최종 이미지 출력에 사용해야 합니다.

캐스케이드 파티클 시스템(Cascade Particle Systems)

미지원

라이트 타입

디렉셔널 라이트(Directional Light)

지원됨

스카이 라이트(Sky Light)

지원됨

  • 현재 스카이 라이트 캡처는 리얼타임 캡처 를 활성화한 경우에만 보입니다.

    • 스카이 애트머스피어와 볼류메트릭 클라우드는 아직 지원되지 않습니다.

    • 렌더링 퀄리티를 개선하려면, 스카이 라이트 캡처의 해상도를 리얼타임 캡처에 사용되는 해상도보다 높이면 됩니다.

  • 리얼타임 캡처 모드를 사용하지 않는 경우에는 스카이 박스/구체에 스카이를 표현하는 부분이 있어야 합니다. 해당 머티리얼의 머티리얼 세팅에서 Is Sky 플래그가 활성화되어 있어야 합니다. 그렇지 않으면 스카이라이팅에서 일루미네이션이 이중으로 계산되며 중요도가 샘플링되지 않으므로 노이즈가 생성될 수 있습니다.

  • 또한, 스카이 박스 및 구체 셰이프는 스카이 라이트와 디렉셔널 라이트가 기여하는 부분을 가릴 수 있으므로 섀도를 캐스팅하지 말아야 합니다.

포인트 라이트(Point Light)

지원됨

스포트 라이트(Spot Light)

지원됨

렉트 라이트(Rect Light)

지원됨

라이팅 피처 및 프로퍼티

이미시브 머티리얼(Emissive Materials)

지원됨

작은 이미시브 부분은 렌더링 씬에 많은 노이즈를 유발할 수 있습니다. 또한, 이미시브 부분에 라이트가 연관되어 있는 경우 라이팅이 중복 계산될 수 있습니다. 포스트 프로세스 볼륨 세팅에서 이미시브 머티리얼 체크박스를 사용하여 비활성화하거나, 콘솔 변수 `r.PathTracing.EnableEmissive 0`을 사용합니다.

스카이 애트머스피어(Sky Atmosphere)

부분 지원

리얼타임 캡처 를 활성화한 씬에 스카이 라이트가 필요합니다.

볼류메트릭 클라우드(Volumetric Clouds)

부분 지원

리얼타임 캡처 를 활성화한 씬에 스카이 라이트가 필요합니다.

익스포넨셜 하이트 포그(Exponential Height Fog)

미지원

향후 엔진 릴리즈에서 지원할 예정입니다.

볼류메트릭 포그(Volumetric Fog)

미지원

향후 엔진 릴리즈에서 지원할 예정입니다.

IES 프로필(IES Profiles)

지원됨

라이트 함수(Light Functions)

미지원

포스트 프로세싱

뎁스 오브 필드(Depth of Field)

부분 지원

반투명 머티리얼은 아직 지원되지 않습니다.

모션 블러(Motion Blur)

부분 지원

무비 렌더 큐의 렌더링된 프레임에서만 지원됩니다.

머티리얼 셰이딩 모델

언릿(Unlit)

지원됨

기본 릿(Default Lit)

지원됨

서브서피스(Subsurface)

지원됨

사전통합 스킨(Preintegrated Skin)

지원됨

서브서피스 셰이딩 모델과 똑같이 렌더링됩니다.

클리어 코트(Clear Coat)

지원됨

서브서피스 프로파일(Subsurface Profile)

지원됨

Burley 서브서피스 스캐터링이 활성화된 서브서피스 프로파일이 필요합니다.

양면 폴리지(Two Sided Foliage)

지원됨

헤어(Hair)

지원됨

클로스(Cloth)

지원됨

눈(Eye)

지원됨

단일 레이어 물(SingleLayerWater)

미지원

얇은 반투명(Thin Translucent)

지원됨

머티리얼 표현식에서(From Material Expression)

지원됨

머티리얼 피처

색상 있는 섀도(Colored Shadows)

지원됨

머티리얼에 얇은 반투명 머티리얼 셰이딩 모델이 설정되어 있어야 합니다.

반투명 섀도(Translucent Shadows)

지원됨

리프랙션(Refraction)

지원됨

데칼(Decals)

미지원

애니소트로피(Anisotropy)

지원됨

시스템 지원

다중 GPU

미지원

시퀀서 무비 렌더 큐(Sequencer Movie Render Queue)

지원됨

직교 카메라(Orthographic Camera)

부분 지원

현재 무비 렌더 큐를 통한 출력은 지원하지 않습니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.