0

Python を使用して、Motionbuilder 2017 で Vicon ストリーミング デバイスをセットアップしたいと思います。

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 )
4

1 に答える 1

0

C++ ツールでデバイスを追加する際にも同様の問題がありました。私の回避策は、デバイスを含むテンプレート ファイルを作成し、それを C++ コードから開くことでした。Pythonを使用して同じトリックを試すことができます。

于 2018-05-30T09:18:23.427 に答える