2. 언리얼엔진의 독보적인 그래픽 퀄리티는 어떻게 가능할까?

언리얼 엔진은 게임 개발자와 콘텐츠 제작자들에게 최고의 그래픽 퀄리티를 제공하기 위해 설계된

고급 기능들을 갖추고 있다.

여기서는 언리얼 엔진이 어떻게 높은 그래픽 퀄리티를 구현하는지 주요 요소를 알기 쉽게 설명하고자 한다.

3차원의 컴퓨터 그래픽이 소위 ‘고퀄리티’, 즉 실제와 가까워서 매우 현실감 있게 느껴지기 위해서는

대표적인 3가지 요소를 실제처럼 표현할 수 있어야 한다.

그 세 가지는 3D 모델링, 조명과 반사, 재질이다.

언리얼엔진은 이 요소들을 충족시키기 위한 높은 수준의 기술들을 보유하고 있고

사용자들은 엔진 내에서 그러한 기술들을 바탕으로 높은 퀄리티의 그래픽 작업을 할 수 있다.

< 고퀄리티 3D 그래픽을 위한 필요 요소와 이를 위한 언리얼엔진의 기술 >

위의 다섯 가지 기술에 대한 소개는 다음과 같다.

기술별로 보다 자세한 내용은 각 내용의 하단 링크를 참조하기 바란다.

1. Nanite – 가상화 지오메트리 시스템

3차원 모델링은 정교할수록 모델링을 구성하는 면의 개수, 즉 폴리곤이 많아진다.

그러나 폴리곤이 많아질수록 용량은 커지고 시스템에 부하가 걸린다.

나나이트는 이러한 점을 개선하기 위한 기술로, 멀리 있을 때는 폴리곤을 연산할 필요가 없다는 점에 착안하여

카메라와의 거리에 따라 알아서 폴리곤 개수를 늘리거나 줄여준다.

즉, 3차원 공간에서 카메라나 사용자의 시선과 가까운 오브젝트는 자세히 그려주고,

멀리 있거나 시야에 들어오지 않는 오브젝트들은 단순하게 그린다.

이로써 퀄리티는 높이고 최적화 문제도 해결하는 셈이다.

이를 통해 작업자는 부담 없이 고해상도 모델을 엔진으로 가져와 사용할 수 있고

실시간 렌더링에서도 성능을 유지할 수 있다.

<면이 많아질수록 디테일해지는 이미지 >
이미지 출처 : https://choi-dan-di.github.io/computer-graphics/modeling/

[ 언리얼엔진의 나나이트란? ]

2. Quixel Bridge – 고퀄리티 3D 에셋 창고

퀵셀 브릿지는 언리얼엔진5에 기본적으로 설치 및 활성화되어 있는 플러그인이다. 

퀵셀 Quixel은 2011년에 창업한 스웨덴의 벤처기업으로,

고퀄리티의 3D 에셋을 만들어서 파는 메가스캔이라는 서비스를 시작했는데, 2019년에 에픽 게임즈가 인수했다.

따라서 언리얼엔진에서는 현재 퀵셀 브릿지의 모든 고퀄리티 에셋을 무료로 이용 가능하다.

이 퀵셀 브릿지의 에셋들은 스캔 데이터 답게 굉장한 고퀄리티를 자랑하며,

PBR을 기반으로 하여 요즘 CG 트랜드에 최적화되어 있다.

또 LOD별 모델이 따로 있어 퀄리티를 조절하기도 매우 쉽다.

고퀄리티의 3D 모델링을 무료로 사용할 수 있다는 것은 매우 큰 장점이다.

그렇지 않으면 작업자는 직접 다른 3D 프로그램으로 모델링을 하거나, 따로 만들어진 에셋을 구매하거나,

또는 3D 모델러를 고용해야 한다.

[ 퀵셀브릿지 사용방법 ]

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/quixel-bridge-plugin-for-unreal-engine

또한 퀵셀 브릿지 내에 메타휴먼 크리에이터(MetaHuman Creator)도 있다.

이는 고퀄리티의 실사형 사람 캐릭터를 쉽게 생성할 수 있는 기능이다.

사실적인 피부, 헤어, 표정 애니메이션을 제공하여 현실적인 캐릭터를 빠르게 제작할 수 있으며,

이는 높은 그래픽 퀄리티의 게임 캐릭터 구현이나 시네마틱 영상에 큰 도움을 준다.

https://www.unrealengine.com/ko/blog/introducing-the-matrix-awakens-an-unreal-engine-5-experience

[ 메타휴먼 사용 방법 ] https://dev.epicgames.com/documentation/ko-kr/metahuman/metahuman-creator-overview

3. Lumen – 실시간 글로벌 일루미네이션 및 반사

루멘은 실시간 전역 조명(GI, Global Illumination)과 반사(Reflections)를 처리하는 고급 렌더링 시스템이다.

쉽게 말해, 빛의 반사와 확산 효과를 훨씬 더 사실적이고 동적으로 표현할 수 있게 만들어 주는 기술로,

다양한 시각적 표현을 한층 더 실감나게 만들어 주는 강력한 도구이다.

핵심 개념과 특징

  • 실시간 전역 조명

전통적인 게임 엔진에서는 조명 효과를 미리 계산하여 “베이크”하는 과정이 필요했지만 루멘은 빛이 표면에 닿아 반사되거나 주변을 밝히는 과정을 실시간으로 계산한다. 예를 들어, 태양이 움직이면, 그림자 뿐만 아니라 빛이 반사되는 정도나 색조도 실시간으로 바뀌는 것이다.

  • 동적인 반사 효과

물체 표면의 반사(유리, 물, 금속 등)를 정밀하고 동적으로 처리한다. 예를 들어, 게임 속에서 캐릭터가 거울 옆을 지나갈 때, 즉시 반사되는 모습이 보여지는 식으로 표현되는 것이다.

  • 광역 조명 캐싱

루멘은 실시간 성능과 퀄리티를 균형 있게 유지하기 위해, 가까운 범위에서는 고해상도로 계산하고, 먼 범위는 캐싱된 데이터를 활용한다. 따라서 성능 최적화에도 효과적이다.

루멘을 활용한 예시

  • 동적인 날씨 시스템

태양이 떠오르거나 지는 장면에서 빛의 색감, 반사, 그리고 그림자 변화가 자동으로 처리된다.

  • 플레이어의 손전등이나 마법 효과

빛이 벽에 반사되거나 물체 주변에 퍼지며, 주변 조명 상태에 따라 자연스럽게 조정된다.

  • 실내 조명 시뮬레이션

창문을 통해 들어오는 빛이 바닥에 반사되고, 밝은 벽에서 어두운 구석으로 은은히 퍼져가는 표현이 가능하다.

루멘 설정 방법 (프로젝트 설정 변경)

  • “Project Settings” > “Rendering” > “Dynamic Global Illumination Method”를 Lumen으로 선택.
  • “Reflection Method”도 Lumen으로 설정.

참고사항

  • 고사양 시스템 필요 : 최신 하드웨어에서 최적화되어 작동하며, 저사양에서는 성능 저하가 있을 수 있다.
  • 큰 오픈 월드에서는 추가 최적화 필요 : 대규모 씬에서는 계산량이 많아지므로 조명 캐싱을 활용해야 한다.

[ 루멘 설명 동영상 ] https://www.unrealengine.com/ko/tech-blog/unreal-engine-5-goes-all-in-on-dynamic-global-illumination-with-lumen

4. Ray Tracing

언리얼엔진의 레이 트레이싱(Ray Tracing)은 빛이 물체에 반사되거나 굴절되는 과정을

실제처럼 시뮬레이션하여 게임이나 3D 콘텐츠에서 사실적인 조명을 구현하는 기술이다.

쉽게 말해, 현실에서 빛이 움직이고 상호작용하는 방식을 그대로 따라하는 기술이라고 할 수 있다.

이를 통해 더 자연스럽고 정교한 그림자, 반사, 굴절, 그리고 전체적인 조명 효과를 얻을 수 있다.

특히 거울이나 물의 표면에서의 반사 효과는 사실적인 그래픽을 위해 필수적이다.

핵심 개념

  1. 광선 추적
  2. 레이 트레이싱은 빛의 경로를 추적하여 카메라(플레이어 시점)까지 어떻게 도달하는지를 계산한다.
  3. 빛이 물체에 부딪히면 반사되거나 흡수되거나 굴절되는 방식으로 빛의 이동을 시뮬레이션한다.
  4. 사실적인 조명 효과
  5. 반사(Reflection): 물체 표면에 반사되는 빛의 모습을 구현한다. 예를 들어, 거울이나 물 표면에 정확한 반사가 보인다.
  6. 그림자(Shadows): 빛이 가로막혀 생기는 그림자가 자연스럽고 부드럽게 표현된다.
  7. 굴절(Refraction): 유리나 물과 같은 투명한 소재를 통해 빛이 굴절되는 효과를 제공한다.
  8. 간접 조명(Global Illumination): 빛이 한 번 반사된 후 주변 환경에 미치는 영향을 계산한다.

언리얼 엔진에서 레이 트레이싱 활성화

  1. 프로젝트 설정:
  2. 프로젝트를 열고 Edit → Project Settings → Rendering 섹션에서 Ray Tracing을 활성화
  3. 라이팅 구성
  4. Post Process Volume을 배치하고 설정에서 레이 트레이싱 옵션을 조정한다.
  5. 예: Reflections, Shadows, Translucency, Global Illumination 등을 설정 가능.
  6. 머티리얼 설정
  7. 머티리얼에 레이 트레이싱 반사와 굴절이 적용되도록 머티리얼 속성을 적절히 조정한다.
  8. Surface Type을 투명하거나 반사 가능한 설정으로 변경한다.

장점

극사실적 표현: 게임에서 현실감을 크게 향상시킨다.

즉각적인 시각적 피드백: 콘텐츠 제작자가 빛과 그림자를 다룰 때 더 정확한 결과를 얻는다.

단점

높은 성능 요구: 레이 트레이싱은 GPU에 많은 부하를 준다.

최적화 필요: 성능 문제를 줄이기 위해 장면을 효율적으로 구성해야 한다.

결론적으로, 언리얼 엔진의 레이 트레이싱은 게임과 콘텐츠 제작에 뛰어난 시각적 품질을 제공한다.

하지만 하드웨어 요구 사항과 성능 부담을 고려하며 적절히 활용해야 한다.

[ 언리얼의 레이 트레이싱 소개 ]

https://www.unrealengine.com/ko/explainers/ray-tracing/what-is-real-time-ray-tracing

5. Material System

언리얼의 머티리얼 시스템은 물체의 표면 속성을 설정하는 과정으로, 이 속성들은 게임 그래픽의 사실성을 크게 좌우한다.

예를 들어, 금속 표면과 나무 표면은 빛을 다르게 반사하는데, 머티리얼 시스템은 이러한 차이를 물리적으로 정확하게 구현한다.

또한 게임 속 물체가 빛과 상호작용하는 방식을 제어하는 강력한 도구이기도 하다. 이를 통해 물체의 표면이 어떻게

보이는지(질감, 반사, 투명도 등)를 사실적으로 표현할 수 있어 고퀄리티 그래픽을 가능하게 만든다.

주요 특징

  • 물리 기반 렌더링(PBR, Physically Based Rendering)

언리얼 엔진의 머티리얼 시스템은 PBR 원칙을 따른다. 이는 현실 세계의 빛과 물리적 규칙을 기반으로 표면 속성을 정의하는 방식이다. 이를 통해 빛과 표면 상호작용이 자연스럽게 표현된다. 예를 들어, 젖은 도로, 반짝이는 금속, 거친 돌 표면 등이 그것이다.

  • 세부 질감 표현(Detail Textures)

머티리얼 시스템은 고해상도 텍스처를 사용할 수 있어 작은 디테일까지 표현한다. (예: 벽돌 표면의 균열, 나무의 결, 금속의 스크래치) 또한 물체가 주변 환경을 얼마나 반사하는지 설정할 수 있어 반짝이는 표면(거울, 물 표면)을 사실적으로 표현한다.

  • 파라미터 기반 제어

머티리얼 속성을 파라미터화하여 동적으로 변경할 수 있다. 예를 들어, 게임 안에서 어떤 조건에 따라 날씨가 변화하도록 만들었다면, 비가 오는 경우에는 도로나 건물이 젖은 재질로 바뀌도록 하거나, 또는 설정한 상황에 따라 캐릭터의 손에 묻은 흙을 점점 더러운 재질로 바뀌도록 표현할 수 있다.

언리얼 엔진의 머티리얼 시스템은 물리 기반 접근법(PBR)과 세부적인 제어 기능을 제공하여 물체가 빛과 상호작용하는 방식을 정밀하게 설정할 수 있다. 이를 통해 현실감, 디테일, 그리고 동적 효과를 구현하여 고퀄리티 그래픽을 가능하게 만든다. 해를 돕기 위해 쉽게 말하면, 머티리얼 시스템은 “어떤 물체가 나무처럼 보일지, 금속처럼 보일지, 아니면 유리처럼 보일지 결정하는 마법의 도구”라고 할 수 있다. 이 도구를 통해 게임 세계가 더 사실적이고 생동감 있게 느껴지게 되는 것이다.

전체 결론

위의 5가지 외에도 포스트 프로세싱 효과나 HDR 렌더링의 지원 등, 언리얼 엔진은 최신 기술들을 결합하여

사실적이고 몰입감 있는 그래픽을 제공한다.

이러한 기술적 우위는 AAA급 게임이나 고퀄리티 시네마틱 콘텐츠 제작에 있어 강력한 도구로 작용하며,

개발자와 아티스트들이 창의적인 비전을 실현할 수 있도록 돕는다.

Leave a Comment