Unreal Engineにおけるトーンマッピング
更新日時: 2024/12/18
Meta Questにおいて、トーンマッピングに関連する従来のパフォーマンスコストを生じさせることなく、Unreal Engineの特定のトーンマッピングエフェクトを使うことができます。Meta Quest統合では、わずか600ミリ秒の追加レンダリング時間でトーンマッピングをレンダリングできます。これは、Unreal EngineのモバイルHDRモードや追加のレンダリングパスではなく、Vulkanサブパスを使っているためです。この機能は、Vulkanを使用する
UEのOculus-VRフォークでのみ利用できます。
Vulkanトーンマップサブパスは、次のポストプロセスエフェクトをサポートします。
- カラーグレーディング(LUTを含む)
- フィルムトーンマッピング
- ビネット
グラフィックショーケースのサンプルでは、よく使われる3種類のトーンマッピングエフェクトが紹介されています。
- フェードイン/フェードアウト
- 色合い昼夜サイクル
- カラーグレーディングLUT
- ビネット
グラフィックショーケースサンプルアプリは次の場所で入手できます。
トーンマッピング用のVulkanサブパスを有効にするには、r.Mobile.TonemapSubpass=1と設定します。
トーンマッピングが不要な場合にVulkanサブパスを無効にしてパフォーマンスを回復するには、r.Mobile.TonemapSubpass=0と設定します。
特定のトーンマッピングエフェクトは、後処理ボリュームプロパティとレベルシーケンスで値を変更すれば実装できます。具体的には、次のものに対するVulkanサブパスのサポートが実装されています。
- レベルシーケンスでのフェードトラック
- 後処理ボリュームプロパティでのシーン色合い
- 後処理ボリュームプロパティでのカラーグレーディングLUT
- 後処理ボリュームプロパティでのビネット
フェードインとフェードアウトは、レベルシーケンスにフェードトラックを追加し、フェードトラック上でキーポイントを定義することにより実装できます。フェード値1.0は完全不透明の黒、0.0は完全透明です。
フェードを実装するには、次のようにします。
メインツールバーから、[Cinematics(シネマティクス)] > [Add Level Sequence(レベルシーケンスを追加)]をクリックします。
シーケンサーで、[+ Track(トラック追加)]をクリックしてから、[Fade Track(フェードトラック)]を選択します。
フェードトラックを選択し、[o]をクリックして、キーフレームを追加します。
後処理ボリュームを追加し、ボリュームのシーン色合いプロパティを変更することで、色合いやトーンを追加できます。
基本的な色合いを追加するには、次のようにします。
[Post Process Volume (後処理ボリューム)]アクターをレベルに追加します。
[Post Process Volume Settings (後処理ボリュームの設定)]プロパティに移動し、[Enabled (有効)]と[Infinite Extent (Unbound) (無限(制限なし))]を選択します。
[Color Grading|Misc(カラーグレーディング|その他)] > [Scene Color Tint(シーン色合い)]プロパティを、目的の色合いに設定します。
シーケンサーを使って、後処理ボリュームの色合いを時間と共に変化させることによって、昼夜サイクルをアニメーション化できます。例えば、シーン色合いを、夜間は青、明け方は赤、昼は自然白色と徐々に変化させることができます。
シーン色合いプロパティの変更シーケンスを作成するには、以下のようにします。
メインツールバーから、[Cinematics (シネマティクス)] > [Add Level Sequence (レベルシーケンスを追加)]をクリックします。
シーケンサーで、[+ Track(トラック追加)] > [Actor to Sequencer(アクターをシーケンサーに)]をクリックした後、後処理ボリュームを選択します。後処理ボリュームがシーケンサーに追加されます。
シーケンサーに追加された後処理ボリュームで、[+ Track(トラック追加)] > [Settings(設定)] > [Color Grading|Misc(カラーグレーディング|その他)] > [Scene Color Tint(シーン色合い)]をクリックします。シーン色合いの設定がシーケンサーに追加されます。
[Scene Color Tint (Settings)(シーン色合い(設定))]を展開し、[o]をクリックして、目的の場所にキーフレームを追加します。
カラーグレーディングLUTを適用するには、次のようにします。
LUTテクスチャーをプロジェクトに追加します。
[Post Process Volume (後処理ボリューム)]アクターをレベルに追加します。
[Post Process Volume Settings (後処理ボリュームの設定)]プロパティに移動し、[Enabled (有効)]と[Infinite Extent (Unbound) (無限(制限なし))]を選択します。
[Post Process Volume(後処理ボリューム)] > [Color Grading(カラーグレーディング)]プロパティに移動します。
[Color Grading LUT (カラーグレーディングLUT)]を選択し、適用するLUTテクスチャーをリストから選択します。
後処理ボリュームのレンズ画像エフェクトのプロパティにより、楕円ビネットを適用することができます。
基本的なビネットを追加するには、次のようにします。
[Post Process Volume(後処理ボリューム)]アクターをレベルに追加します。
[Lens(レンズ)] > [Image Effects(画像エフェクト)]プロパティに移動し、[Vignette Intensity(ビネット強度)]を選択して設定します。
エフェクトが表示されない場合、次のことを確認してください。
- [Post Process Volume Settings(後処理ボリュームの設定)] > [Enabled(有効)]を選択したこと。
- カメラが後処理ボリュームの範囲内にあること、または[Post Process Volume Settings(後処理ボリュームの設定)] > [Infinite Extent (Unbound)(無限(制限なし))]を選択したこと。