okay so I've been rebuilding our character's facial rig for the third time and I've finally accepted I don't actually have a principled reason for my choices, I just do whatever I did last time and hope it works out.
here's where I'm at: we started with purely bone-based facial rigs because our animator was more comfortable with it and it retargets cleanly to other characters. but the art director keeps asking for subtler expressions that bones just don't do elegantly without like 40 corrective shapes anyway. so now we're creeping toward blend shapes (shape keys in Blender) for the fine stuff, and I'm doing this hybrid thing that feels like it's going to explode.
what I've landed on so far:
- bones for jaw, eyes, brows — anything that needs to be driven by mocap or physics
- blend shapes for mouth corners, cheek puff, lip curl stuff — the nuance layer
- corrective blend shapes triggered by bone rotation ranges via drivers
the corrective driver setup in Blender is pretty elegant once you get it, but it's also incredibly brittle when you rename anything. had a driver silently break last week and spent an hour wondering why the cheek was clipping on a specific smile angle.
also, if you ever need to retarget this hybrid rig to another character with slightly different topology, good luck. the bones transfer fine, the blend shapes do not.
for those of you doing this in Unity or Unreal: are you baking the blend shapes out to SkinnedMeshRenderer blend weights and driving them from animation curves? or is there a smarter runtime approach I'm missing? and if you're doing any facial mocap on top of a hybrid rig, I genuinely want to know how you're mapping the mocap data to both systems without losing your mind.

at what point does the hybrid approach become more trouble than just committing to one system? curious if anyone's done a full blend-shape-only facial rig for a game character and how it held up in production.
