MotionBuilder 2019 Python:如何为Plot Options设置自定义帧率?
在MotionBuilder 2019中设置Plot Options自定义帧率的正确方法
在自定义时间模式下,直接通过FBTime构造函数传入帧率参数是无效的,因为MotionBuilder的自定义帧率是全局生效的配置项,需要先设置全局自定义帧率,再配置PlotPeriod:
具体步骤
- 通过
FBSystem设置全局自定义帧率 - 用
FBTime指定单帧时长(对应自定义帧率下的1帧),赋值给PlotPeriod
完整代码示例
from pyfbsdk import FBSystem, FBPlotOptions, FBTimeMode, FBTime # 设置全局自定义帧率为240fps fb_system = FBSystem() fb_system.CustomFrameRate = 240.0 # 配置Plot Options的采样间隔(单帧时长) plot_options = FBPlotOptions() # 自定义模式下,FBTime的第4个参数代表帧数,这里设为1即对应1/240秒的采样间隔 plot_options.PlotPeriod = FBTime(0, 0, 0, 1, 0, FBTimeMode.kFBTimeModeCustom)
验证设置
可以通过打印采样间隔的秒数确认是否生效:
print(plot_options.PlotPeriod.GetSecondDouble()) # 输出约0.00416667,即1/240秒
原理说明:MotionBuilder的kFBTimeModeCustom模式依赖全局的CustomFrameRate配置,FBTime构造函数中的pFramerate参数在实际API调用中并未被正确读取,必须先通过FBSystem设置全局自定义帧率,再通过指定帧数来定义采样间隔。
内容的提问来源于stack exchange,提问作者Joshua Guenard
相关产品推荐
相关产品推荐

