0.9K Views
August 31, 26
スライド概要
2026年8月26日に開催されました「Unreal Engine Tokyo Dev Days 26'」イベントの「マルチプラットフォームを見据えたグラフィクスのスケーラビリティ戦略」講演のスライドです。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
DevDay 2026 マルチプラットフォームを見据えた グラフィクスのスケーラビリティ戦略 Epic Games Japan Customer Success, Director 篠山範明
スケーラビリティとは 品質を切り替えることで、 ロースペックからハイエンドまで幅広いマシンにゲームを対応させる概念・仕組み
Nanite Nanite は難しい は可能 Lumen Lumen は難しい は可能 VSM VSM は難しい は可能 TSR TSR は難しい は可能 今日のお題 : UE5の先端グラフィクス技術が 動くスペック と動かないスペック のプ ラットフォームでどうやってマルチプラットフォームを実現する?
MegaLightsのページを見てみます
MegaLightsは一部プラットフォームで未対応 UE5.8現状) Official Document: MegaLights
プラットフォームサポートの注意点 UE5のグラフィクス機能のいくつかは、 プラットフォームによっては非推奨もしくは未対応 のものがあります
UEの推奨スペックページを見てみます
Official Document: ハードウェアおよびソフトウェアの仕様より
パフォーマンスの注意点 UE5の最新のグラフィクス機能のいくつかは ローエンドな PCや特定のプラットフォームでは 十分な速度がでないかもしれません
コンソール版をリリースする予定はありませんか? それでもPCのスケーラビリティは重要! 例:Fortnite - GPU Epic品質プリセットの推奨スペック NVIDIA RTX 3070 推奨システム要件 NVIDIA GTX 960 最小システム要件 PC:Intel HD 4000 PC上で『フォートナイト』に最低限必要なシステム要件を教えてください
コンソール版をリリースする予定はありませんか? それでもPCのスケーラビリティは重要! 例:Fortnite - GPU Epic品質プリセットの推奨スペック NVIDIA RTX 3070 → 25% user 推奨システム要件 NVIDIA GTX 960 75% user 最小システム要件 PC:Intel HD 4000 → 90% user Steam Hardware & Software Survey
スケーラビリティは、コンソールだけでなく PCにおいても非常に重要です 60% 40% RTX GPU ユーザー 非RTX GPU ユーザー Steamユーザーの約60%がRTX GPUを使用して います。 残りの約40%は、GTXシリーズなどの非RTX GPU を使用しており、レイトレーシングの使用は推奨され ません。 Steam Hardware & Software Surveyより
本日話すこと 01 UEのグラフィクススケーラビリティ設定の基礎 脇道 マルチプラットフォーム開発における 失敗事例紹介 02 デスクトップレンダラー上での マルチプラットフォーム戦略 03 マルチプラットフォーム向けアセット最適化機能紹介と実 情 04 モバイルレンダラーも加味したマルチプラットフォーム・グ ラフィックス戦略の検討
本日話さないこと ● 各種コンソール固有の具体的な数値や設定 ● 各種グラフィクス技術の深堀 ● Animation/PCG/Massなどのスケーラビリティ
UEのグラフィクススケーラビリティ設定の基礎
Scalability?
スケーラビリティとは 品質を切り替えることで、 ロースペックからハイエンドまで幅広いマシンにゲームを対応させる概念・仕組み
スケーラビリティとは 低LOW 中MEDIUM 高HIGH EEPIC CCINEMATIC UEでは低、中、高、 Epic、シネマティックの 5段階設定を採用 各レベルにおいて使用機能の切替やパラメータ調整が行われます
スケーラビリティとは 低LOW 中MEDIUM 高HIGH EEPIC モバイル SW1 PS4 XB1 PS5 XSX ※UEFNの基準より CCINEMATIC
Scalability BaseScalability.ini 各スケーラビリティレベルは、 複数のCVarの組み合わせによって定 義されています これらのCVarは、 プロジェクトの .iniにて 自由に上書きできます
Scalability Platform/DeviceProfiles.ini さらに、 スケーラビリティ設定は 特定のプラットフォーム向けに 個別に上書きすることもできます
デバイスプロファイル 特定のデバイス上での設定を記述したテキストファイル (*.ini) パフォーマンスを調整するのに利用する 複数のファイルを階層構造で解析して動作 ● ● ● ● EngineDir]/Config/BaseDeviceProfiles.ini ProjectDir]/Config/DefaultDeviceProfiles.ini エンジンのプラットフォーム毎のini ○ EngineDir]/Config/Android/AndroidDeviceProfiles.ini ○ EngineDir]/Config/iOS/iOSDeviceProfiles.ini ○ EngineDir]/Platforms/Console]/Console]DeviceProfiles.ini プロジェクト側のプラットフォーム毎のini ○ ProjectDir]/Config/Android/AndroidDeviceProfiles.ini ○ ProjectDir]/Config/iOS/iOSDeviceProfiles.ini ○ ProjectDir]/Platforms/Console]/Console]DeviceProfiles.ini
デバイスプロファイルの 階層構造 Windows DeviceProfile Console DeviceProfile GlobalDefault DeviceProfile iOS Low iOS DeviceProfile iOS Mid iOS High Android Low Andoid DeviceProfile Android Mid Android High
デバイスプロファイルの 階層構造 Windows DeviceProfile Desktop DeviceProfile Console DeviceProfile GlobalDefault DeviceProfile iOS Low iOS DeviceProfile iOS High Mobile DeviceProfile 共通基底プロファイルを追加可能 iOS Mid Android Low Andoid DeviceProfile Android Mid Android High
プラットフォームプロファイル プラットフォーム デバイスプロファイル サブプロファイル Windows DeviceProfile Desktop DeviceProfile Console DeviceProfile GlobalDefault DeviceProfile iOS Low iOS DeviceProfile iOS Mid iOS High Mobile DeviceProfile Andorid Low Android DeviceProfile Android Mid Android High
プラットフォームプロファイル プラットフォーム デバイスプロファイル Windows DeviceProfile Desktop DeviceProfile Console DeviceProfile クック&パッケージ化 クック&パッケージ化 GlobalDefault DeviceProfile iOS DeviceProfile クック&パッケージ化 Mobile DeviceProfile Andoid DeviceProfile クック&パッケージ化
Agenda 01 UEのグラフィクススケーラビリティ設定の基礎 脇道 マルチプラットフォーム開発における 失敗事例紹介 02 デスクトップレンダラー上でのマルチプラットフォーム戦略 03 マルチプラットフォーム向けアセット最適化機能紹介と実 情 04 モバイルレンダラーも加味したマルチプラットフォーム・グ ラフィックス戦略の検討
マルチプラットフォーム開発における 失敗事例紹介
失敗事例 : 1 開発はPC上でのみ行われ、 実機でのプロファイリングは プロジェクト終盤まで実施されない パブリッシャーの定期チェックは、 超ハイエンド PCでゲームをプレイしてもらう 実機プロファイリング無し トレーラー収録もPC版! 試遊デモももちろんPC! アナウンス 「PS5、Xbox、Switchで同時発売します!」 リリース目標プラットフォーム
失敗事例 : 2 各コンソールとおおよそ同等の スペックを持つ PC上でテストを実施 まったく当てになりません 実機でテストしなければ、 意味がありません 実機プロファイリング無し UE5のコードが違う !!!! プラットフォームの SDKが違う プラットフォームの OSやドライバも違う そもそもハードウェアが違う リリース目標プラットフォーム
失敗事例 : 3 最もスペックの高いコンソール のみで計測 まだ少しはマシかもしれません…… グラフィックスは品質を落とせば 何とかなるかも? 実機プロファイリング ...有り メモリに収まらなかったら? クラッシュ!! I/Oが遅すぎたら? 快適とは言えないゲーム体験に... リリース目標プラットフォーム
環境改善とスケーラビリティ 日々の確認と調整が スケーラビリティの鍵 DevDay 2026 Japan Horde / Zen 関連の講演 マルチプラットフォーム開発では特に、 具体的な設定のみならず、 日々の確認や細かな調整 が極めて重要です そのためにEpicはHorde/Zenをはじめとした 開発環境改善の仕組みを提供し スピーディーな開発を支援しています 本日も関連する講演があります! ぜひご参考に! 1600〜1645 Horde update + Lore introduction 1700〜1745 開発効率化のための Zen利用ベストプラクティス
ちなみに。。。一つ成功例を。。。
成功例 最も低いスペックを 基準にする スタイライズド系タイトルなどで このアプローチが実施 全てのプラットフォームで、メモリ、ロード時間、レン ダリングに関する問題は発生せず 実機プロファイリング ...有り ハイスペックなプラットフォームでは、 内部解像度やフレームレートの引き上げに成功 リリース目標プラットフォーム
Nanite / Lumen Nanite / Lumen は難しい は可能 そうはいっても、 やっぱりハイスペック環境では Nanite/Lumen使いたい!! → という方のための内容がこれからの項目です 実際にどのようにして異なるスペック間でマルチプラットフォームを実現するのか? 実際のタイトル開発事例や、ヒアリングから得られた実践的なアプローチをご紹介します。
Agenda 01 UEのグラフィクススケーラビリティ設定の基礎 脇道 マルチプラットフォーム開発における 失敗事例成功事例紹介 02 デスクトップレンダラー上でのマルチプラットフォーム戦略 03 マルチプラットフォーム向けアセット最適化機能紹介と実 情 04 モバイルレンダラーも加味したマルチプラットフォーム・グ ラフィックス戦略の検討
デスクトップレンダラー上での マルチプラットフォーム戦略
免責事項 01. 一般ガイダンス 02. 個別最適化 03. 適合性の検討 本セッションは一般的なガイダ ンスを目的としたものであり、 どのプロジェクトにも適用でき る万能な解決策ではありませ ん 最適なアプローチは ゲームごとの要件や設計に よって異なります 本セッションの内容はあくまで 参考情報としてご活用いただ き、ここで紹介する知見がご 自身のプロジェクトに適してい るかどうかを、十分に検討し てください
本日見ていく内容 UE5 Graphics Features 01 Lumen 02 03 Nanite Virtual Shadow Map 04 05 Megalights Anti Aliasing 06 Substrate 07 Variable Rate Shading
Lumen ライティングとワールドの両方を動的に変更可能 ベイク不要 ライトマップUV不要
GIなし
GIあり - Lumen
重要: Lumen は間接光GIだけのものではない Lumen: ON Lumen:OFF Lumenはグローバルイルミネーション( GI)だけでなく、 スカイライトのオクルージョン(スカイライトによる影)も計算します
Lumen UE 5.8から軽量版Lumen「Lumen Lite」が搭載! GI Qualityを中Mediumに設定すると Lumen Liteがデフォルトで有効になります
Lumen
Lumen Lite
GIなし
Lumen Lite? なにが違うの?
"Lumen Lite" など存在しない …ソースコードの中には
Lumen Algorithm Overview Generate Cards for Each Mesh Preprocessing (Editor) Lumen Scene Update and Lighting Compute GI on Screen-Space Grid (Using Ray Tracing Runtime Upsampling!
"Lumen Lite"による変更部分は? CVarによる 調整 Generate Cards for Each Mesh Preprocessing (Editor) Lumen Scene Update and Lighting アルゴリズムの 変更 Compute GI on Screen-Space Grid (Using Ray Tracing Runtime Upsampling!
Lumen Lite → Irradiance Field Gather これまでのScreenProbeGatherはScreen上で細かめにProbe情報を収集するため重い Irradiance Field Gatherは格子状で必要なものから1フレーム指定数(コスト)のProbeを更新。 Screen Probe Gather Irradiance Field Gather r.Lumen.FinalGatherMethod 1 r.Lumen.FinalGatherMethod 0
Lumen Lite Beta - DiffuseIndirectAndAO負荷例 Screen Probe Gather Irradiance Field Gather おおよそ2倍の高速化 Ryzen Threadripper PRO 3995WX Geforce RTX 3080
Lumen Lite: Reflection Reflection Quality = 中Medium)では、 スクリーンスペースリフレクション(SSR)が使用 されます
それでも『Lumen Lite』の負荷が高すぎる場合は?
「Lumen Lite」でもまだ負荷が高い場合は… 三つの実例を紹介... 1. Distance Field Ambient Occlusion DFAO 2. スカイライトを調整 3. ライトベイクとの併用
事例1 Distance Field Ambient Occlusion(DFAO) Fortniteʼs Real-Time Lighting Techniques and Tools | GDC 2018 グローバルイルミネーション(GI)には寄与しませんが、 低コストでスカイライトのオクルージョンを近似します
事例1 Distance Field Ambient Occlusion(DFAO) ● Project Settingsで「Mesh Distance Fields」を有効 ● Sky Lightの ˮDistance Field Ambient Occlusionˮ から効果を調整
No - GI
GI Distance Field Ambient Occlusion
Lumen
GI Distance Field Ambient Occlusion
「Lumen Lite」でもまだ負荷が高い場合は… 三つの実例を紹介... 1. Distance Field Ambient Occlusion DFAO 2. スカイライトを調整 3. ライトベイクとの併用
事例2 スカイライトを調整 Obscure Techniques for Better Development Experience and Visual Candy Unreal Fest 2024 Lumenを使用しない場合、スカイライトのオクルージョンが失われる... その対策として、 プレイヤーが屋内エリアに入った際にSky Light Intensityを下げるカスタムボリュームを作成し、手作業で 配置します
事例2 スカイライトを調整 副作用 1 建物の中に入る ↓ Sky Light Intensityを下げる ↓ 屋内から外を見たとき、 Sky Lightにより照らされていた部分が不自然に暗 くなったり、 黒く潰れて見えたりする場合があります 建物の中から外を見てみる
事例2 スカイライトを調整 副作用 2 建物の外にいる ↓ 通常のSky Light Intensity ↓ 屋外から建物の中を見たとき、 屋内にもSky Lightの影響が残るため、 不自然に明るく見えてしまいます
事例2 スカイライトを調整 副作用 2 各出入口に半透明のPlaneを配置します。 ↓ その色を動的に調整することで簡易的に近似 し、視覚的な違和感を軽減します。
No - GI
GI Skylight 調整
Lumen
事例2 スカイライトを調整 独自のSky Light Fade Volumeを作成し プレイヤーが建物内に入った際に、Sky Lightの寄与を下げる
事例3 ライトベイクとの併用 Lighting in UE5 Scaling for Quality & Performance | Unreal Fest Bali 2025 ゲーム内でライティングの動的変化がほとんどなかったため、ライトベイクを採用 ハイエンドでは エミッシブライティングやリフレクションを実現するためにLumenを採用
事例3 ライトベイクとの併用 Lumen ライトベイク Static ライトはLumen環境下では無視されます. Movable ライトは ライトベイクはされずランタイムで計算 Stationary ライト ライトベイクにもLumenどちらにも適用されるぞ!
事例3 ライトベイクとの併用 この講演では 全部をStationary Lightで置くことで ライトベイク - Lumen どちらにも対応するライトにしています
事例3 ライトベイクとの併用 しかし、ご存じの通り Stationary Lightは4個以上オーバーラップできません オーバーラップしたライトのどれかはDynamic Lightとして扱われ動的に計算されます
事例3 ライトベイクとの併用 この講演では ● ライトはStationary Light ● その代わりRadiusを減らし 極力オーバーラップをしないように ● ライトの Indirect Lighting Intensity を上げて、 GI成分強めに出すようにしている
「Lumen Lite」でもまだ負荷が高い場合は… 三つの実例を紹介... 1. Distance Field Ambient Occlusion DFAO 2. スカイライトを調整 3. ライトベイクとの併用
本日見ていく内容 UE5 Graphics Features 01 Lumen 02 03 Nanite Virtual Shadow Map 04 05 Megalights Anti Aliasing 06 Substrate 07 Variable Rate Shading
Nanite = Virtualized Geometry シネマクオリティの超高密度ポリゴンをリアルタイムでレンダリング LODの作成も不要
Nanite: プロジェクト全体で Offの場合はどう動く? ● ● NaniteはFallbackMeshという通常のLODベースのポリゴンメッシュを持つ そのFallbackMeshを用いて通常のポリゴンベースのレンダリングを行う → 従来通り丁寧に LODを作成していく必要がある Naniteメッシュ Fallback Mesh
Nanite: フォールバックメッシュの作られ方 /作り方 ● ※Fallback Mesh及びLODモデルは UE5の機能で自動作成ができます ● 自動生成ではなく、 自作したLODモデルを使いたい? ● それは可能です しかし設定に少し癖があります ● オフィシャルドキュメントを ご確認ください Nanite が有効なメッシュに カスタム フォールバック メッシュ LOD を使用する
Nanite: ユニークなメッシュ数の注意点 またNaniteの様なピクセルベースでのストリーミングがないため、ユニークなメッシュが多いと それだけメモリを圧迫するかもしれません Mesh Streamingを試してみても良いかもしれません
Mesh Streaming ● プロジェクト全体設定 Project Settingsで “Mesh Streaming”をONに ● 各オブジェクト単位の Streaming設定 ○ ○ ● LOD StreamingでStreaming対象か設定 Num Streamed LODsでStreamできるLODの数を設定 LOD Group単位でのStreaming設定 ○ ○ bSupportLODStreaming=1で Streaming対象に MaxNumStreamedLODsで一括設定
VSM Virtual Shadow Map
Virtual Shadow Map ● Shadow Mapの解像度問題への対策 ● Virtual Textureの仕組みを活用した Shadow Map ● 視点に近い部分のShadowMapは細かく 視点に遠い部分のShadowMapは荒く... などができます
VSM Offの場合のはどう動く? Virtual Shadow Mapsを無効にすると、Unreal Engineは従来のシャドウマッピング パイプラインにフォールバックします。 → Cascaded Shadow Maps(CSM)などの従来手法を使って、 パフォーマンスと画質を調整します
Megalights
Megalights ● 数百個以上の動的な影つきライトをリアルタイムでレンダリングできる
Megalights ● なんで沢山のライトがおけるの? ● ● 1フレーム、各ピクセルでの最大サンプリング量を固定している ライトの数が増えても処理負荷が増大しにくい Megalightsのライトサンプリングの参考動画
従来のライティングと MegaLights の違い 従来:ライトごとに回す MegaLights:ピクセルごとに固定本数 ライト 1 シャドウマップを描く → 適用 候補からサンプルを選ぶ(確率的) ライト 2 シャドウマップを描く → 適用 選んだ分だけシャドウレイを飛ばす ライト 3 シャドウマップを描く → 適用 シェーディング ⋮ ライトの数だけ繰り返す デノイズ(時間+空間) コストはライト数に比例 コストはほぼ一定 ライトを増やすほど重くなる ピクセル数 × サンプル数で決まる
MegaLights | 対応・非対応プラットフォームでのスケーラビリティ プラットフォーム対応状況 エンジンの現状制限 対応機種 HWレイトレーシング対象 ) 特定のプラットフォームだけで個別のライトやシャドウを無効 化するための組み込み機能は、現時点でエンジン側には用 意されていません。 PlayStation 5 / Xbox Series X|S / ハイエンドPC 非対応機種 モバイル / Nintendo Switch / PlayStation 4 / Xbox One 慎重な検証が必要 ... ● MegaLightsの有効/無効を、すべてのプラットフォー ムで一貫して統一するべきかもしれない ● もしくはスケーラビリティ対応のため、 プラットフォームごとに挙動を切り替えられるカスタム ライトを個別に実装すべきかもしれない
TSR Anti-Aliasing)
Temporal Super Resolution TSR ● ● 低解像度のレンダリングを行いつつ、 過去の複数フレームを参照して アップスケールする手法 計算するピクセル量を減らすので、 Nanite/Lumen含めた多くの処理負荷を劇的に下げる
1080p → 4k upscale PC
4k Native PC
4K Native 57.33ms TSR Upscale 1080p to 4K 26.08ms
TSR ローエンドプラットフォーム向けの代替手段は? ● ● TSRは非常に強力ですが、 一定のパフォーマンスコストがかかります ローエンドプラットフォームでは、 このコストが大きな負担になる場合が → ● UE4から利用可能な TAAU(Temporal Anti-Aliasing Upscale)は、より 現実的な代替手段となるかも
TSR 70% 1080p - 7.0m
TAA 70% 1080p - 1.3m
TSR 50% 2x TAA 50% 2x
TSR vs TAA TSR TAAU ● 非常に低い内部解像度からでも 高品質なアップスケーリングを 実現 ● アップスケーリング品質は TSRより低い ● レンダリング負荷は比較的高め ● TSRに比べレンダリング負荷を大幅 に抑えられる TSRの負荷が高すぎるプラットフォームでは、 内部レンダリング解像度を可能な限り高く維持 しつつ、TAAUを使用 が現実的な戦略の一つかも?
Substrate
Substrateのモチベーション 旧マテリアルは UE4時代から連綿と受け継がれてきた構造をもち いくつかの制約がでてきました。 それを乗り越えるということがモチベーションになりました。 業界標準との連携 金属から非金属への ブレンド時に発生する 白化アーティファクト 複雑な光学現象を低リソース で標準実装
Substrateで実現される新しい表現 複数の層が積み重なった 複雑なコーティングに さらに埃の層を重ねる リアルなシャボン玉や油膜の表現
Substrate ● 新しいマテリアルシステム ● UE5.7からデフォルトでON ● ※既存のマテリアルへの変更は 不要 ○ シェーダコンパイラが変換
Substrate Substrateの詳細は 弊社鈴木によるこちらの資料をご参考になさってください!
Substrate - Adaptive GBuffer RenderTarget 複雑な表現や多層構造のマテリアルを実 現するために、マテリアルの複雑度に応 じて任意のサイズの情報をG-Bufferに書 き込む SceneColor 複雑なマテリアルパラメータなどは Texture Arrayに別途書き込まれる ● bSupportsAdaptiveGBuffer=false PrecomputeShadow (OptIn) RT0:MaterialBuffer0 RT1:MaterialBuffer1 RT2:MaterialBuffer2 TopLayer TextureArray0 MaterialBuffer3 TextureArray 負荷とメモリ使用量が高いため、一部の プラットフォームではデフォルトで無効 Velocity (OptIn) TextureArray1 MaterialBuffer4 TextureArray2 MaterialBuffer5 TextureArray3 MaterialBuffer6 TextureArray4 MaterialBuffer7 TextureArrayN MaterialBufferN+3
Substrate - Blendable GBuffer ● コンソール機での60fpsターゲット向け ● 従来と同等の20Byte+のRenderTarget で出力 ● ハードウェアブレンディングが利用可能 ● Substrateの一部機能が省略される ○ F90/Glint/SecondRoughness等 MRT0 SceneColor (Emissive) - MRT1 WorldNormal PerObject GBufferData MRT2 Metallic MRT3 BaseColor MRT4 CustonData Specular Roughness ShadingModel+ Mask AO
Substrate - 二つのGBuffer形式から選択 Blendable GBuffer Adaptive GBuffer コンソール機での 60fpsターゲット向け 従来と同等の RenderTargetで出力 Substrateの一部機能が省略される 複雑な表現や多層構造のマテリアルを実現するた めに、マテリアルの複雑度に応じて任意のサイズ の情報をGBufferに書き込む MRT1 SceneColor (Emissive) - WorldNormal PerObject GBufferData MRT2 Metallic MRT3 BaseColor MRT4 CustonData Specular Roughness AO PrecomputeShadow (OptIn) RT0:MaterialBuffer0 RT1:MaterialBuffer1 RT2:MaterialBuffer2 TopLayer ShadingModel+ Mask TextureArray0 MaterialBuffer3 TextureArray MRT0 RenderTarget SceneColor Velocity (OptIn) TextureArray1 MaterialBuffer4 TextureArray2 MaterialBuffer5 TextureArray3 MaterialBuffer6 TextureArray4 MaterialBuffer7 TextureArrayN MaterialBufferN+3
Substrate: ローエンドデバイスも考慮したスケーラビリティ ● Platform毎にBlendableとAdaptiveを切り替える事自体は可能 しかし... ● マテリアルエディタ上で切り替えて確認するワークフローには 対応していない ○ GBufferフォーマットでのSwitch無し ● 現実的な(もしくは楽な)戦略 ○ すべてのプラットフォームで、 一貫したGBuffer Format(Blendable)を使用
Variable Rate Shading
Variable Rate Shading VRS ● Variable Rate Shading? ○ GPUが、ピクセル単位ではなく 12や22などの粗い単位 でシェーディングできようにする ● 現在のほとんどの GPUでサポート ○ r.VRS.Enable=1 ● VRS二種類の設定方法 ○ マテリアル単位 ■ マテリアルごとに シェーディングレート (粗さ)を設定 ○ Contrast-Adaptive VRS ■ 前フレームの出力をもとに、 画面のそれぞれの部分の シェーディングレートを自動的に決定 ■ r.VRS.ContrastAdaptiveShading
Variable Rate Shading - Shading Rate マテリアル単位で設定 ● Allow Variable Rate ShadingをONDefault: ON ● Shading Rateを設定 ● 煙など、低周波かつ半透明なエフェクトでおすすめ クオリティを落とさずに負荷を大きく下げられるかもしれない
Variable Rate Shading - Shading Rate No VRS 22 44
Variable Rate Shading - Contrast Adaptive Shading ● 前フレームから、低周波で視覚的に変化の少ない領域を自動的に特定 ○ それらの領域は、より低いシェーディングレートでレンダリング ● これらの領域を特定するために、別途Compute Shaderパスが必要です。 ○ シェーディング負荷削減による高速化を得られるか、慎重に評価する必要があり ● ● ● ● ● 11 Red 1X2 Orange 21 Yellow 22 Green VRS Off VRS ON
本日見ていく内容 UE5 Graphics Features 01 Lumen 02 03 Nanite Virtual Shadow Map 04 05 Megalights Anti Aliasing 06 Substrate 07 Variable Rate Shading
Agenda 01 UEのグラフィクススケーラビリティ設定の基礎 脇道 マルチプラットフォーム開発における 失敗事例成功事例紹介 02 デスクトップレンダラー上でのマルチプラットフォーム戦略 03 マルチプラットフォーム向けアセット最適化機能紹介と実 情 04 モバイルレンダラーも加味したマルチプラットフォーム・グ ラフィックス戦略の検討
マルチプラットフォーム向け アセット最適化機能紹介 と 実情
Preview Platform Platform/DeviceProfiles.ini
Preview Platform ● ● ● Texture Groups preview Texture streaming budget emulation UI improvements
ヒアリング結果 でもみんな Platform Preview あまり使ってないって!
Platform Previewは使われない? 残念ながら、日常的に使っている人はほとんどいませんでした。主な理由は2つでした ワークフロー アーティストやその他のチームメンバーに とって、毎日の作業の中で プラットフォー ムごとの見た目を手動で確認するのは負 担が大きいため 再現性 エミュレーションでは実際の パフォーマンスやレンダリング負荷 を正確に再現できない 結局は実機でのテスト が重要なため
Material Quality Switch
Niagara Scalability
Niagara Scalability
ヒアリング結果 でもみんな Material Quality Switchも Niagara Scalabilityも あまり使ってないって!
Material Quality Switch /Niagara Scalability は使われない? ヒアリングしたほぼすべてのプロジェクト で限定的な利用 多くのチームから共通して聞かれたリアルな 意見 「アセット 単位でプラットフォーム向けに 個別 調整したくない」 全体として、より大きな単位( Scalability設定 など)でまとめてシンプルに制御・管理したいと いうニーズが極めて強い傾向にあります 一部での Niagara Scalability 活用例 特定の高負荷エフェクトやプラットフォーム特 性に合わせた最適化に活用 負荷の高い Emitterの無効化 LightEmitterなど、処理負荷が特に高いコン ポーネントをアセット個別にカット プラットフォーム別でのエフェクト制限 ローエンドハードウェアにおいて、負荷の高い Distortion(画面歪み)効果のみを狙い撃ちで 無効化
Platform Override 各プラットフォーム別に個別に値を上書きできる機能 プラットフォームに合わせてアセット設定 (LOD、テクスチャ解像度など)を個別に設定 Static Mesh Skeletal Mesh Texture • Minimum LOD • Num Streamed LODs • Minimum LOD • Screen Size • DownScale • Only 2D textures without mips
ヒアリング結果 でもみんな Platform Override あまり使ってないって!
Platform Override は使われない? この機能も、利用は限定的でした! 先ほどと同様の課題 検証チームからのフィードバック アセット個別で設定したくない…… 背景アセット限定 : もっと大きな、プロジェクト単位などで一括し て調整したいというニーズが強く、 個別設定のデータ整理の煩雑さがネックに カットシーンでの断念 : MinLODは背景アセットにのみ使用 全プラットフォームでカットシーンに LOD0が 必要となり導入を断念 UIテクスチャでの限定利用 : 4K対応プラットフォームとそれ以外で設定を 分ける用途のみに適用
Agenda 01 UEのグラフィクススケーラビリティ設定の基礎 脇道 マルチプラットフォーム開発における 失敗事例成功事例紹介 02 デスクトップレンダラー上でのマルチプラットフォーム戦略 03 マルチプラットフォーム向けアセット最適化機能紹介と実 情 04 モバイルレンダラーも加味したマルチプラットフォーム・グ ラフィックス戦略の検討
モバイルレンダラーも加味した マルチプラットフォーム・グラフィックス戦略の検討
モバイルレンダラーはモバイルデバイスのためだけのものか?
モバイルレンダラーはモバイルデバイスのためだけのものか? Mobile Game Development with Unreal Engine | Unreal Fest Orlando 2025
モバイルレンダラーはモバイルデバイスのためだけのものか? Mobile Multipass Deferredは 以下でも使用されています ● ● その他の携帯型コンソール PCのPerformance Mode Mobile Game Development with Unreal Engine | Unreal Fest Orlando 2025
UE5におけるモバイルで利用可能なレンダラー 5.7~ Mobile Forward Mobile Deferred Subpass 軽量化のため 一部の機能が制限 モバイル向け(タイルベースの GPU)に軽量化されているディ ファードレンダラーで、フォ ワードでは利用できない描画機 能を利用できる
UE5におけるモバイルで利用可能なレンダラー Mobile Forward Mobile Deferred Subpass 軽量化のため 一部の機能が制限 モバイル向け(タイルベースの GPU)に軽量化されているディ ファードレンダラーで、フォ ワードでは利用できない描画機 能を利用できる 5.8~ Multipass Desktop Deferred Rendererによ り近い機能を備える 従来のSubpass Rendererよりも 複雑なレンダリング表現に対応 Subpassよりもレンダリング 負荷が高くなる場合あり
Multi-Pass と Subpassの切り替え ● ● CVar in .ini ○ Multipass ■ r.Mobile.AllowFramebufferFetch=0 UE5.8 Default) ○ Subpass ■ r.Mobile.AllowFramebufferFetch=1 このCVarはRead-onlyであり、 変更のためには再起動及びシェーダの再コンパイルが必要
Fortniteではどのレンダラーを使っているの?
Fortniteではどのレンダラーを使っているの? Mobile Game Development with Unreal Engine | Unreal Fest Orlando 2025
Fortniteではどのレンダラーを使っているの? ● 以前は mobile forward ● 今は multipass deferred Mobile Game Development with Unreal Engine | Unreal Fest Orlando 2025
Multi-Pass Deferredは、多くのモバイル端末では重すぎる? ● 右の表は FortniteのAndroid向け最小/推奨スペック ● 3Dゲームをモバイルでもプレイするユーザを軸で 見ると Multi-Pass Deferredを実用的に動作させられる ハードウェアを使用しているユーザが多い
あなたのプロジェクトに最適なレンダラーはどれか? Mobile Forward Mobile Deferred Subpass モバイルのみ モバイルのみ シンプル 軽量 カジュアル 2D? 幅広いモバイルユーザーを ターゲットとした、比較的高品 質な3Dゲーム Multipass PCからモバイルまでの マルチプラットフォーム デスクトップレンダラーにで きるだけ近いレンダリング パスを使用
本日見ていく内容 UE5 Graphics Features 01 Lumen 02 03 Nanite Virtual Shadow Map 04 05 Megalights Anti Aliasing 06 Substrate 07 Variable Rate Shading 時間の関係上 Lumenだけ...
r.mobile.DistanceFieldAO OFF ON
Diffuse Ambient Capture UE 5.8
Reflection Capture のランタイム対応 これまで事前ベイクの必要があった ReflectionCaptureがRuntaime実行に対応 コンポーネントごとの設定とコンソール変数で有効化 r.ReflectionCapture.Runtime 1 ・デフォルト設定 r.ReflectionCapture.Runtime.Mode 1 (1の場合1回キャプチャ、0の場合継続してキャプチャ) r.ReflectionCapture.Runtime.Timeslice 1 (毎フレーム何枚キャプチャするか) r.ReflectionCapture.Runtime.Budget 0 (何個のリフレクションキャプチャをアクティブにするか)
Diffuse Ambient Capture ReflectionCaptureの下位MipにDiffuse irradianceを保存し活用 Lumen代用の間接光表現等に .INIに以下の設定を追加(要再起動) r.Mobile.DiffuseFromCapture=1 RuntimeのCaptureが必要 r.ReflectionCapture.Runtime 1
Diffuse Ambient Capture ReflectionCaptureの下位MipにDiffuse irradianceを保存し、 Lumen代用の間接光表現等に .INIに以下の設定を追加(要再起動) r.Mobile.DiffuseFromCapture=1 RuntimeのCaptureが必要 r.ReflectionCapture.Runtime 1 直接光のみ
Diffuse Ambient Capture BoxやSphere Reflection Captureで利用可能 簡易的なGI表現が可能に
本日見ていく内容 UE5 Graphics Features 01 Lumen 02 03 Nanite Virtual Shadow Map 04 05 Megalights Anti Aliasing 06 Substrate 07 Variable Rate Shading 残りは??
Optimizing Next-Gen Mobile Features in Unreal Engine Unreal Fest Chicago 2026
Optimizing Next-Gen Mobile Features in Unreal Engine Unreal Fest Chicago 2026
Agenda 01 UEのグラフィクススケーラビリティ設定の基礎 脇道 マルチプラットフォーム開発における 失敗事例成功事例紹介 02 デスクトップレンダラー上でのマルチプラットフォーム戦略 03 マルチプラットフォーム向けアセット最適化機能紹介と実 情 04 モバイルレンダラーも加味したマルチプラットフォーム・グ ラフィックス戦略の検討
Summary 01 UE5の最先端グラフィックス機能が使えないハードウェアでゲームするユーザ は沢山いる。マルチプラットフォーム展開で幅広いユーザ届けることができる 脇道 グラフィクスの設定だけではなく、マルチプラットフォーム開発を成功させるた めには開発環境や日々のワークフローから見直す必要。Horde/Zenなどの 機能を是非活用してください! 03 ローエンドデバイスのため、LODなどUE4時代培われた機能は現在でも非常 に重要。Sky Lightのオクルージョンについては、今も多くの開発者がさまざ まなアプローチを模索中 04 UEはアセット単位でプラットフォーム毎の設定ができる機能がある。使われ方 は限定的かもしれないが、要所をしぼって活用して欲しい 05 モバイルレンダラーはローエンドPCなどのレンダラーとして十分検討可能。 PCからモバイルまでのマルチプラットフォームを考えているならば、UE5.8の マルチパスモバイルレンダラーをお試しあれ
ありがとうございました!