Vertex Animation
Vertex Animation displaces mesh vertices in the shader’s vertex stage, GPU-side, with zero CPU overhead. Genesis ships more than seventeen pre-built modes covering wind on foliage, pulses on magic crystals, jelly wobbles on slimes, and ripples on water surfaces, each maskable by vertex color or texture.
Wind sway on foliage and a Jelly wobble on a slime, both GPU-driven.
When to use it
- Foliage and trees — wind sway driven by vertex color.
- Magic crystals and runes — a pulsing scale or twist.
- Water surfaces — ripple and wave modes on a plane.
- Slimes and blobs — jelly and wobble for organic movement.
Modes
Genesis bundles more than seventeen modes. The most-used are Wind (gusting sway for foliage), Pulse (uniform scale oscillation), Wave (a sinusoidal traveling wave), Bounce (vertical periodic offset), Wobble, Jelly (spring-mass damped wobble), Ripple (radial wave from a point), Twist (axial rotation along height), Squash, and Bend. Sway, Vibrate, Flow, Wiggle, Breathe, Shake, and combinations round out the set.
A sampling of the built-in modes, each looping on an identical sphere.
Properties
Usage
- Pick a Mode that matches the desired motion.
- Paint vertex color R as the per-vertex amplitude, or assign a texture mask.
- Set Amplitude in world units and Frequency in Hz — wind around 0.1m at 0.5Hz, jelly around 0.05m at 3Hz.
- Vary Phase Offset per instance via MaterialPropertyBlock so a forest does not sway in lockstep.
material.SetFloat("_VertexAnimMode", 1); // Wind
material.SetFloat("_VertexAnimAmplitude", 0.12f);
material.SetFloat("_VertexAnimFrequency", 0.5f);Tips & gotchas
- Vertex animation runs after skinning, so it stacks on top of bone deformation; watch the amplitude on tight rigs.
- Static batching strips per-renderer phase — use GPU instancing for forests.
- Cost is 1–4 ALU per mode, cheap, but high-poly meshes amplify it.
- Vertex animation is per-eye consistent in VR with no special handling.
Related
- Vertex Colors — drive per-vertex amplitude.
- UV Animation — the fragment-side animation cousin.
- Mesh Utility — paint amplitude masks.
- Animation API — drive parameters from script.