Switchboard

複数のリモート マシンを 1 つのアプリケーションで制御します。

Switchboard は複数のリモート デバイスを制御する Python アプリケーションです。付随するアプリケーションの SwitchboardListener を利用してリモート デバイスと通信します。SwitchboardListener は Unreal Engine C++ アプリケーションです。各デバイスで TCP ソケット サーバーを実行して JSON メッセージを Switchboard と共有します。

Switchboard の機能は次のとおりです。

  • マルチユーザー セッション を行うデバイスで Unreal Engine をリモートで起動する。

  • 複数のデバイスで nDisplay を起動する。

  • 埋め込まれた Take Recorder コントロールで記録する。

  • すべてのデバイスを特定の変更リストに同期して、プロジェクトと Unreal Engine をソースからビルドする。

  • 次に示すデバイスに接続して制御する。「KiPro」、「Live Link Face」、「SoundDevices」。

  • 独自のデバイス プラグインを追加して、カスタム コントロールに対して Switchboard と SwitchboardListener を拡張する。

このページでは Switchboard で利用できる機能の一部を説明します。Switchboard の使用を開始する際は「Switchboard のクイックスタート」の手順に従います。使用できるすべての設定についてはSwitchboard の設定リファレンス で詳細を参照してください。

バーチャル プロダクション ロール

Virtual Production プラグインでデバイス ロールを作成し、それを Switchboard の Unreal デバイスに割り当てることができます。デバイス ロールに基づき Unreal Engine でカスタム ロジックを実行し、Stage Monitor でイベントのフィルタリングに使用できます。こうした役割はプロジェクトの「Config\Tags」フォルダにある .ini ファイルに保存されます。

以下の手順に従って役割を追加します。

  1. エディタ のメイン メニューから [Edit (編集)] > [Project Settings (プロジェクト設定)] を選択して、[Project Settings (プロジェクト設定)] ウィンドウを開きます。

  2. [Project Settings (プロジェクト設定)][Plugins (プラグイン)] セクションから Virtual Production プラグインの設定を開きます。

    Click image to expand.

  3. Roles パラメータの横にある [Edit…] を選択して、 [Gameplay Tag] のドロップダウン ウィンドウを開きます。

    Click image to expand.

  4. [Add New Gameplay Tag] を展開してロールの名前を入力します。[Add New Tag] を選択して、そのロールを .ini ファイルに追加します。

    Click image to expand.

ロールはデフォルトで「DefaultGameplayTags.ini」ファイルに保存されます。[Project Settings (プロジェクト設定)] で新しい .ini ファイルを作成し、これを Source ファイルとして新しいロールの作成時に使用できます。[New Tag Source] を展開し、ファイル名を入力して [Add New Source] ボタンを押し、新しいファイルを作成します。

Click image to expand.

Switchboard はデフォルトで「VPRoles.ini」ファイルからロールを検索します。Switchboard の設定 では、ファイル名を設定して、各デバイスに 1 つ以上のロールを割り当てることができます。このロールは起動時に Unreal Engine に渡されます。デバイスにある .ini ファイルが古い場合など、ロールをサポートしていないときは Switchboard のログにエラーを記録します。

Switchboard に存在するロールを確認する際は、デバイスに関連付けられた SwitchboardListener に接続する必要があります。ロールを利用できる場合は、そのデバイスの Switchboard 設定で確認できます。

Click image to expand.

Switchboard でテイクを記録する

接続した Unreal デバイスでテイクを記録する際は、Switchboard に組み込まれた TakeRecorder 機能を使用します。Switchboard は Unreal インスタンスとレコーディングの通信を行う際に OSC を使用します。Switchboard プラグインにはこの接続を作成するための OSC Listener がデフォルトで含まれています。

次の設定が正常であることを確認してください

  • Virtual Production Editor プラグインの [Start an OSC Server when the editor launches] を有効化する。

  • Virtual Production Editor プラグインの OSC Server Port が、Switchboard の設定OSC Client Port と同一である。

  • Switchboard が OSC Server Address にアクセスできる。

Click image to expand.

Virtual production editor port settings

対象のデバイスで OSC 接続が成功すると、Switchboard のステータス アイコンが緑色に変化します。

Switchboard ステータス アイコンの比較。

OSC 接続が失敗した場合は、Unreal の起動後にステータス アイコンがオレンジ色に変化します。

Unsuccessful connection

  • Switchboard の上部で、Sequence 名、Slate 名、Take 番号を設定します。

  • こうした名前は OSC に接続している Unreal デバイスの TakeRecorder にすぐに反映されます。

  • レコーディングの開始と停止を行う際は、右側の赤いボタンを押します。

  • デバイスのレコーディング中は Switchboard で背景が赤に設定されます。

  • レコーディングを行うごとに Take 番号が増加する。

    Switchboard deivec recording

デバッグ ログで、デバイスのステータス変化が想定通りかどうかを確認します。

Switchboard debug log

Switchboard で nDisplay を起動する

Switchboard を設定することで、すべての nDisplay デバイスと通信できます。Switchboard で nDisplay デバイスの追加を選択し、nDisplay コンフィグ ファイル の場所を追加します。このコンフィグ ファイルを Switchboard が解析し、ファイルで指定したクラスタ ノードを Switchboard デバイスに変換します。Switchboard で nDisplay デバイスを詳細に構成する方法については Switchboard の設定 を参照してください。

nDisplay device list

nDisplay デバイスの追加に加えて、[nDisplay Monitor] パネルの [Switchboard] ウィンドウの右側には nDisplay クラスタのステータス情報が表示されます。このモニターが含む情報を次の表に示します。予期しない値が発生すると、対応するセルの色が黄色に変化して警告します。

コンソール テキスト ボックスにコマンド (「stat fps」や「r.RayTracing.SceneCaptures 0」など) を入力して [Exec] をクリックすることで nDisplay クラスタに対してコマンドをリモートで実行することができます。

nDisplay monitor

説明

Node

nDisplay シーン ノード

Host

デバイスの IP アドレス。

Connected

Yes または No を表示します。

Driver

NVIDIA ドライバーのバージョン。

PresentMode

スワップ チェーンのプレゼンテーション モード。

Gpus

検出した GPU を Quadro Sync カードで同期しているかどうかを表します。

Display

検出したディスプレイが同期中であるかどうかを表します。

SyncRate

ディスプレイのリフレッシュ レート。

HouseSync

その Quadro Sync カードに対する外部同期シグナルの存在を表します。

SyncSource

同期ソースが House Sync と Vsync のどちらかを表します。

Mosaics

ディスプレイ グリッド構成を一覧で表します。

Taskbar

タスクバーの自動非表示を設定しているかどうかを表します。

InFocus

nDisplay インスタンス ウィンドウがフォーカスされているかどうかを示します。フォーカスすることをお勧めします。

ExeFlags

Unreal Engine 実行可能ファイルのフラグ。Disable Fullscreen Optimizations オプションの使用を推奨します。

OSVer

オペレーティングシステムのバージョン。

CPUUtilization

平均 CPU 使用量。オーバーロードされたコアの数は括弧内に表示されます。

MemUtilization

物理メモリの使用量。

GpuUtilization

平均 GPU 使用量。クロック速度は括弧内に指定されます。

GpuTemperature

すべてのセンターでの最大 GPU 温度 (摂氏)。

同期とビルド

ソース コントロールを Switchboard に接続してから、すべての接続済みデバイス間で、特定の変更リストに従ってプロジェクトとエンジンの同期とビルドを行います。それぞれの接続済みデバイスに存在する変更リストを確認して、更新が必要な変更リストを把握します。

次の手順に従ってソース コントロールの情報を Switchboard に追加します。

  1. Switchboard Settings を開きます。

  2. [Switchboard Settings] ダイアログで [Source Control] の隣にあるチェックボックスを有効化します。

  3. [Source Control] のセクションで以下を行います。

    1. [P4 Project Path] にプロジェクトの Perforce ストリームを設定します。

    2. エンジンをソースからビルドする場合、[P4 Engine Path] にエンジンの Perforce ストリームを設定します。目的がプロジェクトの同期とビルドのみの場合は、このパスの設定は必要ありません。

    3. [Workspace Name] に Perforce ワークスペース名を設定します。

    Switchboard source control paths

  4. [Project Settings] のセクションで以下を行います。

    1. [UProject] に Unreal Engine プロジェクトの場所を設定します。

    2. [Engine Dir] にエンジンのバイナリ リリースを配置したディレクトリを設定します。

    3. エンジンをソースからビルドする場合は [Build Engine] チェックボックスを有効化します。目的がプロジェクトのビルドのみの場合は、このチェックボックスを無効のままにします。

    Switchboard project paths

ソース コントロールの情報を追加すると、エンジンとプロジェクトの変更リストがデバイス一覧の上にある Switchboard に表示されます。つまり、すべてのデバイスに対する現在の変更リストは、1 か所のみで指定します。

Switchboard changelists

このスクリーンショットは、プロジェクトの変更リストとエンジンの変更リストを示します。

それぞれのデバイスには、指定されたエンジンとプロジェクトの変更リストも表示されます。デバイスの変更リストが Switchboard の上部で選択した対象の後ろにある場合、対応するテキスト色が赤に変更されます。 Switchboard device changelist

ソース コントロール ボタン

アイコン

アクション

説明

Refresh

Refresh

Switchboard のソース コントロール情報を更新します。

Sync

Sync

すべての接続済みデバイスを変更リストに同期します。このボタンがデバイスの行にある場合、そのデバイスのみを Switchboard が同期します。そのデバイスのコントロールは同期中にロックされます。

Build

Build

すべての接続済みデバイスでビルドします。このボタンがデバイスの行にある場合、そのデバイスでのみ Switchboard がビルドします。そのデバイスのコントロールはビルド中にロックされます。

Sync and Build

Sync and Build

すべての接続済みデバイスで同期とビルドを行います。[Build Engine] を設定で有効化した場合は、このオプションによってプロジェクトの前にエンジンの同期とビルドを行います。

エンジンまたはプロジェクトの同期を行わない場合、変更リストのドロップダウンで --None-- エントリを選択すると、次回の同期とビルドの操作でそのエンジンまたはプロジェクトを無視します。

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