使用批处理将 bvh 文件转换为 fbx

Posted

技术标签:

【中文标题】使用批处理将 bvh 文件转换为 fbx【英文标题】:Converting bvh fles to fbx with batch 【发布时间】:2015-10-16 23:33:44 【问题描述】:

我想使用 MotionBuilder 中的批处理首选项将数百个 .bvh 文件转换为 .fbx 文件,但是当我应用它时,它会出现“未指定字符!”之类的错误。 .如何通过自动处理转换它们?感谢您的帮助。

【问题讨论】:

您能发布您当前正在使用的脚本吗? 我没有为此使用任何脚本,我只是在 MotionBuilder 中使用了“批处理”首选项,但它不起作用。它也不适用于以下 phyton 脚本。 FOR %%f IN (*.bvh) DO "C:\Program Files\Blender Foundation\Blender\blender.exe" -b --python "C:\Users\irem\Desktop\motionCapture\convert_fbx.py" -- "%%f" 张贴convert_fbx.py的内容或上传到pastebin/privatepaste并链接到这里,因为错误可能是那个脚本发出的。 【参考方案1】:

您可以使用 Blender 执行类似的任务。您的里程可能会有所不同,但您可以通过 python 脚本在 FBX 中调用 import BVH 和 export 来自动化该过程

这是打开 BVH 的调用;您需要先在 bvh 文件所在的位置 cd 。文件名放在引号之间的“文件路径”参数中

bpy.ops.import_anim.bvh(filepath="", filter_glob="*.bvh", global_scale=1, frame_start=1, use_fps_scale=False, use_cyclic=False, rotate_mode='NATIVE', axis_forward='-Z', axis_up='Y')

要导出到FBX,调用是这样的;文件路径保存 fbx 输出文件

bpy.ops.export_scene.fbx(filepath="", axis_forward='-Z', axis_up='Y', use_anim=True, use_selection=True, use_default_take=False)

从控制台(windows)通过 Blender 调用脚本:

<full path for blender.exe> -b -- python <full path to python script>

您可以轻松循环调用以解析文件夹中的所有文件,因此您可以在一个座位上转换文件夹中的所有 bvh 文件

【讨论】:

以上是关于使用批处理将 bvh 文件转换为 fbx的主要内容,如果未能解决你的问题,请参考以下文章

如何将 BVH 节点对象转换为简单数组?

如何将层文件序列转换为 .fbx 动画

FBX SDK - 将 fbx 文件的所有内容转换为文本

如何使用纹理将 fbx 转换为 usdz

使用 FBX2glTF 将多个 FBX 转换为 glTF

将 FBX 转换为 three.js