void WccToFbxExporter::addPositionKeyToNode(FbxNode *pNode, FbxAnimLayer *pAnimLayer, int timeMs, const QVector3D &position) { FbxAnimCurve* lCurve = nullptr; FbxTime lTime; int lKeyIndex = 0; lCurve = pNode->LclTranslation.GetCurve(pAnimLayer, FBXSDK_CURVENODE_COMPONENT_X, true); if (lCurve) { lCurve->KeyModifyBegin(); lTime.SetMilliSeconds(timeMs); lKeyIndex = lCurve->KeyAdd(lTime); lCurve->KeySet(lKeyIndex, lTime, position.x(), FbxAnimCurveDef::eInterpolationCubic); lCurve->KeyModifyEnd(); } lCurve = pNode->LclTranslation.GetCurve(pAnimLayer, FBXSDK_CURVENODE_COMPONENT_Y, true); if (lCurve) { lCurve->KeyModifyBegin(); lTime.SetMilliSeconds(timeMs); lKeyIndex = lCurve->KeyAdd(lTime); lCurve->KeySet(lKeyIndex, lTime, position.y(), FbxAnimCurveDef::eInterpolationCubic); lCurve->KeyModifyEnd(); } lCurve = pNode->LclTranslation.GetCurve(pAnimLayer, FBXSDK_CURVENODE_COMPONENT_Z, true); if (lCurve) { lCurve->KeyModifyBegin(); lTime.SetMilliSeconds(timeMs); lKeyIndex = lCurve->KeyAdd(lTime); lCurve->KeySet(lKeyIndex, lTime, position.z(), FbxAnimCurveDef::eInterpolationCubic); lCurve->KeyModifyEnd(); } }