Python を使用して、Motionbuilder 2017 で Vicon ストリーミング デバイスをセットアップしたいと思います。
from pyfbsdk import*
app = FBApplication()
scene = FBSystem().Scene
# Find the device
viconStreamingDevice = FBCreateObject( 'Browsing/Templates/Devices','Vicon Stream Device', "Vicon Stream Device")
# Import the device to the current file
scene.Devices.append(viconStreamingDevice)
# Execute the Device?
# ...
アセット ブラウザからデバイスをクリックしてシーンにドラッグすると、正しく動作します。上記の python スクリプトを使用すると、デバイスはシーンに表示されますが、正しく動作しません。下の画像は、デバイスを選択したときにナビゲーターがどのように見えるかを示しています。
Vicon ストリーム デバイス | クリック\シーンにドラッグ
Vicon ストリーム デバイス | Python スクリプト
デバイス情報が欠落しており、「モデル バインディング:」がグレー表示されています。さらに、シーンは非常に脆弱になり、スクリプトを実行するとすぐにクラッシュします。
クリック\ドラッグと上記の python スクリプトの使用の違いは何ですか? Python を使用して Vicon Streaming Device を Motionbuilder にインポートする方法はありますか?
以下の回答情報(ポール ブーツの提案に基づく)
結局、デバイスを手動で初期化し、開いていた Vicon Shogun セッションに接続しました。デバイスをオフラインに設定し、ファイルを保存しました。以下は、デバイスを必要なシーンにマージするためにスクリプトで使用したコードです。
viconStreamDevice = r"D:\ViconStreamDevice.fbx"
MOptions = FBFbxOptions( True, viconStreamDevice )
app.FileMerge( viconStreamDevice, False, MOptions )