/// <summary> /// adds a new key frame to the animation /// </summary> /// <param name="frame"></param> /// <param name="value"></param> /// <param name="type"></param> /// <param name="interpolationType"></param> public void AddKey(float frame, float value, AnimationTrackFormat type, InterpolationType interpolationType = InterpolationType.Linear) { var track = Tracks.Find(e => e.Type == type); if (track == null) { track = new GenericTransformTrack(type); Tracks.Add(track); } track.AddKey(frame, value, interpolationType); }
/// <summary> /// gets the interpolated values for track type at frame /// </summary> /// <param name="frame"></param> /// <param name="type"></param> /// <returns></returns> public float GetTrackValueAt(float frame, AnimationTrackFormat type) { var track = Tracks.Find(e => e.Type == type); if (track == null) { return(0); } return(track.Keys.GetValue(frame)); }
public GenericTransformTrack(AnimationTrackFormat type) { Type = type; }