Using Unity 2019.2.1f1, LWRP 6.9.1 and Shader Graph 6.9.1. You can get the article’s code and shaders here.
I saw two Youtube talks (The Illusion of Motion: Making Magic with Textures in the Vertex Shader, Unleashing Houdini for AAA Mobile Games Production – MIGS) about using specially encoded textures in the vertex shader to animate mesh. Both talks use Houdini to generate animations and because I don’t have Houdini, I decided to do everything in Unity.
Overview of example
Creating vertex animation consists of the following steps:
- Selecting the target
- Recording positions and rotations
- Combining meshes into single saving pivots and mesh ids
- Encoding position and rotation textures
- Using special shader that decodes these textures