FBX SDK获取动画

时间:2017-03-05 10:47:15

标签: animation fbx

我主要使用EvaluateGlobalTransform从fbx文件中获取动画。此方法适用于 samples \ ViewScene 目录中的humanoid.fbx和我在Blender中创建的另一个ascii格式fbx模型。

但是,当我以二进制格式导出相同的Blender模型并尝试从中获取动画时,结果完全错误。通过调用EvaluateGlobalTransform得到的每个帧的矩阵大部分是相同的。以下是结果的一些片段。(打印所有内容太多,所以我将它们写在一个文件中)

错误的一个: enter image description here

正确的: enter image description here

我确信我使用的所有fbx文件至少包含一个动画堆栈,如果在FBX Review中打开它们,可以完美地动画。

值得一提的是,我在Blender中制作的模型的大小(不是存储大小,而是空间大小)在二进制格式中比在ascii格式中更大。

请帮助我!谢谢!

1 个答案:

答案 0 :(得分:0)

是的,我又来了。我想我对自己的问题有了答案。所有矩阵在二进制fbx文件中相同但在ascii fbx文件中不相同的原因是包含所有矩阵的两个动画不是同一个。在二进制文件中,默认值为空闲动画,而在ascii文件中,默认值为步行动画。当我从fbx文件中提取矩阵时,我实际上从ascii fbx文件中将空闲动画从二进制fbx文件中提取到 Walking Animation

因此,我只需要找到一种方法来改变我从中提取动画的默认值。我想我已经解决了我的问题。我希望这也可以解决你的问题。