Movie Render Queue ユーザー インターフェースを使用したレンダリングに加え、ランタイムの分散ビルドで ブループリント を使用してレンダリングを実行することも可能です。これにより、エンドユーザーのデバイスでレンダリングを作成できます。
このドキュメントでは、ブループリントを使用してレンダリングを作成する方法の概要と各種設定を行うときに使用できる関数について説明します。
前提条件
- 「」ページの前提条件の手順を完了していること。
- Unreal Engine での ブループリント の使用方法を理解していること。
Movie Pipeline Subsystem
ブループリントの Movie Render Queue には、Movie Pipeline Runtime Subsystem ノードを使用してアクセスします。このサブシステムには、レンダリング ジョブ のリストを含む キュー があります。各ジョブには、1 つ以上の ショット を含めることができ、ショットのレンダリングに使用する レンダリング設定 を含む コンフィギュレーション もあります。ビデオをレンダリングするには、ジョブのリストを作成してそれらのジョブをキューに割り当ててから、Movie Render Queue Subsystem の エグゼキューター を呼び出してキューを処理する必要があります。
これを追加するには、イベント グラフ を右クリックして、[Engine Subsystems (エンジン サブシステム)] > [Get MoviePipelineQueueEngineSubsystem (MoviePipelineQueueEngineSubsystem を取得)] の順に選択します。

基本的なレンダリングを作成する
Movie Pipeline Runtime Subsystem ノードには、ブループリントを使用して正常にレンダリングを行うのに必要な 3 つの主要な関数と手順があります。
- Allocate Job。レンダリング ジョブに レベル シーケンス 割り当てるために使用する関数です。
- Set Configuration。レンダリング コンフィギュレーション を割り当てるために使用します。
- Render Job。指定されたシーケンスとコンフィギュレーションを使用してジョブをレンダリングします。
Allocate Job
まず、Movie Pipeline Runtime Subsystem ノードをドラッグし、[Movie Render Pipeline] > [Rendering (レンダリング)] > [Allocate Job] の順に選択します。

Subsystem ノードを Target ピンに接続し、In Sequence ピンにレンダリングするレベル シーケンスを割り当てます。

Set Configuration
次に、Allocate Job ノードの Return Value ピンをドラッグし、Set Configuration ノードを作成します。

カスタム レンダリング コンフィギュレーションがすでに プリセット として保存されていると仮定し、そのコンフィギュレーションを In Preset ピンに割り当てます。

Render Job
最後に、Movie Pipeline Runtime Subsystem ノードをドラッグし、Render Job 関数を作成します。これは Set Configuration の後に実行され、In Job は Allocate Job に接続します。

これらの関数を実行すると、Allocate Job で割り当てられたシーケンスと Set Configuration で割り当てられたレンダリング設定を使用して、ローカル マシンでレンダリングが行われます。
その他の関数と設定
より高度なレンダリングの制御に関しては、次の関数とワークフローを使用できます。
レンダリング コンフィギュレーションをカスタマイズする
ジョブのレンダリング設定を編集したり新しいレンダリング設定を作成したりしたい場合は、Allocate Job の後に Get Configuration および Find or Add Setting by Class ノードを接続できます。

次に、In Class ピンで特定の エクスポート形式、画像設定、または レンダリング パス を設定します。

設定を選択したら、Return Value ピンをドラッグして、その設定クラスに関連するプロパティ変数を 取得 まはた 設定 できます。

基本的なコンフィギュレーションを設定せずにカスタム レンダリング コンフィギュレーションをビルドしている場合は、ベース レンダリング パスと出力形式を追加する必要があります。これに関しては、一般的には ディファード パス と PNG や JPG などの出力を追加します。エディタとは異なり、これらの設定はデフォルトでは追加されません。
ジョブをキャンセルする
関数を使用してアクティブなレンダリング ジョブをキャンセルすることもできます。これは、レンダリングの実行中にシミュレーションが終了した場合の対策として重要になることがあります。このような対策がなければ、エディタがソフトロック状態になる可能性があります。
すべてのレンダリング ジョブをキャンセルするには、Movie Pipeline Runtime Subsystem ノードを Get Active Executor に接続してから Cancel All Jobs に接続します。

シミュレーションが終了した場合の対策としてキャンセルを実行するには、Event End Play を作成して Is Valid チェックに接続してから、Is Valid を Cancel All Jobs に接続します。

レンダリング終了イベント
Movie Pipeline Runtime Subsystem からカスタム イベントにバインドすることにより、レンダリング終了イベントを作成できます。これを行うには、サブシステムをドラッグして (Bind および Custom Event ノードの両方を作成する) Assign On Render Finished か (Bind ノードのみを作成して既存のカスタム イベントに接続する) Bind Event to On Render Finished のいずれかを選択します。

カスタム イベントに接続されたら、Results ピンを右クリックして [Split Struct Pin (構造体ピンを分割)] を選択します。レンダリング終了イベントにより、このイベントの実行時に行われたレンダリングに関連する以下の情報が出力されます。

名前 | 説明 |
---|---|
Results Pipeline | このイベントを生成した内部の UMoviePipeline オブジェクトです。これは高度なオプションであり、トラックのみを目的としています。 |
Results Job | イベントを生成した MoviePipelineExecutorJob です。これは前述の Allocate Job と同じ結果であり、トラックに使用できます。 |
Results Success | レンダリングが成功したかどうかによって true か false を出力します。 |
Results Shot Data | これには、ディスクで生成されたファイルのレンダリング パスとファイル パスのリストが含まれています。さらなる処理のためにこれらの画像をロードするイベントで使用できます。 |
レンダリング UI を変更する
デバッグ ウィジェット は、レンダリング中のムービーのプレビュー フレームを表示する UI ウィジェットです。Movie Pipeline Runtime Subsystem から Set Configuration を使用することにより、エグゼキューターが別のデバッグ ウィジェットを使用するように設定できます。

[In Progress Widget Class (進行中のウィジェット クラス)] ドロップダウン メニューで使用するウィジェットを選択します。次のオプションがあります。
- MovieRenderDebugWidget。基本クラスであり、空の画面を表示します。
- UI_MovieRenderPipelineScreenOverlay。上記のようなデフォルトのレンダリング進捗 UI を表示します。
- UI_MovieRenderPipelineScreenOverlayBlank。空の画面を表示します。

ウィジェット ブループリント を作成してからその 親クラス を MovieRenderDebugWidget に設定することにより、独自のカスタム デバッグ ウィジェットを作成できます。そうすると、このカスタム ウィジェットをエグゼキューターのデバッグ ウィジェット クラスとして選択することが可能になります。

制限事項
一部の設定は、エディタに固有の機能に依存するため、ランタイム ビルドでは使用できません。これに関しては、次のようなものがあります。
- FinalCut Pro XML 出力形式
- オブジェクト ID レンダリング パス
- WAV 出力 (
-deterministicaudio
と-audiomixer
でアプリケーションを起動する場合を除く)