モバイル プラットフォーム向けのライティング

モバイル ゲーム向けのライティング設定

Windows
MacOS
Linux

UE4 のモバイル プラットフォームでライトを使用する場合、順守すべき特定の注意事項と制約事項があります。多くのモバイル デバイス上で、UE4 プロジェクトを適切なフレームで実行できるようにするためです。次のドキュメントで、注意事項と制限事項にはどのようなものがあるかを確認し、その回避方法や対処方法を説明します。

サポート対象の機能

以下の機能がモバイル プラットフォームでサポートされています。

  • HDR のリニア ライティング

  • (法線を考慮した) 指向性ライトマップ

  • 太陽上の距離フィールド シャドウ + 解析的なスペキュラ

  • 画像ベースのスペキュラ ライティング - 視差修正をせずに最短のリフレクション キャプチャが各オブジェクトに適用されます。従って、オブジェクト間にシーム (継ぎ目) があります。

  • 動的オブジェクトはライティングを正確に受け取りますが、シャドウはキャストしません。

サポート対象のライト タイプ

モバイル プラットフォームは、Unreal Engine で利用できるライト タイプのサブセットのみをサポートしています。サポートしているものは、下記の通りです。

タイプ

追加情報

Stationary Directional Light

Mobility = Stationary による指向性ライト。最高品質。

Static Directional Light

Mobility = Static による指向性ライト。最高パフォーマンス (距離フィールドや太陽のスペキュラなし)。

Static Point Light

Mobility = Static による指向性ライト。

Static Spot Light

Mobility = Static によるスポット ライト。

反射

「反射」はモバイル プロジェクトに命を吹き込み、リアリティを高めるのに役立ちますが、モバイル デバイスで使用する際にはいくつか注意が必要です。以下は、対象のモバイル デバイス上で「反射」が確実に動作するために必要な作業のリストです。

  • ポストプロセス ボリューム内にある [Ambient Cubemap (アンビエント キューブマップ)] をすべて無効にします ([Intensity (強度)]0 に設定)。PP_Settings.png

  • 「反射」のため、ライティングをキャプチャしたい領域に SphereReflectionCaptures アクタを配置します。

    球形状の反射キャプチャ オフ時 球形状の反射キャプチャ オフ時

    球形状の反射キャプチャ オン時 球形状の反射キャプチャ オン時

  • 反射をマテリアルに反映させる際は、以下の事に留意してください。

    • 法線マップに、高周波と低周波の詳細が多数あることを確認してください。それにより反射を分離させることができるので、視覚的に面白い効果を出すことができます。

      フラットな法線マップ フラットな法線マップ

      ラフな法線マップ ラフな法線マップ

    • ラフネス マップにさまざまな強度の白と黒を持たせることで、さまざまな度合いの光沢や鈍い反射が可能になります。

      さまざまなラフネス さまざまなラフネス

      フラットなラフネス フラットなラフネス

    • サーフェスのタイプによっては、メタリック入力が 1 または 0 でなければなりません。

      メタリック オフ時 メタリック オフ時

      メタリック オン時 メタリック オン時

それぞれのスタティック メッシュ コンポーネントは、一番近い Reflection Capture へ割り当てられることに留意してください。つまり、オブジェクト間の反射にシームがあり、大きなメッシュはたまたまメッシュの中央に近いところにある好ましくない反射キャプチャを使用することもあります。

モバイルでのスカイライト反射

モバイル レンダーは、反射キャプチャ アクタが関係していない場合、スペキュラ反射のスカイライト キューブマップを使用することもできます。有効にするには、反射キャプチャ アクタをすべて削除し、スクリーン空間反射を無効にしてください。この例は、次の画像の比較で確かめることができます。

PC でのスカイライト反射

モバイルでのスカイライト反射

モバイル向けのスペキュラ ライティング

モバイルでのスペキュラの反応は、デフォルトで GGX Lighting モデルを使用するように変更されました。これにより、モバイルデバイスのスペキュラ品質が向上します。Shader Model 5 (SM5) とのマッチングを良くするためです。この機能を有効にすると、シェーダーの処理時間がわずかに増えます。以前の球面ガウス スペキュラ (Spherical Gaussian Specular) モデルにはまだアクセス可能ですが、プロジェクトのライティングにおける外観と質感は、この新しい変更から影響を受けるはずです。以前の球面ガウス スペキュラ (Spherical Gaussian Specular) モデルを再度有効にするには、次の操作が必要です。

  1. [Project Settings (プロジェクト設定)] > [Rendering (レンダリング)] > [Mobile (モバイル)] に移動します。

  2. そして、[Use legacy shading model] の横にあるボックスにチェックを入れます。 UseOLDLegacyShadingModel.png

下の比較スライダーは、現在のスペキュラ シェーディング モデルと [Use Legacy Shading Model] オプションの違いを示しています。

Legacy Shading Model

新しいシェーディング モデル

調整シャドウイング

完全な動的シャドウを使用することで、ユーザーのモバイル プロジェクトに命を吹き込み、リアリティを高めることができます。ただし、ハードウェアの制限や動的シャドウのレンダリングに求められるリソース要求の高さから、一部のモバイル デバイス上では完全な動的シャドウの使用ができません。これを回避するために、よりコストの低いタイプの動的シャドウイングが新しく UE4 に導入されました。Modulated Shadows と呼ばれています。Modulated Shadows の設定方法の詳細については、Modulated Shadows を参照してください。

動的なカスケード シャドウマップ

Stationary Directional Light を使用して、シーン内にある動的オブジェクトだけに、シーン全体の動的なカスケード シャドウ マップ (Cascade Shadow Maps: CSM) のシャドウをキャストできます。CSM シャドウを使用する利点の 1 つは、それらがシーン内の静的オブジェクトによってキャストされ事前計算されたシャドウと正しくブレンドできることです。CSM シャドウでは、調整シャドウで見られるようなダブル シャドーイングも現れません。また、複数オブジェクトに対して動的なシャドウをキャストする際は、より高速となります。Cascaded Shadows の設定方法の詳細については、 [Cascaded Shadows](Platforms\Mobile\Lighting\HowTo\CascadedShadow) を参照してください。

調整シャドウイング VS 動的シャドウイング

調整シャドウイングと動的シャドウイングは互いの外観はよく似ていますが、その働きは大きく異なっています。なぜなら、調整シャドウには、ハードウェア性能に制限があるモバイル デバイス上でのパフォーマンスを向上させるために、動的シャドウにはない多くの制約やハード制限があるためです。以下の画像は、動的シャドウと調整シャドウの比較です。

動的シャドウ

調整シャドウ

以下のリストでは、調整シャドウを UE4 プロジェクトで使用する場合の、そのシャドウの提供できる機能と制限の一部を示しています。

  • シャドウの色の変更 指向性ライトの [Light] セクションにある [Modulated Shadow Color] オプションを調整することで、調整シャドウがキャストしたシャドウの色を変更できます。これは、ゲームプレイや芸術性の観点からシャドウの色を調整したい場合に便利です。

    クリックしてフルサイズで表示

  • シャドウのブレンド 動的シャドウとは異なり、調整シャドウは、プロジェクト内に表示される他のシャドウ (ベイクされたものや動的なもの) とブレンドすることはできません。これはつまり、調整シャドウが別のシャドウの上に重なっている場合、一緒にブレンドされる単一のシャドウの代わりに両方のシャドウが表示されるということです。

    動的シャドウ

    調整シャドウ

調整シャドウと動的シャドウの操作

調整シャドウと動的シャドウを操作する場合、シャドウの外観とパフォーマンスを調整するために、コンソールと .INI についていくつか設定を行う必要があります。次のセクションでは、これらの設定と、それらを UE4 プロジェクトに対してどのように適用できるかを説明します。

調整シャドウは、可能な限り既存のシャドウの技術とコードを共有します。つまり、他のシャドウイング手法でも使用可能なシャドウの cvars と .INI 設定の多くは、調整シャドウと動的シャドウの両方でも機能するということです。

  • シャドウの品質 モバイル デバイスで動的シャドウを最初に表示すると、調整シャドウの鮮明度と品質が想定よりも多少低くなることがあります。これに対処するには、Unreal のコンソールを開き、バッククォート キー「`」を使用し、コマンド r.shadowquality の後に数字を入力して、シャドウ品質を調整します。入力された数字が大きければ大きいほど、FPS を犠牲にして調整シャドウの見栄えが良くなります。次の画像では、r.shadowquality をそれぞれ 012345 の値に設定し、それらが調整シャドウの品質にどう影響を与えているかを示しています。

    r.shadowquality による変化

  • セルフシャドウイング 調整シャドウは、文字やピックアップのような動的オブジェクトにセルフシャドウイングを提供します。しかしながら、デフォルトではこの機能は無効となっており、調整シャドウも可能な限り動作するようになっています。プロジェクトにセルフシャドウイングを行う余裕がある場合は、UE4 のコンソールに r.Shadow.EnableModulatedSelfShadow 1 と入力することで有効にできます。セルフシャドウイングを無効にするには、r.Shadow.EnableModulatedSelfShadow 0 を UE4 のコンソールに入力します。

    セルフシャドウイング オン時

    セルフシャドウイング オフ時

  • シャドウ深度 コマンド r.Shadow.CSMDepthBias を使用すると、シャドウがレンダリングを開始する位置をオフセットできます。下の画像では、r.Shadow.CSMDepthBias をデフォルト値の 0 から、 1010050010001500 と値を設定していくと、調整シャドウがどのように変化するかを確認できます。

    r.Shadow.CSMDepthBias による変化

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信