Switchboard は複数のリモート デバイスを制御する Python アプリケーションであす。付随するアプリケーションの SwitchboardListener を利用してリモート デバイスと通信します。SwitchboardListener は Unreal Engine C++ アプリケーションです。各デバイスで TCP ソケット サーバーを実行して JSON メッセージを Switchboard と共有します。
Switchboard の機能は次のとおりです。
- マルチユーザー セッション を行うデバイスで Unreal Engine をリモートで起動する。
- 複数のデバイスで nDisplay を起動する。
- 埋め込まれた Take Recorder コントロールで記録する。
- すべてのデバイスを特定の変更リストに同期して、プロジェクトと Unreal Engine をソースからビルドする。
- 次に示すデバイスに接続して制御する。「KiPro」、「Live Link Face」、「Shogun」、「SoundDevices」。
- 独自のデバイス プラグインを追加して、カスタム コントロールに対して Switchboard と SwitchboardListener を拡張する。
このページでは Switchboard で利用できる機能の一部を説明します。Switchboard の使用を開始する際は「Switchboard のクイック スタート」の手順に従います。使用できるすべての設定についてはSwitchboard 設定のリファレンス で詳細を参照してください。
バーチャル プロダクション ロール
Virtual Production プラグインでデバイス ロールを作成し、それを Switchboard の Unreal デバイスに割り当てることができます。デバイス ロールに基づき Unreal Engine でカスタム ロジックを実行し、Stage Monitor でイベントのフィルタリングに使用できます。こうした役割はプロジェクトの「Config\Tags」フォルダにある .ini ファイルに保存されます。
以下の手順に従って役割を追加します。
- エディタ のメイン メニューから [Edit (編集)] > [Project Settings (プロジェクト設定)] を選択して、[Project Settings (プロジェクト設定)] ウィンドウを開きます。
-
[Project Settings (プロジェクト設定)] の [Plugins (プラグイン)] セクションから Virtual Production プラグインの設定を開きます。
-
Roles パラメータの横にある [Edit…] を選択して、 [Gameplay Tag] のドロップダウン ウィンドウを開きます。
-
[Add New Gameplay Tag] を展開してロールの名前を入力します。[Add New Tag] を選択して、そのロールを .ini ファイルに追加します。
ロールはデフォルトで「DefaultGameplayTags.ini」ファイルに保存されます。[Project Settings (プロジェクト設定)] で新しい .ini ファイルを作成し、これを Source ファイルとして新しいロールの作成時に使用できます。[New Tag Source] を展開し、ファイル名を入力して [Add New Source] ボタンを押し、新しいファイルを作成します。

Switchboard はデフォルトで「VPRoles.ini」ファイルからロールを検索します。Switchboard 設定のリファレンス では、ファイル名を設定して、各デバイスに 1 つ以上のロールを割り当てることができます。このロールは起動時に Unreal Engine に渡されます。デバイスにある .ini ファイルが古い場合など、ロールをサポートしていないときは Switchboard のログにエラーを記録します。
Switchboard に存在するロールを確認する際は、デバイスに関連付けられた SwitchboardListener に接続する必要があります。ロールを利用できる場合は、そのデバイスの Switchboard 設定で確認できます。

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 にアクセスできる。
対象のデバイスで OSC 接続が成功すると、Switchboard のステータス アイコンが緑色に変化します。



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

- Switchboard の上部で、Sequence 名、Slate 名、Take 番号を設定します。
- こうした名前は OSC に接続している Unreal デバイスの TakeRecorder にすぐに反映されます。
- レコーディングの開始と停止を行う際は、右側の赤いボタンを押します。
- デバイスのレコーディング中は Switchboard で背景が赤に設定されます。
-
レコーディングを行うごとに Take 番号が増加する。
デバッグ ログで、デバイスのステータス変化が想定通りかどうかを確認します。

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

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

列 | 説明 |
---|---|
Node | nDisplay シーン ノード。 |
Host | デバイスの IP アドレス。 |
Connected | Yes または No を表示します。 |
Driver | NVIDIA ドライバーのバージョン。 |
FlipMode | スワップ チェーンのプレゼンテーション モード。 |
Gpus | 検出した GPU を Quadro Sync カードで同期しているかどうかを表します。 |
Display | 検出したディスプレイが同期中であるかどうかを表します。 |
Fps | ディスプレイのリフレッシュ レート。 |
HouseSync | その Quadro Sync カードに対する外部同期シグナルの存在を表します。 |
SyncSource | 同期ソースが House Sync と Vsync のどちらかを表します。 |
Mosaics | ディスプレイ グリッド構成を一覧で表します。 |
Taskbar | タスクバーの自動非表示を設定しているかどうかを表します。 |
ExeFlags | Unreal Engine 実行可能ファイルのフラグ。Disable Fullscreen Optimizations オプションの使用を推奨します。 |
同期とビルド
ソース コントロールを Switchboard に接続してから、すべての接続済みデバイス間で、特定の変更リストに従ってプロジェクトとエンジンの同期とビルドを行います。それぞれの接続済みデバイスに存在する変更リストを確認して、更新が必要な変更リストを把握します。
次の手順に従ってソース コントロールの情報を Switchboard に追加します。
- Switchboard Settings を開きます。
- [Switchboard Settings] ダイアログで [Source Control] の隣にあるチェックボックスを有効化します。
- [Source Control] のセクションで以下を行います。
- [P4 Project Path] にプロジェクトの Perforce ストリームを設定します。
- エンジンをソースからビルドする場合、[P4 Engine Path] にエンジンの Perforce ストリームを設定します。目的がプロジェクトの同期とビルドのみの場合は、このパスの設定は必要ありません。
- [Workspace Name] に Perforce ワークスペース名を設定します。
- [Project Settings] のセクションで以下を行います。
- [UProject] に Unreal Engine プロジェクトの場所を設定します。
- [Engine Dir] にエンジンのバイナリ リリースを配置したディレクトリを設定します。
- エンジンをソースからビルドする場合は [Build Engine] チェックボックスを有効化します。目的がプロジェクトのビルドのみの場合は、このチェックボックスを無効のままにします。
ソース コントロールの情報を追加すると、エンジンとプロジェクトの変更リストがデバイス一覧の上にある Switchboard に表示されます。つまり、すべてのデバイスに対する現在の変更リストは、1 か所のみで指定します。

このスクリーンショットは、プロジェクトの変更リストとエンジンの変更リストを示します。
それぞれのデバイスには、指定されたエンジンとプロジェクトの変更リストも表示されます。デバイスの変更リストが Switchboard の上部で選択した対象の後ろにある場合、対応するテキスト色が赤に変更されます。
ソース コントロール ボタン
アイコン | アクション | 説明 |
---|---|---|
![]() |
Refresh | Switchboard のソース コントロール情報を更新します。 |
![]() |
Sync | すべての接続済みデバイスを変更リストに同期します。このボタンがデバイスの行にある場合、そのデバイスのみを Switchboard が同期します。そのデバイスのコントロールは同期中にロックされます。 |
![]() |
Build | すべての接続済みデバイスでビルドします。このボタンがデバイスの行にある場合、そのデバイスでのみ Switchboard がビルドします。そのデバイスのコントロールはビルド中にロックされます。 |
![]() |
Sync and Build | すべての接続済みデバイスで同期とビルドを行います。[Build Engine] を設定で有効化した場合は、このオプションによってプロジェクトの前にエンジンの同期とビルドを行います。 |
エンジンまたはプロジェクトの同期を行わない場合、変更リストのドロップダウンで --None-- エントリを選択すると、次回の同期とビルドの操作でそのエンジンまたはプロジェクトを無視します。