C# / Animation /

Artefact Animator

Open-source Silverlight 4 and WPF .Net 4 procedural time-based animation engine


Artefact Animator provides a faster, better way

Artefact Animator provides an easy to use framework for procedural time-based animations in Silverlight and WPF. Inspired by the Flash community and forged out of frustration, Artefact Animator brings to WPF and Silverlight what Tweener has done for Flash. If you’ve ever tried to get into animation in C# you’ll soon realize there are way too many steps to get you where you need to be. The consequences are that developers don’t love to animate UI and designers are limited by what they can animate when working with dynamic content.



Getting Started



Free and Open-Source on CodePlex

Artefact Animator is released under the MIT license so you can use it free on any project - private and commercial. Download includes .Net 4.0 version of both WPF and Silverlight solutions.



A Simple solution

ArtefactAnimator.AddEase ( object, properties, values, time, ease, delay );

Pretty easy right?



Features

Easy to use

  • Animate multiple properties with just one line of code!
  • Use strings as shortcuts to animations like “x”, “y”, “alpha”, and more!
  • Extensions help reduce coding time by wrapping common animations.
    • SlideTo will animate an UIElement’s Canvas.Top and Canvas.Left properties
    • AlphaTo will animate a UIElement’s Opacity

Smooth animations

  • Artefact Animator updates every time the UI layer refreshes using CompositionTarget.Rendering. This allows for the most responsive animations possible.
  • Limited error checking to increases performance

Easing Support

  • Includes ported Robert Penner easing equations ( WPF ) ( from DoublePennerAnimation )
  • Includes native easing equations ( Silverlight )
  • Allows custom easing functions

Custom Animation support ( Advanced )

  • Animate any property you want with very little effort.
    • Create your own custom wrapper using getter/setter functions
    • Register your custom animations and reference them by name later

Smart System

  • Animations don’t conflict resulting in smooth transitions from one call to the next
  • Call the SlideTo method 1000 times with delays and never worry - the latest animation will always take over when it starts.
  • If errors occur when easing your program is not affected, the ease is simply stopped

Comprehensive

  • Begin, Update, Completed, and Stopped event
    • Perfect for sequencing and callbacks
  • Add callbacks via extensions to maintain calls on one line
    • easeObject.OnBegin( beginHandler ).OnUpdate( updateHandler ).OnComplete( completeHandler );
  • An EaseObjectGroup can be used to report when a group of animations have been completed

Consistent

  • Includes methods to make sure an objects transform group is in place and in the right sequence before animating any transforms – UIElement.NormalizeTransformGroup()

Flexible

  • Doesn’t use Storyboards so every aspect of Artefact Animator can be customized and controlled by you.
  • Constructs animations through composition resulting in the ability to extend functionality later on.
  • Adding an Ease to Artefact Animator will produce an EaseObject that allows you to Start or Stop that animation anytime.