Click or drag to resize
DigitalRuneDigitalRune Animation
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
Subtopics