Wang氏は『鳴潮』のレンダリングチームでリーダーを務める
開発基盤はUE4.26。Lumenベースのレイトレーシングを低負荷で導入
KURO GAMESのオープンワールドRPG『鳴潮』は、PC / Mac / PS5 / iOS / Android向けに展開されているタイトルです。アニメ調のビジュアルを特徴とし、その表現を軸に世界観を構築してきました。PC版では、2025年2月13日配信のVer.2.1でレイトレーシング機能が実装され、反射、間接光、影といった光表現が強化されています。
『鳴潮』はUE4.26の環境で開発されたタイトルです。長期運営を前提とする以上、開発基盤の安定性を維持することが求められます。そのため、UE5へ移行するのではなく、UE4.26をベースにしながら、LumenなどのUE5世代の設計や機能も一部取り入れ、自前で実装する方針が採られました。
結果として、32km×32kmを超える広大なオープンワールド、時間帯変化によるダイナミックライティング、高速移動を前提としたアクション性、そしてアニメ調の表現を維持したまま、GeForce RTX 4060環境で2K/60fpsを成立させる構成が目標として設定されています。
ラスタライズとレイトレーシングの違い レイトレーシングは、3DCGを2D画像として出力するためのレンダリング手法の一つです。従来のリアルタイムグラフィックスでは、処理効率に優れるラスタライズが主流でした。
ラスタライズでは、ポリゴンをスクリーン座標へ投影し、画面上で覆われるピクセルを判定してシェーディングを行い、フレームバッファへ出力します。見えている範囲を中心に処理できるため、高速で安定した描画が可能です。
一方、レイトレーシングでは、スクリーン上の各ピクセルから光線を飛ばし、シーン全体を探索して衝突したポリゴンを特定し、その結果をもとにシェーディングを行います。
講演ではDirectX Raytracing(DXR)を例に、Bounding Volume Hierarchy(BVH)を探索しながらIntersectionやAny Hitが実行され、最終的に採用する交点はClosest Hitへ、ヒットしない場合はMissへ進む構造が整理されました。
レイにはペイロードが付随し、色や深度といった情報をシェーダー間で受け渡します。
『鳴潮』でも、まずラスタライズでG-Bufferを生成し、その情報を参照しながら、間接光、反射、影をレイトレーシングで計算し、最終的なライティング段階で統合する構成が採られています。
『鳴潮』におけるレイトレーシング表現と技術的条件 『鳴潮』におけるレイトレーシングは、反射、グローバルイルミネーション(間接光)、影の3点に用いられています。水面や金属表現では、画面外の要素も含めた反射が成立し、素材の質感が明確になります。間接光では、光の回り込みによる自然な立体感が得られ、影では、従来手法だけでは表現しきれない細部の遮蔽や奥行きが補われています。
一方で、この表現は『鳴潮』固有の条件の下で成立させる必要がありました。マップは32km×32kmを超える規模で、時間帯変化(TOD)により光源と影が常に変化します。キャラクターの移動速度も速く、カメラワークは激しく変わるため、描画の安定性が強く求められます。これらの条件下では、事前計算に依存したライティングは使いづらく、リアルタイム処理を前提にした構成が不可欠となります。
さらに、『鳴潮』はアニメ調のビジュアルを軸にしたタイトルです。レイトレーシングは写実寄りの挙動を持つため、そのまま適用すると輪郭や色設計が崩れやすくなります。反射や間接光、影を取り込みつつも、アニメ調の表現を維持することが前提条件として設定されています。
これらを踏まえた最終的な成立条件は、広大なオープンワールド、ダイナミックなライティング、高速移動を前提としたアクション性、アニメ調の表現を同時に満たしながら、GeForce RTX 4060環境で2K/60fpsを維持することでした。
技術検証:ReSTIRとLumenの比較 レイトレーシング実装にあたり、『鳴潮』では複数の手法が検証されました。検討対象となったのは、ReSTIRを中心とした構成と、UE5の機能であるLumenをベースにした構成です。いずれも、少ないレイ数で品質を確保し、リアルタイム動作を成立させることを目的としています。
ReSTIRは、時空間方向の再利用によってサンプル効率を高め、少ないレイ数でライティング品質を維持する考え方です。前フレームや周辺ピクセルの結果を参照しながら、有効なサンプルを選別し、それをもとに光の計算を行います。
この構成では、反射回数の増加に伴う計算量を抑えるため、放射輝度を空間的にキャッシュする仕組みや、結果を安定させるためのデノイズ処理が組み合わされました。光漏れが起きにくく、実装の見通しが立てやすい点は利点として整理されています。
一方で、『鳴潮』の条件では、輪郭部や遠景、移動中の画素で高周波ノイズが目立ちやすく、過去フレーム参照によるメモリアクセス増大も避けられませんでした。RTX 4060・2K条件では、ReSTIR本体に加えデノイズ処理のコストが積み重なり、目標とするフレーム時間内に収めるのは難しい、という結果に至っています。
次に検証されたのがLumenです。LumenはUE5世代のグローバルイルミネーション機構ですが、『鳴潮』ではハードウェアレイトレーシング前提の構成を分析し、UE4.26環境へ再構築する形で検証が行われました。
Lumenは、画面内を対象としたプローブベースの間接光計算と、ワールド全体を対象としたキャッシュを組み合わせる構成を持ちます。これにより、広い範囲をリアルタイムに扱いながらも、ノイズと負荷を抑えた安定した結果が得られます。
反射についても、スクリーンスペースを優先し、成立しない部分のみをレイトレーシングで補う構成が前提となっています。
UE5標準の機能をそのまま使うことはできませんが、必要な要素を取捨選択し、UE4.26向けに再実装することで、『鳴潮』の条件に合った機能で最適な環境を構築できる見通しが示されました。
最終的に採用されたのは、ハードウェアレイトレーシング版のLumenをベースにした構成です。実装の複雑さや、条件次第で光漏れが発生する点は残るものの、拡張性とパフォーマンスのバランスが評価されました。
RTX 4060環境では、間接光と反射を含めた処理を数ms単位に抑えられる見通しが立ち、2K/60fpsという目標条件に現実的に近づける結果となっています。
アニメ調オープンワールドとレイトレーシングの融合
アニメ調のオープンワールドにレイトレーシングを組み込むにあたり、まず問題になったのがライト数です。UE4標準のレイトレーシングでは、全ライトを走査する設計になっており、処理負荷の都合から参加できるライト数は最大256に制限されます。多数のライトが配置されるオープンワールドでは、この制約そのものがボトルネックになります。
『鳴潮』ではReGIR機能を導入することで、ワールドを格子状に分割し、各セルごとに影響度の高いライトだけを選別する仕組みを採用しています。
ライト数が600個に達する条件でも、サンプリング処理は0.43msに抑えられ、レイトレーシング処理も2.65msに圧縮できたことが確認されています。
次に課題となったのが、トゥーンシェーダーとの相性です。レイトレーシングによる影は自然で滑らかになりやすく、そのまま適用すると、キャラクターの輪郭や陰影がアニメ調から外れてしまいます。
そのためキャラクターの自影は専用の仕組みで制御し、レイトレーシングの影の対象から外す構成が採られました。一方で、背景とのなじみを保つため、間接光は受け取る設計とし、影響が強くなりすぎないよう調整されています。
キャラクター表現では、ノーマルをカメラ方向へ寄せる処理や、髪や顔に球状ノーマルを用いることで、面の向きによるムラを抑えています。色についても、間接光をHSV(色相・彩度・明度)空間への変換で制御し、黒つぶれや白飛びが起きにくいバランスに整えています。
また、AOを併用して狭い隙間の陰影を補い、肌が周囲の色を過剰に拾わないよう制御することで、全体のトーンを安定させています。衣装の金属パーツでは、ラフネスの範囲を制限し、メタリックを反射強度の指標として扱うことで、挙動を安定させています。
オープンワールド特有の要素として、遠景の植生や演出用オブジェクトには、ビルボードやインポスターが用いられます。これらは内部的に厚みを持たない構造のため、レイトレーシングで影を成立させにくい一方、シャドウマップとは相性が良いという特性があります。
『鳴潮』では、シャドウマップとレイトレーシングを組み合わせた構成を採り、特殊オブジェクトはシャドウマップ側で影を担保し、それ以外の要素ではレイトレーシングの影を活用しています。
レイトレーシングの影では、裏面を描画しないオブジェクトに対して、光が遮られずに抜けてしまうケースもあります。この点については、拾う面を制御するフラグ運用を行い、遮蔽が成立するように補正しています。
あわせて、ピクセル単位でレイトレーシングが必要かを判定し、不要な箇所をスキップするタイル分類を導入することで、影処理の負荷を抑えています。
フォグ表現については、ボリュメトリックフォグをそのまま適用するとGPUコストが高くなるため、トレース対象を限定し、デバイス帯に応じて精度を調整する構成が採られています。
水面表現ではSingle Layer Waterを用い、透過、屈折、反射、影をまとめて扱っています。
水にレイがヒットした場合は、追加のレイを飛ばして得た情報をブレンドし、散乱を感じさせる見え方を成立させています。
透過物についても同様の処理が行われますが、レイヤー管理を徹底することで、負荷が増えすぎないよう制御されています。
空は複数のレイヤーで構成されており、反射に正しく映すためには、レイが何もヒットせずに遠方へ抜けた場合、追加のレイで各層の情報を取得し、合成する必要があります。品質は向上しますがコストが高くなるため、この点はGPU最適化で重点的に調整されています。
パフォーマンスの最適化|GPU編
GPU側の最適化に関する話題では、まず空の扱いが整理されました。空は反射に映り込む頻度が高く、レイトレーシングではレイが何もヒットせずに遠方まで抜けるケースが多発します。
この処理をそのまま行うとコストが膨らむため、『鳴潮』ではスカイボックスを512×512解像度のキューブマップとしてラスタライズでキャプチャし、反射でヒットしなかった場合は、レイ方向に基づいてキューブマップをサンプリングする構成に切り替えました。
さらに、キューブマップは毎フレーム全更新せず、1フレームにつき1面のみ更新する運用とすることで、負荷を分散しています。この結果、反射処理全体のパフォーマンスは約25%改善しています。
次に見直されたのが、レイトレーシングで使用するペイロードです。UE標準のペイロードは64Byte規模ですが、『鳴潮』では必要な情報を精査し、タイトル側のデータ構造に合わせて32Byteまで圧縮しています。
これにより、GPUトレーシング性能は約15%向上しました。さらに小さいサイズも検証されていますが、品質とのバランスを考慮した結果、32Byteが実運用上の落としどころとされています。
マテリアル処理についても整理が行われました。レイトレーシングは主に光の挙動を扱うため、すべてのケースでフルの物理ベースマテリアル計算が必要になるわけではありません。
特に間接光では、反射ほど細かな材質分岐を持たせる必要がないため、処理系統を分離し、不要な計算を省く構成が採られています。静的分岐を用いて必要なパスだけを通すことで、全体の負荷を抑えています。
加えて、透過判定のコスト削減にはOpacity Micro-Map(OMM)が活用されています。植生など、透過を多用するオブジェクトでは効果が大きく、トレース効率の改善につながっています。負荷の高いシーンではShader Execution Reordering(SER)も有効で、シェーダー実行のばらつきを抑えることで、GPU全体の実行効率を引き上げています。
これらを最適化して、レイトレーシングを有効にした状態でも、GPU側の処理は目標とするフレーム時間内に収まる構成が成立しています。
パフォーマンスの最適化|CPU編
CPU側の最適化では、レイトレーシング有効時にフレーム時間を押し上げていた要因が整理されました。Wang氏は、UE4環境ではGPUよりも先にCPUがボトルネックになりやすい点を指摘しています。インスタンス収集(Gather Instances)、加速構造の構築(Build Acceleration Structure)、SBTのバインド(Bind SBT)といった処理が積み重なり、RHIスレッドの待ちも含めて数ms単位の遅延を生んでいました。
最初に見直されたのは、オープンワールド特有の大量オブジェクトを前提としたカリング処理です。距離や立体角に基づく段階的なカリングをCPU側で行い、レイトレーシングの対象となるインスタンス数そのものを抑えました。
あわせてRoot Signatureの設計も整理され、各所に分散していた共通データをまとめ直すことで、不要なバインドを削減しています。この段階で、レイトレーシング有効時でもフレーム時間は16.6msに近づいたと説明されています。
次に行われたのが、処理の前倒しとスレッド分散です。Gather Instancesなど、依存関係を保ったまま実行できる処理を別スレッドへ逃がし、レンダリングパイプラインが待たされにくい構成へ移行しました。
加速構造の構築についても、毎フレーム更新が不要な部分を切り出して事前処理に回し、動的に変化するBLASやTLASのみをフレーム内で扱う方針が取られています。その結果、フレーム時間は14.5ms水準まで改善しました。
最終段階では、Bind SBT処理そのものが分解。シェーダーやリソース、ジオメトリのうち、静的な要素をあらかじめバインドしておくPre Bind SBTを導入し、フレーム内で実行する処理量をさらに削減しました。
この最適化により、レイトレーシング有効時のフレーム時間は10.5ms水準まで短縮されています。
参考として、レイトレーシング無効時は7.35ms程度が示され、CPU側のボトルネックはほぼ解消された、という整理につながっています。
レイトレーシング対応デバイスの拡大や、高品質&低負荷の両立など。将来的な技術革新の展望
Wang氏は最後に、技術的な広がりについても言及しました。まず挙げたのは、レイトレーシング対応プラットフォームの拡大です。現時点ではPCを中心とした実装ですが、対応デバイスの裾野をどう広げていくかは、引き続き検討課題として位置づけられています。
あわせて、実行効率の改善につながる新しい仕組みの研究も進められています。シェーダー内で直接レイを扱えるインラインレイトレーシングや、リソース管理の自由度を高めるバインドレスといった技術は、その代表例です。これらは単純な品質向上ではなく、同じ表現をより軽く成立させるための選択肢として捉えられています。
ジオメトリ表現についても、UE5世代で注目されるNaniteのようなメガジオメトリ技術を意識した言及がありました。UE4.26へそのまま持ち込むことは難しいものの、大量ポリゴンを前提とした設計思想や処理の考え方は、今後の改良に活かせる余地があるとしています。
さらに、影や透過表現といったレイトレーシング効果そのものの強化も視野に入っています。距離や解像度に左右されにくい影表現、エフェクトや透過物を含めた一貫した光の扱いなど、品質面での課題はまだ残っており、段階的に手を入れていく方針を示しました。
『鳴潮』公式サイト 「Unreal Fest Tokyo 2025」特設サイト
1987年生まれ。会社経営者。大学時代はFPSにハマって留年。
「キャリアコンサルタント」から「飲食メディア編集長」を経て、eスポーツ業界へ。
7年間のeスポーツ取材の経験をもとに、eスポーツ専門の編集プロダクション兼、取材代行会社を設立。