Years ago I stole a creative solution from someone in use for animating 2D characters, wherein a bone drives the location of a UV map across a texture composed to different face poses. Image provided for reference. Makes for easy animation/posing of simple characters.
I’ve been trying to figure out an appropriate way to do something with 3D objects 0- ie, have a different mesh object for each pose, and have that mesh object instanced accordingly. So far, I’ve not really turned up any results.
The hacky solution I’ve come up with is to have a hair particle spawn an object from a collection, and specifying it using the “count” function of the collection instancer, but this is gross and hacky and horrible. Is there a more elegant solution to instancing objects, and choosing which is instanced?
There are several other (per-object) flags which can be controlled by drivers (e.g. visibility flags, or enable/disable instancing for duplis), if that was the question. This still means, of course, defining one driver per pose.
For controlling the mapping of poses to flags, defining a custom driver in Python might make things somewhat easier. See: