Example #1
0
        static public FBXAnimationCurve[] GenerateAnimationCurveTrio(FBXAnimationNode AnimationCurveNode)
        {
            var curveNodes = AnimationCurveNode.AnimationCurves;

            if (curveNodes != null)
            {
                if (curveNodes.Count == 3)
                {
                    return new FBXAnimationCurve[] { new FBXAnimationCurve(AnimationCurveNode.AnimationCurves[0]),
                                                     new FBXAnimationCurve(AnimationCurveNode.AnimationCurves[1]), new FBXAnimationCurve(AnimationCurveNode.AnimationCurves[2]) }
                }
                ;
                else if (curveNodes.Count == 2)
                {
                    return new FBXAnimationCurve[] { new FBXAnimationCurve(AnimationCurveNode.AnimationCurves[0]),
                                                     new FBXAnimationCurve(AnimationCurveNode.AnimationCurves[1]) }
                }
                ;
                else if (curveNodes.Count == 1)
                {
                    return new FBXAnimationCurve[] { new FBXAnimationCurve(AnimationCurveNode.AnimationCurves[0]) }
                }
                ;
            }
            return(new FBXAnimationCurve[] { });
        }
    }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="PositionAnimationCurveNode">The AnimationCurveNode node not the AnimationCurve node</param>
 /// <param name="RotationAnimationCurveNode">The AnimationCurveNode node not the AnimationCurve node</param>
 /// <param name="ScaleAnimationCurveNode">The AnimationCurveNode node not the AnimationCurve node</param>
 public FBXBoneAnimation(string BoneName, FBXAnimationNode PositionAnimationCurveNode, FBXAnimationNode RotationAnimationCurveNode, FBXAnimationNode ScaleAnimationCurveNode)
 {
     this.BoneName  = BoneName;
     PositionCurves = GenerateAnimationCurveTrio(PositionAnimationCurveNode);
     RotationCurves = GenerateAnimationCurveTrio(RotationAnimationCurveNode);
     ScaleCurves    = GenerateAnimationCurveTrio(ScaleAnimationCurveNode);
 }