Krafton Abyss of Dungeons에서 레이 트레이싱 구현

모바일에서 레이 트레이싱이 중요한 이유

레이 트레이싱을 사용하면 사실적인 조명, 반사, 그림자를 구현하여 어두운 판타지 세계인 Abyss of Dungeons에서 플레이어의 몰입도를 높일 수 있습니다. 시각적으로 멋진 그래픽은 모바일 게임에서 매우 중요하지만 레이 트레이스된 시각 효과와 같은 고화질 효과를 구현하는 것은 상당히 어려운 과제였습니다. 이전에는 모바일 게임 성능 제한으로 인해 고급 렌더링 기법이 제한되어 PC 및 콘솔 환경에 비해 시각적 품질이 저하되었습니다.

Krafton Abyss of Dungeons는 이러한 한계를 극복하는 것을 목표로 했습니다. 목표는 일반적으로 고급 플랫폼에만 사용되는 레이 트레이싱 기술을 Unreal Engine 5 (UE5)의 모바일 버전에 통합하는 것이었습니다. 이 작업은 모바일 기기에서 더 사실적이고 시각적으로 풍부한 그래픽을 제공하여 플레이어 몰입도를 크게 높이는 것을 목표로 했습니다. 팀은 성능 병목 현상을 해결하고, UE5의 Lumen과 같은 복잡한 렌더링 파이프라인을 조정하고, 다양한 휴대기기 하드웨어에서 안정성을 보장해야 했습니다. 이는 모바일 게임에 콘솔 품질 그래픽을 제공하기 위한 중요한 단계였습니다.

래스터링에서 광선 추적으로의 시각적 도약

기존의 래스터화는 속도 때문에 모바일 렌더링의 표준입니다. 3D 객체를 2D 화면에 픽셀 단위로 투사합니다. 이 방법은 효율적이지만 빛의 상호작용을 단순화하므로 그림자와 반사가 덜 사실적입니다.

레이 트레이싱은 다른 접근 방식을 제공합니다. 빛의 실제 경로를 시뮬레이션하고 빛과 물체의 상호작용을 계산합니다. 이를 통해 매우 정확하고 사실적인 조명, 그림자, 반사를 만들 수 있습니다. 그러나 이러한 사실감은 계산 집약도를 높이는 데 비용이 듭니다. 각 광선의 경로와 상호작용을 계산하려면 상당한 처리 능력이 필요합니다.

래스터화와 광선 추적 비교

다음 표에는 래스터화와 레이 트레이싱의 주요 차이점이 요약되어 있습니다.

기능 래스터화 광선 추적
속도 빠른 속도 느림
사실성 Lower 높음
리소스 사용 낮음 높음

이러한 리소스 집약성은 데스크톱에 비해 처리 능력이 제한된 휴대기기에 문제를 야기합니다. 이러한 제한으로 인해 이전에는 모바일 플랫폼에서 레이 트레이싱을 채택하는 데 어려움이 있었습니다.

Android에서 레이 트레이싱 선택 및 구현: 체계적인 접근 방식

Vulkan을 사용하여 Android에서 레이 트레이싱을 구현하기 위해 레이 쿼리와 레이 파이프라인이라는 두 가지 기본 방법이 고려되었습니다. 레이 쿼리는 더 간단한 접근 방식을 제공하여 셰이더 내에서 수동 레이 관리를 가능하게 했으며, 이는 기존 시스템에 더 간편하게 통합할 수 있었습니다.

그러나 레이 파이프라인은 Vulkan이 레이 탐색 및 교차를 관리할 수 있도록 더 확장 가능한 솔루션을 제공했습니다. 레이 쿼리는 처음에는 더 단순한 장면에서 약간 더 빠르지만 레이 파이프라인은 더 복잡한 레이 트레이싱 애플리케이션에서 더 나은 확장성과 성능을 보여주므로 장기 개발 및 복잡한 시각적 요구사항에 적합합니다. 게임의 장기적인 시각적 무결성에 중점을 두고 초기 개발의 용이성과 향후 확장성 및 전반적인 성능의 균형을 맞추기로 했습니다.

모바일용 UE5 Lumen 적용: 대규모 작업

실시간 글로벌 일루미네이션 및 반사 시스템인 UE5의 Lumen은 게임 환경의 조명에 혁명을 일으켰습니다. 하지만 원래는 휴대기기가 아닌 고성능 PC 및 콘솔용으로 설계되었습니다. Lumen의 복잡성과 리소스 요구사항은 모바일 통합에 큰 어려움을 야기했습니다. Android용으로 Lumen을 조정하려면 UE5의 렌더링 파이프라인과 셰이더 컴파일러를 대폭 수정하고 복잡한 장면 데이터를 효율적으로 관리하기 위해 가속 구조 (AS)를 최적화해야 했습니다. 이 팀의 목표는 이 격차를 해소하여 휴대기기가 성능이나 안정성을 저하시키지 않고도 Lumen의 정교한 조명 계산을 처리할 수 있도록 하는 것이었습니다. 이 적응 작업은 공식 Unreal Engine 코드베이스에도 기여하여 더 광범위한 게임 개발 커뮤니티에 도움이 되고 모바일 렌더링 기능을 개선했습니다.

레이 트레이싱 그림자 및 반사: 시각적 사실성 향상

레이 트레이싱 그림자를 구현하려면 표면에서 광원으로 직접 광선을 추적해야 하며, 이로 인해 기존 그림자 맵에 비해 우수한 정확성을 제공할 수 있습니다. 이 프로세스에는 깊이 사전 패스, 광선 쿼리 그림자, 노이즈 제거, 조명 패스 통합이 포함되었습니다. 지터가 있는 단일 광선을 사용한 후 노이즈 제거를 통해 부드러운 그림자를 효율적으로 구현했습니다. 팀은 반사광을 위해 G 버퍼 패스, 레이 트레이싱 반사광 및 히트 데이터 저장소, 재료 ID 변환, 해결 패스(반사된 이미지 구성), 블렌드 패스 (반사광을 기본 장면에 통합)를 포함하는 다단계 프로세스를 구현했습니다. CPU 라이트백, 타일식 접근 방식, 인스턴스 일괄 처리, 비동기 AS 빌드와 같은 최적화를 통해 성능이 크게 개선되고 오버헤드가 줄어들어 휴대기기에서 이러한 프로세스의 리소스 집약적인 특성을 해결할 수 있었습니다.

성능 영향 및 최적화 전략

Samsung Galaxy S24 Xclipse 940, 상단 (최적화됨, 파란색) 하단 (최적화 전, 노란색)

레이 트레이싱의 성능 영향은 특히 반사와 관련하여 장면에 따라 크게 달라졌습니다. 반사 표면이 큰 장면에서는 반사가 프레임 시간의 상당 부분 (30~40%)을 차지할 수 있습니다. 레이 트레이싱을 실행 가능하게 하려면 최적화가 매우 중요했습니다. 팀은 오버헤드를 줄이고 효율성을 높이기 위해 여러 기술을 사용했습니다. 카드 기반 렌더링 접근 방식을 사용하여 낭비되는 처리를 최소화하고, 동일한 재료 및 도형의 인스턴스를 일괄 처리하여 그리기 호출을 줄이고, 표시되는 도형에 대해서만 가속 구조를 빌드하고, AS 구성에 비동기 컴퓨팅을 사용했습니다. 이러한 전략은 처리 시간을 대폭 단축하고 GPU 부하를 줄여 모바일 하드웨어에서 실시간 레이 트레이싱을 가능하게 합니다.

추가 자료

Krafton의 Abyss of Dungeons는 전략적 조정 및 최적화를 통해 레이 트레이싱과 같은 고급 렌더링 기법을 모바일 플랫폼에 적용할 수 있음을 보여주었습니다. 팀은 UE5의 Lumen 시스템을 성공적으로 조정하고 맞춤 렌더링 솔루션을 구현했으며 여러 기술적 장벽을 해결하여 시각적으로 향상된 게임 환경을 제공했습니다. 이 노력으로 Abyss of Dungeons의 시각적 충실도가 개선되었을 뿐만 아니라 향후 모바일 게임 개발에 관한 귀중한 통계와 기법도 얻을 수 있었습니다. 게임 개발자와 기술 제공업체 간의 협업으로 모바일 게임 환경을 혁신하고 한층 끌어올려 PC 및 콘솔에서의 품질에 한층 더 가까워질 수 있다는 점을 강조합니다. 삼성 개발자 사이트에서 자세한 광선 학습 최적화를 확인하세요.