|
Hi,
I am using KFbxAnimEvaluator::GetPropertyValue( KFbxNode::Property, Time) to read properties from a camera node.
What I am finding is that some of the node properties are coming out at double the values they should be.
If I use the following I get the correct value:
KFbxTypedProperty< Tdata> &Property = pFbxNode->Property;
Value = Property.Get();
But if I use the following I get the double the correct value:
KFbxTypedProperty< Tdata> &Property = pFbxNode->Property;
KFbxAnimCurveNode &FbxAnimCurveNode = pFbxEvaluator->GetPropertyValue( Property, Time);
Value = FbxAnimCurveNode.GetChannelValue( 0u, 0);
I have tracked the issue back to properties that have animations on them.
Reading through text based FBX files from Maya, I have determined the properties with animation data on them are wrong.
If I edit the text FBX files so the animtion keys are all set to values of 0 and leave the nodes default value as it is I get the correct values. As I edit/increase the animation keys back towards their original values the values tend back to the double values.
These only seems to affect properties as using GetGlobalTransform() seems to be working correctly!
Can anybody shed some light on what is going on here? And how I can fit it?
Thanks.
|