Animation Systems
For the animation programming module we learned a variety of techniques that were then combined and implemented in a final application to demonstrate our understanding and evaluate our implementation. The application can be split into two parts, 2D and 3D, for easier discussion.
2D
The 2D part of the application involves animated sprite sheets and 2D bone animations. The application reads in all relevant bone / sprite sheet data and processes them according to their type to be loaded and viewed. The user can then use the drop down menu to select from the 2D animations loaded in.
3D
The 3D part of the application involves a mixamo model with some mixamo animations that are loaded in and rigged. From this you can build an animation tree through the use of nodes. These nodes can be linked up through their input and outputs to create a complex animation system dependant on conditions and variables. There are a variety of nodes demonstrating different animation techniques as detailed below:
Clip Node
The most basic node, it just reads in a given animation clip and plays it accordingly.
Linear Blend Node
Given two input nodes will linearly blend (lerp) between them based on a given value between 0 and 1.
2D Linear Blend Node
Similar to the Linear blend node but blends between 4 clips, think of it as a blend of 2 linear blend nodes.
Transition Node
Transitions from one input to the second input over a specified time if specified conditions are met.
Partial Blend Node
Same as a linear blend node, however a bone mask can be specified and the blend between two inputs will only be applied to the bones specified within the mask.
RagDoll Node
As with the Partial Blend Node a bone mask can be specified and once toggled on those bones will "RagDoll" and experience gravity.
IK Node
Just as above a bone mask can be specified, once specified you can move and pose the specified bones through the use of Inverse Kinematics.