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.

Minimal Requirements

Supported Platforms

  • Microsoft .NET Framework 4.0 (or higher)

  • Microsoft XNA Framework 4.0 (Windows, Xbox 360, Windows Phone 7)

  • Mono and MonoGame

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

Subtopics