>>947386
A combination of blendshapes, joints and deformers.
In Maya, I've found the shrinkwrap deformer to be quite useful for this. It needs some experimenting to get it right, as if it's not set up correctly, it'll just end up a jittery mess. But otherwise, it's a great lightweight option, and much better than purely relying on blendshapes.