通过 Python 设置 Vicon 流设备

Set up Vicon stream device via Python

我想使用 python 在 Motionbuilder 2017 中设置 Vicon 流媒体设备。

Vicon Stream Device | Download Page

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?
# ...

当我 click\drag 设备从资产浏览器进入我的场景时,它工作正常。如果我使用上面的 python 脚本,设备出现在场景中但不能正常工作。下图显示了当我 select 设备时导航器的样子。

Vicon Stream Device | Click\Drag Into Scene

Vicon Stream Device | Python Script

设备信息缺失,"model binding:" 显示为灰色。此外,场景变得非常脆弱,运行脚本后很快就会崩溃。

click\dragging 和使用上面的 python 脚本有什么区别?有没有办法使用 python 将 Vicon 流媒体设备导入 Motionbuilder?


回答以下信息(基于 Paul Boots 建议)

我最终手动初始化了设备并将其连接到我打开的 Vicon Shogun 会话。我将设备设置为离线并保存了文件。下面是我在脚本中用于将设备合并到所需场景中的代码。

viconStreamDevice = r"D:\ViconStreamDevice.fbx"
MOptions = FBFbxOptions( True, viconStreamDevice )
app.FileMerge( viconStreamDevice, False, MOptions )

我在使用 C++ 工具添加设备时遇到了类似的问题。 我的解决方法是创建一个包含我的设备的模板文件并从 C++ 代码中打开它。您可以使用 python.

尝试相同的技巧