【发布时间】:2018-04-11 18:06:48
【问题描述】:
我正在尝试使用 FBX SDK 从 fbx 文件中获取动画曲线。我正在尝试像 FBX 文档中所说的那样:http://help.autodesk.com/view/FBX/2017/ENU/?guid=__cpp_ref__import_scene_2_display_animation_8cxx_example_html。代码如下:
int layersCount = currAnimStack->GetMemberCount();
/// layersCount = 1
FbxAnimLayer* layer = currAnimStack->GetMember<FbxAnimLayer>(0);
//// layer is ok, it's not null
FbxAnimCurve* curve = inNode->LclTranslation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_X);
curve = inNode->LclTranslation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Y, NULL);
curve = inNode->LclTranslation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Z, NULL);
curve = inNode->LclRotation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_X, NULL);
curve = inNode->LclRotation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Y, NULL);
curve = inNode->LclRotation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Z, NULL);
curve = inNode->LclTranslation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_X, NULL, false);
curve = inNode->LclTranslation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Y, NULL, false);
curve = inNode->LclTranslation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Z, NULL, false);
curve = inNode->LclRotation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_X, NULL, false);
curve = inNode->LclRotation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Y, NULL, false);
curve = inNode->LclRotation.GetCurve(layer, FBXSDK_CURVENODE_COMPONENT_Z, NULL, false);
但无论我如何尝试,曲线总是为空。同时,在 3ds Max 中显示曲线。那么可能有什么问题呢?
【问题讨论】: