private static AnimationClip CreateAnimationClip(W3dCompressedAnimation w3dAnimation, W3dMotionChannel w3dChannel) { var bone = w3dChannel.Pivot; var keyframes = new Keyframe[w3dChannel.NumTimeCodes]; var i = 0; foreach (var keyframeWithValue in w3dChannel.Data.GetKeyframesWithValues(w3dChannel)) { var time = TimeSpan.FromSeconds(keyframeWithValue.Keyframe / (double)w3dAnimation.Header.FrameRate); keyframes[i++] = CreateKeyframe(w3dChannel.ChannelType, time, keyframeWithValue.Datum); } return(new AnimationClip(w3dChannel.ChannelType.ToAnimationClipType(), bone, keyframes)); }
private static AnimationClip CreateAnimationClip(W3dCompressedAnimation w3dAnimation, W3dMotionChannel w3dChannel) { var bone = w3dChannel.Pivot; var keyframes = new Keyframe[w3dChannel.NumTimeCodes]; for (var i = 0; i < w3dChannel.Data.TimeCodes.Length; i++) { var time = TimeSpan.FromSeconds(w3dChannel.Data.TimeCodes[i] / (double)w3dAnimation.Header.FrameRate); keyframes[i] = CreateKeyframe(w3dChannel.ChannelType, time, ref w3dChannel.Data.Values[i]); } return(new AnimationClip(w3dChannel.ChannelType.ToAnimationClipType(), bone, keyframes)); }