Assembly: DigitalRune.Animation (in DigitalRune.Animation.dll) Version: 18.104.22.168 (22.214.171.12403)
A key frame animation contains a list of key frames (see property KeyFrames) that define the animation values at certain points in time. When the animation is played the class automatically looks up the animation value in the list of key frames.
Key Frame Interpolation: The property EnableInterpolation defines whether interpolation between key frames is enabled. When the property is set (default) the values between two key frames are interpolated. Each key frame animation class decides which type of a interpolation is most appropriate. For example, linear interpolation (LERP) is used for Single, Vector2F, Vector3F, etc. LERP is also used for QuaternionF (Spherical linear interpolation (SLERP) is not used for performance reasons). When interpolation is disabled, the animation returns the value of the previous key frame.
Please note that key frame animations (such as SingleKeyFrameAnimation, Vector2FKeyFrameAnimation, Vector3FKeyFrameAnimation, etc.) provide only limited control over interpolation between key frames. Curve-based animations (such as Curve2FAnimation, Path2FAnimation, Path3FAnimation, etc.) offer more advanced control: Curve-based animations allow to define an interpolation spline for each segment of the animation.
Cyclic Animations: A key frame animation, by default, runs until the last key frame is reached. The types TimelineClip and AnimationClip<(Of <(<'T>)>)> can be used to repeat the entire key frame animation (or a certain clip) for a number of times using a certain loop-behavior (see LoopBehavior).
Important: The key frame animation requires that the key frames are sorted ascending by their time value. The method Sort()()()() can be called to sort all key frames.