【问题标题】:Can't get curves from FBX无法从 FBX 获取曲线
【发布时间】: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 中显示曲线。那么可能有什么问题呢?

【问题讨论】:

    标签: animation fbx curves


    【解决方案1】:

    从 3ds Max 导出期间的操作给了我需要的曲线:

    1. 转到运动->轨迹并按折叠。

    【讨论】:

      猜你喜欢
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 2015-11-09
      • 2017-07-25
      • 2022-01-13
      • 2016-05-26
      相关资源
      最近更新 更多