Browse Source

Fixing animation curve import

BearishSun 9 years ago
parent
commit
a86612c730
1 changed files with 9 additions and 3 deletions
  1. 9 3
      Source/BansheeFBXImporter/Source/BsFBXImporter.cpp

+ 9 - 3
Source/BansheeFBXImporter/Source/BsFBXImporter.cpp

@@ -1735,10 +1735,16 @@ namespace bs
 			FBXBoneAnimation& boneAnim = clip.boneAnimations.back();
 			FBXBoneAnimation& boneAnim = clip.boneAnimations.back();
 			boneAnim.node = importScene.nodeMap[node];
 			boneAnim.node = importScene.nodeMap[node];
 
 
-			boneAnim.translation = importCurve<Vector3, 3>(translation, importOptions, clip.start, clip.end);
-			boneAnim.scale = importCurve<Vector3, 3>(scale, importOptions, clip.start, clip.end);
+			if(hasCurveValues(translation))
+				boneAnim.translation = importCurve<Vector3, 3>(translation, importOptions, clip.start, clip.end);
+
+			if(hasCurveValues(scale))
+				boneAnim.scale = importCurve<Vector3, 3>(scale, importOptions, clip.start, clip.end);
+
+			TAnimationCurve<Vector3> eulerAnimation;
+			if(hasCurveValues(rotation))
+				eulerAnimation = importCurve<Vector3, 3>(rotation, importOptions, clip.start, clip.end);
 
 
-			TAnimationCurve<Vector3> eulerAnimation = importCurve<Vector3, 3>(rotation, importOptions, clip.start, clip.end);
 			if(importOptions.reduceKeyframes)
 			if(importOptions.reduceKeyframes)
 			{
 			{
 				boneAnim.translation = reduceKeyframes(boneAnim.translation);
 				boneAnim.translation = reduceKeyframes(boneAnim.translation);