
DigitalRune Animation is a .NET class library for animation. It provides a general purpose animation system supporting a wide range of animations: From basic animation of a single floating-point value to complex 3D character animation. The library was designed for use in 3D computer graphics, video games and virtual reality applications.
This topic contains the following sections.
Minimal Requirements
Microsoft .NET Framework 4.0 Client Profile or Mono
Supported Platforms
Microsoft .NET Framework 4.0 (or higher)
Microsoft XNA Framework 4.0 (Windows, Xbox 360, Windows Phone 7)
Features
Here is an overview of features in this product.
General
Intended and optimized for use in 3D real-time applications
Full support for XNA Content Pipeline
Animation System
Animations can be applied to standalone variables, other objects (such as game objects, UI controls) or collections of objects.
Designed for highly-parallel, multithreaded game engines:
Animations are evaluated concurrently.
Animation results are written thread-safe.
Resource pooling with auto-recycle function
Animation Types
All animations support colors, floating-point values, 2D vectors, 3D vectors, 4D vectors, quaternions, SRT transformations, skeletal poses, Xbox LIVE Avatar expressions and even custom value types(!)
From/To/By animations to transition one value to another using a predefined easing functions
10+ predefined, configurable easing functions (bounce ease, elastic ease, smooth-step, power ease, etc.) and custom easing functions
Cyclic animations
Composite animations (e.g. compose a 3D vector animation out of 3 floating-point animations)
Key frame animations with or without key frame interpolation
Animation curves using spline-based interpolation
2D and 3D path animation using spline-based interpolation
Storyboards:
Animation clips to select intervals of other animations.
Animations and clips can be arranged on timelines.
Timelines can be grouped together to be played as a single animation.
Extensible with custom animations
3D Character Animation
Support for custom skinned models
Support for Xbox LIVE Avatars (skeletal animations and facial expressions)
SRT transformations (scaling, rotation, translation)
Skeletal animations with bone weights per channel
Inverse Kinematics: Arm IK, Foot IK, Look-At IK, general IK chains (using CCD, Jacobian Transpose, or Closed-Form solvers)
Ragdoll physics for active and passive ragdolls, supporting blending of key-framed animations and physics-based animation
Skeleton mapping for motion retargeting
Animation compression
Animation Transitions
Animation transitions control how new animations interact with already running animations.
Replace - Replace existing animations with new animations.
Fade-In/Fade-Out - Smoothly fade animations in or out.
Snapshot - Take snapshots of animations and continue new animations from there.
Compose - Combine animations using animation composition chains.
Animation Composition
All types of animations can be combined using animation composition chains.
Additive animations
Blending of animations using animation weights
Animation weights themselves can be animated
N-blend animations to blend cyclic animations with different length
Namespaces
Following namespaces belong to DigitalRune.Animation: