UE4 を Live Link で Motionbuilder に接続する

UE4 を Live Link プラグインで Motionbuilder に接続する方法について説明します。

Windows
MacOS
Linux

Live Link を使用すると、コンテンツを MotionBuilder から Unreal Engine にリアルタイムでストリーミングして、エクスポートやインポートを行わずに Unreal でコンテンツをプレビューできます。この際、セッションの IP アドレスとキャストを制御するためのさまざまな設定もあります。

motionbuilder live link unreal

このドキュメントでは、MotionBuilder と Unreal Engine の間で Live Link のセッションを設定する方法の概要と、利用可能な設定について説明します。

前提条件

MotionBuilder をセットアップする

次の手順に従って、MotionBuilder で Unreal Live Link を設定し、Live Link のシグナルのブロードキャストを開始します。

プラグインをインストールする

MotionBuilder Live Link プラグインをダウンロードしてインストールする必要があります。MotionBuilder Live Link プラグインをダウンロードしてインストールする必要があります。そのためには、まずマーケットプレイスの「MotionBuilder LiveLink」ページに移動し、このプラグインをダウンロードします。

motionbuilder live link marketplace

プラグインがインストールされると、それが Unreal Engine がインストールされたディレクトリの「Plugins」フォルダに配置されます。デフォルトでは、次のパスの下にあります。

  C:\Program Files\Epic Games\UE_4.27\Engine\Plugins\Marketplace\MobuLiveLink

そのフォルダ内で、「Binaries」フォルダに移動して、MotionBuilder の各バージョンで使用可能なプラグインを表示できます。

motionbuilder plugin version

次に、プラグインのパスを MotionBuilder に割り当てます。MotionBuilder で、メインメニューバーの [Settings (設定)] > [Preferences (環境設定)] をクリックして [Preferences (環境設定)] ウィンドウを開き、 [SDK] カテゴリに移動します。[Add (追加)] をクリックして、MotionBuilder のバージョンに一致するバージョンのフォルダを参照します。その後、MotionBuilder を再起動します。

install motionbuilder plugin

MotionBuilder を再起動すると、 [Asset Browser (アセット ブラウザ)] タブの [Devices (デバイス)] カテゴリに UE - LiveLink エントリが表示されます。

UE LiveLink devices

Live Link をブロードキャストする

MotionBuilder シーンに使用するキャラクターが追加されているのを確認した後、UE - LiveLink プラグインをビューポートにドラッグします。

drag drop plugin

これにより、 [Live Link Connection (Live Link 接続)] ウィンドウが開きます。このウィンドウは、 [Navigator (ナビゲーター)][Devices (デバイス)] セクションにあります。

motionbuilder live link window

[Subject Selector (...) (サブジェクトセレクター)] ボタンをクリックし、キャラクターの Root Bone (ルート ボーン) を展開して選択し、 [Add] をクリックします。選択したルート ボーンは、プロジェクトにインポートされた スケルトン のルート (最上位) ボーンとも一致している必要があります。

add live link subject

これにより、キャラクターが Subject (サブジェクト) として追加され、Unreal Engine にストリーミングされます。オプションで、 [Stream Viewport Camera (ビューポートカメラをストリームする)] を有効にすることもできます。これにより、MotionBuilder のカメラが Unreal Engine の対象となる Live Link としてストリーミングされ、エディタカメラを操作するためのソースとして選択できるようになります。

stream viewport camera

オプションで、 [Subject Name (サブジェクト名)] フィールドを編集して、サブジェクトの名前を変更できます。これは、Live Link のブロードキャストでサブジェクト同士を区別するのに便利です。

live link subject name

[Online (オンライン)] の横のボタンをクリックして、コンテンツのストリーミングを有効にします。[Online] ステータス ボタンが 赤色 (オフライン) から 緑色 (オンライン) に変わります。緑色になると、MotionBuilder は Live Link のシグナルをブロードキャストした状態になります。

live link online

MotionBuilder が最前面に表示されておらずバックグラウンドで動作している状態になると、アプリケーションのパフォーマンスが抑制され、ストリーミング プロセス中にスタッタリングが発生する可能性があります。これを防止するには、[Navigator] の [System (システム)] メニューにある [Always refresh viewer (ビューアを常に更新する)] オプションを有効にします。

always refresh viewer

Unreal Engine をセットアップする

キャラクターの接続をプレビューするには、次の手順に従って Unreal Engine を MotionBuilder Live Link のブロードキャストに接続します。

接続をセットアップする

MotionBuilder をバックグラウンドで実行している状態で、Unreal Engine を開き、メインメニューバーから [Window (ウィンドウ)] > [Live Link] を選択します。[Live Link Connection Window (Live Link 接続ウィンドウ)] が開き、Motionbuilder の実行インスタンスに接続できるようになります。

live link connection window

[+ Source (ソース追加)] ボタンをクリックし、[Message Bus Source (メッセージ バス ソース)] から MotionBuilder ブロードキャストのシグナルを選択します。

live link

接続ウィンドウが更新され、接続されているソースタイプ、サブジェクト、およびステータスが表示されます。

live link connected

Live Link の オプション役割ステータス インジケーター の詳細については、「Live Link Overview (Live Link の概要)」ページを参照してください。

Live Link をプレビューする

これで、キャラクターの Live Link の接続をプレビューできるようになりました。コンテンツブラウザ からキャラクターの スケルタル メッシュ アセットを開きます。

skeletal mesh

[Preview Scene Settings (プレビューシーン設定)] タブで、次のプロパティを設定します。

  • Preview Controller: Live Link プレビュー コントローラー

  • Subject Name: 「MotionBuilder のサブジェクト名」

  • Enable Camera Sync: Enabled (有効化)

skeletal mesh live link preview

これで、MotionBuilder サブジェクトがこのウィンドウに接続され、データがストリーミングされるようになりました。MotionBuilder で [Enable Camera Sync][Stream Viewport Camera] が有効になっている場合、MotionBuilder ビューポートもこのビューにストリーミングされます。

skeletal mesh live link preview

Live Link ウィンドウから手動で接続せず、ブループリント関数 で接続を確立することもできます。また、プレビュー コントローラーを使用せず、アクタにアタッチされた LiveLinkコンポーネント、またはアニメーション ブループリントの Live Link Pose ノードを使用することもできます。

MotionBuilder を設定する

MotionBuilder Live Link プラグインには、Live Link のキャストの動作を制御するためのさまざまな詳細設定があります。これらの設定にアクセスするには、 [Live Link Connection] ウィンドウの [Settings (設定)] タブをクリックします。

motionbuilder settings

他のマシンへリンクする

デフォルトでは、セッションが同じデバイスで実行されている限り、Live Link を使用して MotionBuilder を Unreal Engine に接続できます。複数のデバイスが使用されているローカルエリア ネットワークを使用していて、別のデバイスにブロードキャストする場合は、明示的なローカル IPv4 アドレス が設定された ユニキャスト エンドポイントスタティック エンドポイント を使用する必要があります。

ユニキャスト エンドポイント は Live Link ブリッジの一方のエッジで、 スタティック エンドポイント はブリッジのもう一方のエッジと言えます。それらが一緒になることで、アクティブな Live Link 接続が形成されます。

ユニキャスト エンドポイントを設定するには、 IPv4 AddressUnicast Endpoint プロパティにコピーします。IPv4 アドレスを取得するには、Windows の コマンドプロンプト ウィンドウに「ipconfig」と入力してアドレスを表示し、それをコピーします。また、アドレスの最後に ポート番号 を指定する必要があります。

unicast endpoint

ポート 6666 は予約されており、エンドポイントには使用できません。

受信側の PC の Unreal Engine で、 [Edit (編集)] > [Project Settings (プロジェクト設定)] をクリックして [Project Settings] ウィンドウを開き、 [UDP Messaging (UDP メッセージング)] パネルに移動します。[Transport (トランスポート)] カテゴリで、[Details (詳細)] を展開し、ホストマシンの ユニキャスト エンドポイント から同じアドレスとポートを [Static Endpoints (スタティック エンドポイント)] プロパティに入力します。

static endpoint

これで、Live Link 接続ウィンドウにソースを追加するときに、リモートの Live Link ソースを受信できるようになります。

remote live link source

このプロセスの逆も同様に機能します。つまり、先ほどとは逆に、 [Project Setting] の [UDP Messaging][Unicast Endpoint] を、 MotionBuilder で [Static Endpoint] を設定できます。

static unicast endpoint

サテライトをブロードキャストする

単一の MotionBuilder Live Link インスタンスが複数の Unreal Engine の宛先に同時にブロードキャストするのではなく、単一の Unreal Engine レシーバを設定して、Live Link ソースを他のマシンに再ブロードキャストすることもできます。これは、Live Link ソースがすべてのレシーバから遠く離れている場合、または帯域幅が制限されている場合に便利です。

unreal rebroadcast live link signal

この動作を有効にするには、最初に [Live Link Connection] ウィンドウ で Live Link の ソースサブジェクト を選択し、 [Rebroadcast Subject (サブジェクトの再ブロードキャスト)] を有効にします。

rebroadcast subject

次に、再ブロードキャストを実行しているマシンの [Project Setting] の [UDP Messaging][Unicast Endpoint] を設定します

rebroadcast unicast endpoint

これで、他のマシンから Live Link ソースを選択するときに、Unreal Engine インスタンスから再ブロードキャストされたソースを選択できるようになります。

rebroadcast live link

マルチキャスト

マルチキャストとは、ネットワーク通信に参加できるクライアントを決めるためのインターネットの仕様のことです。これは、エンドポイント間通信で通常見られる標準のクラス アドレス空間とは異なる クラス D アドレスを使用して表されます。マルチキャスト アドレスの範囲は 224.0.0.0 から 239.255.255.255 となっています。

クライアントは、特定の IP 上のマルチキャスト メッセージに関心があることをルーター、スイッチ、またはオペレーティング システムに通知するマルチキャスト グループにサブスクライブできます。Unreal Engine は、ポート 6666 でマルチキャスト グループ 230.0.0.1 を使用します。そして起動時に、Unreal Engine は、230.0.0.1:6666 マルチキャスト グループに参加を希望するシグナルをネットワークに送信します。その指定された IP とポートで受信されたマルチキャスト メッセージは、エンジンによる処理のためにその Unreal Engine インスタンスのインバウンド ソケットに割り当てられます。

マルチキャスト アドレスの目的は、ネットワーク上の他の Unreal Engine インスタンスの存在について他の Unreal Engine インスタンスに通知することです。これは、マルチキャスト ソケットで送信される検出メッセージを使用して行われます。この検出メッセージは他のインスタンスによって受信され、メッセージ内には、Unreal Engine インスタンスと直接通信するために使用可能な特定の IP またはポートが含まれています。その後、この既知のエンドポイント (IP とポート) を使用して直接通信が行われます。マルチキャスト グループを介した通信は以後行われません。これは、スタティック エンドポイントを手動で追加する場合と同様です。マルチキャストのメカニズムで、これが自動的に有効となります。

通常、ほとんどのルーターは、構成されていない限り、ローカルエリア ネットワーク (LAN) を超えてマルチキャスト メッセージを伝播しません。ほとんどの場合、Unreal Engine インスタンスを検出できるのは同じローカルエリア ネットワーク上のみです。

Live Link は通常、マルチキャスト通信が発生していることを認識しません。このネットワーク通信はすべて、メッセージ バスを介して UDP メッセージングで行われます。Live Link は、メッセージ バスとのやり取りを通じて、メッセージ バス フレームワークを介して独自の検出メッセージを送信するときに、使用可能なエンドポイントを認識します。検出されたすべてのエンドポイントは、レシーバとして Live Link で使用できるようになります。そして、Live Link はその検出メッセージをそれらのレシーバに送信します。

マルチキャストの範囲を変更する

マルチキャストの範囲グループを変更する場合、 [Project Settings] の [UDP Messaging]Live Link プラグインの「Engine.ini」ファイルの両方でそれを行う必要があります。

マルチキャスト エンドポイント** は、[Project Settings] の [UDP Messaging] にあります。

multicast

MotionBuilder Live Link プラグインの「Engine.ini」ファイルは、次に示す Unreal Engine のインストール ディレクトリ内にあります。...\Engine\Plugins\Marketplace\Engine\Programs\MobuLiveLinkPlugin\Saved\Config\Windows\Engine.ini

「Engine.ini」ファイルをテキストエディタで開いたら、MulticastEndpoint の行を Unreal Engine の設定と同じ値に変更する必要があります。

  [/Script/UdpMessaging.UdpMessagingSettings]
  EnabledByDefault=False
  EnableTransport=True
  bAutoRepair=True
  MaxSendRate=1.000000
  AutoRepairAttemptLimit=10
  bStopServiceWhenAppDeactivates=True
  UnicastEndpoint=0.0.0.0:0
  MulticastEndpoint=230.0.0.1:6666
  MessageFormat=CborPlatformEndianness
  MulticastTimeToLive=1
  EnableTunnel=False
  TunnelUnicastEndpoint=
  TunnelMulticastEndpoint=

マルチキャスト ネットワークを完全に理解していない場合、マルチキャスト グループは変更しないでください。

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