導入
このドキュメントでは、AximmetryからUnity Real-Time Development Platformへキーイングされた動画を送信する方法について説明します。これには、Aximmetryで動画をキーイングし、AximmetryのNDI出力とUnityのNDI入力を利用します。
AximmetryはネイティブのNDIサポートを備えていますが、Unityにはありません。そのため、このチュートリアルでは、Unity内でNDI信号を処理するためにKlankNDIパッケージを使用します。
注:NDI I/O ポートは、Aximmetry の特定のライセンスタイプに限定されています、またはレンタル経由で利用可能です。詳細については、当社の Products ページ をご確認ください。
Aximmetry の設定
Unity に移動する前に、Aximmetry Composer を起動する必要があります。
スタートアップ設定画面で、NDIオプションを2番目のビデオ出力スロットにドラッグ&ドロップします:
ビデオ出力にNDI接続が設定されています。レンダリング(キーイングを含む)が同一フレームレートで行われるよう、同期に設定してください:
ビデオモードのフィールドをクリックし、希望の解像度とフレームレートを選択します。NDI規格でサポートされている全オプションが利用可能です。また、フォーマットがRGBAに設定されていることを確認してください:
クロマキー用の簡易フローを作成します。
キーイングドキュメントのフローグラフにおけるキーヤーコンパウンドの使用段落に記載されている通りキーヤーを設定します。
カメラデバイスからの映像を取得するにはビデオ入力モジュールを使用します。モジュール内のデバイスとモードの値を設定することを忘れないでください。
注記:テスト目的であれば、インデックス#2にビデオ出力があることを確認すれば、任意のビデオまたはコンパウンドを使用できます。
UnityプロジェクトへのKlankNDIのインストール
KlankNDIはKeijiro Takahashiによって作成されたパッケージで、Unityのパッケージマネージャー経由で内部的にダウンロード可能です。ただし、これは「スコープドレジストリ」を使用する外部パッケージのため、Unityのパッケージマネージャーマニフェストファイルを編集する追加の手順が必要です。詳細なインストール手順はKeijiroのGitHubで確認できます。https://github.com/keijiro/KlakNDI
Unityプロジェクトの設定
KlankNDIをインストールし、Unityプロジェクトに追加したら、Assetsフォルダーに移動し、「Render Texture」を作成します。(例では単にNDIと名付けています。)
フルHD動画を送信する場合、このテクスチャのSizeを2048x2048に設定することをおすすめします。Unityは、正方形ではないテクスチャを2^ (256..1024..2048)の正方形テクスチャにリサイズします。これにより、システムがテクスチャを1回だけリサイズするため、出力品質がやや向上します。
マテリアルを作成します。名前を「Aximmetry」とします。
Unlit/Transparent CutoutまたはUnlit/Transparentを選択します。
以前に作成したRender Textureをテクスチャとして選択します。
シーンにPlaneを作成します。
マテリアルを適用します。(マテリアルをPlaneにドラッグアンドドロップ)
空のGameObjectを作成します。(ショートカット:CTRL + SHIFT + N)
コンポーネント「NDI Receiver」を追加します。
Aximmetryで作成したNDIストリームを選択します。
新しい「NDI」Render TextureをTarget Textureとして適用します。
プレーンにAximmetry NDIの出力が表示されるはずです。
現在、Chroma Keyed Aximmetryプロジェクトを起動すると、キーイングされた出力が得られます。
このプレーンをシーン内の任意の場所に配置すると、これがビルボードになります。
この方法はHDRPシェーダーでも使用可能です。HDRP、URP、またはSRPの設定については、Unityのドキュメントを参照してください。