Unity and UE4 's material editor have functions like Vertexoffset, which can drive vertices in vertexshader and do some programmed vertex animations
Reasons for animating with vertices: skeletons are shared, skeletal animations are shared, etc., while saving the number of bones and the workload of animators
Using the Cos trigonometric +time is a basic technique for controlling the weight of each part with vertex color
Material parameters are exposed to dynamic control using program logic
The vertex color of the RGBA channel can be used, for different weight control, with time-varying trigonometric function values, can make creeping effect
Actually, the water is very similar to this.
Ever since I used Unreal's materialeditor, I've been too lazy to write shader directly.
Another application is a hair animation.
Similarly, the vertex red channel can control the weight of the moving movement
Blue channel controls the time to move
The motion of the model can also be controlled by vertex color
Even the face's knot shape can be fine-tuned with vertex color
I think lip-synching can do the same thing.
When necessary, external control material parameters are required to mate
Like this oscillating animation.
It's not enough to use a vertex color.
Control with key frame parameters
In fact, in addition to swinging, but also to achieve the effect of rotation
Some rotations can be achieved entirely using materials, eliminating program logic drivers or skeletal animations.
As an example,
The last is the tool to use
Gdc2016:animating with Math