Driving what object is to be instanced

Hi there,

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?

Thank you.

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:


Thank you for your help! I was able to track down another thread that covered exactly what I needed:

I did what?