| DigitalRune Animation |
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:
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:
Subtopics