ランタイム ビルドの Movie Render Queue

分散ビルドで Movie Render Queue を使用してエンドユーザーのデバイスでムービーを作成する方法

Movie Render Queue ユーザー インターフェースを使用したレンダリングに加え、ランタイムの分散ビルドで ブループリント を使用してレンダリングを実行することも可能です。これにより、エンドユーザーのデバイスでレンダリングを作成できます。

このドキュメントでは、ブループリントを使用してレンダリングを作成する方法の概要と各種設定を行うときに使用できる関数について説明します。

前提条件

Movie Pipeline Subsystem

ブループリントの Movie Render Queue には、Movie Pipeline Runtime Subsystem ノードを使用してアクセスします。このサブシステムには、レンダリング ジョブ のリストを含む キュー があります。各ジョブには、1 つ以上の ショット を含めることができ、ショットのレンダリングに使用する レンダリング設定 を含む コンフィギュレーション もあります。ビデオをレンダリングするには、ジョブのリストを作成してそれらのジョブをキューに割り当ててから、Movie Render Queue Subsystem の エグゼキューター を呼び出してキューを処理する必要があります。

これを追加するには、イベント グラフ を右クリックして、[Engine Subsystems (エンジン サブシステム)] > [Get MoviePipelineQueueEngineSubsystem (MoviePipelineQueueEngineSubsystem を取得)] の順に選択します。

get movie pipeline queue engine subsystem

基本的なレンダリングを作成する

Movie Pipeline Runtime Subsystem ノードには、ブループリントを使用して正常にレンダリングを行うのに必要な 3 つの主要な関数と手順があります。

  1. Allocate Job。レンダリング ジョブに レベル シーケンス 割り当てるために使用する関数です。

  2. Set Configurationレンダリング コンフィギュレーション を割り当てるために使用します。

  3. Render Job。指定されたシーケンスとコンフィギュレーションを使用してジョブをレンダリングします。

Allocate Job

まず、Movie Pipeline Runtime Subsystem ノードをドラッグし、[Movie Render Pipeline] > [Rendering (レンダリング)] > [Allocate Job] の順に選択します。

allocate job

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

assign sequence to allocate job

Set Configuration

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

set configuration

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

assign render configuration to set configuration

Render Job

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

full render logic

これらの関数を実行すると、Allocate Job で割り当てられたシーケンスと Set Configuration で割り当てられたレンダリング設定を使用して、ローカル マシンでレンダリングが行われます。

その他の関数と設定

より高度なレンダリングの制御に関しては、次の関数とワークフローを使用できます。

レンダリング コンフィギュレーションをカスタマイズする

ジョブのレンダリング設定を編集したり新しいレンダリング設定を作成したりしたい場合は、Allocate Job の後に Get Configuration および Find or Add Setting by Class ノードを接続できます。

customize settings using get configuration and find or add settings by class

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

class settings menu

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

settings variables

基本的なコンフィギュレーションを設定せずにカスタム レンダリング コンフィギュレーションをビルドしている場合は、ベース レンダリング パスと出力形式を追加する必要があります。これに関しては、一般的には ディファード パスPNGJPG などの出力を追加します。エディタとは異なり、これらの設定はデフォルトでは追加されません。

ジョブをキャンセルする

関数を使用してアクティブなレンダリング ジョブをキャンセルすることもできます。これは、レンダリングの実行中にシミュレーションが終了した場合の対策として重要になることがあります。このような対策がなければ、エディタがソフトロック状態になる可能性があります。

すべてのレンダリング ジョブをキャンセルするには、Movie Pipeline Runtime Subsystem ノードを Get Active Executor に接続してから Cancel All Jobs に接続します。

get active executor and cancel

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

cancellation protection

レンダリング終了イベント

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

on render finished event

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

render finish output properties

名前

説明

Results Pipeline

このイベントを生成した内部の UMoviePipeline オブジェクトです。これは高度なオプションであり、トラックのみを目的としています。

Results Job

イベントを生成した MoviePipelineExecutorJob です。これは前述の Allocate Job と同じ結果であり、トラックに使用できます。

Results Success

レンダリングが成功したかどうかによって truefalse を出力します。

Results Shot Data

これには、ディスクで生成されたファイルのレンダリング パスとファイル パスのリストが含まれています。さらなる処理のためにこれらの画像をロードするイベントで使用できます。

レンダリング UI を変更する

デバッグ ウィジェット は、レンダリング中のムービーのプレビュー フレームを表示する UI ウィジェットです。Movie Pipeline Runtime Subsystem から Set Configuration を使用することにより、エグゼキューターが別のデバッグ ウィジェットを使用するように設定できます。

render preview user interface

[In Progress Widget Class (進行中のウィジェット クラス)] ドロップダウン メニューで使用するウィジェットを選択します。次のオプションがあります。

  • MovieRenderDebugWidget。基本クラスであり、空の画面を表示します。

  • UI_MovieRenderPipelineScreenOverlay。上記のようなデフォルトのレンダリング進捗 UI を表示します。

  • UI_MovieRenderPipelineScreenOverlayBlank。空の画面を表示します。

set configuration widget class

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

movie render debug widget class

制限事項

一部の設定は、エディタに固有の機能に依存するため、ランタイム ビルドでは使用できません。これに関しては、次のようなものがあります。

  • FinalCut Pro XML 出力形式

  • オブジェクト ID レンダリング パス

  • WAV 出力 (-deterministicaudio-audiomixer でアプリケーションを起動する場合を除く)

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