スタジオブロス TECH BLOG

スタジオブロススタッフからの最新ツール情報やチュートリアル・TIPSなどを紹介します

バーチャルプロダクションとカラーマネジメント : Switchboard/Switchboard Listener セットアップ ハンズオン

前回は、nDisplayのハンズオンを行いました。
詳しくは以下の記事をご覧ください。

tech.bros.studio

 

SwitchboardとSwitchboard Listenerについて理解する

今回のハンズオンでは、前回のnDisplayのハンズオンで作成したLEDパネル一枚を使用するnDisplay Configを元に、Switchboardを使用してLEDに映像を出すための準備をします。
さらに、カメラトラッキングデータをUE側に反映させるところまでを進めて、SwitchboardとSwitchboard Listenerの扱い方を理解してもらえたらと思います。

SwitchboardとSwitchboard Listenerって何だっけ?という方は、以下の記事もあわせてお読みください。

tech.bros.studio

 

SwitchboardとSwitchboard Listenerの初回セットアップ

前回作成したプロジェクトを起動して、下記画像の右上に示したグレーマンのアイコンをクリックします。
初回はこのグレーマンのアイコンからSwitchboard を立ち上げますが、初めて使用した場合はインストーラーが起動します。

インストール済みの場合は、次の「Switchboardを立ち上げる」へ進んでください。

インストーラーはインターネット経由でダウンロードするため、インターネット環境へ接続したうえで実行してください。

レーマンアイコンの場所


インストーラーが出てきたら、インストールされる場所を確認し、Installボタンをクリックして進めます。

インストーラーの画面

ダウンロードがスタートします。

ダウンロード中の画像

ダウンロードが完了すると、ショートカットをデスクトップとスタートメニューに追加するかと聞かれるので、追加しておきましょう。

ショートカットに登録する選択肢が表示された画面

この後の工程でスタートアップで自動的にSwitchboard Listenerを起動するか聞かれますが、スタートアップに登録してしまうと複数のUEバージョンを扱う環境の場合Switchboard Listener同士が多重起動しようとするため、私はこの段階では登録しないように設定しています。

 

Switchboardを立ち上げる

Switchboardを立ち上げるため、グレーマンのアイコンから起動します。
自動で.uProjectの状態やコンフィグレーションのネーミングが下記画像のように埋められています。

Projectを立ち上げた状態でSwitchboardを起動した場合

Projectを起動しておらず、デスクトップにあるショートカットなどから起動した場合は、下記のようにConfig PathとuProject情報は空になっています。

Projectを立ち上げていない状態でSwitchboardを起動した場合


また、ここで作成されるConfigというのはSwitchboardのConfigファイルです。
SwitchboardのConfigファイルはnDisplay Configとは別物です。
SwitchboardのConfigファイルは、起動する.uProjectのファイルパスを設定するもので、主にUEを立ち上げるのに必要な情報などを格納している設定ファイルです。
それに対して、nDisplay ConfigはどのPCにどのCG空間を描画させるかの指定をしています。

では、OKを押してSwitchboardを早速立ち上げてみましょう。
立ち上げると以下の画面が表示されます。

Switchboard立ち上げ後の画像

起動後は、まず最初にnDisplay Configをロードする必要があります。
Add DeviceからnDisplayを選択します。

Add DeviceからnDisplayを選択

Add nDisplay Deviceという小さなウインドウが表示されます。

Add nDisplay Deviceのウィンドウ

Populateをクリックし、自分が作成したnDisplay Configを設定します。

nDisplay Configをロード

Populateを押した後にConfigファイルが意図している物とは違うものが割り振られていた場合は、Configファイルのプルダウンから設定したいnDisplay Configを指定してください。

他のnDisplay Configに変更する

今回はTechBlog_nDisplay.uassetというConfigファイルを指定して、OKを押します。
nDisplay Configが設定されたので、画面上のnDisplay Devicesのところにデバイスが追加されています。

Addressのところは黒く隠されていますが、IPアドレスが薄暗く記載されています。

nDisplay Devicesにデバイスが追加されている

Switchboard Listenerを立ち上げる

次に、Switchboard Listenerを立ち上げます。
Switchboard Listenerを立ち上げると、パスワードを要求されます。

パスワードを要求される画面

ここでのパスワードは、任意のパスワードを設定してください。
パスワードを入力したら青色のボタンを押します。
※Change Passwordとなっているのは私の環境では既に初回セットアップが完了している為です。

パスワードを入力した様子

Switchboard Listenerが起動します。左下のStatusはNot Connectedの状態です。

Switchboard Listener起動後の様子

nDisplay Devicesを接続する

Switchboard Listenerの起動を確認したら、Switchboardに戻り、左下のMulti-user Serverに表示されているAuto-joinのチェックを外しておきます。

Auto-joinを外す

 

Auto-joinのチェックを外したらnDisplay Devicesのデバイスに表示されているコンセントマークを選択します。

コンセントマークを押して接続をチェック

バイスが接続されると、Switchboard Listener左下のStatusがConnected to [アドレス]の表示に変わり、デバイスが接続されたことがわかります。

Switchboard Listenerの接続ステータス

また、Switchboard上では、グレーアウトだったnDisplay Devicesのデバイスがアクティブな表示に変わっています。

コンセントマークを押したあと、一定時間経過しても接続表示にならない場合は、Windows FirewallIPアドレスの設定をもう一度確認したうえで、再度設定を行ってください。

Switchboardでデバイスが接続された状態

接続したデバイスに表示されている、上向き矢印のアイコンが起動ボタンです。下記画像のボタンを押して起動してみましょう。

上向き矢印のアイコンを押して起動する

nDisplayの起動

nDisplayが起動された状態

この時にUEに配置したnDisplayのPreviewと明らかに違う画角や映像が写っている場合は、Windowsのモニタースケール倍率が影響している可能性があります。
必ずWindows設定の中にある画面倍率の設定が100%になっていることを確認してください。

モニターの設定

これでSwitchboardとSwitchboard Listenerの設定は完了です。
キーボードのEscapeキーを押すと、画面が元に戻ります。

カメラトラッキングのセットアップ

次に、カメラトラッキングの読み込み方を解説します。

カメラトラッキングは、LEDのカラーキャリブレーションを行う上では必須ではありませんが、念のため説明しておきます。
Unreal EngineのEditorに戻り、画面上部メニューからWindow > Virtual Production >  Live Linkの順でクリックします。

Live Linkパネルの開き方

Live Linkパネルが開きます。

今回はVIVE Marsを使用したカメラトラッキングで説明していきます。
他のトラッキングシステムを使っている場合はこれ以降のステップが異なりますので、各ベンダーのマニュアルを参考にしてください。

Live Linkパネル

VIVE Marsでは、Message BusというSubjectでトラッキングデータの受信が可能です。
Add SourceからMessage Bus Sourceを選択。するとSource TypeにViveLiveLinkPlugDESKTOP...という表示があるのでクリックします。

Live Link Subjectの読み込み

Live Linkが正常に値を受信できている場合、Subject Nameが下記画像のように追加され、右端の丸いアイコンが緑色になります。
受信できていない場合は、丸いアイコンがオレンジ色になります。

正常トラッキングデータを受信している状態

受信できていることを確認したので、この状態をPresetとして保存します。
Add Sourceの右側にあるPresetsを押します。

Presetsの保存

Save As Presetを選択します。

Save As Presetが表示される

Presetはアセットとして保存するので、私の環境ではTechBlogLLSubjectという名前にしました。

Saveをしてアセットとして保存したら、このLive Linkの設定が次回起動以降必ずロードされるように設定をしていきます。

アセットの保存

Project設定を開き、Live Linkと検索してください。

Project設定でLive Linkと検索する

検索結果に表示されているDefault Live Link Presetへ、先ほど作成したアセットを指定します。

Live Link Presetの割り当て

続いてトラッキングデータを実際のカメラに割り振ってみましょう。
Cine Camera Actorをシーンに新規追加します。

Cine Camera Actorを追加する

追加したらそのカメラをTechBlog_nDisplayオブジェクトの子供に設定します。

作成したカメラをTechBlog_nDisplayの子供に設定している様子

親子付が完了したらCine Camera Actorを選択、Detail Panelへ移動してLive Link Controllerを追加します。
上部のAddを押して、Componentを追加しましょう。
Livel...まで検索ボックスに入力すると、Live Link Controllerが出てくるので選択します。

Live Link Controllerの追加

Live Link Controllerを追加したら、Detailsパネル内のLive Link Compoonent Controllerを選択します。
Subject RepresentationがNoneになっているので、該当するCine Camera Actorに変更します。

Live Link Controllerの設定

追加したCine Camera Actorの座標そのものは移動しますが、まだレベル内に配置したnDisplayのInnerには反映されていません。
TechBlog_nDisplayのICVFXカメラコンポーネントに、先ほど作成したカメラを割り振ることで反映されるようになります。
TechBlog_nDisplayを選択して、ICVFXCameraコンポーネントを選択、その後CameraタブにあるCine Camera Actorに先ほど追加したカメラを参照させます。

参照する場所の画像

正しく参照させると下記の画像のようになります。

正しく参照されている例

ここまでの設定が完了すると、TechBlog_nDisplayのInnerが実際のカメラトラッキング移動値に従って動いているはずです。
一旦ここで全てセーブをしましょう。

UEのEditorを終了して、最初に行った手順でSwitchboardからnDisplayを立ち上げて確認を行います。
nDisplayが起動すると、Innerがカメラトラッキングに従って移動するのを確認できました。

Innerが右に移動している様子

Innerが左に移動している様子

 

まとめ

4K環境のnDisplay ConfigをSwitchboardで読み込み、そしてさらにカメラトラッキングをセットアップしてInnerが動くところまでをハンズオンしました。

次回は、実際にLEDパネルに映像を出すための設定等をして行きます。

お楽しみに!