Krafton Abyss of Dungeons にレイ トレーシングを実装する

モバイルでのレイトレーシングが重要な理由

レイ トレーシングにより、リアルな照明、反射、シャドウを実現し、Abyss of Dungeons のダーク ファンタジーの世界にプレイヤーを没入させます。モバイルゲームでは視覚的に優れたグラフィックが重要ですが、レイトレーシング ビジュアルなどの高忠実度エフェクトを実現することは大きな課題でした。これまで、モバイルゲームのパフォーマンスの制限により、高度なレンダリング手法が制限され、PC やコンソール ゲームと比較して画質が妥協されていました。

Krafton の Abyss of Dungeons は、こうした制限を克服することを目的としています。通常はハイエンド プラットフォームに限定されているレイ トレース技術を、Unreal Engine 5(UE5)のモバイル バージョンに統合することが目的でした。この取り組みでは、モバイル デバイスでよりリアルで視覚的に豊かなグラフィックを実現することで、プレーヤーの没入感を大幅に高めることを目指しました。チームは、パフォーマンスのボトルネックを解消し、UE5 の Lumen などの複雑なレンダリング パイプラインを適応させ、さまざまなモバイル ハードウェアで安定性を確保する必要がありました。これは、コンソール品質のグラフィックをモバイル ゲームに導入するための重要なステップでした。

ラスタライズからレイトレーシングへの視覚的な飛躍

従来のラスタライズは、速度が速いため、モバイル レンダリングの標準となっています。3D オブジェクトを 2D 画面にピクセル単位で投影します。この方法は効率的ですが、光の相互作用が単純化されるため、影や反射が現実的ではなくなります。

レイトレーシングは別のアプローチです。光線の実際の経路をシミュレートし、オブジェクトとの相互作用を計算します。これにより、非常に正確でリアルな照明、シャドウ、反射を作成できます。ただし、このリアルさは計算負荷の増加という代償を伴います。各レイのパスと相互作用を計算するには、かなりの処理能力が必要です。

ラスタライズとレイトレーシングの比較

次の表に、ラスタライズとレイトレースの主な違いを示します。

機能 ラスタライズ レイトレーシング
速度 速い 遅い
リアルさ Lower 高い
リソースの使用

このリソース使用量の多さは、デスクトップと比較して処理能力が限られているモバイル デバイスにとって課題となります。この制限は、これまでモバイル プラットフォームでのレイトレーシングの採用を妨げてきました。

Android でのレイトレーシングの選択と実装: 方法論的なアプローチ

Vulkan を使用して Android にレイトレーシングを実装する場合、レイクエリとレイパイプラインの 2 つの主な方法が検討されました。レイクエリは、シェーダー内でのレイを手動で管理できる、よりシンプルなアプローチを提供しました。これは、既存のシステムへの統合がより簡単でした。

一方、Ray Pipelines は、よりスケーラブルなソリューションを提供しており、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 やコンソールと同等の品質に近づけるために大きな力を発揮していることが示されています。詳細なレイ トレーニングの最適化については、Samsung デベロッパー サイトをご覧ください。