示例#1
0
        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));
        }
示例#2
0
        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));
        }