public void Clear() { m_currentKeyframe = 0; m_isConst = false; m_assignedBone = null; Rotation = default(Quaternion); Translation = Vector3.Zero; Player = null; Keyframe1 = null; Keyframe2 = null; m_clipBone = null; }
private static ModelAnimations ReadModelAnimations(BinaryReader reader) { var modelAnimations = new ModelAnimations { Clips = new List<MyAnimationClip>() }; var animationCount = reader.ReadInt32(); for (var i = 0; i < animationCount; i++) { var clipName = reader.ReadString(); var duration = reader.ReadDouble(); var animationClip = new MyAnimationClip() { Name = clipName, Duration = duration }; var boneCount = reader.ReadInt32(); for (var j = 0; j < boneCount; j++) { var boneName = reader.ReadString(); var bone = new MyAnimationClip.Bone() { Name = boneName }; var keyFrameCount = reader.ReadInt32(); for (var k = 0; k < keyFrameCount; k++) { var time = reader.ReadDouble(); var vector = ReadVector4(reader); var rotation = new Quaternion(vector.X, vector.Y, vector.Z, vector.W); var translation = ReadVector3(reader); bone.Keyframes.Add(new MyAnimationClip.Keyframe() { Time = time, Rotation = rotation, Translation = translation }); } animationClip.Bones.Add(bone); } modelAnimations.Clips.Add(animationClip); } modelAnimations.Skeleton = ReadArrayOfInt(reader).ToList(); return modelAnimations; }