R: Procedural Animation

  1. Background
    1. Procedural animation started out in early animation software in the form of automatic tweening systems to speed up the development of digital animation. In the beginning it was mostly used to do with things like digital graphics used for title sequences and digital advertisements, but as digital animation started to become a sought after animation technique, interpolating between frames in the software greatly increased the speed that digital animators could produce artwork.
  2. Applications
    1. At the currant time procedural animation is most commonly used in real time game engines. It can be used for simple tasks like adjusting animations to stop issues like foot slide, or to tilt the feet of a character to the slope of a surface. Some less common uses are in place of a full animation cycle, using the same procedural interpolation that is used in 3d animation software like 3ds max or maya, but in engine at run time, drastically reducing the volume of animation data that must be kept in computer memory, reducing the overhead, resulting in an increase in efficiency.
  3. In practice
    1. Most commonly use is Inverse kinematics(IK) the direct opposite of forward kinematics(FK), to explain the two systems I will use an example: First we start with a hierarchy of objects or bones that have a parent/child relationship, the hand is the child of the forearm, witch in turn is the child of the upper arm. Forward kinematics is the procedure of moving the arm to a new position and to do this you will start at the top, the upper arm, working your way down the hierarchy until the arm is in the desired pose. Now Inverse kinematics is the procedure of moving the lowest object in the hierarchy, in this case the hand, and a computer algorithm will update the entire hierarchy using the forward kinematics system, usually so fast that it appears hand is moving and the arm is following. This is one form of procedural animation, and the Inverse kinematic system can be used in game engines to produce a variety of result, like the situations described in the previous paragraph.
    2. When taking a variety of procedural animation techniques and combining them, you can get amassing results of animation that are responsive and looks great, from a minimal amount of animation data, a great example of this is the wolfire game Overgrowth, that produces its entire animation set from 13 frames or poses This is the the gdc 14 talk where the developer explains his system.
  4. My Project
    1. For my project I plan to use on of the most basic of the concepts I described, A two bone IK system to improve the quality of foot placement, and to Aline the angle of the foot to the angle of the surface it is being placed on.
    2. This kind of in at run time procedural animation can produce amazing result, while allowing the animation to be adjusted at run time increasing the usability and functionality of the entire system


GDC 2014 Procedural Animation Video – Wolfire Games Blog. (2016). Blog.wolfire.com. Retrieved 9 May 2016, from http://blog.wolfire.com/2014/05/GDC-2014-Procedural-Animation-Video

GDC Vault – Animation Bootcamp: An Indie Approach to Procedural Animation. (2016). Gdcvault.com. Retrieved 9 May 2016, from http://www.gdcvault.com/play/1020583/Animation-Bootcamp-An-Indie-Approach

procedural animation. (2016). Utdallas.edu. Retrieved 9 May 2016, from http://www.utdallas.edu/atec/midori/Handouts/procedural_animation.htm

Procedural Characters and the Coming Animation Technology Revolution | AiGameDev.com. (2016).Aigamedev.com. Retrieved 9 May 2016, from http://aigamedev.com/open/editorial/animation-revolution/


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s