[UE5.7.3] Deferred ShadingかForward Shading設定によって変わるもの変わらないもの

Unreal Engine 5(UE5)におけるディファード(Deferred)とフォワード(Forward)レンダリングの設定は、プロジェクトのターゲット端末(PC/コンソールかモバイルか、VRか)によって異なります

設定方法とそれぞれの使い分けを解説します。

Deferred ShadingかForward Shading設定

1. 設定の変更方法 (Forward Shading)

UE5はデフォルトで「ディファードレンダリング(Deferred Rendering)」が有効になっています。フォワードレンダリングに変更したい場合、以下の手順で行います。

  1. [Edit (編集)] > [Project Settings (プロジェクト設定)] を開く。
  2. [Engine] > [Rendering] セクションを選択。
  3. [Forward Shading] カテゴリを探す。
  4. [Forward Shading] チェックボックスをオンにする(フォワード)、またはオフ(ディファード)にする。
  5. プロジェクトを再起動する。

2. ディファード vs フォワードの使い分け

特徴 [1, 2, 3]ディファード (Deferred)フォワード (Forward)
主な用途PC, コンソール, ハイエンドVRモバイル, 軽量VR, VR軽量化
光源数制限なし、大量のライト少ない(主要ライトのみ)
機能Lumen, Nanite対応基本非対応(機能制限)
メモリ/負荷大容量、パスが多くメモリ転送多MSAAが利用可能

ディファード(デフォルトDeferred Shading)

  • メリット: 高品質なライティング、多数のライト、LumenやNaniteなどの高機能。
  • デメリット: フォワードに比べてGPU・メモリ負荷が高い。

フォワード(Forward Shading)

  • メリット: 高いパフォーマンス(軽量)、MSAA(高品質なアンチエイリアス)が使える、VRなどで負荷を下げたい場合に有効。
  • デメリット: 多数のライトや複雑な影の表現が苦手。

3. モバイル向けの設定 (モバイルフォワード)

モバイルでは、さらに専用のレンダリングパイプラインが推奨されます。 [1]

  1. Project Settings > Platforms > Android/iOS > Rendering
  2. [Forward Shading] を有効にするか、[Mobile Deferred] を選択。
  3. 負荷を抑えるため、[Local Lights Buffer] などの詳細設定を調整。

まとめ

  • 高グラフィックPCゲーム: デフォルトのまま(ディファード)。
  • VR / 軽量化したいプロジェクト: Forward Shadingをオン。
  • モバイルゲーム: Mobile Forward または Mobile Deferred を選択。 [1, 2]

設定変更後はシェーダーの再コンパイルが発生するため、少し時間がかかります。

左がDeferred 右がForward

今回の場合

UE標準のライティングモデルに乗せるのではなく、UnlitのEmissive側でNdotLを計算してRampを参照しているため、DeferredかForwardかによるGBufferやライト計算の差分を受けにくい構成にしています。一方で、標準の影やGIを使う場合はLit系に寄せる必要があり、その場合はレンダリングパス差分を考慮します。

Unlit自前ライティングなら、Deferred / Forward差はほぼない。Litに乗せるなら差が出る