ムービー レンダー キューを使用して高品質なレンダリングを行う方法

Unreal Engine の ムービー レンダー キュー機能を設定して、特にレイ トレーシングを使用する場合に高品質のシネマティックスを実現する方法に関する操作ガイドです。

Choose your operating system:

Windows

macOS

Linux

前提トピック

このページは以下のトピックへの知識があることを前提にしています。まず以下のトピックの内容についてご確認をお願いします。

このガイドは、Windows 10 64 ビット ユーザーを対象としています。

オフラインで高品質のレンダリングを実現することを目的としている場合、リアルタイムのレンダリングの負荷を心配する必要はありません。そのため、オフラインのレンダリングでは、レイ トレーシング グローバル イルミネーション、レイ トレーシング反射などの機能の品質、精度、外観を大幅に向上させる設定やコマンドを使用することができます。また、改善されたモーション ブラーを適用したり、不要なアンチエイリアス アーティファクトを削除したりすることもできます。

このガイドでは、リアルタイムの負荷を心配することなく、高品質のレンダリングを生成するための設定について説明します。また、ムービー レンダー キューを使用して、カスタム設定とコンソール変数を使用したサンプル シーケンスを設定する方法について学習します。

高品質のフル レンダリングがどのようなものであるかを把握するため、次のビデオをご覧ください。

このガイドでは、このビデオの生成に使用したプロセスと同様のプロセスを実行します。主な違いは、Blueprint Director ではなく ムービー レンダー キューを使用することです。

目的

本ガイドを完了すると、次の操作方法の詳細を理解できます。

  • シーケンサを ムービー レンダー キューと併用できるように準備する

  • 高品質の画像シーケンスを出力する

  • 出力設定を調整して、レイ トレーシングを使用する画像をレンダリングする際により良い画像が得られるようにする

  • コンソール変数を使用して独自のカスタム設定を適用する

最良の結果を得るためには、次の手順を順に実行してください。

ステップ 1. プロジェクトの設定

作業を開始する前に、システム設定を変更して、このガイドで取り組むサンプル プロジェクトをダウンロードし、Movie Render Pipeline プラグインを有効にする必要があります。

システム構成 (この作業は任意であるものの、実行することが推奨される)

GPU コマンドの実行に時間がかかりすぎると、Windows でグラフィック カードがクラッシュしたと判断され、ドライバがリセットされます。その結果、エンジンが終了します。

Windows による GPU のタイムアウトの検出までの時間を延長するには、Windows レジストリでタイムアウトの検出と復旧 (TDR) 時間を変更します。

この編集を行うには、お使いのコンピュータに対する管理者権限が必要です。

TDR を編集するには (サンプル プロジェクトをロードする前に)、次の手順を実行します。

  1. Windows の [スタート] メニューの検索バー に「regedit」と入力して、レジストリ エディタ を起動します。

  2. Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers カテゴリに移動します。

  3. リストから [TdrDelay] を選択して右クリックし、[Modify (変更)] を選択します。

    RegistryEditor.PNG

  4. この値は秒単位で測定されます。[Decimal (10 進数)] を選択して、[Value data (値のデータ)] を「60」に設定してから、[OK] をクリックします。

TDR の詳細については、Microsoft の『タイムアウト検出と復旧 (TDR) レジストリ キー』 を参照してください

サンプル プロジェクトをダウンロードする

このガイドでは、ArchViz Interior をサンプル プロジェクトとして使用して、このガイドの最後にレンダリングする最終的な画像シーケンスを生成します。このプロジェクトでは、シャドウ、アンビエント オクルージョン、グローバル イルミネーションなどのレイトレーシング機能を使用するフォトリアルなシーンを提供します。

  1. Epic Games Launcher を開きます。左側のオプションから [Unreal Engine] をクリックして、上部の [Learn (ラーニング)] タブを選択します。

    The Learn tab on the Unreal Engine website

  2. [Engine Feature Samples (Engine の機能サンプル)] まで下にスクロールして、[ArchViz Interior] を選択します。[CONTENT DETAIL (コンテンツ詳細)] ウィンドウが開いたら、[Free (無料)] をクリックしてプロジェクトをダウンロードして、[Create Project (プロジェクトを作成する)] をクリックします。このガイドでは、プロジェクト名を変更しないで ArchVizInterior を使用します。

  3. [Browse (参照)] をクリックしてダウンロード先を選択するか、デフォルトを使用します。

このプロジェクトでは、DirectX 12 レイ トレーシングをサポートしているレイ トレーシング対応カードが必要です。レイ トレーシングのシステム要件の詳細については、「リアルタイム レイ トレーシング」を参照してください。

ArchViz Interior プロジェクトとその開発方法の詳細については、「Archviz Interior Rendering」を参照してください。

Movie Render Pipeline プラグインを有効にする

Movie Render Queue を使用するには、Movie Render Pipeline プラグインを有効にする必要があります。

  1. ArchViz プロジェクトをダウンロードしてエンジンで開いた状態で、[Edit (編集)] > [Plugins (プラグイン)] を選択します。

  2. まだ選択してない場合は、[Built-In (ビルトイン)] を選択して、「movie」を検索します。[Movie Render Pipeline] が表示されていることを確認します。

    Enable the Movie Render Pipeline

  3. 有効になっていない場合は、[Enabled (有効)] ボックスをオンにしてプラグインを有効にし、ウィンドウを閉じます。

ステップ 2:シーケンサ エディタにプロジェクト シーケンスをロードする

このステップでは、Archviz Interior プロジェクトで設定されている シネマティック シーケンス (略してシネマティック) を操作します。

シーケンサや ムービー レンダー キュー機能について熟知していない場合は、このページの冒頭に記載されている前提条件のドキュメントを確認することをお勧めします。

  1. Archviz Interior プロジェクトを開いた状態で、コンテンツ ブラウザ でレベル シーケンスを見つけます。このプロジェクトでは、すべてのレベル シーケンスが、「Content」 > 「Cinematic」フォルダに格納されています。

  2. archviz_cine_MASTER シーケンスをダブルクリックして、シーケンサ エディタ で開きます。次の画像のように表示されます。

    このマスター シーケンスには、このサンプル プロジェクトで使用されているすべての個別のショットが含まれています。

レベル エディタからでもマスター シーケンスにアクセスすることができます。[Cinematics (シネマティックス)] ドロップダウンをクリックすると、開いているプロジェクトの既存のマスター シーケンスを選択してアクセスすることができます。 CinematicsDropdown.png

シーケンサ エディタ

シーケンサ エディタ では、作成されたショットを目視で効果的に確認できます。これは、 ムービー レンダー キューを使用してレンダリングする場合にフレーム範囲を決定する上で役立ちます。

この実習では、フレーム範囲が指定されていますが、後で、レンダリングするフレーム範囲を自分で選択する必要が生じる可能性があります。シーケンサ エディタを初めて使用する場合は、以下の機能説明をよくお読みください。それ以外の場合は、直接「ステップ 3:ムービー レンダー キューにシーケンスを追加する」に進んでください。

Shots トラック には、シネマティックで使用されているすべてのカメラに関する情報が含まれています。このシネマティックでは、各ショットに、レンダリング時に使用するカメラが含まれています。左側のドロップダウンをクリックすると、ネストされたトラックが表示されます。

パネルのいずれかのカメラの [Camera] ボタン をクリックすると、レベル ビューポートがそのカメラのパースペクティブにスナップします。

SequencerCameraButton.png

再生コントロール パネルスライダ を使用すると、タイムラインをスクラブしたり、ショットとフレーム範囲を表示したりできます。なお、スライダには現在のフレーム番号が表示されます。

SequencerScrub.png

シーケンサを開いた状態で、レベル エディタから [Perspective (パースペクティブ)] > [Cinematic Viewport (シネマティック ビューポート)] を選択します。

PerspectiveSelectCinematic.png

この操作により、ビューポートの再生コントロール パネルが開き、シネマティックの追加情報を表示されます。

PerspectiveCinematic.png

ステップ 3:ムービー レンダー キューにシーケンスを追加する

次に、ムービー レンダー キューにシーケンスを追加します。このシーケンスから高品質の画像をレンダリングします。

シーケンサでのムービー レンダリング ワークフロー に慣れている場合は、ムービー レンダー キューへのアクセス方法や、ユーザー インターフェースが大幅に異なるのでご注意ください。

  1. エディタのメニュー バーから、[Window (ウィンドウ)] > [Cinematics (シネマティックス)] > [Movie Render Queue] を選択します。

    Cinematics_MovieRenderQueue.png

    初回に開いた場合は、次のように何も表示されません。

    MovieRenderQueue_empty.png

  2. [+ Render (+ レンダリング)] ボタンをクリックして、ドロップダウン リストから「archviz_cine_MASTER」レベル シーケンス ファイルをクリックしてキューに追加します。

    MRQ_SelectSequence.png

    コンテンツ ブラウザからシーケンスをキュー ウィンドウにドラッグしても、シーケンスをキューに追加できます。

    MovieRenderQueue_content.png

シーケンスを削除するには、次のいずれかの操作を行います。

  • シーケンスを選択して、[–] ボタンをクリックする。

    MovieRenderQueue_del.png

  • ハイライトして、キーボードの Del キーを押す。

  • シーケンスを右クリックして、[Delete (削除)] をクリックする。

複数のシーケンスをハイライトするにはShift キーを押しながら、クリックして選択します。次に、複数のシーケンスを同時に削除することができます。

ステップ 4:コンフィギュレーション オプションを選択する方法

キューにロードされたシーケンスをレンダリングする前に、使用する設定を構成する必要があります。出力形式、ファイル名、アンチエイリアス設定など、調整可能な幅広い設定があります。

まず、構成したい設定を選択します。

  1. ウィンドウが開いており、リストにマスター シーケンスが表示されている状態で、[Unsaved Config (保存されていない設定)] をクリックします。

    MRQ_access_settings.png

  2. これにより、[Setting/Presets (設定/プリセット)] ウィンドウが開きます。

    SettingPresetWindow.png

  3. このウィンドウで設定を変更します。ただし、まず、構成したい設定を選択する必要があります。設定を追加するには、[+ Setting (+ 設定)] ボタンをクリックすると、オプションのリストが開きます。

    MRQ_OutputList.png

    オプションは、[Settings (設定)][Rendering (レンダリング)][Output (出力)] の 3 つのグループ (詳細は後述) に分かれます。

  4. これらのオプションの 1 つをこのリストから [Setting/Presets (設定/プリセット)] ウィンドウに移動するには、ドロップダウンのエントリをクリックします。ウィンドウに項目を追加すると、このリストからその項目が削除されます。

  5. 手順 3 と 4 を繰り返して、オプションをリストに追加します。

[Setting/Presets (設定/プリセット)] ウィンドウに追加する各オプションには、トグル スイッチ があります。これらのトグルを使用して、レンダリング プロセスでそのオプションを 有効 / 無効 を切り替えます。このため、プリセットからオプションを完全に削除することなく、該当するレンダリングのみに対してその設定をオフにすることができます。

MRQ_toggles.png

[Setting/Presets (設定/プリセット)] ウィンドウから 項目を削除する には、項目をハイライトしてから Del キーを押します。その項目が [Setting/Presets (設定/プリセット)] ウィンドウから削除され、オプションのリストに戻ります。

出力設定の説明

MRQ_SettingOptions_Output.png

出力には、複数のタイプの画像を使用できます。各タイプに長所と短所があるため、自分のプロジェクトのワークフローに最適なタイプを見つける必要があります。

考慮すべき事項の 1 つは、ファイル タイプがアルファ チャンネルをサポートしているかどうかという点です。これは、透明な背景を持つ画像が必要な場合に、重要です。

もう 1 つの考慮事項は、形式が可逆であるか、非可逆であるかということです。可逆圧縮は、ファイルが圧縮されていないときにすべての元の画像データを復元できることを意味します。一方、非可逆圧縮では元のデータをすべて復元することはできません。

出力タイプ

アルファ チャンネル

非可逆/可逆

備考

.bmp Sequence [8bit]

サポートしていない

可逆

ディスクへの書き込みは迅速であるものの、非圧縮の性質のためファイル サイズが大きい。

.jpg Sequence [8bit]

サポートしていない

非可逆

ファイル サイズが小さいため、プレビューに適した形式。

.png Sequence [8bit]

サポート

可逆

ファイル サイズは大きいものの、画質も高い。

.exr Sequence [16bit]

サポート

可逆

Industrial Light and Magic 社が開発したハイダイナミック レンジ形式で、ビデオ合成に使用される。

.wav Audio

N/A

N/A

音声出力向け。

画像タイプの詳細については、「ムービー レンダー キューのエクスポート フォーマット ガイド」を参照してください。

Both .png.png および .exr 画像形式では、画像にアルファ チャンネルを出力する機能があります。ただし、まず、この機能のサポートを有効にする必要があります。エディタのメニュー バーから、[Edit (編集)] > [Project Setting (プロジェクト設定)] > [Engine (エンジン)] > [Rendering (レンダリング)] > [Postprocessing (ポストプロセス)] > [Enable alpha channel support in post processing (experimental)(ポストプロセスでアルファ チャンネル サポートを有効にする) (実験的機能)] > [Linear color space only (線形色空間のみ有効)] を選択します。

この変更を適用すると、エンジンの再起動を求めるメッセージが表示されます。透明な背景を作成するには、空、大気フォグなどシーン内の不透明なオブジェクトを非表示にする必要があります。

複数の出力形式を選択することができますが、この演習では 1 つのみを使用します。

レンダリング設定の説明

MRQ_SettingOptions_Rendering.png

レンダリング には使用可能な 2 つの設定があります。これらの設定では、最終的な画像の出力方法を指定します。

レンダリング タイプ

説明

Deferred Rendering (ディファード レンダリング)

デフォルトのオプション。Deferred Rendering をオフに切り替えると、最終的なフレーム レンダリングが無効になります。ただし、キューが設定の他のステップの処理を停止することはありません。このガイドの手順を実行する際は、このオプションを有効にする必要があります。

UI Renderer (Non-Composited) (UIレンダラ (非合成))

Adobe Premiere、Final Cut Pro などの別の合成アプリケーションのフレーム レンダリングと合成できる個別の .png または .exr ファイルに UMG ウィジェットをレンダリングすることで、柔軟性を提供します。これは、インターフェース関連のグラフィックを合成する場合に役立ちます。

その他の設定の説明

MRQ_SettingOptions_Settings.png

[Settings (設定)] オプションでは、最終的な出力画像をレンダリングする際に使用する設定可能項目を追加で指定することができます。

設定タイプ

説明

Anti-aliasing (アンチエイリアス)

最終的な画像をレンダリングする際に使用するサンプル数とサンプル タイプを制御します。

Burn In (バーンイン)

シーン名、ショット名、日付、時間、フレーム情報などの情報を含むオーバーレイ。これらのオーバーレイは、レンダリング時にムービーに焼き付けられるため、Burn In (バーンイン) と呼ばれています。必要に応じて、カスタム ウィジェットに置き換えることができます。

Camera (カメラ)

モーション ブラー、露出などのエフェクトに作用するシャッター設定を制御するために使用できます。

Console Variables (コンソール変数)

ムービー レンダー キューからレンダリングする際に特別に実行するコンソール変数を呼び出します。

Game Overrides (ゲーム オーバーライド)

ゲーム モード設定、シネマティック品質設定など、ゲームに関連する一般的な設定をオーバーライドします。これは、ゲームの通常モードで UI 要素を表示したり、キャプチャ対象ではない画面をロードしたりする場合に役立ちます。

High Resolution (高解像度)

タイリングされたレンダリングを使用して、テクスチャの最大サイズや GPU のメモリ制限があるために通常生成できるサイズより、大きな画像を生成する方法を提供します。

この演習では、これらの設定の一部のみを使用しますが、後ですべてのオプションを自分で確認できます (是非、確認してください)。

これらの設定の詳細については、「ムービー レンダー キューの画像設定ガイド」を参照してください。

ステップ 5:オプションを選択する

[Setting/Presets (設定/プリセット)] ウィンドウに次のオプションを追加します。

  • .png Sequence [8bit]

  • Deferred Rendering

  • Anti-Aliasing

  • Console Variables

もう 1 つのオプション Output[Settings (設定)] のリストに表示されます。このオプションだけは、削除することができません。

SettingPreset_withOptionsSelected.png

この時点では、[Setting/Presets (設定/プリセット)] ウィンドウはこのように表示されています。

ステップ 6:アンチエイリアス設定を設定する

アンチエイリアス は、線を滑らかにし、ギザギザに見える部分を取り除く方法です。スペース (空間的) サンプリングテンポラル (時間的) サンプリング はそれぞれ異なるアプローチを使用して、アンチエイリアスおよびノイズ関連の問題に対処します。

  • スペース サンプリング は、同じ瞬間をではあってもカメラの相対位置が若干異なるレンダリングによって機能します。相対位置が異なるサンプルを蓄積する一方で、2 つの異なる空間サンプルの時間は同じです。

  • テンポラル サンプリング は、カメラのシャッター開放時間を指定されたサブフレームにスライスし、エンジンのモーション ブラーを使用して細かいスライス間を補間することで機能します。特にモーション ブラーの品質を向上させるのに適しています。

テンポラル サンプリングとスペース サンプリングの違いや、どのような場合にどちらの方式を使用するかに関するガイドラインの詳細については、「ムービー レンダー キュー アンチエイリアシング設定」を参照してください。

このガイドで使用されている値は、両方の方式を組み合わせたものです。

なお、このガイドの作成時には、RTX-2080 Ti グラフィック カードを使用しました。使用している設定によっては、最終的なフレーム レンダリングを生成するために、この値を下げる必要がある場合があります。また、Quadro RTX などのハイエンド カードを使用している場合は、サンプル数を上げることができます。

  1. [Movie Render Queue] ウィンドウで、[Unsaved Config (保存されていない設定)] リンクをクリックして、設定を開きます。( * は、これらの設定がまだ保存されていないことを示しています。すべての設定を入力したら、プリセットを保存します)。

  2. [Setting/Presets (設定/プリセット)] ウィンドウで [Anti-aliasing (アンチエイリアス)] をクリックして、設定ダイアログを開きます。

  3. 次の値を追加します。

    • Spatial Sample Count: 1

    • Temporal Sample Count: 64

    • Override Anti Aliasing Mode: Enabled

    • Anti Aliasing Method: None

    • Render Warm Up Count: 120

    • Engine Warm Up Count: 120

    MRQ_Configure_AntiAliasing.png

[Render Warm Up Count (レンダー ウォームアップ カウント)][Engine Warm Up Count (エンジン ウォームアップ カウント)] の値は、テンポラル (時間) 履歴とシミュレーションをビルドする際に、フレームをキャプチャする前にそれらを確定させるため、十分な時間をバッファに提供します。例えば、これにより、最初のフレームをレンダリングする前に、自動露出やその他の画面エフェクトが適切なスタート ポイントに達することができます。

これらの設定により、高品質の画像がレンダリングされます。このガイドの目的は、リアルタイム レンダリングで得られるよりも高品質な画像を示すことです。そのため、リアルタイム パフォーマンスやレンダリングにかかる時間を考慮する必要がありません。

ただし、この品質とパフォーマンスの間のこのトレードオフは、サンプル数が多いほど、各フレームのレンダリングにかかる時間が長くなることを意味します。

可能であるからといって、実行すべきこととは限りません。

開始する前からすべてを最高値に設定するのではなく、まず数フレームを使用してテストすることをお勧めします。目的は、使用する GPU と設定に基づいて、プロジェクトに最適な設定を見つけることです。

ステップ 7:コンソール変数を設定する

ムービー レンダー キューからレンダリングする時に実行する必要のある コンソール変数 (CVAR) のほとんどを呼び出すことができます。これは、リアルタイムの場合は、負荷が高すぎる高品質の結果をレンダリングする際にきわめて役立ちます。

キューにリストされた CVAR は、画像がキューからレンダリングされる場合にのみ実行されます。これらの設定は、設定済みのレベルの要素を永久的に変更するわけではありません。既存の設定と組み合わせて機能し、最終的な画像出力向けのキューに指定されている設定をオーバーライドするだけです。

このアプローチはレイ トレーシングで特に有効で、サンプル数とバウンス回数の増加がパフォーマンスに直接影響するものの、ライティング結果の品質と精度が大幅に向上します。

  1. [Console Variables (コンソール変数)] をクリックして設定ダイアログを開きます。

    MRQ_Configure_ConsoleEmpty.png

  2. [Add (+)] ボタンをクリックして、次のリストを使用して変数とその値を入力します。

    • r.MotionBlurQuality:4

    • r.MotionBlurSeparable:1

    • r.DepthOfFieldQuality:4

    • r.BloomQuality:5

    • r.Tonemapper.Quality:5

    • r.RayTracing.GlobalIllumination:1

    • r.RayTracing.GlobalIllumination.MaxBounces:2

    • r.RayTracing.Reflections.MaxRoughness:1

    • r.RayTracing.Reflections.MaxBounces:2

    • r.RayTracing.Reflections.Shadows:2

    これらの CVAR の最も迅速かつ正確に入力するには、このドキュメントから切り取って貼り付け、Tab キーを押して、カーソルをその値フィールドに移動します。

  3. すべての値が追加されるまでステップ 2 を繰り返します。

    MRQ_Configure_ConsoleFull.png

アンチエイリアス値と同様に、ここで使用するコンソール変数は、パフォーマンスよりも品質に重点を置いています。

レイ トレーシングのグローバル イルミネーション (r.RayTracing.GlobalIllumination) では、値を「1」に設定して、ブルートフォース方式を呼び出します。これは正確であり、間接ライティングで複数回のバウンスが可能になりますが、大きな演算負荷がかかります。この値を「2」に変更すると、テンポラル履歴方式を使用することになります。テンポラル履歴方式の方がはるかに高速であるものの、間接ライティングのバウンスは 1 回のみになり、さらに、ゴースト アーティファクト (動く画像の後ろに生じる残像のピクセル) が生成されます。

この演習の他の CVAR は、品質レベルを制御するスケーラブルな値を使用します。

コンソール変数の詳細を知りたい場合は,バッククォート ( ` ) キーを使用してコンソールを開くと、そのコンソール コマンドを検索できます。ツールチップを表示するには、

[consolevariablename] ? という形式を使用します。

例えば、「r.RayTracing.GlobalIllumination ?」と入力すると、次のようなツールチップが出力されます。

 HELP for 'r.RayTracing.GlobalIllumination':
-1:Value driven by post process volume (default) 
0: ray tracing global illumination off 
1: ray tracing global illumination brute force method enabled
2: ray tracing global illumination final gather method enabled

このクエリの結果は、[Output Log (アウトプット ログ)] に表示されます。アクセスするには、[Window (ウィンドウ)] > [Developer Tools (デベロッパー ツール)] > [Output Log (アウトプット ログ)] を選択します。

このガイドで選択した変数と値はすべて、プロジェクトをレンダリングするための優れたスタート ポイントとして使用できます。

自分のプロジェクトで作業するときは、変数や値をいろいろ試してみてください。レイ トレーシング固有の CVAR については、「

[ムービー レンダー キューの概要](AnimatingObjects/Sequencer/Workflow/RenderAndExport/HighQualityMediaExport)
」およびこのガイドの末尾の「応用編」を参照してください。

ステップ8:出力を設定する

[Setting/Presets (設定/プリセット)] ウィンドウの最後の設定は、[Output (出力)] です。

シーケンス全体、フレーム範囲、または個々のフレームをレンダリングすることができます。高品質の出力には時間がかかるため、この演習では、シーケンスの短いセグメントに出力を限定しています。

  1. [Setting/Presets (設定/プリセット)] ウィンドウの [Output (出力)] をクリックして、設定ダイアログを開きます。

    MRQ_OutputSettings.png

  2. [File Output (ファイル出力)] で、次のように入力します。

    • Output Directory (出力ディレクトリ): 画像のレンダリング先のディレクトリ。デフォルトでは、プロジェクト フォルダに保存されます。別のディレクトリを参照するには、右側の [...] をクリックします。

    • File Name Format (ファイル名の形式): デフォルトの名前は、変更されていない場合、シーケンスの名前とレンダリングされたフレーム番号です。

    • Output Resolution (出力解像度): ターゲット画像のサイズ。デフォルトは、1920 (幅) × 1080 (高さ) です。デフォルトのままにします。

    • Use Custom Frame Rate (カスタム フレーム レートを使用): 出力のフレーム レートを変更します。無効のままにします。

    • Override Existing Output (既存の出力をオーバーライド): このボックスをクリックして有効化します。

  3. [Frames (フレーム)] で、次のように入力します。

    • Handle Frame Count (処理フレーム数): この実習では使用しません。デフォルト値の「0」のままにします。このオプションの詳細については、「シーケンサの概要」を参照してください。

    • Output Frame Step (出力フレーム ステップ): この実習では使用しません。デフォルト値の「1」のままにします。

    • Use Custom Playback Range (カスタム再生範囲を使用): クリックして、有効化します。

    • Custom Start Frame (カスタム開始フレーム): レンダリング範囲の最初のフレームを設定します。「450」を入力します。

    • Custom End Frame (カスタム終了フレーム): 範囲の最後のフレームを設定します。「550」を入力します。この 100 フレームの範囲は、レンダリングが完了するまでにきわめて長い時間待機することなく、反射、モーション ブラー、グローバル イルミネーションの品質を十分に示すことができます。

  4. [Accept (承諾)] をクリックして、入力したすべての設定を保存します。

ステップ 9:設定を保存する

設定を保存しておくことで、このプロジェクトや他のプロジェクトで簡単に再利用できます。プリセットを保存しておけば、後からアクセスして、プロジェクトのワークフローに合わせて調整する方法を見つけたときに保存した設定を編集したり、他のプロジェクトにプロセットをコピーすることができます。

また、設定を編集して保存したり、後でプロジェクトのワークフローの設定を調整する方法を見つけたときに、保存することもできます。

  1. [Movie Render Queue] ウィンドウで、[Unsaved Config (保存されていない設定)] をクリックして、[Setting/Preset (設定/プリセット)] ウィンドウを開きます。

  2. [Presets (プリセット)] をクリックし、[Save As Preset (プリセットとして保存)] をクリックします。

    SavePreset.png

  3. [Save Config Preset (コンフィグ プリセットを保存)] ウィンドウで、プリセット アセットに名前を付けます。

    プロジェクトのコンテンツ ブラウザに新しいディレクトリ パス「Cinematics > MoviePipeline > Presets」が自動的に生成されます。デフォルトの場所を受け入れるか、左側のコンテンツ ナビゲーション パネルを使用して、別のディレクトリを選択します。

    SavePresetDefaultDirectory.png

  4. [Save (保存)] をクリックします。

SavedPresetsLoad.png

このプリセットがアセットとして使用できるようになり、コンテンツ ブラウザで開いたり、シーケンス ファイルとは別に、他のプロジェクトにコピーすることができるようになります。

保存したプリセットが表示されない場合は、ドロップダウンをクリックして、このプロジェクトで保存されているプリセットのリストを開きます。

MRQ_SettingsSaved.png

ステップ 10:最終出力および結果

この実習の最後のステップでは、設定して保存した値を使用して、サンプル シーケンスから選択した画像の範囲をレンダリングします。

レンダリングには次の 2 つのオプションがあります。

  • Render (Local): 現在のエディタ インスタンスのキューをレンダリングします。Play In Editor (PIE) に似ています。これは、最も一般的なワークフローであり、イテレーション時間が迅速であるため、推奨オプションです。

  • Render (Remote): デフォルトのビヘイビアでは、キューをレンダリングするために別のプロセスを起動します。従来のムービー レンダリング システムの [Use Separate Process (別のプロセスを使用)] に似ています。別のプロセスを起動する際は、ファイルへの変更を保存する必要があります。このボタンの挙動は、レンダー ファームを使用するなどのインハウス ソリューションに置き換えることができます。

この演習では、簡単にプレビューできるように ローカルでレンダリング します。

  1. [Movie Render Queue] ウィンドウで、保存したプリセットとともにシーケンスがロードされていることを確認してから、[Render (Local)] ボタンをクリックします。

    RenderLocal.png

  2. プレビュー ウィンドウが起動して、プリセットのパラメータと値に基づいて各フレームをキャプチャして出力します。

    RenderPreview.png

    左側の下部にはステータス情報が表示され、右側にはシーケンス情報が表示されます。

    このレンダリング出力は、速度ではなく品質の確保をを目的として設定されています。お使いのコンピュータで処理に時間がかかっていると思われる場合は、処理が完了するまでお待ちください。レンダリング プロセスには時間がかかることがあります。

  3. レンダリングが完了すると、プレビュー ウィンドウが終了します。キャプチャされたフレームは、出力を保存している ディレクトリにあります。そのフォルダに素早く移動するには、[Output (出力)] 列の下にある [Movie Render Queue] ウィンドウのリンクをクリックします。

次は、100 フレーム ショットのレンダリングの最終結果を示すビデオ クリップです。

ゴールド カップからの反射がちらついて見えるなど、依然として対処が必要なアーティファクトをいくつか確認できる場合があります。このような問題は、マテリアルの他の手法を使用して最適化または対処することができます (これらの手法の詳細については、 「ArchViz Interior Rendering」を参照してください。

ただし、アンチエイリアス、シャドウイング、モーション ブラー、マルチバウンスのグローバル イルミネーション、およびリフレクションは改善されていることがわかります。次の比較を使用して、デフォルト設定を指定したフレーム 540 (左) とこの実習の出力向けの指定を設定したフレーム 540 (右) の違いを確認してください。

デフォルト設定を指定したフレーム 540

出力向けの指定を設定したフレーム 540

このガイドでは、複数の形式で高品質の画像シーケンスをレンダリングするために、ムービー レンダー キューを設定および構成する方法を学習しました。Adobe Premiere、After Effects、Final Cut Pro、Nuke、Resolve などのサードパーティ製の編集および合成ソフトウェアにこのような画像シーケンスを取り込んで、ビデオ クリップを生成したり、さらにショットの編集やカラー グレーディングを行うことができます。

レンダリングのトラブルシューティング

レンダリングが失敗したり、エンジンがフリーズまたはクラッシュした場合は、いくつかの事項を確認してください。

  • お使いのグラフィック カード向けの最新の GPU ドライバを使用していますか?

    使用していない場合は、最新の GPU ドライバをダウンロードしてください。

  • お使いの GPU はレイ トレーシングに対応していますか?

    レイ トレーシングのシステム要件の詳細については、「リアルタイム レイ トレーシング」を参照してください。

これらの事項を確認しても問題が解決しない場合は、次の手順を実行してください。

GPU のタイムアウトを無効化する

次の情報は、GPU のタイムアウトを回避または削減するのに役立ちます。ただし、タイムアウトの問題が発生した場合や、レンダリング中にエンジンがクラッシュした場合に限り使用してください。

コンソール コマンド r.D3D12.GPUTimeout は、エンジンが終了する原因となる GPU のタイムアウトの有効化/無効化を設定します。

  • 0」は GPU のタイムアウトを無効にします。この設定では、PC がフリーズすることがあるため、慎重に使用してください。

  • 1」は GPU のタイムアウトを有効にします。これはデフォルトで設定されており、GPU 上で処理が完了するのに時間がかかりすぎるとエディタが終了します。

これはシステム全体ではなくプロジェクトにのみ適用されるため、ArchViz Interior サンプル プロジェクトをダウンロードした後、Unreal Engine を閉じている状態で、次の手順を実行してください。

  1. Unreal Engine を閉じた状態で、プロジェクトの「Config」フォルダに移動します。 Example: D:\ue_local_project_Epic_official_demo\ArchVizInterior\Config

  2. テキスト エディタで「ConsoleVariable.ini」ファイルを開き、ファイルの一番下までスクロールして、末尾に次の 2 行を追加します。

    ; disable GPU Timeout

    r.D3D12.GPUTimeout=0

    最初の行は、CVAR の内容を確認するためのコメントです。2 行目は、実際の CVAR と意図する値を示しています。

  3. ファイルを 保存 します。オーバーライドするように求められたら、[OK] をクリックします。テキスト エディタを閉じます。

  4. エンジンを起動して Archviz プロジェクトをロードします。これで GPU のタイムアウトの CVAR が有効になりました。

応用編

このガイドでは、ムービー レンダー キューの基本的なワークフローを学習しました。ただし、このガイドで使用した設定はあくまでもスタート ポイントとして使用する設定です。そのため、次の提案事項を自分で実行してみることをお勧めします。

ローカルとリモートのレンダリングの比較

ステップ 10:最終出力および結果」では、レンダリングをローカルで出力しました。この方法は、プレビューに適していると同時に、高品質の結果を実現します。ただし、リモート レンダリングを使用すると、プロセス中に Unreal Editor のレンダリング コードが実行されません。

レンダー ファームにアクセスできる場合は、Render (Remote) コマンドの独自の処理を実装して、ジョブをレンダー ファームに送信させることができます。現時点では、Unreal Engine は、既存のサードパーティ製レンダー ファーム ソフトウェアに対応していません。Unreal Engine 4.25 では、現在のところ、C++ を使用して新しい実装を記述する必要があります。近日中に、Python での実装の記述をサポートする予定です。

テンポラル サンプリングと Denoiser (ノイズ除去機能)

画像処理でアンチエイリアスに対処するテンポラル サンプリングには、2 つのアプローチがあります

リアルタイムでエディタで作業する場合は、リアルタイム専用のアンチエイリアス手法である テンポラル アンチエイリアシング (TAA) を使用します。これには、カメラの動きが非常に速い場合や、細かいディテールが描写されているマテリアルの間をオブジェクトが移動する場合、ゴースト、ノイズといったアーティファクトが生じるなどの欠点があり、高品質の画像出力に適しているとはいえません。

代わりに、テンポラル サンプリング を使用することができます。この手法は TAA に類似していますが、実際のレンダリング データを使用して画像をアンチエイリアシングします。テンポラル サンプリングでは、リアルタイムの TAA の問題が解決されますが、より優れた結果を生成するためにより多くのサンプルを使用するため、処理にはるかに時間がかかります。例えば、8 倍の数のサンプルを使用した場合、リアルタイムの TAA の 8 倍の処理時間がかかります。

別の側面は、レイ トレーシングはその機能の多くが異なるノイズ除去機能を使用していることです。使用するサンプル数は減りますが、ブラー、スムージングによりサンプルをソフト化することで、より多くのサンプルを使用している場合と同等の結果が生成されます。ムービー レンダー キューでは、リアルタイムのパフォーマンスを考慮する必要がないため、ノイズ除去機能を無効化して、より多くのサンプルを使用し、物理的にさらに正確な結果を生成することができます。

このことを念頭に置くと、ムービー レンダー キューでレイ トレーシング機能を使用している場合は、レイ トレーシング機能をコントロール変数リストに追加することで、次のノイズ除去機能を無効にすることができます。

  • r.AmbientOcclusion.Denoiser:0

  • r.DiffuseIndirect.Denoiser:0

  • r.RayTracing.SkyLight.Denoiser:0

  • r.Reflections.Denoiser:0

  • r.Shadow.Denoiser:0

  • r.RayTracing.GlobalIllumination.Denoiser:0

    [Configuration Settings (設定)] ダイアログで [Anti Aliasing Method (アンチエイリアス手法)][None (なし)] に設定して TAA を無効にしている場合は、CVAR でノイズ除去機能を無効にするときにサンプルのテンポラルの蓄積をオフにすることをお勧めします。ムービー レンダー キューの独自のテストで次の設定を確認してみることをお勧めします。

  • r.AmbientOcclusion.Denoiser.TemporalAccumulation:0

  • r.GlobalIllumination.Denoiser.TemporalAccumulation:0

  • r.Reflections.Denoiser.TemporalAccumulation:0

  • r.Shadow.Denoiser.TemporalAccumulation:0

その他のレイ トレーシング コンソール コマンド

レイ トレーシング機能の値の多くは、リアルタイムでの使用に対して最適化されています。このため、より少ないサンプル数、最大バウンド回数の制限といった品質と引き換えにパフォーマンスを確保する設定を使用しています。

以下に、パフォーマンスと引き換えに品質を確保するために、ムービー レンダー キューで使用できるその他のコンソール変数を示します。この機能は、レンダリングがキューから実行されるときに限り、これらのコマンドを実行するため、特に役立ちます。また、その設定が、エディタでポストプロセス ボリュームで設定されている可能性のあるリアルタイム設定を永久的にオーバーライドすることはありません。

Samples Per Pixel (ピクセルごとのサンプル): 各レイ トレーシング機能は、最終結果を生成するために少数または多数のサンプルを使用することができます。ノイズ除去機能は、より少ないピクセル数を使用します。また、多くの場合、この機能は負荷の高い作業を実行するために使用されます。ムービー レンダー キューには、ノイズ除去機能を無効にして、ピクセルあたりのサンプル数を増やすことで、品質を向上させるオプションがあります。

次に、いくつか例を挙げます。

  • r.RayTracing.Reflections.SamplesPerPixel

  • r.RayTracing.Shadow.SamplesPerPixel

  • r.RayTracing.GlobalIllumination.SamplesPerPixel

Maximum Number of Bounces (バウンスの最大回数): リフレクション、グローバル イルミネーション、クリア コートなどのレイ トレーシング機能は、シーン内で複数の反射や光の複数回のバウンス (跳ね返り) を描写することで、より自然で品質の高い結果を生成します。これらの設定は、リアルタイム レンダリングでは非常に大きな負荷がかかります。

  • r.RayTracing.GlobalIllumination.MaxBounces

  • r.RayTracing.Reflections.MaxBounces

  • r.RayTracing.Reflections.MaxUnderCoatBounces

Sky Light (スカイ ライト): リアルタイムのレイ トレーシングでは、スカイ ライトの距離が無限であるた、め、反射やグローバル イルミネーションなどの機能のために各フレームを計算する際に、さらに負荷がかかる可能性があります。

次の CVAR では、ムービー レンダー キューで作業する際に、レイ トレーシングでスカイライトの追加オプションを有効にすることができます。

  • r.RayTracing.GlobalIllumination.EvalSkyLight

  • r.RayTracing.SkyLight.EnableTwoSidedGeometry

  • r.RayTracing.Reflections.RayTraceSkyLightContribution

  • r.RayTracing.SkyLight.EnableMaterials

これらは使用可能な CVAR のごく一部です。その他の変数を確認するには、コンソール ウィンドウを開いて、「r.RayTracing」と入力してください。

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