Vertex Animation State Machine
Skills: VAT, Unity, Animation

Vertex Animation State Machine is a tool aimed to help the developer of Unity to easily convert the built-in rig-based animation state machine into an one-to-one mapped Vertex Animation-based state machine.
Vertex-based animation using Vertex Animation State Machine.

Animation using Unity's built-in animation state machine.

Why using VAT?
The most common way of doing animation is by using a rig-based mesh and controlling the rig of the mesh to create animations. However, with this method, there will be heavy loading on the CPG side. With VAT, animation can be presented by GPU using static mesh, which costs zero computer power for the CPU. This method can be extremely useful for mobile games or games with massive amounts of animations.

VAT Baking Tool
In order to control the animation using Vertex shader, I need to first bake the rig-based animation into VAT. By doing so, I will be able to have the vertex shader read the animation information that I stored inside the VATs.

This code stores the position of the vertex in each frame into textures.

A example of VAT, in which the positions (XYZ) are stored as colors (RGB).

State Machine Converter
After the tool has the VATs, it can further create a VAT-based animation state machine based on the built-in Animation Controller of Unity. With this converter, the developer can convert the state machine into data structures that fit my system with one click. All the important parameters, including translation time, exit time, speeds, and more, are preserved inside the new data structure. By doing so, the developer can recreate the animation behavior easily.

The converter converts the built-in animator controller into the data structures used by the system with one click.

State Machine

Animation State

Conclusion
With this tool, I allow the developer to easily convert their animation from using rigged skinned mesh to using Vertex shader with almost zero effort. In addition to that, I also gained an in-depth understanding of vertex animations and animation state machines.
Back to Top