렌더링 개요

렌더링 서브시스템 주요 기능에 대한 개요입니다.

Windows
MacOS
Linux

언리얼 엔진 4 의 렌더링 시스템은 완전히 새로운 DirectX 11 파이프라인으로, 디퍼드 셰이딩, 글로벌 일루미네이션, 라이팅된 반투명, 포스트 프로세싱, 벡터 필드를 활용한 GPU 파티클 시뮬레이션 등이 포함되어 있습니다.

디퍼드 셰이딩

언리얼 엔진 3 에서 사용되던 포워드(바로바로 처리하는) 라이팅 방법과는 달리, 언리얼 엔진 4 의 모든 라이트는 디퍼드(비슷한 종류의 패스(pass)를 모아 한꺼번에 처리하는) 방식으로 적용됩니다. 머티리얼은 그 특성을 GBuffer 에 쓰고, 라이팅 패스에서는 픽셀별로 머티리얼 프로퍼티를 읽어들여 라이팅을 처리합니다.

라이팅 패스

UE4 에는 세 가지의 라이팅 패스가 있습니다:

이들 각각은 퀄리티, 퍼포먼스, 게임내 변경 여부가 각기 다른 툴입니다. 각 게임마다 적합한 패스를 선택하면 됩니다.

라이팅된 반투명

반투명의 라이팅과 섀도잉은 단일 포워드 패스에서 처리하여 다른 반투명과의 올바른 블렌딩을 보장하며, 이러한 것은 멀티패스 라이팅 기법으로는 가능하지 않습니다.

Lit Translucency

반투명은 불투명 월드, 자기 자신, 다른 라이팅된 반투명 위에 그림자를 드리울 수 있습니다.

Translucent Particle Self-Shadowing

Translucent Particle Self-Shadowing

반투명 파티클 셀프 섀도잉 (측면)

반투명 파티클 셀프 섀도잉 (정면)

자세한 정보는 라이팅된 반투명 페이지를 참고하시기 바랍니다.

서브-서피스 셰이딩

머티리얼에 MLM_Subsurface 셰이딩 모델이 새로 생겼으며, 왁스나 비취처럼 겉은 불투명하나 그 속 안에서 빛이 산란되는 곳에 쓰기 좋습니다. 스킨 렌더링에 쓰기에 품질이 높지 않아 가격도 쌉니다.

jade_statue.png

ice_mounds.png

비취

얼음

GPU 파티클

UE4 는 GPU 상에서 파티클 시뮬레이션을 지원합니다. 이전의 CPU 시스템에서는 한 프레임에 천 단위의 파티클이 가능했습니다. GPU 시뮬레이션을 통해서는 십만 단위의 파티클을 효율적으로 시뮬레이션하여 렌더링할 수 있습니다.

Spawn Rate - 500

Spawn Rate - 20000

벡터 필드

그 효율은 차치하고 GPU 파티클의 가장 흥미로운 부분은, 벡터 필드입니다. 벡터 필드는 파티클의 운동에 영향을 끼치는 벡터의 균등 그리드입니다. 벡터 필드는 월드에 액터로 놓고서 다른 액터처럼 위치와 방향과 크기를 조절할 수 있습니다. 동적이므로 언제고 움직일 수 있습니다.

Global Vector Field

필드는 캐스케이드 안에 놓아, 그와 관련이 있는 이미터에만 영향력을 제한시킬 수 있습니다. 파티클이 벡터 필드의 바운드에 들어가면 모션이 영향받기 시작했다가, 나갈 때 필드의 영향력은 희미해 집니다.

Local Vector Field

포스트 프로세스 이펙트

언리얼 엔진 4 는 아티스트가 디자이너가 씬의 전체적인 모양새와 느낌을 조정할 수 있도록 하기 위해 여러가지 포스트 프로세싱 이펙트를 제공하고 있습니다. 엘리먼트와 이펙트의 예제라면 블룸(밝은 오브젝트 위의 HDR 블루밍 이펙트), 앰비언트 오클루전, 톤 매핑 등입니다.

앰비언트 오클루전

Ambient Occlusion (앰비언트 오클루전) 이펙트는 SSAO (Screen Space Ambient Occlusion) 구현이며, 현재 뎁스 버퍼만을 기반으로 합니다. 즉 노멀 맵 디테일이나 스무딩 그룹은 결과에 영향을 끼치지 않는다는 뜻입니다. 폴리곤이 아주 적은 메시라면 이펙트를 켰을 때 더욱 각져 보일 수 있습니다. UE4 에서 이펙트는 앰비언트에만, 현재로서는 AmbientCubemap 에만 적용된다는 뜻입니다.

앰비언트 큐브맵

Ambient Cubemap 이펙트는 전체 씬의 라이팅에 큐브맵 텍스처를 적용합니다. 이 이펙트는 머티리얼이 라이팅을 받는 위치와는 별개입니다. 관찰자의 위치, 머티리얼의 (스페큘러 이펙트에 대한) 거칠기, 머티리얼 표면의 노멀이 모두 계산에 들어갑니다. 이를 통해 효율적인 고품질 라이팅 환경이 가능합니다.

블룸

Bloom 은 현실에서도 볼 수 있는 광학 현상이며, 중간 정도의 렌더러 퍼포먼스 비용으로 렌더링되는 이미지의 현실성을 크게 증가시킬 수 있습니다. 블룸은 어두운 배경에 있는 매우 밝은 물체를 맨눈으로 볼 때 확인할 수 있는 현상입니다. 밝은 물체가 (빛샘, 렌즈 플레어 같은) 부가 효과를 내기도 하지만, 그러한 것들은 정통 블룸 이펙트에서는 다루지 않습니다. 왜냐면 보통 (TV, TFT 등의) 화면은 HDR(High Dynamic Range) 지원을 하지 않기 때문에 매우 밝은 물체가 제대로 렌더링되지 않습니다. 그래서 그 대신, 밝은 물체를 눈으로 볼 때 (망막 표면 하부의 빛 산란), 빛이 필름에 닿을 때 (필름 표면 하부의 빛 산란), 카메라 앞에 있을 때 (우윳빛 유리 필터) 발생하는 현상을 시뮬레이트합니다. 이 이펙트가 물리적으로 항상 올바르지는 않겠지만, 물체의 상대적 밝기를 나타내어 주거나 LDR(Low Dynamic Range) 이미지에 현실감을 부여하는 데는 도움이 됩니다.

Bloom Effect

블룸 더트 마스크

Bloom Dirt Mask 이펙트는 화면상에 정의된 일정 구역의 블룸을 밝게 만들기 위해 텍스처를 사용합니다. 이 효과를 사용할 수 있는 곳은 전장의 안개(미탐험 지역을 가리는) 효과, HDR 이펙트를 더욱 강렬하게 하는 효과, 카메라 결함 효과 등입니다.

시각 순응

Eye Adaptation (시각 순응), 또는 Automatic Exposure (자동 노출)은 사람의 눈이 밝은 곳에서 어두운 곳으로, 또는 그 반대로 이동할 때 느낄 수 있는 효과를 재현하기 위해 씬의 노출을 자동으로 조절하는 기능입니다.

렌즈 플레어

Lens Flare 이펙트는 밝은 물체를 바라볼 때 렌즈에 퍼져나가는 듯이 맺히는 빛줄기를 자동으로 만들어주는 이미지 기반 기법입니다.

Lens Flare

톤 매핑

Tone Mapping 은 렌더링된 씬의 색을 변환 내지 수정하여 최종 결과물을 변경하는 것을 말합니다. 세피아 필터라든가 맞았을 때의 (빨갛게 번쩍인다든가 하는) 효과 등을 내는 데 사용할 수 있습니다.

Tone Mapping - Off

Tone Mapping - On

비녜트

Vignette 이펙트는 뷰포트 중앙에서의 거리가 늘어남에 따라 렌더링되는 씬의 밝기를 낮추는 이펙트입니다.

Vignette Effect

태그

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼