Is it possible to animate viewmodels?

WHAT I WOULD WANT TO ACHIEVE:

How can I achieve something like this including animating the viewmodels?

You can animate viewmodels. Using a script to play the animation is the exact same how you would do on a Rig.
You can animate viewmodels with moon / roblox deafult animators.

You can use AnimationController | Documentation - Roblox Creator Hub for animating separate arms, shells flying out, etc.