public ZMOChannel(ZMOTrack.TrackType TrackType, int BoneID) { this.Type = TrackType; this.BoneID = BoneID; }
public ZMOChannel() { BoneID = -1; Type = ZMOTrack.TrackType.NONE; }
public void AddAnimationAt(int frame_number, string animation_name, BoneFrame frame, ZMOTrack.TrackType trackType) { bool createdAnim = false; bool createdFare = false; BoneAnimation banim = BoneAnimations.Find(ba => ba.Name.Equals(animation_name, System.StringComparison.InvariantCultureIgnoreCase)); // if new animation - create if (banim == null) { banim = new BoneAnimation(animation_name); createdAnim = true; } BoneFrame bframe = banim.Frames.Find(a => a.Frame == frame_number); // if new frame - create if (bframe == null) { bframe = new BoneFrame() { Frame = frame_number }; createdFare = true; } // add/update frame transform switch (trackType) { case ZMOTrack.TrackType.POSITION: bframe.Position = frame.Position; break; case ZMOTrack.TrackType.ROTATION: bframe.Rotation = frame.Rotation.Normalized(); break; case ZMOTrack.TrackType.SCALE: bframe.Scale = frame.Scale; break; } if (createdFare) { banim.Frames.Add(bframe); } if (createdAnim) { BoneAnimations.Add(banim); } }