リアルタイム コンポジット ツール

Unreal Engine 4 向け製品ドキュメント (リファレンスおよびガイドを含む)

Windows
MacOS
Linux

このセクションでは、リアルタイム コンポジット ツールと全体的なプロセスの概要を示します。

Composure プラグイン

コンポジット ツールにアクセスするには、Composure プラグインを有効にする必要があります。

image13.gif

[Compositing Tree (コンポジット ツリー)] パネル

Composure プラグインを有効にすると、[Composure Compositing (Composure コンポジット)] パネル ([ウィンドウ] メニュー内) にアクセスできます。

image17.gif

このパネルを使用して、コンポジット エレメント**の階層を構築します。エレメントは合成されたシーンのピースをレンダリングするためのオブジェクトです。トップレベルのコンポジット エレメントを追加するには、このパネルを右クリックし、メニューから [Create New Comp (新規コンポジットを作成)]** を選択します。 ツリー構造でエレメントを次々にネストすることができます。どのエレメントを上位レベルのエレメントでクロス エレメントに使用できるかは、この階層によって決まります。

エレメントはそのレベル内のアクタにすぎません。エレメントは他のアクタと同様にシーンに追加できます。このパネルには、エレメントをネストする方法があり、使いやすいようにいくつかのコントロールが公開されています。

移植しやすいように、エレメントを独自のサブレベルに追加することをお勧めします。エレメントはレベル アクタであるため、コンポジット ツリーを他のマップにロードできます。

[Compositing Tree (コンポジット ツリー)] パネルのアナトミー

image1.png

項目

説明

A. エレメント行

コンポジット エレメントはシーン内に存在するアクタです。コンポジット パネルには、現在ロードされているマップにあるエレメントごとに 1 つの行があります。

B. エレメント名

各エレメントには一意の名前があります。エレメント名は、コンポジット マテリアル グラフで特定のエレメントを参照するために使用されます。

C. アクティブ トグル

各エレメントを無効にでき、外部的な方法で無効にすることもできます。このボタンを使用すると、個々のエレメントのレンダリングをオフにできます。 目が開いた アイコンは、エレメントがアクティブでありレンダリングされていることを表します。 目が閉じた アイコンは、エレメントが無効になっていることを表します。

D. アルファ スライダー

パーセンテージ ボックスではエレメントの不透明度を指定します。ドロップダウンをクリックすると、不透明度を増減するためのスライダーが表示されます。これは、複合ビューで互いに重なり合っているものを位置合わせするのに便利です。

E. 静止画トグル

エレメントがアニメーション化されていることがあります (ビデオ ストリーミング、シーンでの CG オブジェクトのアニメーション化)。このトグル ボタンを使用すると、エレメントのレンダリングを一時停止して静止画にするのが簡単になります。

F. メディア出力トグル

このトグルはキャプチャ カードによるエレメントのレンダリング結果出力のオン/オフを切り替えます。このトグルを始めてオンにしたときに、メディア出力定義アセットを選択 (または作成) するように要求されて、ターゲット出力 (キャプチャ カードなど) のアセットの詳細を指定する必要があります。 ここで選択できるのは、エレメントに追加できる多くの出力タイプのいずれか 1 つだけです。

G. エレメント プロパティ

エレメントを選択すると、そのプロパティが [Details (詳細)] パネルに一覧表示されます。すべてのエレメントの内部パスの一覧など、コンポジットに特有の設定は [Composure] カテゴリ内に一覧表示されます。

H. エレメント プレビュー ペイン

エレメントを選択すると、レベル エディタ ウィンドウにプレビュー ペインが追加されます。プレビュー ペインにはエレメントの最終的なレンダリング結果が表示されます。エレメントが間違ったステート ("Empty (空)" など) である場合は、エラー メッセージも表示されます。

エレメントは線形色空間で処理されます。デフォルトでは、プレビューは sRGB 変換に対して線形に表示され、画像はトーンマッピング処理されずに表示されます (そのため、大きく表示されることがある)。ただし、エレメントをどのようにプレビューするかを変更するオプション (独自のトーンマッピング処理の追加など) があります。

コンポジット エレメント

エレメントはコンポジットの作成に使用される個別の構成要素です。各エレメントはコンポジットの 1 つのレイヤーまたはコンポジット自体を表します。エレメントは合成されたシーンのピースをレンダリングするためのオブジェクトです。

内部パス

各エレメントには、一連の内部パスがあり、それはそのエレメントの内部的なシーケンス ステップです。各パスは、エレメントのレンダリングでの独特なステップです。パスを持たないエレメントでは何も行われません。多数のさまざまなパスがあります。事前定義されたパスを持つエレメント アーキタイプもあるため、一から作成する必要はありません。

エレメントのアナトミー

image11.png

項目

説明

1.Inputs (入力)

一部のエレメントは、コンポジット システムの外部にあるリソース (ビデオ入力用のメディア テクスチャなど) にアクセスする必要があります。[入力] では、それらの依存関係をエレメントにルーティングする方法を指定します。[入力] は、後続の他のパスで参照できる特別なパスです。一部のエレメントタイプでは、入力が事前定義されています。

2.Target Camera Actor (ターゲット Camera アクタ)

一部のエレメント タイプ (CG キャプチャなど) では、そのビューの基準点が必要です。設定されていない場合、エレメントではシーン内で最初に見つかったカメラが基準点になります。個々のエレメントに対して指定してオーバーライドすることも、ルート エレメントから継承することもできます。 

3.Transform Passes (トランスフォーム パス)

トランスフォームは、ある種類の入力を受け取って、それを変更または使用して新しい何かを生成するパスです。たとえば、カラー トランスフォームはある色空間からの画像を受け取って別の色空間に変換します。このリスト内の最後のトランスフォームによって、このエレメントの最終的なレンダリング結果が生成されます。

4.Internal Pass (内部パス)

多数のさまざまなパスがありますが、いくつかのプロパティはすべてのパスで共有されています。

  • 4a.Pass Enable (パス有効) エレメントと同様に、個々のパスを無効にできます。無効になっている場合、エレメントはそのパスが存在しないかのように動作します。

  • 4b.Pass Name (パス名) パスには名前があり、後続のパスで参照できます。パス名をレンダリング マテリアルで参照する場合、そのパス名は一意である必要があります。

  • 4c.Pass Material Resource Reuse Flag (パス マテリアル リソース再利用フラグ) レンダリング パスごとに 1 つのレンダー ターゲットが割り当てられます。デフォルトでは、次のパスによる結果のみが必要であると想定されています。その後に、そのレンダー ターゲットは別のパスで再利用できるように解放されます。その後もパスの結果にアクセスする必要がある場合は、このボックスをオフにします。

    エレメントとパスのレンダリングでは共有レンダー ターゲット プールが使用されます。すべてのターゲットの各フレームはプールに返されて再配布されます。プール内の未使用のターゲットはフラッシュされます。

5.出力

[出力] は、別の形式のパスです。出力はエレメントのレンダリング結果に影響を与えるのではなく、レンダリング結果をどこかにルーティングすることに関与します。たとえば、結果をビデオ キャプチャ カードやプレイヤーのビューポートにルーティングします。

6.Render Resolution (レンダリング解像度)

エレメントのレンダリング解像度を定義します。エレメントごとにオーバーライドすることも、親から継承することもできます。一部の内部パスでは、この設定がオーバーライドまたはスケーリングされることがあります。

7.Preview Transform (プレビュー トランスフォーム)

エレメントは線形色空間で処理されます。デフォルトでは、画像はトーンマッピング処理されずにプレビュー表示されるため、大きく表示されることがあります。エレメントでこのオプションのトランスフォームを指定すると、エディタで画像がどのようにプレビュー表示されるかを調整できます。

8.Auto Run (自動実行)

エレメント全体を無効にするためのトグルです。無効になると、実行およびレンダリングは行われなくなります。トグルの状態は、[Compositing Tree (コンポジット ツリー)] パネルにある目のアイコンに反映されます。

コンポジットのマテリアル

基本的なコンポジット セットアップを作成する手順を詳細に解説したガイドについては、こちらを参照してください。このセクションでは、その詳細について軽く触れていますが、エレメントからの結果を別のエレメントで使用または参照する方法について深く掘り下げています。

エレメントのネスティング

image12.gif

エレメントを次々にネストすることができます。どのような種類のエレメントでも階層内のどこにでも配置できますが、最終的なコンポジットは、その直下にリストされているそのレイヤー エレメントとともに最上位に配置します。ネストされる新しいエレメントを追加するには、追加する親を右クリックし、メニューから [Add Layer Element (レイヤー エレメントを追加)] を選択します。追加するエレメントのタイプを選択するように求められます。

エレメントの中に別のエレメントをネストするとはどういう意味でしょうか

ネストすることによって、エレメントのレンダリング順序が決まります。上位の親エレメントは最後にレンダリングされ、その直下のすべては親より先にレンダリングされます。親エレメントでは、その子エレメントのレンダリング結果を自身のレンダリング パスで使用できます。このようにして、個々のエレメントを 1 つまとめて合成します。

Custom Material Pass (カスタム マテリアル パス)

多数のさまざまなパス タイプがありますが、コンポジット システムの基本は カスタム マテリアル パス です。

image10.gif

カスタム マテリアル パス は、ユーザーが作成したマテリアルをパイプラインに追加できるようにするトランスフォーム パスです。そのマテリアルでは、サブエレメントを名前で参照できます。

マテリアル内でエレメントを参照できるようにするのは**カスタム マテリアル パス**だけではなく、他のパスでもサポートされています。

マテリアルでのエレメントの参照

マテリアル内で、標準のテクスチャ パラメータを作成でき、子エレメントのレンダリング結果を使用してそのパラメータが自動接続されるようにできます。[Compositing Tree (コンポジット ツリー)] パネルで、テクスチャ パラメータにサブエレメントと同じ名前を付けます。

image18.gif

出力する必要があるのは単一色なので、コンポジット マテリアルに対してはポストプロセス マテリアルを使用します。必要であれば、ポストプロセス マテリアルに対して [Output Alpha (出力アルファ)] を有効にすることができます。

このマテリアルをマテリアルのパスに接続するだけです。そうすると、動作し始めます。

image6.gif

子エレメントが期待どおりに動作していない場合は、名前が正確に一致していることを確認します。タイプミスで失敗していることがあります。

サブエレメントが無効になっていてレンダリングされていない場合、テクスチャ パラメータには透明な黒色のテクスチャが使用されます。名前を指定したエレメントが見つからない場合、テクスチャにはそのマテリアルのデフォルトのテクスチャが使用されます。

マテリアルの移植性を高める

マテリアル内でエレメントを名前で参照することは簡単ですが、そうすると、マテリアルが非常に特殊化されて、特定の名前を持つエレメントでのみ機能することになります。別の方法として、マテリアルのテクスチャ パラメータに汎用的な名前を付けて、パスの詳細でその名前がサブエレメントを参照するように設定します。

image5.gif

パスにマテリアルが設定されると、 [Input Elements (入力エレメント)] というタイトルのプロパティ セクションが追加されます。 [Input Elements (入力エレメント)] セクションには、そのマテリアル内のすべてのテキスト パラメータが一覧表示されていて、特定の子エレメントを参照するようにテクスチャ パラメータを設定できます。

マテリアルでの他のエレメントの参照

エレメントと同様に、マテリアルではすでに実行されている他のパスを参照できます。

image2.gif

このようにして、1 つのエレメント内で順次トランスフォームを行います。たとえば、メディア プレートを使用して、クロマキー処理のパスの後に、クロマキー処理の結果を使用するスピル除去のパスを行います。

現在のパスの直前のパスより前のパスを参照する必要がある場合は、参照先のパスの [Intermediate (中間)] フラグがオフになっている必要があります。

特別なパラメータ名:PrePass

PrePass は、"この直前に実行されたパスを参照する" と解釈できる特別なパラメータ名です。

image20.png

マテリアルで PrePass を使用すると、マテリアルの詳細でパラメータ マッピングを設定する必要がなく、移植性が高くなります。

2 つのエレメントを 1 つに合成

コンポジット システムとともに、エレメントを簡単に合成するためのマテリアル関数一式が追加されています。

最も基本的な関数は Over ノードです。

image16.gif

熟練したコンポジタはこのノード関数についてよく理解しています。入力 A を受け取り、A のオパシティを使用して 2 つをブレンドして A を B にオーバーレイ表示します。

Over ノードは、float4 RGBA ベクターを受け取り、RGB チャンネルにアルファ値が事前乗算されていることを想定しています。

image19.png

Over ノードは入力 A のアルファ値を使用してブレンドします。デフォルトでは、プロジェクトは、ポストプロセス パイプラインを通じてアルファ データをつなぐようにはセットアップされていません。そのため、CG レイヤーを動作させるためには、このプロジェクト設定を有効にする必要があります。

image3.png

マテリアル パラメータの公開

スカラー パラメータとカラー マテリアル パラメータはパスの詳細パネルに自動的に公開されます。そのため、コンポジットを素早く簡単に調整、微調整、および試行できます。

image8.png

下図のマテリアルでは、スカラー パラメータ [Blend (ブレンド)] を追加していて、そのパラメータのコントロールがエレメントとパスの詳細に自動的に公開されています。

image4.gif

コンポジットの出力

 [Output Passes (出力パス)] を使用して、どこか別の場所で使用できるようにコンポジットを出力します。各エレメントにはユーザーが [Output Passes (出力パス)] を追加する場所があります。

image15.gif

[出力] は、エレメントの最終的な結果を外部コンシューマーにルーティングします。出力パスにはいくつかの異なるタイプがあり、出力での色を調整するための独自のトランスフォーム パスを持つパスもあります。出力の主な形式として、メディア キャプチャ パスを使用してキャプチャ カードを介して出力されることがよくあります。ツリー パネルで、エレメントにメディア キャプチャ パスを簡単に追加できます。

image7.png

シーケンサを介したエクスポート

別のワークフローとして、エンジン内シネマティック エディタであるシーケンサを Composure コンポジット システムと併用して、コンポジットや AOV をレンダリングできます。詳細については、「シーケンサによるリアルタイム コンポジット」を参照してください。  

image9.gif

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信