Help with rigging a foldable cushion

Hey everyone, I am working on creating an animation for a cushion, and this particular cushion can fold in half and then it folds into a Z pattern to be wrapped around by a band. The bending in half is easy enough with a simple armature, but I am having trouble getting it into that Z folded pattern.

Any ideas on how I could animate this? Should I use an armature? Shape Keys?

Here is a picture of the model;

For animation armature is likely to work better, as shape keys doesn’t make good rotations !
However shape keys can be used to fix bad deformations.

Anyway, for these case you can always cheat a bunch, like maybe do some mesh swapping :
You start the motion like maybe the first folding, then you duplicate the mesh, apply the armature modifier and switch to a second object/armature.

It might even be possible to use two armature on the same object, the second armature using another set of vertex groups and having the first folding as the rest pose, if you see what I mean…

Basically the idea is to just work on that Z folding for now, then you can look into how to mix that with the first folding…

Hope that’s clear !

Have fun !