自動露出 (明暗順応)

輝度の変化に応じた明暗順応をシミュレートするための、シーン露出自動調整機能です。

Choose your operating system:

Windows

macOS

Linux

Unreal Engine 4.24 以前のバージョンから Unreal Engine 4.25 以降のバージョン にアップグレードしたプロジェクトでは、自動露出に相違が生じる場合があります。4.25 以降のバージョンには自動露出の操作性と機能が大幅に改善したために、下位互換性が失われました。

これらの変更と、プロジェクトを 4.25 以降のバージョンにアップグレードする際の詳細については、このドキュメントの「 UE 4.25 以降に更新する 」セクションを参照してください。

ポスト プロセス ボリューム では、「 自動露出 」 (または「明暗順応」) を設定するためのコントロールが提供されます。自動露出は、現在のシーン ビューの露出を自動的に調整して、露出をより明るくまたは暗く設定します。このエフェクトは、薄暗い部屋から明るい屋外に出る、またはその逆の場合など、人間の目がさまざまなライティング環境に順応するメカニズムを再現するものです。

露出の測光モード

Unreal Engine には、シーンの自動露出の設定時に選択可能な、さまざまな測光モードが用意されています。これらの測光モードには現実世界のカメラを正確に模倣するための設定が備わっており、ポスト プロセスを介してシーン内の露出を制御することができます。

ExposureMeteringModes.png

  • Auto Exposure Histogram (自動露出ヒストグラム) モードでは、64-ビン ヒストグラムから構築された詳細設定を使って、自動露出をより細かく制御することができます。これは、Unreal Engine のデフォルトの露出測光モードです。

  • Auto Exposure Basic (自動露出基本) モードではより少数の設定項目が提供されます。露出をダウンサンプリングすることで単一の値を計算する、より迅速な方法です。

  • Manual (手動) モードでは、 [Exposure (露出)] カテゴリ内の設定だけではなく、ポスト プロセスとカメラの設定内の [Camera (カメラ)] 設定を使用して露出を制御できます。

ヒストグラム アルゴリズムと基本アルゴリズム

Auto Exposure Basic Auto Exposure Histogram のいずれの測光モードもシーンの全体的な輝度を計算して、設定に基づいてシーンをより明るくまたは暗くします。

  • Auto Exposure Basic のアルゴリズムでは、シーンの対数輝度平均を使用してターゲットの露出値を決定します。

  • Auto Exposure Histogram モードでは、最初に対数輝度シーンのヒストグラムを計算し、そのヒストグラムを分析して輝度の平均値を算出します。

両モードでは、異なるアルゴリズムを使用してシーンの平均輝度を計算しますが、輝度の平均値が算出されると、いずれのアルゴリズムもその輝度を中間グレーとして扱います。中間グレーの点は、写真撮影においては「18% グレー」または「18% 中間グレー」と呼ばれることもあり、グレー カードによって反射するライトの量を意味します。

手動アルゴリズム

Manual 測光モードでは、シーンの輝度に影響を受けない単一の固定された露出値を選択できます。ポスト プロセスの設定で [Apply Physical Camera Exposure (物理カメラの露出を適用)] が無効にされている場合、露出値は線形の明るさとなります。

Exposure = 1/(2^(EV100 + Exposure Compensation))

Apply Physical Camera Exposure が有効な場合、EV100 は次の式で算出されます。それ以外の場合は 0 です。

EV100 = log2(Aperture^2 / Shutter Speed * 100/ISO)

次の式での「Exposure (露出)」は、トーンマッパおよび露出補正が適用される前のシーンのサーフェスの輝度 (cd/m2 で計測される L) とピクセルの明るさ (B) との関係を定義しています。

B = Exposure * L

この式の結果は、ビューポートの表示フラグを介してトーンマッパを無効 ( [Show (表示)] > [Post Processing (ポスト プロセス)] ) にすることで検証でき、さらに ピクセル インスペクタ を使ってシーンの明るさを調べることができます。また、 エディタ EV100 オーバーライド設定 により、この式で使われる EV100 露出が直接設定されることに注意してください。

露出補正 (「 ExpComp 」とも略される) では、EV100 エディタ オーバーライドの使用時を除き、現在の測光モードから算出された露出に加えて、追加の 2^ExpComp スケールを定義します。

主な概念および特徴

プロジェクトのレベル内で自動露出を設定および使用する際は、以下の主な概念、特徴、ベスト プラクティスを考慮してください。

露出補正カーブ

Exposure Compensation Curve アセット スロットでは、シーン内の露出補正を細かく制御することができます。このカーブ アセットでは X 軸および Y 軸を直接制御できます。ハイダイナミック レンジ ビジュアリゼーションである HDR (明暗順応) を使用している場合、これらの値は画面に表示される情報から得ることができます。

PPV_ExpCompAssetCurve.png

ExpCompCurveAsset.png

ポスト プロセス設定

カーブ アセット グラフ

独自のカーブを追加するには、コンテンツ ブラウザの [Add New (新規追加)] ボタンをクリックして [Miscellaneous (その他)] カテゴリに移動し、 [Curve (カーブ)] アセット タイプを選択します。[Pick Curve Class (カーブ クラスを選択)] ウィンドウで、 [Curve Float (カーブの浮動小数値)] タイプを選択します。

「HDR (明暗順応)」ビジュアリゼーション モデルが有効なレベル ビューポートでは、X 軸は [Average Scene EV100 (シーン平均 EV100)] の値 (1) と、ヒストグラム チャート上の 実際 (紫色) のライン (1) によって表されています。Y 軸は [Exposure Compensation (Curve) (露出補正 (カーブ)] の値 (2) によって表されています。

ExpCompCurve.png

上記の例では [Average Scene EV100] は「0.548」であり、下記のカーブ アセットでは X 軸の入力値として使用されています。また、ここでは [Exposure Compensation (Curve)] の値として「0.864」が返されます。

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

露出補正値は独自の 設定 カーブ の値に分割されて、調整の際により正確に制御することができます。また、これらの値が分けられることで、露出補正における特定の動作の原因を突き止めやすくなります。

関連する値は次のとおりです。

  • [Average EV100 (平均 EV100)] は計算されたターゲット EV100 の値であり、ヒストグラムのターゲット (青色) ラインで表されます。

  • [Exposure Compensation (Settings) (露出補正 (設定))] は、ポスト プロセス設定で設定された露出補正です。

  • [Exposure Compensation (Curve)] は、ポスト プロセスの [Exposure Compensation Curve] スロットに割り当てられたカーブ アセットにおける、結果としての Y 軸値です。

  • [Exposure Compensation (All) (露出補正 (すべて))] は、前の 2 つの値 ( 設定 カーブ ) の合計であり、最終的な露出補正値になります。

露出計測マスク

露出計測マスク により、割り当てられたテクスチャ マスクによって各ピクセルが重要度に基づいて重み付けされた画面全体に向けた自動露出の影響を制御するために、追加のテクスチャ スロットが提供されます。画面のエッジではなく、画面中央に向かうピクセルの重要度を高めることで自動補正の安定につながります (下記の例を参照)。

PPV_ExpCompMeteringMask.png

ExpMeteringMaskExample.png

ポスト プロセス設定

露出計測マスク テクスチャの例

マスク内で画面中央に向かうピクセルに重みを付けることで、画面のエッジに沿って置かれている明るいオブジェクトで、予測した露出が突然変わる可能性を下げることができます。

露出計測マスクなし

露出計測マスクあり

Unreal Engine 4.25 のリリースに伴って、 r.EyeAdaptation.Focus コンソール コマンドは削除されました。このコマンドは、重み付けの値を画面全体に均一に適用し、現在は独自の計測マスクを作成することで処理可能な同様の機能を提供していました。また、このコマンドでは [Auto Exposure Basic] 測光モードのみがサポートされていましたが、露出計測マスクでは「Histogram」と「Basic」の両方の測光モードがサポートされます。

露出変更スピードと移動

露出補正が現在のシーンに順応する速さは対数刻みで適用され、同じスピードでカーブが上下に動くように感じます。露出補正は、カーブに沿ってターゲット値に向かって F 値/秒単位で移動します。

この知覚的な動きを処理するために、順応アルゴリズムはカーブを線形および指数関数的な動きでトラバースします。両方のトラバーサル方法を使用することで、指数関数的な動きのみを使用した場合の 2 つの副作用を改善することができます。

  • 輝度における小さな変動に迅速に順応するジッター ビヘイビアを削減します。

  • 暗い領域から明るい領域へのゆっくりとした遷移が可能になります。

下記の例では、カーブに沿ったトラバーサルが、ターゲット (Target) の露出値から非常に離れているときに線形で始まっています (2)。ターゲット値に近づくとトラバーサルが指数関数的な動きに遷移し (1)、これによって一次導関数の連続性が維持されます。

CurveMovement.png

ターゲットの露出値に近づくと遷移距離が設定されており、ここでカーブが線形から指数関数的な動きに変わります。デフォルトでは、ターゲット値から「1.5」F 値離れたところで遷移が始まります。この遷移距離 (F 値/秒) を設定するには、 r.EyeAdaptation.ExponentialTransitionDistance コマンドを使用します。

Speed Up および Speed Down パラメータを使用する

ポスト プロセスの Speed Up (スピード アップ) および Speed Down (スピード ダウン) プロパティでは、露出が Actual (紫色) から Target (青色) の値に調整されるスピードを制御します。これらの設定により、暗い環境から明るい環境に移る場合など、異なる輝度の範囲間を移動する際の明暗順応のタイム フレームを F 値/秒単位で設定できます。

この設定を行う際は、人間の目が明るさの変化に順応するために必要な時間を考慮する必要があります。これらのプロパティの設定時には次の推奨値を使用してください。

  • Speed Up パラメータには、明暗順応現象を模倣するためにより高い値を使用します。これにより、暗い領域から明るい領域に移動する際により迅速に遷移します。また、人間の目の虹彩を 収縮する 動作を模倣し、瞳孔に入るライトの量を減少させます。遷移時間を長くすると露出が高くなり、画質が過度に明るくなります。

  • Speed Down パラメータには、明暗順応現象を模倣するためにより低い値を使用します。これにより、明るい領域から暗い領域に移動する際によりゆっくりと遷移します。また、人間の目の虹彩を 膨張する 動作を模倣し、瞳孔に入るライトの量を増加させます。遷移時間を長くすると露出が低くなり、画質が過度に暗くなります。

EV100 のデフォルトの輝度範囲を拡張する

Unreal Engine では、ポスト プロセス ボリュームにある [Max Brightness (最大輝度)] [Min Brightness (最小輝度)] の設定にデフォルトでピクセル輝度 (cd/m2) を使用します。 物理的に正確なライティングの範囲 を設定する際は、EV100 (ISO 100 とも呼ばれる) 準拠の輝度を表すために、自動露出のデフォルトの輝度範囲を拡張することができます。これは、シーン内のライトに対して正しいルクス値を使用し、画像の白飛びを発生させずに、これらの値を自動露出で使用できることを示しています。

このオプションは、[Project Settings (プロジェクト設定)] の [Rendering (レンダリング)] > [Default Settings (デフォルト設定] セクションで [Extend default luminance range in Auto Exposure settings (自動露出設定のデフォルトの輝度範囲を拡張)] をオンにして有効にします。

この設定を有効にすることで、ポスト プロセス ボリュームの [Min Brightness] [Max Brightness] のデフォルト値が変更され、さらに、 [Histogram Log Min (ヒストグラム対数最小)] [Histogram Log Max (ヒストグラム対数最大)] 項目の名前が EV100 を反映するものに変わります。

PPVSettings_Default.png

PPVSettings_ExtendedLuminance.png

エンジンのデフォルト設定

拡張輝度範囲が有効な場合

前露光

シェーダ内で適用される露出量は 前露光 と呼ばれます。前のフレームのシーン露出が、シーン カラーへの書き込み前にシェーダ内で適用されます。これにより、カメラの露出でのシーン カラーの範囲をエンジンで再マッピングして、最終カラーの一つに似た範囲内でシーンをレンダリングできるようになります (露出後)。また、HDR のライティング値をサポートするために必要なレンダリング ターゲットの範囲を制限することで非常に明るいライトを使用する際に、低精度のレンダリング ターゲット形式に対する算術オーバーフローのリスクが軽減されます。さらに、有効にした場合は、自動露出基本測光モードの質が向上する効果もあります。

前露光は、[Project Settings] の [Rendering] > [Default Settings] セクションにある [Apply Pre-exposure before writing to the scene color (シーン カラーへの書き込み前に前露光を適用)] で有効にできます。

モバイルの仕様

機能レベル ES3.1 以上をサポートするモバイル デバイス上での自動露出は、デスクトップとコンソール プラットフォームと機能パリティを共有します。モバイルの場合、メモリコストは小さいです。パフォーマンス コストはシーンによって低くなります。

プロジェクト設定で Mobile HDR を有効にした Unreal Engine プロジェクトは、デフォルトで自動露出が有効になっています。有効になっていない場合は、以下の操作をします。

  • [Engine] - [Rendering] - のプロジェクト設定で Mobile HDR を有効にします。

  • コンソール変数 r.Mobile.EyeAdaptation を「 1 」にします。これはデフォルトで有効になっています。

  • コンソール変数 r.EyeAdaptationQuality を 0 より大きい値に設定します。

[PostProcessQuality] セクションの「 BaseScalability.ini 」コンフィギュレーション ファイルのコンソール変数を設定します。特定のデバイス用に定義されたプロファイルを使用する場合は、 BaseDeviceProfiles.ini のコンソール変数 sg.PostProcessQuality を設定します。 Android_Low を除き、すべてのデバイスはデフォルトで有効になっています。

ゲーム設定

デフォルトの自動露出ポスト プロセスおよびポスト プロセス ボリュームにより、自動露出の ゲーム内 の設定が制御されます。自動露出はデフォルトで有効に設定されており、レベル ビューポートとアセット エディタのビューポートで使用可能です。

自動露出の設定には、 [Lens (レンズ)] カテゴリの [Exposure (露出)] ドロップダウンからアクセスできます。

GameSettings_DetailsPanel.png

GameSettings_PreviewSceneSettings.png

ポスト プロセス ボリュームの設定

アセット エディタのシーン設定プレビュー]

レベル ビューポートの [Details] パネルと、アセット エディタの [Preview Scene Settings (シーン設定をプレビュー)] パネルにあるポスト プロセスの設定には、シーンの自動露出の調整に必要な設定が含まれています。 [Metering Mode (測光モード)] で選択している設定に基づいて、一連の異なるポスト プロセス内プロパティが表示されます。モードには自動露出に使用する輝度の計算方法がそれぞれ設定されています。

次の測光モードから選択できます。

  • Auto Exposure Histogram は 64-ビン ヒストグラムを構築し、詳細設定を使って自動露出をより細かく制御できます。

  • Auto Exposure Basic はダウン サンプリングによる単一値を計算する高速なメソッドです。

  • Manual モードでは、その [Exposure (露出)] を使うのではなく、 カメラ のポスト プロセス設定を内部で使用して露出を制御できます。

Auto Exposure Histogram の設定

AutoExp_Histogram.png

プロパティ

説明

Exposure Compensation

露出の対数調整です。トーンマッパが指定されている場合にのみ使用されます。値が「0」に設定されている場合は調整はなく、「-1」は 2 倍の暗さ、「-2」は 4 倍の暗さ、「1」は 2 倍の明るさ、「2」は 4 倍の明るさに調整されます。

Exposure Compensation Curve

このスロットには、シーン内の露出補正を細かく制御するためのカーブ アセットを設定します。カーブ グラフ内の X 軸および Y 軸の値は、それぞれ [Average Scene EV100 (シーン平均 EV100)] [Exposure Compensation (Curve) (露出補正 (カーブ))] の値になります。

Exposure Metering Mask

露出の計測に独自のテクスチャ マスクを使用します。マスクの明るいスポットが自動露出計測に与える影響は大きく、暗いスポットが与える影響は小さくなります。

Min Brightness

自動露出の最小輝度です。目が順応できる範囲の下限を示します。この値は 0 より小さく、 [Max Brightness] の値以上である必要があります。適切な値は 0 に近い正の数値で、暗いライティング環境で調整する必要があります。例えば、この値が小さすぎると画質が過度に明るくなります。値が大きすぎると画質は過度に暗くなります。実際の値は、使用しているコンテンツの HDR 範囲によって決まります。[Min Brightness] と [Max Brightness] を同じ値に設定すると、自動露出は無効になります。

Max Brightness

自動露出の最大輝度です。目が順応できる範囲の上限を示します。この値は 0 より大きく、 [Min Brightness] の値以上である必要があります。適切な値は正の数値で (「2」が最初の設定値として適切)、明るいライティング環境で調整する必要があります。例えば、この値が小さすぎると画質が過度に明るくなります。値が大きすぎると画質は過度に暗くなります。実際の値は、使用しているコンテンツの HDR 範囲によって決まります。[Max Brightness] と [Min Brightness] を同じ値に設定すると、自動露出は無効になります。

Min EV100

[Extend default luminance range in Auto Exposure] 設定 を有効にしている場合に、 [Min Brightness]

Max EV100

[Extend default luminance range in Auto Exposure] 設定 を有効にしている場合に、 [Min Brightness]

Speed Up

暗い環境から明るい環境への順応のスピードです。

Speed Down

明るい環境から暗い環境への順応のスピードです。

詳細設定

Low Percent

自動露出では、シーン カラーの輝度値のヒストグラムから抽出した値に順応します。値はこの明るさよりも X パーセント低く定義されます。値が高いほど画面上の明るいスポットを優先しますが、結果が不安定になる可能性があります。値が低いほど中程度また暗い値を優先しますが、明るいスポットがバーンアウトする可能性があります。値は 0 より高く、100 より低く設定する必要があります。70 ~ 80 の範囲で始めることを推奨します。

High Percent

自動露出では、シーン カラーの輝度値のヒストグラムから抽出した値に順応します。値はこの明るさよりも X パーセント低く定義されます。値が高いほど画面上の明るいスポットを優先しますが、結果が不安定になる可能性があります。値が低いほど中程度また暗い値を優先しますが、明るいスポットがバーンアウトする可能性があります。値は 0 より高く、100 より低く設定する必要があります。80 ~ 95 の範囲で始めることを推奨します。

Histogram Log Min

[HDR (Eye Adaptation)] ビジュアリゼーション モード使用時に作成されたヒストグラムの輝度範囲の下限領域を定義します。

Histogram Log Max

[HDR (Eye Adaptation)] ビジュアリゼーション モード使用時に生成されたヒストグラムの輝度範囲の上限領域を定義します。

Histogram Min EV100

[Extend default luminance range in Auto Exposure] 設定 を有効にしている場合に、 [Min Brightness] [HDR (Eye Adaptation)] ビジュアリゼーション モード使用時に作成されたヒストグラムの輝度範囲の下限領域を定義します。

Histogram Min EV100

[Extend default luminance range in Auto Exposure] 設定 を有効にしている場合に、 [Min Brightness] [HDR (Eye Adaptation)] ビジュアリゼーション モード使用時に作成されたヒストグラムの輝度範囲の上限領域を定義します。

Auto Exposure Basic の設定

AutoExp_Basic.png

プロパティ

説明

Exposure Compensation

露出の対数調整です。トーンマッパが指定されている場合にのみ使用されます。値が「0」に設定されている場合は調整はなく、「-1」は 2 倍の暗さ、「-2」は 4 倍の暗さ、「1」は 2 倍の明るさ、「2」は 4 倍の明るさに調整されます。

Exposure Compensation Curve

このスロットには、シーン内の露出補正を細かく制御するためのカーブ アセットを設定します。カーブ グラフ内の X 軸および Y 軸の値は、それぞれ [Average Scene EV100 (シーン平均 EV100)] [Exposure Compensation (Curve) (露出補正 (カーブ))] の値になります。

Exposure Metering Mask

露出の計測に独自のテクスチャ マスクを使用します。マスクの明るいスポットが自動露出計測に与える影響は大きく、暗いスポットが与える影響は小さくなります。

Min Brightness

自動露出の最小輝度です。目が順応できる範囲の下限を示します。この値は 0 より小さく、 [Max Brightness] の値以上である必要があります。適切な値は 0 に近い正の数値で、暗いライティング環境で調整する必要があります。例えば、この値が小さすぎると画質が過度に明るくなります。値が大きすぎると画質は過度に暗くなります。実際の値は、使用しているコンテンツの HDR 範囲によって決まります。[Min Brightness] と [Max Brightness] を同じ値に設定すると、自動露出は無効になります。

Max Brightness

自動露出の最大輝度です。目が順応できる範囲の上限を示します。この値は 0 より大きく、 [Min Brightness] の値以上である必要があります。適切な値は正の数値で (「2」が最初の設定値として適切)、明るいライティング環境で調整する必要があります。例えば、この値が小さすぎると画質が過度に明るくなります。値が大きすぎると画質は過度に暗くなります。実際の値は、使用しているコンテンツの HDR 範囲によって決まります。[Max Brightness] と [Min Brightness] を同じ値に設定すると、自動露出は無効になります。

Min EV100

[Extend default luminance range in Auto Exposure] 設定を有効にしている場合に、 [Min Brightness]

Max EV100

[Extend default luminance range in Auto Exposure] 設定を有効にしている場合に、 [Min Brightness]

Speed Up

暗い環境から明るい環境への順応のスピードです。

Speed Down

明るい環境から暗い環境への順応のスピードです。

手動設定

AutoExp_Manual.png

プロパティ

説明

Exposure (露出)

Exposure Compensation

露出の対数調整です。トーンマッパが指定されている場合にのみ使用されます。値が「0」に設定されている場合は調整はなく、「-1」は 2 倍の暗さ、「-2」は 4 倍の暗さ、「1」は 2 倍の明るさ、「2」は 4 倍の明るさに調整されます。

Apply Physical Camera Exposure

この切り替えオプションは [Manual (手動)] 測光モードにのみ適用されます。有効にすると、シーンの輝度に [Camera (カメラ)] 設定 ([ISO]、[Shutter Speed (1/s) (シャッター スピード (1/s))]、[Aperture (F-stop) (絞り (F 値))] の効果が適用されます。無効の場合、カメラではデフォルトの設定が使用されます ([ISO] =「100」、[Aperture (F-stop)] =「1.0」、[シャッター スピード (1/s)] =「1.0」)。このオプションを有効にすると、ほとんどのシーンが大幅に暗くなります。

Exposure Metering Mask

露出の計測に独自のテクスチャ マスクを使用します。マスクの明るいスポットが自動露出計測に与える影響は大きく、暗いスポットが与える影響は小さくなります。

Camera

Shutter Speed (1/s)

カメラのシャッター スピードを秒単位で定義します。

ISO

カメラ センサーの感度を表します。

Aperture (F-stop)

カメラ レンズの開口部のサイズを定義します。設定値を大きくすると、被写界深度 (DOF) の効果が低くなります。

エディタ ビューポートのオーバーライド

それぞれのエディタのビューポートには、デフォルトの自動露出設定、またはポスト プロセス ボリュームで定義されている自動露出設定をオーバーライドするオプションが備わっています。

自動露出をオーバーライドするには、レベル ビューポートまたはアセット エディタのビューポートの [View Mode (表示モード)] ドロップダウンから、 [Game Settings (ゲーム設定)] または [Auto (自動)] の横にあるチェックボックスをオフにして、[EV100] スライダを使用します。

Override_LevelViewport.png

Override_AssetEditor.png

レベル ビューポートでのオーバーライド

アセット エディタでのオーバーライド

ビジュアリゼーションとデバッグ

HDR (明暗順応) 」ビジュアリゼーション モードでは、現在のシーン ビューで計測された露出値をヒストグラムで表示します。また、ポスト プロセス ボリュームとカーブ アセットで設定されている値への参照も含まれます。

HDR_VisMode.png

  1. ポスト プロセス ボリュームおよびカーブ アセットで設定されている露出とカーブ値のリスト。

  2. NIT (cd/m2 で計測) とルクス値を含む焦点メーター。

  3. 設定されている最小および最大の範囲を含むヒストグラム チャート。

このビジュアリゼーション モードを有効にするには、レベル ビューポートから [Show (表示)] > [Visualize (視覚化)] > [HDR (Eye Adaptation) (HDR (明暗順応))] を選択します。

ヒストグラム チャート

ヒストグラム チャートは、現在のビューで計測された露出値の範囲で構成されています。チャート内ではターゲットの露出値、実際の露出値、そして最終的な露出値が色付きのラインで示されており、これらの値は現在のカメラ ビューの計測された露出値に常に順応しています。

HistogramChart.png

  • 青色 のラインは、現在のビューにおける ターゲット の EV100 露出値を表します。

    • このラインは、ヒストグラム内でのシーンの露出平均を示します。

  • 紫色 のラインは、現在のビューにおける 実際 の EV100 露出値です。

    • このラインは、このビューに存在する現在の露出値を表しています。実際の露出値は、ビューでの変更に伴って常にターゲット露出値に向かって動きます。

  • 白色 のラインは、ポスト プロセス設定での露出補正調整後の 最終的 な EV100 露出値です。

    • 現在のビューの、露出補正後の実際の露出値です。白色と紫色のラインの間隔は、露出補正で設定された距離で保たれます。上記の例では「2」の露出補正が適用されており、白色と紫色のライン間でこの距離が維持されています。

このシーンの例では、露出補正がポスト プロセス ボリュームの [Exposure] 設定で変更された場合に、その値がレベル ビューポート内の一連の露出設定に反映されます。チャート内では、実際の露出値 (紫色) と最終的な露出値 (白色) のラインを分けることで、露出補正のこの差分オフセットが反映されています。

チャートの両端は、 [Histogram Log Min] [Histogram Log Max] (プロジェクト設定で [Extend default luminance range in Auto Exposure] 設定 が有効な場合は [Histogram Min EV100] [Histogram Max EV100] ) で設定されている自動露順応の範囲を表しています。

Histogram Debug Visualization モード

このモードでは、自動露出のための HDR 計算に、非常に明るいピクセル (太陽など) や非常に暗いピクセル (暗い影など) が含まれないよう確認できるように、さまざまなピクセル値が視覚化されて表示されます。

HistogramDebugVis.png

赤色のピクセルは、 [Histogram Log Min] (または [Histogram Min EV100] ) で設定された自動露出順応の範囲よりも のものを表しています。赤色のピクセルは、 [Histogram Log Max] (または [Histogram Max EV100] ) で設定された自動露出順応の範囲よりも のものを表しています。これらのピクセルの範囲により、 [Low Percent] [High Percent] で設定した値によってこれらの不要なピクセルが計算から確実に除外されます。

このデバッグ ビジュアリゼーション モードを使用するには、事前に HDR (明暗順応) ビジュアリゼーション モードを有効にしておく必要があります。

このビジュアリゼーション モードを有効にするには r.EyeAdaptation.VisualizeDebugType 1 コマンドを使用します。

UE 4.25 以降に更新する

Unreal Engine 4.25 に加えた自動露出アルゴリズムの変更により、以前のバージョンからこのバージョンにアップグレードする際に下位互換性を維持できなくなりました。理想的なのは、コンテンツを Unreal Engine のバージョンにかかわらず常に同様に表示することですが、この場合はそれが実用的ではありませんでした。

以下のセクションでは、測光モード間の切り替えにより一貫性を持たせるための新しいデフォルト設定に関する詳細を説明し、自動更新パスを使って以前のバージョンの Unreal Engine プロジェクトを 4.25 にアップグレードする際の処理について解説します。

自動露出の新たなデフォルト設定

自動露出アルゴリズムへの変更により、Auto Exposure Histogram 測光モードの一連のデフォルト設定が変更されました。これまでは、80% の低パーセンタイルと 98.3% の高パーセンタイルの範囲を使用しており、ほとんどのヒストグラム チャートを無視し、現在のビューのハイライト部分にのみフォーカスするように設計されていました。新しいデフォルト設定では 10% の低パーセンタイルから 90% の高パーセンタイルまでの範囲を使用し、Auto Exposure Histogram 測光モードに似た結果を適用します。これは、これらのモード間の一貫性を高めるための処置です。

別の変更点として、ポスト プロセス ボリュームの [Exposure Compensation] のデフォルト値を「0」ではなく「1.0」に設定しました。元のデフォルト値では、ほとんどの場合に暗くなりすぎることが判明したためです。また、[Project Settings] の Auto Exposure Bias プロパティを使用して、プロジェクトに独自のデフォルト値を設定することもできます。

プロジェクトによっては元のデフォルト値のほうがうまく機能する場合もありますが、これらの新しいデフォルト値ではより幅広いヒストグラムの範囲を提供し、さまざまな自動露出測光モード間での一貫性を高めることができます。

UE4 の以前のバージョンでの処理を再現するには、ヒストグラム チャートの範囲を 80 ~ 98.3% の低および高パーセンタイルに設定し、露出補正値として「2.47」(=log2(1.0/0.18)) を適用してください。

既存のプロジェクトとコンテンツを自動更新する

Unreal Engine 4.24 以前のバージョンのプロジェクトを Unreal Engine 4.25 以降に更新する際は、レベル内にあるすべてのポスト プロセス ボリュームの Exposure Compensation プロパティに自動更新が適用されます。更新のロジックは、UE4 の「Engine\Source\Runtime\Private」フォルダにある「 Scene.cpp 」ファイルの「CalculateEyeAdaptationExposureVersionUpdate()」に保存されています。

プロジェクトで Auto Exposure Histogram 測光モードを使用しており、プロジェクト設定で [Extend default luminance range in Auto Exposure] 設定 を有効にしている場合は、以前のバージョンからの動作変更を調整するために、低い露出補正値が適用されます。

例えば、最小ヒストグラムと最大ヒストグラムの平均が 89.15 の場合は、「1.5」の露出補正値が適用されます。ただし、ヒストグラムの範囲がより幅広い場合は、より低い露出補正値が適用されます。最小ヒストグラムと最大ヒストグラムの平均が 50 の場合は、「1.0」の露出補正値が適用されます。

以前の設定値とできるだけ合わせるようにしましたが、この変換プロセスはシーン内のコンテンツに依存しており、これらのデフォルト値によって、アップグレード時に既存のコンテンツとうまく機能する妥当な値が提供されることが判明しました。

この変換がプロジェクトでうまく機能しない場合は、プロジェクトのアップグレード後に元の露出補正値が非表示の値「 AutoExposureBiasBackup 」に保存されています。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる