見出し画像

05.Reality Engine®Reality Controlアプリケーション

----------------------------------------------------------------

以下、Reality Engine2.10 Previewドキュメントの翻訳記事です。
URL:https://docs.zerodensity.tv/reality210/reality-control-application

https://www.zerodensity.tv/


はじめに

Reality Control Applicationはコントローラの操作をより簡単にするためのアプリケーションです。

Reality Controlアプリケーションは、デフォルトの画面にLauncherが表示された状態で開きます。Reality Launcherアプリケーションを見てみましょう。

画像1


サーバーの状態

リアリティコントロールアプリケーションからEngineServer(1)とCookServer(2)の状態を確認することができます。

EngineとCookのテキストの上にカーソルを置くと、サーバーのポートとIPの情報も表示されます。

画像2


設定

Reality Control Applicationの左上にあるWindow > SettingからSettingsを開きます。

画像3


設定を開くと、下の図のようなウィンドウが表示されます。
設定は3つのセクションに分かれています。

画像4

・アプリケーションの設定
・エンジン - RealityNet
・起動設定
・クックの設定


アプリケーションの設定

このセクションでは、エンジンファイル、設定ファイル、ルートパスの格納場所についての情報を提供し、必要に応じてそれらの変数を変更することができます。

ここで重要なのは、CookServer IpとCookServer Portです。クックサーバーのポートの値は、ZDRealityCookServer.exe.configファイルと一致している必要があります。ローカルマシン上で動作していない別のクックサーバーを使用したい場合は、そのマシンのアドレスとポートを記述してください。


エンジン - RealityNet

このセクションでは、Reality Engineを追加または削除し、IPアドレスとポートを設定することができます。


起動設定

ここでは、Launcherについて説明します。Launcherの設定を変更したり、値を追加したりすることができます。


クックの設定

ここではクックについて説明します。クックの設定の値を変更したり、いくつかの値を追加したりすることができます。


エンジンモニター

エンジンモニターは4つのセクションに分かれています。


エンジンシステム情報

エンジンの状態、GPUの負荷率と温度、ビデオI/Oカードの温度、CPUとRAMの使用量、シャーシの温度についてのリアルタイムプロセスを表示します。

画像5


エンジンランタイムログ

Reality Engine(s)に関連するすべてのアクションを見ることができます。また、多くのフィルタオプションがあるので、簡単にReality Engine(s)のログをフィルタリングすることができます。

画像6


エンジンスタジオログ

Reality Engine(s)スタジオに関連するすべてのアクションを見ることができます。また、フィルターオプションがたくさんあるので、起動タイプやステータスで簡単にフィルターをかけることができます。

画像7


エンジンキャッシュ

エンジンキャッシュリストとエンジンキャッシュサマリーが表示されます。キャッシュリストの詳細を見るか、"Empty Cache"ボタンを押すとReality Engineのキャッシュをクリアすることができます。

画像8


https://docs.zerodensity.tv/download/attachments/4821548/ControlApplication.pdf


Realityアクションシステム


Reality Engineノードはプロパティを持つことができ、一部のノードは呼び出し可能な関数を持つこともできます。Reality Action Builderアプリケーションを使ってカスタムのアクションコントロールインターフェースを作成することができます。アクションコントロールは、ノードのプロパティ値を設定/アニメーション化するか、ノードの関数を呼び出します。

これらのノードは、MixerEngine Control、またはエクスポートされたアンリアル・エンジン・アクターなどのリアリティ・プロセッシング・エンジン・ノードになります。

どのタイプのノードであっても、そのプロパティをアニメーション化したり、関数(あれば)を呼び出すことができます。
リアリティアクションはリアリティアクションビルダーアプリケーションを使用して設計され、リアリティアクションコントロールはアクションプレイリストをサポートしたプロダクションに使用されます。


Reality Action Builder


Reality Action Builderアプリケーションは、コントロールインターフェースやアニメーションでトリガーされるアクションを設計するために使用されます。これはWSIWYGエディタで、ネットワーク経由でReality Processing Engineに接続した状態で動作します。


Action Builderの開始


Reality Controlアプリケーションを起動したら、[F6]キーを押してReality Action Builderを起動します。すると、Action Builderが別タブとして起動します。

作業したいセットを選択したら、Builderボタンをクリックすると、Action Builderアプリケーションが起動します。

画像9


Action Builderが起動すると、設定ファイルで定義されているすべてのサーバーへの接続を試みます。選択したセットに対して以前に構築されたアクションがない場合、Action Builderは空白のウィンドウを表示します。

または、デスクトップアイコンを使ってAction Builderを起動することもできますが、「Reality Launcher」から起動すると、プロジェクト管理で「.raction」ファイルが作成されます。


Action Builderインタフェース


Action Builderは4つのメインパネルで構成されています。

画像10

1.List of Action Files:現在のセットのアクションファイル「.action」のリストです。
2.Action Interface Preview:アクションコントロールインターフェースのプレビューウィンドウ。
3.List of Actions:アクショングループとアクションが表示されます。
4.Action Properties:選択したアクションのプロパティが表示されます。


アクションコントロールファイルの作成


画像11

createボタンをクリックするとポップアップウィンドウが表示されるので、アクションコントロールのインターフェースに名前を付ける必要があります。

画像12


これにより、 R:\Reality\Sets\SETNAME\ACTIONS1.ractionの下にアクションファイル(".raction")が作成されます。また、このファイルの下に「RootPanel」が自動的に作成され、インターフェイスをプレビューするための中央のウィンドウが表示されます。

画像13


ルートパネルの変更


RootPanelをクリックすると、パネルのプロパティが表示されます。これは私たちのメインウィンドウのプロパティで、ドッキングオプション、色などを変更することができます。

画像14

例えば、AppearanceBackgroundBのプロパティを "1.0 "にすることで、背景色を青に変更することができます。

すべての「.action」ファイルはRootPanelを持たなければなりません。


レイアウトパネル


オプションで「RootPanel」を右クリックして、他のタイプのレイアウトパネルを作成することができます。

画像15

Dock Panel:子コンテンツをレイアウトコンテナの端に沿って配置します。
Stack Panel:子要素を水平または垂直にスタックします。子要素を水平または垂直にスタックします。
Uniform Grid:Grid要素は、コンテンツを行と列に正確に配置するために使用されます。

これらのレイアウトパネルタイプは、直接公開されているWPFコンテナコントロールです。詳細については、https://msdn.microsoft.com/en-us/library/bb514628.aspx

Dock Panelは、ほとんどのユーザーインターフェースのより汎用的なコンテナであるため、まず「Dock Panel」を作成します。


アクショングループ


アクショングループは、複数の「アクション」と「プロパティ」を保持することができます。これにより、コントローラの画面上でボタンやプロパティを整理するのに便利です。


アクショングループの作成

DockPanelを右クリックしてCreateAction_Groupを選択します。これでDockPanel内にアクショングループコンテナが作成されます。

画像16


アクショングループには「アクション」と「プロパティ」があります。アクショングループを左クリックすると、そのプロパティが表示され、名前の変更、配置の変更、外観の設定を行うことができます。

画像17


アクショングループの名前を変更する

おそらく、デフォルトのインクリメントされた "ActionGroup "の代わりに、アクショングループの名前を変更することになるでしょう。オブジェクト」カテゴリの下にあるNameプロパティを編集します。

画像18

オブジェクト名とDockパネル内の表示の両方が変更されていることがわかります。デフォルトでは「ActionGroup」の名前も表示名になっています。


アクショングループのタイトルを変更する

Titleカテゴリの下には、別のDisplay NameプロパティTitleがあります。アラビア語、中国語、日本語などのラテン語以外の言語も含めて、非常に長い文章を書くこともあれば、世界の言語を使うこともあります。基本的にはWindowsのバージョンによって対応している言語が異なります。

画像19


また、タイトルアライメントプロパティでアライメントモードを選択することもできます。

画像20


アクショングループのアライメントの変更

Alignment(整列)カテゴリでは、アクショングループの水平/垂直方向の整列モード、余白、パディング、ドッキングオプションを選択することができます。

画像21


アクショングループの外観を変更する

Appearanceカテゴリには、アクショングループの化粧品的なプロパティがあります。アクショングループの背景色、境界線の太さ、境界線の色、角の半径を変更することができます。

画像22


アクショングループのプロパティのオプションを設定する

アクショングループにはプロパティを含めることができます。これらのプロパティを「表示」または「非表示」にするか、またはそれらが属しているカテゴリを選択することができます。また、アクショングループのプロパティが表示される場所を選択することもできます。

画像23


アクショングループのアクションのオプションを設定する

最も重要なことは、アクショングループにはいくつかのアクションボタンが含まれていることです。これらのボタンの向きと水平/垂直方向の配置を選択することができます。

画像24


アクションボタンの作成


アクショングループを作成したら、このグループの下に「アクションボタン」を作成します。このボタンは、ノードグラフからnode関数を呼び出したり、nodeのプロパティを設定したりすることができます。


アクションボタンの作成

作成したアクショングループを右クリックし、Create→Actionをクリックします。

画像25


これにより、「アクショングループ」の中に「アクションボタン」が作成され、自動的に「アクション」、「アクション1」...と段階的に名前が付けられます。

画像26


アクションボタンの名前を変更する

右上のウィンドウで「アクション」を選択すると、「アクションボタン」のプロパティが表示されます。オブジェクト」カテゴリの Nameの中に新しい名前として「myActionButton」と入力してください。

画像27

命名に使う文字は、文字、数字、アンダースコアに限定すると良いでしょう。プログラミング言語における関数名と考えてください。特殊な文字や標準のASCII文字以外の言語が必要な場合は、Display Nameプロパティを使用することができます。Reality Action Builderは自動的に名前を合法化しますが、それでも命名には注意してください。


アクションボタンの色を変更する

ボタンの色を変更するには、「外観」カテゴリの「背景」プロパティを設定します。

画像28


アクションボタンの表示名を変更する

非ラテン文字やその他の特殊文字を使用して長い名前を付ける必要がある場合は、「アクション」カテゴリの「表示名」プロパティを変更することができます。

画像29


確認のお願い

​操作を続行する前に、Controlオペレータに 「Action」 を確認させたい場合。​「Needs Confirmation」 プロパティを 「True」 に設定できます。

画像30

ボタンをクリックするたびにウィンドウがポップアップし、この操作を確認するようにユーザに要求します。

画像31


​アクションボタンのタスク

​「アクションボタン」に異なるタイプのタスクを割り当てることができます。

画像32

Set Node Property:通常、Reality Processing Engineノードにはプロパティがあり、このタスクタイプを使用してプロパティの値を設定またはアニメートできます。

Call Node Function:​一部のReality処理エンジンノードには呼び出し可能な関数があり、このタスクタイプを使用してこれらの関数を呼び出すことができます。

Select Node:​これは、この制御モードを受け入れるノードの外部入力制御に使用されます。

​「アクションボタン」では、指定した時間と期間に複数のタスクを順番に実行できます。​これにより、複数のタスクを1つのボタンコントロールに結合できます。


​ノードプロパティをアニメートする

仮想カメラを追加して、単純なノードグラフを設定します。設定例では、カメラノードCamera_0を作成します。

画像33


​アクションビルダを使用して、このカメラの位置をアニメートします。

​「Camera_Control」 という名前のアクショングループを作成し、このグループに 「Go_Back」 という名前のアクションボタンを追加します。

画像34


​これは、Action Builderのメインインタフェースでは次のようになります。

画像35


​次に、 「SetNodeProperty」 タスクを 「Go_Back」 アクションに追加します。

画像36


​「SetNodePropertyTask」 に次の値を入力します。

画像37

Start Time:0.0
Duration:5.0
Interpolation:“EaseInOut”
Node:“Camera_0”
Property:“LocalTransform”
Value Type:Constant
Value:X = -500.0 and Z = 100.0


​これにより、Camera_0ノードが「X=-500.0」および「Z=100.0」位置に5.0秒間移動します。
​次に、 「Camera_Control」 アクショングループの下に 「Go_Front」 アクションを追加します。

画像38


このアクションに 「SetNodeProperty」 タスクを追加します。

画像39


タスクSetNodePropertyTask_1に次の値を入力します。

画像40

これにより、Camera_0ノードが「X=-300.0」位置に1.0秒後に移動します。

​「Set Nodeプロパティ」タスクと「呼び出しノード関数」タスクの名前は、それぞれの名前プロパティを編集して変更することもできます。


​複数のタスクのアクションへの割り当て

​1つのアクションボタンに複数のタスクを割り当てることができます。​「Camera_Control」 アクショングループを選択して別のアクションボタンを作成し、名前を 「Go_Up_Down」 に変更します。​次に、最初にカメラを上に移動し、次に下に移動するアクションを作成します。

画像41


​このアクションには2つのタスクがあります。​最初の例では、Durationを2秒、Start Timeを0秒として、カメラを200センチメートルまで移動します。

画像42


​次のタスクでは、カメラを再び100センチメートルまで1秒のDurationで下げ、2秒のStart Timeから開始します。

画像43


​異なる時間オフセットで複数のタスクを呼び出すことにより、複雑なアニメーションを作成できます。


​アニメーション補間タイプ

Interpolationプロパティには、次の種類があります。

画像44

Jump:​アニメートされた値は、フレームごとに同じ増分で変化します。
Ease in:​値は最初はゆっくりと変化し始めますが、最後はリニア補間に変化する傾向があります。
Ease out:​値は最初は直線的に変化し始めますが、最後は遅くなります。
Ease in-out:​値は徐々に変化し始め、途中で加速し、最後に減速します。


​ノード関数の呼び出し


​ノードのプロパティーを設定する以外に、選択したノードに呼び出し可能な関数がある場合は、ノード関数を呼び出すこともできます。

​たとえば、 [Mixer] ノードには呼び出し可能な関数があるため、このノードを使用します。​ノードグラフ設定アプリケーションを使用すると、ノードをクリックするとそのプロパティと呼び出し可能な関数が表示されます。

画像45


​既定では、[Mixer]ノードのProgramChannelは 「Channel 1」 として、PreviewChannelは 「Channel 2」 として選択されています。​トランジションのTypeはディゾルブに設定され、Durationは 「1.0」 秒に設定されています。
​したがって、 「DoTransition」 関数を呼び出すと、 「Dissolve」 タイプのトランジションを使用して、 「Channel 1」 から 「Channel 2」 に1秒で遷移します。
​「Vision_Mixer」 という名前の新しいアクショングループを作成し、 CreateTaskCall_Node_Functionを追加します。

画像46


​まず、「Call Node Function」タブでMixerNodeプロパティとして選択し、Functionプロパティを「DoTransition」に設定します。

DoTransition関数呼び出しのパラメータが表示されると思います。ここではデフォルトのままで、持続時間1秒のディゾルブトランジションにしておきましょう。

画像47


Dissolveアクションボタンをクリックすると、[Mixer]ノードを使用して "Channel1 "と "Channel2 "の間にディゾルブを作成します。


バインディングのプロパティ


アクションビルダでは、アクショングループのプロパティをノードのプロパティにバインドすることができます。これにより、基本的にはコントロールユーザーがアクションボタンのパラメータ値を簡単に送信できるようになります。


アクションコントロールを使ったバーチャルカメラのアニメーション

プロパティバインディングの簡単な例としては、仮想カメラのトランスフォームをアニメーションさせることが挙げられます。Camera_Controlアクショングループを選択して、別のアクションボタンを作成し、名前を "SetCam0 "に変更します。

画像48


このアクションボタンのSetNodePropertyタスクを作成し、"SetCameraTransform"と名付けます。

画像49


ここで、Camera_0ノードのDurationを "5.0"、Interpolationを "EaseInOut "に設定します。

Nodeを "Camera_0"とし、Propertyを "Transform"に設定します。Value Typeを "Binding"に設定します。これは、Camera_0ノードのTransformをActionプロパティにバインドすることを意味します。


アクショングループのプロパティの作成

プロパティはアクショングループに属します。Camera_Control」グループを選択し、マウスの右ボタンでCreatePropertyTransformをクリックします。

画像50


これにより、アクショングループに "Transform"プロパティが追加されます。デフォルトでは、MyTransformという名前になっています。

画像51

トランスフォームプロパティの名前を変更したり、表示名を変更したりすることもできます。


アクショングループプロパティをノードプロパティにバインドする

SetCam0アクションの "SetCameraTransform"タスクを選択し、BindToプロパティに "MyTransform"と入力します。

画像52


ここでMyTransformに変換値を入力し、SetCam0ボタンをクリックします。これにより、Camera_0ノードの現在の変換値が、"EaseInOut "補間を使用して5秒以内に入力された値にアニメーション化されます。別のトランスフォームを入力してSetCam0をクリックすると、カメラを別の場所に移動させることができます。

画像53


Reality Actionコントローラ


リアリティアクションビルダーを使ってアクションを作成した後は、リアリティアクションコントローラアプリケーション内でアクションを使用することができます。アクションコントローラはReality Controlアプリケーションから[F6]キーを押すことで起動できます。

このコントローラアプリケーションは、オペレータが設計者のコントロールを必要としないため、制御室のオペレータに最適です。


アクションプレイリスト


プレイリストを使用することで、制作中に手動で入力し直すことなく、アクションプロパティを保存し、必要なときに呼び出すことができます。あらかじめ保存しておいたアクションプロパティを、マウスのボタンクリック一つで簡単に呼び出すことができます。

画像54

1.Action Builderで構築されたアクションコントロールインターフェースの一覧
2.アクション制御インタフェース
3.プレイリスト

プレイリスト機能はAction Controllerからのみ利用可能です。


プレイリストの作成


プレイリストの使用例を示すために、Camera_0 ノードのカメラ変換のプリセット値を保存し、後でそれらの値を呼び出します。 Createボタンをクリックすると、デフォルトでは "Playlist Item 0"という名前の新しい "Playlist Item "が作成されます。

画像55


Createボタンをさらに2回クリックして、合計3つのプレイリストを作成します。

画像56


ここで、"Playlist Item 0 "をクリックし、MyTransformプロパティにいくつかの変換値を入力します。他のプレイリスト項目を選択し、それらの項目に異なる変換値を入力します。各プレイリスト項目を選択すると、入力されたトランスフォーム値が "MyTransform "プロパティに戻ります。

画像57

現在アクティブなプレイリストの項目は緑色で表示されます。他のプレイリストの項目は赤で表示されますが、これはエラーではありません。

SetCam0 ボタンをクリックすると、Camera_0 ノードをフライします。これは、トラックレスのバーチャルスタジオカメラのためのシンプルなフライアニメーションを作成するために使用することができます。


プレイリストの項目を削除する


deleteボタンをクリックすると、選択したプレイリストの項目が削除されます。new [新規pl]ボタンをクリックすると、プレイリストメモリ内のプレイリスト項目がすべて削除されます。これらの操作では、保存されているプレイリストファイルは削除されません。


プレイリストの項目の順番を変更する


プレイリストの項目をマウスの左ボタンでクリックしてドラッグすると、リストの順番が変わります。


アクション コントロール プレイリスト ファイル

​Save plボタンをクリックすると、.rplaylistファイルを保存するためのダイアログボックスが表示されます。​playlistをファイルシステムに保存し、open plボタンを使ってそのファイルからロードすることができます。

画像58


Reality設定アプリケーション


​ここでは、セットアップアプリケーションについて説明します。​セットアップアプリケーションを使用してプロジェクトを改善する方法についてのチュートリアルが用意されています。


​カスタムテンプレートの追加


はじめに

​私たちは、Realityの新機能を発表することを誇りに思います。​この機能を使用すると、独自のテンプレートを作成できます。

​どうなるか見てみましょう。

​1.プロジェクトを作成するか、既存のプロジェクトを開きます。
2.Reality Setupを開きます。
​3.Reality EditorのPlayボタンをクリックします。​次に、 [リアリティの設定] に接続します。
​4.いくつかのノードを追加してリンクします。
5.マウスカーソルをドラッグしてノードを選択します。
​6.グラフの何もない領域を右クリックし、 [Export n Nodes] を選択します。
​7.フォルダに保存します。

画像59

​[Mixer]ノードと[EngineControl]ノードを選択する必要はありません。​これらはすでにデフォルトで設定されています。


Reality Controlアプリケーションのファイルの場所を開きます。右クリック→Properties。[Open File Location] ボタンをクリックします。

画像60

画像61


9.NodeTemplatesフォルダを開きます。​このフォルダにMyTemplate.rnodeをコピーします。

画像62


結果


​カスタムテンプレートを開きます。

画像63


自動保存


​はじめに
​自動保存は、Realityのもう1つの便利な機能です。​変更内容は、リアリティグラフに自動的に保存されます。​この機能は、いくつかの条件に従って動作します。

​自動保存ファイルを開く
​自動保存は、変更を.rnode拡張子ファイルとしてR:\Reality\AutoSaveフォルダに日ごとに保存します。

画像64


​Reality SetupでOpenボタンをクリックします。
R:\Reality\AutoSaveから自動保存ファイルを選択します。

画像65

画像66


​すべてのオペレーションをステップごとに保存する場合は、Reality Setupアプリケーションの下部にあるIncremental Saveを使用します。

画像67


フロー制御


​フロー制御ノードのジョブは、実行制御のフローに提供される手段である。​Reality Setup Applicationには、いくつかのタイプのフロー制御ノードがあります。

​フロー制御がどのようなものかを学びましょう。


トリガー(Trigger)
​トリガノードは関数の開始ノードです。​トリガーは、任意の機能を手動で開始します。​接続して、好きなときにトリガーをクリックするだけです。

画像68

条件付きトリガー(Conditional Trigger)
条件付きトリガノードは条件に従って動作します。​この条件がtrueになると、trueの出力が1回動作し、falseの場合はfalseの出力が動作します。

画像69

遅延トリガー(Delayed Trigger)
​基本的には遅延ノードです。​このノードが起動している場合、遅延プロパティーの値「遅延イベントトリガ」が使用されます。​ディレイが終了すると、このノードは「遅延イベントレシーバ」に信号を送り、動作させます。

画像70


​遅延レシーバ(Delayed Receiver)
​このノードは、「遅延イベントトリガ」が遅延時間を費やしている場合にのみ動作します。

画像71


ブランチ(Branch)
​conditionがtrueの場合、実行はtrueになります。conditionがfalseの場合、実行はfalseになります。

画像72


フリップフロップ(FlipFlop)
​実行出力を切り替えます。​出力Aは、最初に呼び出されたときに実行されます。​2回目の出力B。
FlipFlopノードには、IsAブーリアン出力もあります。​出力Aがいつ呼び出されたかを追跡できます。

画像73


シーケンス(Sequence)
​このノードは、1回の実行で複数の出力を実行します。​出力は一緒に機能しますが、順番に機能します。​シーケンスノードは任意の数の出力を持つことができる。

画像74


マルチゲート(MultiGate)
​「マルチゲート」ノードは、実行入力を受け取り、それをすべての出力にルートします。​「マルチゲート」ノードはそれぞれデフォルトで動作します。​このノードには、indexプロパティーもあります。​ルールを使用して実行する場合は、use indexプロパティを使用します。

画像75


GPUDirectテクノロジー


はじめに
​Realityエンジンの最大の利点は、GPUDirect機能の有無にかかわらず動作することです。

​リアリティエンジンには、ビデオI/Oデバイスとの通信を高速化するためにGPUDirectを使用する追加オプションがあります。​また、GPUDirect機能なしで使用することもできます。​この柔軟性は、ユーザーに選択肢を提供します。

​GPUDirectは、フレームベースのビデオI/Oデバイス用に最適化されたパイプラインです。​この組み合わせソリューションは、GPUのパフォーマンス能力を最大化する機能を提供します。

​GPUDirect for Videoは、業界標準のビデオI/OデバイスがNVIDIAプロフェッショナルQuadro GPUと超低レイテンシで直接通信できるようにすることで、画像処理用GPUの並列処理能力をより高速に活用できるようにするテクノロジーです。

​詳細については、次のリンクを参照してください。


​GPUDirectの有効化/無効化
​CPUオーバーヘッドをなくすために、GPUDirectを有効にすることができます。

​UseGPUDirectプロパティは、 「Video I/O」 カテゴリのEngineControlノードにあります。

​次のイメージは、GPUDirectが無効になっていることを示しています。これは、Realityエンジンではデフォルトです。

画像76


​GPUDirectを有効にするには、UseGPUDirectオプションをクリックしてTRUEにします。
次の図は、GPUDirectが有効になっていることを示しています。

画像77

​無効にするには、クロスマークをクリックします。


クロップ機能


​はじめに
​切り取りノードの目的は、物理的により小さなサイズのテクスチャを作成することであり、ピクセルの外側に「黒」または 「透明」 なブランキングを作成することではありません。

​テクスチャをトリミングすると、サイズが小さくなります。​テクスチャはデフォルトで常にフルスクリーン(塗りつぶしモード)、つまり「クロップアンドフィル」として使用されます。

​切り取られたエッジは、常にすべてのコーナーからテクスチャを埋めます。


​トリミングノードの操作
[Crop]ノードは、「プロセス」カテゴリで使用できます。

画像78


​各辺は、0.000から1.000、つまり0%から100%の範囲の異なる値で個別にトリミングできます。

​0.000は0%に等しく、1.000は100%に等しい。​上のイメージでは、Leftプロパティが20%でトリミングされています。

​下の例では、4つのコーナーすべてから切り抜きました。​4つのコーナーはすべて、テクスチャの元のアスペクト比を維持するように比例してトリミングされ、テクスチャは画面いっぱいになるようにサイズ変更されます。

画像79

アスペクト比を維持するために、テクスチャが比例して切り取られます。


オーディオ


​このセクションでは、オーディオノードの操作方法に関するチュートリアルを紹介します。​ここでは、オーディオ機能用の各種ノードについて説明します。


仮想セットオーディオ


​はじめに
​バーチャルセット内のオーディオを現実世界のサウンドのように実際に鳴らすために、[VirtualSetAudio]ノードには、バーチャルセット内のサウンドを作成して目的の感触を与えるツールが用意されています。

​仮想オーディオノード。トラック入力を使用してUnrealワールドからオーディオをキャプチャし、サウンドをキャプチャする場所を決定します。

​仮想セットからのオーディオはステレオで聞こえ、3 D世界での仮想カメラの位置を決定し、作品により多くの命を吹き込みます。

​仮想セットにオーディオデータを含むメディアファイルがあるとします。

​メディアI/Oから合成パイプラインに仮想セットオーディオノードを追加します。

画像80


​このノードには、1つの入力ピン (Track) と1つの出力ピン (AudioOut) があり、トラッキングデバイスの 「Track」 ピンからの出力をバーチャルセットオーディオの 「Track」 ピンに接続します。​Virtual Set AudioのピンからAJA出力カードのオーディオピンにAudioOutを接続します。

​次の図に接続を示します。

画像81


​ここで、仮想セットサウンドを聞くには、物理カメラを仮想シーンでオーディオファイルが設計されている領域の近くに配置する必要があります。​仮想セットオーディオはサラウンドサウンドのようなリアルなサウンドを実現するように設計されているため、カメラの位置によってオーディオの強度レベルが決まります。

​カメラがオーディオのある場所に近づくと、AJAカードからオーディオを聞くことができます。

​Note:カメラの実際の位置はオーディオが再生されている領域に向かって移動していないため、カメラのズームレベルはシーン内のオーディオに影響しません。


​ステレオサラウンドサウンド
​リアリティエンジンは、実際と同じようにステレオサラウンドサウンドを生成できます。​カメラの動きの位置に応じて、サラウンドサウンドが生成されます。​これはカメラの動きによって決まります。カメラが左から右にパンすると、カメラの動きに合わせてオーディオが左から右のチャンネルに徐々に聞こえます。​オーディオレベルについても同様で、カメラがオーディオソースのある位置に近づくにつれて、オーディオのボリュームレベルは徐々に増加し、カメラがさらに進むにつれて減少します。

​また、仮想シーン内の異なる位置にある複数のオーディオソースを同時に検出し、カメラがその空間を移動するときに使用可能なすべてのソースとブレンドします。

​実際に体験するには、Realityエンジンの強力なオーディオ機能を試してみてください。


​オーディオミキサー


​オーディオミキサーノードでは、さまざまなオーディオチャンネルのレベルをミキシングできます。​仮想セットオーディオ、ビデオI/Oカードまたはメディアオーディオからの複数のオーディオチャンネルをオーディオミキサに接続し、個別に制御することができます

仮想セットオーディオ、ビデオI/Oカードまたはメディアオーディオからの複数のオーディオチャンネルをオーディオミキサに接続し、個別に制御することができます。

​オーディオミキサは、仮想セットオーディオ、ビデオI/Oカードまたはメディアオーディオのいずれかから来て、独立して制御された複数の入力チャネルを介して様々なオーディオソースを取り、通常、それらをより少ない数の出力に結合し、最終的なAJAカードの最終出力に送信します。

​下のイメージでは、3つのオーディオチャネル入力ピンと1つの出力ピンを持つ [Audio Mixer] ノードが表示されています。

​「オーディオレベル」 プロパティでは、各チャンネルのオーディオレベルを制御できます。​最低レベルは0.000で、これはオーディオがミュートされていることを意味し、最高レベルは1.000でフルボリュームであることを意味します。​デフォルトレベルは0.500で、すべてのマルチチャンネルが同時に聞こえます。

画像82


オーディオミキサーノードの +Add Audioをクリックすると、ミキサにさらにチャネルが追加され、さらにチャネルをミックスできるようになります。

​さまざまなソースからの複数のオーディオチャンネルがオーディオミキサーノードに接続され、AJAカードの出力ノードに出力される例を次に示します。

画像83


​オーディオミキサーノードは、 Media I/O > Audioの下にあります。

画像84


オーディオディレイノード


​オーディオ遅延を使用すると、オーディオおよびビデオ出力のタイミングシフトの同期と補正を復元できます。

​各オーディオチャンネルのディレイを0から5000ミリ秒の範囲で設定します。

画像85


​次に、Audio Delayノードパイプラインの例を示します。

​ディレイを設定するソースのAudioOutピンを接続し、Audio DelayノードのAudio入力ピンに接続します。​そして、オーディオディレイノードのオーディオ出力ピンをAJAカードの出力ノードのオーディオピンに接続します。

画像86


メディアの再生


​メディアファイルはビデオ制作の最も重要な部分です。​これらはオーディオが埋め込まれたムービークリップであり、仮想ディスプレイスクリーン上のテクスチャとしてマッピングされた仮想セット内で再生することも、他のソースとミキシングするための追加のフルスクリーンソース(他のカメラ入力ソースと同様に)として使用することもできます。


UE Media playerノード
​フレーム精度のタイムコードとオーディオをサポートするUE Media Player。
UEメディアノードは、 [Media I/O] カテゴリにあります。

特性と機能
プロパティ タブ

画像87


メディアソースセクション
MediaSourceカテゴリにあるプロパティのほとんどは読み込み専用で、"functions"パラメータで行われた設定に基づいて情報が表示されます。

FilePath:メディアがどこから来ているかを参照して定義するために使用され、再生に使用されるファイルのパスを表示します。ファイル名と拡張子は以下のように表示されます。

Duration:使用しているクリップの長さを表示します。使用されているクリップの全長です。

CacheSize:メディアのバッファリングされた持続時間を表示します。これは、フレームドロップなしでクリップをスムーズに再生するためのものです。

UpdateType:クリップをデコードして再生する必要がある方法を表示します。

Progress:クリップ再生の進行状況を表示します。クリップ再生の進行状況の動的な値をパーセンテージで表示します。

Loop:再生状態を Loop と Play の間で一度切り替えます。False:再生するかどうかを設定します。1 回だけ再生します(デフォルトでは False に設定されています)。True:ループで再生します。


オーディオコントロールセクション

画像88

Mute:ミュートとミュート解除を切り替えます。False:ミュートを解除します。ミュート解除(可聴)(デフォルトではFalseに設定されています)。True:ミュート


ファンクションタブ

画像89

Close:Executeボタンを押したときにメディアクリップの再生を停止します。

Enqueue:Executeボタンを押すと、メディアクリップの再生を開始します。

NextFile:三つのドット...をクリックして、再生したい場所からファイルをブラウズします。選択したメディアクリップの名前がの下に表示されます。

CacheSize(milliSec):メディアのバッファ期間を設定します。​これは、フレームドロップなしでクリップをスムーズに再生するためです。​(デフォルトでは、1000ミリ秒/1秒に設定されています。)

​FrameUpdate:これらのオプションでは、クリップをデコードして再生する方法を定義します。​さまざまな再生オプションを次に示します。


EveryTick(1:1):メディアはエンジンFPSごとに再生されます

画像90

TwicePerTick(2:1):​メディアはエンジンFPSの2倍の速度で再生されます

画像91

AlternateTick(1:2):メディアはエンジンFPSの半分の速度で再生されます

画像92

FromTimeCode:メディアはAJAデバイスタイムコードに従って再生されます

画像93

MediaDefault:メディアはデフォルト設定で再生されます

画像94

​PlayAt:Enqueued Executeボタンが押されたときのメディア再生インスタンスを定義します。​現在のクリップの再生が終了した後に再生される別のメディアクリップを、que形式で参照してロードすることができます。

AfterCurrent:現在のクリップの再生が終了すると、メディアが再生(Enqueue Executeボタンをクリック)します。​現在のクリップの再生中に、別のクリップをque形式でロードできます

​この機能を使用するには、メディアソースカテゴリの「ループ」オプションプロパティが「偽」である必要があります。​LoopオプションがTrueの場合、現在のクリップがLoopで再生されるように設定されているため、次のファイルの再生は開始されません。

画像95

Immediate:メディアは、現在のクリップの再生を中断しながら(Enqueue Executeボタンをクリック)直ちに再生します(すでに再生している場合)


HAPビデオコーデック


​HAPコーデックは、GPU上で実行される高解像度ビデオ再生用に最適化された高性能コーデックの集まりで、メディア再生用のCPU使用率を大幅に削減します。​高パフォーマンス、高解像度のムービー再生の標準になりました。

​Reality 2.10はHAPコーデックでエンコードされたファイルを再生できるようになり、プロのビデオ制作ワークフローにRealityを簡単に統合できるようになりました。​Reality 2.10エディタにはHAPコーデックプラグインが含まれており、GPUアクセラレーションエンコーディングを使用してこのコーデックを使用するには、このプラグインを有効にする必要があります。​通常、HAPコーデックでエンコードされたムービーは、での作業に慣れている他のビデオファイルと同様に、標準の.movまたは.aviコンテナに書き出されます。

​クリップをエンコードするときは、4種類のHAPから選択できます。

​コーデック形式 説明
HAP  ​    最低のデータレートと妥当な画質を実現
HAP Alpha   HAPと同じ画質で、アルファチャンネルをサポートします
HAP Q     ファイルサイズが大きくなりますが、画質が向上します
HAP Q Alpha  イメージ品質とアルファチャンネルが向上しましたが、ファイルサイズは大きくなりました

​HAPコーデックは、ライブイベント制作などの超高解像度ビデオが必要なさまざまなリアルタイムビデオワークフローのニーズに適合するように設計されています。

​HAPコーデックは、非常に高い解像度で動作する機能に加えて、アルファチャンネルのサポートや高品質モードなどのプロビデオ機能も備えています。

​UE Media Playerノードで再生されるメディアクリップは、適切な形式と設定でエンコードする必要があります。Adobe Media Encoder用のHapビデオプリセットは、このセクションでダウンロードできます。​このプリセットは、最高の品質とパフォーマンスの設定でメディアをエクスポートし、UE Media Playerで再生します。

​プリセットを読み込む前に、HAPエンコーダーがPCに正しくインストールされていることを確認してください。


​Adobeメディアエンコーダ用のHapビデオプリセット


​Adobeビデオアプリケーションでメディアファイルを書き出すためのAdobe Media Encoder用のHapビデオプリセットをダウンロードするには、下の各アイコンをクリックしてください。

​4つのコーデック形式のプリセットが以下からダウンロードできます。

Hap epr
https://docs.zerodensity.tv/reality210/files/47711198/47711204/1/1595515442210/Hap.epr

Hap Alpha
https://docs.zerodensity.tv/reality210/files/47711198/47711205/1/1595515442503/Hap+Alpha.epr

Hap Q epr
https://docs.zerodensity.tv/reality210/files/47711198/47711197/1/1595515440560/Hap+Q.epr

Hap Q Alpha
https://docs.zerodensity.tv/reality210/files/47711198/47711197/1/1595515440560/Hap+Q+Alpha.epr


これらのプリセットには次の設定があります。

エンコーディング:Hap Video
ビデオコンテナ:QuickTime MOV
サンプリングレート:48000 Hz
オーディオチャンネル:Stereo
フレームサイズ:Based on source
フレームレイト:Based on source


これらのプリセットを使用したAdobeソフトウェアでのメディアの書き出し

.EPRプリセットファイルのシステム上のコピー先

​一般的に、これらのタイプのプリセットは
C:\Users\<your logon user name>\Documents\Adobe\Adobe Media Encoder\<Version number>\Presetsフォルダにあります。

​ただし、コンピュータ上にこのパスが見つからない場合は、Adobeルートフォルダの下にある 「Presets」 フォルダを探して、.ERPファイルを貼り付けてください。

​Adobeメディアエンコーダからメディアを書き出すには、Adobeメディアエンコーダを起動し、エンコードするプロジェクトを追加して、次の手順に従います。

​エンコード形式のドロップダウンリストから [HAP Video] を選択します。​関連するHapプリセットは、HAPビデオが選択されている場合にのみ、このコンボリストの横に表示されます。

画像96


​このコンボリストから目的のプリセットを選択します。​これらのプリセットには、標準の設定が含まれています。

画像97


​必要に応じて設定をさらにカスタマイズするには、次のようにプリセットをクリックします。

画像98


​Export Settingsセクションには、カスタマイズ可能なさまざまなパラメータが表示されます。

画像99

​カスタマイズされた設定は、元のプリセットには更新されません。​別の名前で保存する必要があります。
​HAPビデオ形式が選択されている場合にのみ、HAPプリセットがプリセットリストに表示されます。


AdobeメディアエンコーダのH.264のプリセット


​UEメディア変換用のAdobe Media Encoder Preset (UEMediaPreset (。EPR) ファイル)は、Adobeビデオアプリケーションでメディアファイルを書き出すためのUEMediaPreset.eprからダウンロードできます。

画像100

​Adobe Media Encoder Presetは、H .264ビデオ形式をサポートしています。
オーディオ形式はAACです。
​サンプルレート:48000 Hz
​チャンネル:ステレオ
​Birate (kbps) :320
​H.264はビデオ圧縮の業界標準であり、デジタルビデオを保存または送信するときに容量の少ない形式に変換するプロセスです。


​Adobe Media Encoder Presetを使用したAdobeソフトウェアでのメディアの書き出し

.EPRプリセットファイルのシステム上のコピー先

​一般的に、これらのタイプのプリセットはC:\Users\<your logon user name>\Documents\Adobe\Adobe Media Encoder\<Version number>\Presetsフォルダにあります。

​ただし、コンピュータ上にこのパスが見つからない場合は、Adobeルートフォルダの下にある 「Presets」 フォルダを探して、.ERPファイルを貼り付けてください。

​Adobe Media Encoderからメディアを書き出すには、 Fileメニューの ExportからFormat:H.264とPreset:UEMediaPresetを選択する必要があります。

画像101


​UEMediaPresetは、H.264フォーマットが選択されている場合にのみプリセットリストに表示されます。


​レベルシーケンサ



​Level Sequencerエディタでは、専用のマルチトラックエディタを使用してゲーム内のシネマティックを作成できます。​レベルシーケンスを作成してトラックを追加すると、シーンの内容を決定する各トラックの構成を定義できます。​トラックは、アニメーション(キャラクタをアニメートする場合)、変換(シーン内での移動)、オーディオ(音楽や効果音を入れるために)などのトラックタイプで構成されます。

Level SequencerがCreateメニューに表示されるのは、プロジェクトにLevel Sequencerをすでに追加している場合だけです。


プロジェクトにレベルシーケンサを追加する方法?


1.Reality Editorを開く
2.空のプロジェクトを開く、または終了する
​3.コンテンツブラウザから
   a.Add New
   b.アニメーション
   c.Level Sequenceと名前をLevel Sequencerに設定します。
     (この例ではSportsAnim_6)
   d.そして、新しいレベルシーケンサがステージ上に
    あることを確認してください。

画像102


​その後、Level Sequenceをクリックして、必要に応じてトラックをアニメーションに追加できます。

​制御アプリケーションからレベルシーケンスを使用する方法?

​1.Reality Editorアプリケーションを開く
​2.Controlアプリケーションを開き、Reality Editorからプロジェクトを再生します。
​3.次に空のスペースを右クリック
   a.Createにマウスオーバー
   b.その後、Level Sequences
   c.あなたのレベルシーケンス名を選択
    (ここではSportsAnim_6)

画像103


特性と機能


画像104

レベルシーケンスで使用できる機能を以下に示します。​

Play 開始フレームから終了フレームまで
PlayReverse  終了フレームから再生を開始し、最初のフレームに移動します
PlayLooping ​他の再生オプションが使用されていない場合、は最初から開始します。​PlayまたはPlayReverseのいずれかを使用した後、最後に使用したオプションとしてPlayLoopingが機能します。​NumLoopsのPlayLoopingループに1回追加します。
Pause  [再生オプション] を押して続行できる場所でアニメーションを停止できます。
Stop アニメーションの開始位置でアニメーションを停止できます

画像105


​次のような高度な機能があります。

1.PlayToSeconds: 現在の時間から指定した時間 (TimeInSeconds) までシーケンスを再生します。
2.PlayToMarkedFrame: ​現在の時間から指定したマークフレームまでをラベル (InLabel) で再生します。
3.JumpToSeconds:現在の時刻と目的の時刻 (TimeInSeconds) の間のシーケンスを評価せずに、指定した秒数の時刻にジャンプします(一時停止状態にあるかのように)。
4.JumpToMarkedFrame:​現在の時間と目的の時間の間のシーケンスを評価せずに、指定されたマークの付いたフレームにラベルごとにジャンプします (InLabel) (一時停止状態にあるかのように)。
5.ScrubToSeconds:​現在の時間から指定した時間 (TimeInSeconds) まで秒単位でシーケンスをスクラブします。
6.ScrubToMarkedFrame:S現在の時間から指定されたマークされたフレームまで、ラベルごとにシーケンスをスクラブします。
7.SetPlayRate:​このプレイヤーの再生レートを設定します。​負の値を指定すると、アニメーションが逆方向に再生されます。

画像106

​他のバージョンで作成されたレベルシーケンサを現在のバージョンのReality Editorで再度開き、「保存」をクリックして、現在のバージョンにコンパイルする必要があります。


フィルとキー


Realityは、不透明なビデオチャンネルでの作業に制限されるだけでなく、エンジンを使用してフィルとキーを個別のチャンネルとして送受信する機能も備えています。​フィルとキーはビデオの2つの独立したチャンネルで、信号は透明な(アルファチャンネル)ライブフィルソースとして渡され、フィルソースと同じグラフィックスで2トーン(白黒)のライブキーソースが含まれます。黒は透明で、白はマスクとして使用されるフィルソースを表示します。​これは、フィル入力とキー入力を組み合わせる必要がある場合の、リバースキー出力の一種です。

​放送制作環境において、オーバレイグラフィックスは、他のビデオプログラムの上にグラフィックスをオーバレイ/スーパーインポーズするためのフィルおよびキーチャネルを必要とする最も重要な要求の一つである。​現実では、サポートされているビデオI/Oカードを使用すれば、これを簡単に管理できます。​Realityは、AJAカードの物理ポートからハードウェア同期されたFillおよびKey信号を提供します。これにより、Reality Engineから独立したSDIポートを介してFillおよびKeyビデオチャネルを送信したり、他のCGシステムからFillおよびKeyチャネルを受け取ってRealityのバーチャルスタジオ構成でDSKとして使用したりできます。

​「現実」 でフィルとキーを達成する方法を理解しましょう。​ここまではハードウェアの接続について説明してきましたが、ここではソフトウェアで行う必要のある設定についても説明します。

​一般的に、両方のソースは、適切なミキシングのために同じビデオ形式を持つ必要があります。つまり、同じフレームレートと同じ解像度を持つ必要があります。


画像107

フィル&キー サポートされているハードウェア

ハードウェア サポート可否
Corvid 44   Yes
Corvid 88   Yes
Corvid 44-12G No
Kona5      No


デュアルリンクを使用したフィル&キー


​Reality EngineからFillおよびKeyシグナルを送信するためのハードウェア接続

​次の図は、Reality EngineからのFillおよびKey出力用のSDIポート(デュアルリンク)の接続方法を示す例です。​例として、ビデオ出力にAJA Corvid 88を選択します。

画像108


​SDIフィル信号とSDIキー信号のペアが1つの混合アルファチャネルソースを作ることがわかっているので、ビデオI/Oボードポートはグループでのみ使用する必要があります(デュアルリンクまたはクワッドリンク)。​上にオレンジ色の点線で示したように、1-2、3-4、5-6、および7-8をリンクしているので、これらは有効なグループです。

​2~3、4~5、6~7にグループ化されたポートは無効なペアであり、このような組み合わせではフィル信号およびキー信号を実現できません。

​上記の例では、フィル信号とキー信号をそれぞれ送信するために、5~6 (デュアルリンク)個のポートがペアになっています。これは、5番目のポートがフィル信号を送信し、6番目のポートがキー信号を送信することを意味します。​グループをどのように組み合わせても、グループの最初のポートは常にフィルソースと見なされ、2番目のポートはキーソースと見なされます。


​Reality EngineからFillおよびKeyシグナルを送信するためのソフトウェア設定

​ハードウェア接続が完了したら、適切なフィル信号とキー信号を送信するために設定する必要のあるプロパティがいくつかあります。​例として、アルファチャンネルの透明度を持つオンライングラフィック用のUMGを含むプロジェクトを起動します。​次に、ノードグラフで、次に説明するようにノードを追加します。

​ノードグラフにAJAcardおよびAJA Outputノードを追加します。

​この記事の例で使用するLowerThird UMGノードを追加します。

​[UMG] ノード [Output] > [AJA Output] ノード [Video] を接続します。

​AJAカードからの出力は、必要なプロパティがこのノードに設定されるまで、フィルシグナルおよびキーシグナルをアルファチャンネルとして送信しません。

​[AJA Output] ノードを選択し、プロパティセクションで次のように選択します。

画像109


Dual Link (5-6):入力およびキー出力は、それぞれこれらのポートから送信されます

Standard:目的の出力を選択します

Framerate:プログラムのフレームレートに基づいてfpsを選択します

PixelFormat:YCbCrA 8-4:2:2:4は、アルファチャンネル信号を取得するための最も重要な設定です


DSK(Down Stream Keyer)としてフィル信号とキー信号をReality Engineに受信するためのハードウェア接続です

​次の図は、入力およびキー入力用のSDIポート(デュアルリンク)をリアリティエンジンに接続する方法を示す例です。​たとえば、ビデオ入力にはAJA Corvid 88を選択します。

画像110

​上記の例では、フィル信号キー信号をそれぞれ受信する1~2個のポートをグループ化しています。これは、1番目のポートがフィル信号を受信し、2番目のポートがキー信号を受信することを意味します。​グループをどのように組み合わせても、グループの最初のポートは常にフィルソースと見なされ、2番目のポートはキーソースと見なされます。


フィル信号およびキー信号をDSK (ダウンストリームキー)として受信し、Reality Engineに送るためのソフトウェア設定

​ハードウェア接続が完了すると、適切なフィル信号とキー信号を受信するために設定する必要があるプロパティがいくつかあります。​外部デバイスから目的のグラフィック(HD解像度で)を実行します。例えば、アルファチャンネルの透明度を持つCGオンライングラフィックなどです。​次に、Reality Enginesノードグラフで、以下に説明するようにノードを追加します。

​入力の場合は、ノードグラフに[AJAcard]ノードと[AJA Input]ノードを追加します。[AJA Input]ノード [Video pin] > [Mixer Default][Overlaypin] を接続します。

​デュアルリンクソースで作業していることを考慮して、[AJA Input]ノードを選択し、プロパティセクションで次のように選択します。

画像111

Dual Link (1-2):入力およびキー入力は、それぞれこれらのポートに受信されます。

​ポート2は、キー信号を自動的に受信するように設定されます。​キーチャンネルを選択するための設定を行う必要はありません。

​PixelFormat:YCbCrA 8-4:2:2:4は、アルファチャンネル信号を取得するための最も重要な設定です。

​QuadLink Mapping:SQD (正方形分割)と2 SI (2サンプルインタリーブ)から選択します。

CGをオーバーレイDSKとして表示するため、 [Mixer Default] ノードの [Overlay] ピンに接続する必要があります。
他のピンに接続しても、アルファチャンネルの透明度は適用されません。
[Overlay] ピンに接続されているものはすべて、ミキサー内の他のすべてのチャンネルの上にレンダリングされます。

​[Mixer Default] ノードのチャネルでは、 [Camera] ノードレンダリングまたは他の合成ノードを接続できます。


​クアッドリンクを使用した入力とキー入力


​Reality EngineからFillシグナルとKeyシグナルを送信するためのハードウェア接続

​次の図は、Reality EngineからのFillおよびKey出力用のSDIポート(クアッドリンクUHD)の接続方法を示す例です。​例として、ビデオ出力にAJA Corvid 88を選択します。

画像112


​SDIフィル信号とSDIキー信号のペアが1つの混合アルファチャネルソースを作ることがわかっているので、ビデオI/Oボードポートはグループでのみ使用する必要があります(デュアルリンクまたはクワッドリンク)。​上にオレンジ色の点線で示したように、1-4または5-8をリンクしているので、これらは有効なグループです。

​2~5、3~6、4~7、および5~8としてグループ化されたポートは無効なグループであり、このような組み合わせではフィルおよびキー信号を実現できません。

​上記の例では、1~4個(四角形リンク)と5~8個(四角形リンク)のポートをグループ化して、フィル信号とキー信号をそれぞれReality Engineから送信しています。つまり、1~4個のポートがクアッドリンクUHDフィル信号を送信し、5~8個のポートがクアッドリンクUHDキー信号を送信しています。​最初のグループは常にフィルソースとみなされ、2番目のグループはキーソースとみなされます。


Reality EngineからFillおよびKeyシグナルを送信するためのソフトウェア設定

​ハードウェア接続が完了したら、適切なフィル信号とキー信号を送信するために設定する必要のあるプロパティがいくつかあります。​例として、アルファチャンネルの透明度を持つオンライングラフィック用のUMGを含むプロジェクトを起動します。​次に、ノードグラフで、次に説明するようにノードを追加します。

​ノードグラフにAJAcardおよびAJA Outputノードを追加します。
この記事の例で使用するLowerThird UMGノードを追加します。
[UMG] ノード [Output] > [AJA Output] ノード [Video] を接続します。

​AJAカードからの出力は、必要なプロパティがこのノードに設定されるまで、フィルシグナルおよびキーシグナルをアルファチャンネルとして送信しません。

​UHDクアッドリンクソースで作業していることを考慮して、 [AJA Output] ノードを選択し、プロパティセクションで次のように選択します。

画像113


QuadLink (1-2-3-4):UHDフィル出力は、これらのポートから送信されます

​QuadLink 5-6-7-8は、自動的にキー信号を送信するように設定されます。​キーチャンネルを選択するための設定を行う必要はありません。

Standard:UHD出力を得るためのUHD-2160 p

Framerate:プログラムのフレームレートに基づいてfpsを選択します

PixelFormat:YCbCrA 8-4:2:2:4は、アルファチャンネル信号を取得するための最も重要な設定です

QuadLink Mapping:物理カメラの設定に基づいて、SQD (正方形分割)または2 SI (2サンプルインタリーブ)を選択します


​UMGノードの解像度もUHD (3840 x 2160) に設定する必要があることに注意してください。

画像114


フィルおよびキー信号をDSK (ダウンストリームキー)として受信するためのハードウェア接続

次の図は、入力およびキー入力用のSDIポート(四角形リンク)をリアリティエンジンに接続する方法を示す例です。たとえば、ビデオ入力にはAJA Corvid 88を選択します。

​Corvid 88のすべてのポートは入力およびキー入力に使用されるため、出力用に別のAJAビデオカードを取り付ける必要があります。​この記事では、AJA Corvid 44を出力として使用します。

画像115

​上記の例では、フィル信号とキー信号を受信するためにそれぞれ1~4個と5~8個のポートをReality Engineにグループ化しています。つまり、1~4個のポートがクワッドリンクUHDフィル信号を受信し、5~8個のポートがクワッドリンクUHDキー信号を受信しています。​最初のグループは常にフィルソースとみなされ、2番目のグループはキーソースとみなされます。

フィル信号およびキー信号をDSK (ダウンストリームキー)として受信し、Reality Engineに送るためのソフトウェア設定

​ハードウェア接続が完了すると、適切なフィル信号とキー信号を受信するために設定する必要があるプロパティがいくつかあります。​外部デバイスから目的のグラフィック(UHD解像度で)を実行します。例えば、アルファチャンネルの透明度を持つCGオンライングラフィックなどです。​次に、Reality Enginesノードグラフで、以下に説明するようにノードを追加します。

​入力の場合は、ノードグラフにAJAcardノードと[AJA Input]ノードを追加します。​[AJA Input]ノード [Video pin] > [Mixer Default][Overlaypin] を接続します。

​UHDクアッドリンクソースで作業していることを考慮して、​[AJA Input]ノードを選択し、プロパティセクションで次のように選択します。

画像116


QuadLink (1-2-3-4) :​これらのポートにはUHD Fill入力が送られます

​QuadLink 5-6-7-8は、キー信号を自動的に受信するように設定されます。​キーチャンネルを選択するための設定を行う必要はありません。

PixelFormat:YCbCrA 8-4:2:2:4はアルファチャンネル信号を得るための最も重要な設定です

QuadLink Mapping:​SQD (正方形分割)と2 SI (2サンプルインタリーブ)から選択します

​CGをオーバーレイDSKとして表示するため、 [Mixer Default] ノードの [Overlay] ピンに接続する必要があります。
​他のピンに接続しても、アルファチャンネルの透明度は適用されません。
​オーバーレイピンに接続されているものはすべて、ミキサー内の他のすべてのチャンネルの上にレンダリングされます。

[Mixer Default] ノードのチャネルでは、 [Camera] ノードレンダリングまたは他の合成ノードを接続できます。


この記事ではUHDを扱うため、カメラノードの解像度をUHDに設定して、Reality EngineからUHD出力を取得することが重要です。

画像117


では、出力を接続してみましょう。別の[AJAcard]ノードと[AJA Output]ノードを追加して、(この記事では Corvid 44 にします) Mixer Default > [AJA Output] ノードからプログラム出力を接続します。
この出力は、最終的なカメラレンダリングの上にDSKを使用した最終的なプログラム出力です。

​[AJA Output] ノードを選択し、プロパティセクションで次のように選択します。

画像118


QuadLink (1-2-3-4):この出力は、最終的なカメラレンダリングの上にDSKを重ねてプログラムアウトしたものになります

Standard:UHD出力を得るためのUHD-2160p

Framerate:プログラムのフレームレートに応じてfpsを選択します

PixelFormat:出力はYCbCr8-4:2:2がデフォルトで設定されています

このプロパティが設定されているのは、この出力からアルファチャンネルを送信するつもりはないからです。

QuadLink Mapping:SQD(Square Division)と2SI(2 Sample Interleave)のどちらかを選択します


カラーマトリックスノード


​カラーマトリックスはカメラの画像プロファイルの形式であり、カラーマトリックスはセンサからの赤、緑、青の信号の組み合わせ方を定義します。​しかし、この結果、cyclorama領域のカラーの濃淡が大幅に変化し、望ましくないキーイング結果が生成される可能性があります。​最適なキーイング出力を得るために、カラー行列ノードが導入され、オリジナルのカメラ行列プロファイルと一致するキーイング後のカラー行列が作成されます。​最終的には、目的のカメラマトリックスプロファイルを維持しながら、最適なキーイングを実現できます。

​たとえば、BBC、EBU、1:1などのカラーマトリックスがあります。​[カラーマトリックス1:1] (Color matrix 1:1) はニュートラルで、カメラが生成する基本カラーマトリックスには影響しません。

​Realityバーチャルスタジオの制作の性質は、どのようにサイクロラマ色がカメラによって捕捉され、キーイング処理のためにReality Engineに送られるかに基づいて敏感であるため、カメラに適用される任意のカラーマトリックス(1:1を除く)は、キーイング品質に影響する可能性がある不適切なサイクロラマ(一般的に緑)色をもたらす可能性がある。

この問題に対処するために、RGBカラーマトリックスを設定するプロパティを持つ [Color Matrix] ノードを紹介します。

以下では、ノードグラフでカラー行列を使用してカメラの目的のカラー行列を作成する方法を説明します。

​1.まず放送用カメラを希望のカラーマトリックス(1:1以外)に設定すると、カラーバランスが変化します。
​2.赤、緑、青の共有を含むカラフルなオブジェクトを配置し、これらのオブジェクトに合うようにブロードキャストカメラを構成します。
​3.[Still store] ノードを追加し、カメラ出力の静止画ストアを取得します (次を参照) 。

画像119


フィルタオプション


​Reality Controlアプリケーションでは、Filterオプションは検索範囲を狭めて無関係な項目(プロパティ、関数、またはノード)を除外し、探しているコンテンツを正確に見つけるのに役立ちます。

​フィルタを実行すると、アイテムの構造を理解したりナビゲートしたりすることなく、アイテムの特定の文字を入力してコンテンツを検索できます。​これにより、検索対象をすばやく簡単に見つけることができます。

​フィルタエリアに入力するだけで、プロパティはフィルタされ、残りのプロパティは非表示になります。​十字ボタンをクリックすると、フィルタされた項目がクリアされ、すべてのプロパティが表示されます。

画像120


​プロパティと同様に、関数セクションにも同じオプションがあります。

画像121


​ノードグラフセクションでは、ノードグラフで使用できる特定のノードを除外することもできます。

画像122


​フィルタ文字に基づいてハイライト表示されたノードの例を次に示します。「AJA」という文字を含むすべてのノードがシアン色でハイライト表示されます。

画像123

​項目をフィルタするために、先頭の文字を正確に入力する必要はありません。フィルタする項目に含まれる文字はすべて入力できます。​例。​プロパティOpacityを検索する場合は、文字aciを入力できます。これにより、フィルタ機能のアクセシビリティがさらに向上します。

​フィルタをクリアするには、×字ボタンをクリックします。

画像124


ポストプロセスのバイパス


​Realityには、Unreal Engineでレンダリングされるポストプロセスパスを適用せずにビデオ入力を処理するための独自のアプローチがあります。​これにより、ビデオはどのレンダリングパスでも操作されない外観になります。​ビデオに影響する4つの主要なレンダリングパスは次のとおりです。

1.DOF (被写界深度 (Depth of Field))
2.モーションブラー
3.テンポラルAA (アンチエイリアス)
4.トーンマッパー

​これらのポストプロセスパスをバイパスするために、[Projection]ノードの下の各パスにPPウェイトのBypass PP Weightコントロールと[Camera] ノードの下の各パスにPPガンマのBypass PP Gammaコントロールが用意されています。​このセクションでは、イメージの使用方法と理解を深めるためのサンプルイメージについて、各パスについて説明します。


後処理ウェイトのバイパス

​PPウェイトのBypass PP Weightの設定は、[Projection]ノードにあります。

​これらのプロパティは、レンダリングされたパスのウェイト量をブレンドします。​値が小さいほどブレンドが少なくなり、パスのレンダリングが多くなります。

0.000はバイパスが適用されないことを意味し(Unrealのパスはビデオに影響する)、1.000は100%バイパスが適用されることを意味します(Unrealのパスはビデオに影響しない)。


後処理ガンマのバイパス

​Bypass PP Gammaの設定は[Camera]ノードの下にあります。

​ガンマ (Gamma) を使用すると、PPウェイトのBypass PP Weightプロパティを適用した後で、個々のバイパスパスのエッジを微調整することができます。

​Bypass PP Gammaプロパティは、Bypass PP Weightが0.000を超える場合にのみ出力に影響するため、Bypass PP Weightが0.000の場合は出力に変化は見られません。


​以下の例では、バイパスポストプロセスが適用されていません。つまり、投影されるビデオはバイパスされません。これは、vanilla Unrealの動作と似ています。

画像125


​以下は、どのパスもバイパスされていない状態で、シーンに適用された後処理の出力結果です。

画像126


DOF

DOF Bypass PP Weightプロパティは100%です。

画像127


​出力では、ビデオがDOFパスをレンダリングしていないことがわかります。

画像128


​マスクされたオブジェクトのピクセルは、エッジを除いてこの設定の影響を受けません。半透明なオブジェクトのエッジのぼかしが失われ、期待どおりにならないことがわかるため、エッジではDOF効果が失われます。​これを微調整するには、Bypass PP GammaのDOFプロパティを使用します。

​値を大きくして、Bypass PP GammaのDOFプロパティを目的の外観に設定します。

画像129

画像130



モーションブラー

MotionBlurのPPウェイトのMotionBlur Bypass PP Weightプロパティが無視されない場合、MotionBlurはビデオに作用します。

​Bypass PP WeightのMotionBlurプロパティは、カメラが移動するときにモーションブラーエフェクトをバイパスするために100%に設定されています。

画像131

ここでは、静止画では表示できないMotionBlurプロパティの例を示します。
また、MotionBlur Bypass PP Gammaを設定して微調整することもできます。


テムポラールAA

TemporalAA Bypass PP Weightは適用されません。

画像132


出力を見ると、動画がTemporalAAパスをレンダリングしていることがわかります。

画像133


TemporalAA Bypass PP Weightプロパティは100%です。

画像134

画像135


TemporalAAプロパティがバイパスされている場合、下の比較に示すように、半透明のマテリアルにもジッターやギザギザのエッジがあることに気づくでしょう。

画像136


これを修正するには、Bypass PP GammaからTemporalAAプロパティを微調整するだけです。

画像137


透光性materialのジッターは下記のように解消されます。

画像138


トネマッパー

Tonemapper Bypass PP Weightを100%使用しています。

画像139


Tonemapperが映像をビネット化しているので、Tonemapperをバイパスするとビネットが解消されます。また、Tonemapperプロパティをバイパスすると、下の比較画像のように半透明の素材のガンマが変化します。

これを修正するには、Bypass PP GammaからTonemapperプロパティを微調整します。

画像140


下の画像の右部分、Tonemapper Bypass PP Gammaプロパティが設定されています。

画像141

Bypass PP Gamma プロパティの値は、期待される結果が得られる限界まで使用してください。値を高くすると、望ましくないアーチファクトが発生することがあります。



この記事が気に入ったらサポートをしてみませんか?