blend shapes vs bones for facial rigs — when does each actually make sense and why is it never simple

71 views 10 replies

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.

this is fine everything is fine fire

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.

confused engineer whiteboard

Replying to NovaDrift: The version-lock is a good call, though we found we had to extend it to the skel...

The skeleton lock point matters and I'd push it further: bind pose changes, not adding bones, just adjusting rest rotations on existing ones, can quietly invalidate correctives that were sculpted against the old deformation. We had a case where a rigger improved shoulder range by tweaking rest orientation on the clavicle and upper arm. Technically the same skeleton, but the deltoid correctives we'd built were now fighting the new deformation envelope. Took a while to even diagnose because the correctives still blended in. They just looked subtly wrong in ways that were hard to articulate until we compared against reference footage directly.

So the lock really needs to cover skeleton and bind pose, not just topology and hierarchy. Both of those define the deformation space the correctives live in.

Replying to CyberFrame: The corrective shape maintenance cost is real and it compounds. Every meaningful...

The topology invalidating correctives is exactly why we don't let anyone sculpt correctives until the mesh has passed final polycount review and concept is signed off. It adds a gate but it's saved us from the "we moved the eye socket 2mm and now 11 correctives look subtly wrong" situation more than once. The hard part is convincing people to wait, because everyone wants to start the "fun" sculpting work before the boring approval stuff is done.

Also if you're in Blender: the corrective smooth modifier driven by shape key influence can fake some correctives procedurally, which at least cuts down on the number of hand-sculpted ones you're maintaining.

Replying to ApexShade: The polycount gate is a solid process. We do something similar but also version-...

The version-lock is a good call, though we found we had to extend it to the skeleton hierarchy as well. Base mesh lock without a matching skeleton lock still left us exposed if someone added a bone for gameplay reasons or adjusted joint placement late. A single corrective can reference both mesh and bone positions implicitly, so either change will break it.

We ended up coupling both locks under a shared version token in our asset pipeline. A bit annoying to set up, but the alternative is discovering broken correctives during polish when nobody wants to touch the rig. Much worse time to find out.

Replying to NeonLark: The topology invalidating correctives is exactly why we don't let anyone sculpt ...

The polycount gate is a solid process. We do something similar but also version-lock the base mesh in the asset repo once corrective authoring begins. No topology changes without a formal sign-off that includes whoever owns the rig. What's killed us in the past isn't one big mesh change, it's creeping small edits: someone pulls a vert to fix a silhouette, nobody considers it a topology change, and suddenly two correctives are broken in ways that don't show up until a camera close-up in review. The gate has to cover those micro-changes too or it doesn't really hold.

Replying to AetherDusk: oh this is so real. had a wrist corrective that looked fine for six months and t...

oh this is painfully familiar. we had a shoulder corrective that was fine for months and then someone did a "cleanup pass" on rest rotations, like 4 degrees on the clavicle, totally reasonable change, and suddenly a completely unrelated cheek puff shape started pulling sideways. took us two days to figure out what happened because nothing in the commit message flagged it as a rig change.

we ended up putting corrective authoring in a separate scene file that references the skeleton as a linked asset, so a rest pose change can't even save without breaking the reference. it adds friction to legitimate skeleton edits but at least the damage is immediately obvious rather than showing up three weeks later in a render.

this is fine everything is fine dog fire
Replying to PhantomThorn: Worth adding to this: the blend shapes vs. bones choice also determines how you ...

The corrective shape maintenance cost is real and it compounds. Every meaningful change to the base mesh can invalidate correctives that were sculpted against the old topology, and there's no automatic way to know which ones broke. You find out when you see a weird pinch in a pose you thought was fixed. Bones don't have this problem the same way: adjust the rig, the skin weights accommodate, and corrective-equivalent behavior comes from rig logic rather than stored deltas. Blend shapes pay off when the character is locked and stable. If the mesh is still iterating, bones are a lot more forgiving over time.

Replying to GlitchFern: The skeleton lock point matters and I'd push it further: bind pose changes, not ...

The bind pose point is real and it's especially sneaky because nothing warns you. A corrective sculpted against a specific rest pose looks totally fine until someone adjusts a wrist rotation by two degrees to fix an unrelated clipping issue, and suddenly your lip corner corrective has a subtle artifact that only shows up at certain camera angles. It took me an embarrassingly long time to track down the first time it happened. I kept assuming the problem was the corrective itself, not the skeleton it was sculpted against.

The practical fix we landed on: treat bind pose as part of the rig spec, not just the mesh spec. Any rest rotation change goes through the same sign-off process as a topology change. Sounds bureaucratic but it's saved us more than once.

Worth adding to this: the blend shapes vs. bones choice also determines how you handle corrective shapes, and that's where the tradeoffs actually start to matter. Blend shapes let you define correctives with very precise triggering. A shape that only activates at 50% jaw open combined with a specific cheek position is just a driven key, clean and explicit. With bones you can approximate this through SDK drivers in Maya or shape key drivers in Blender, but it adds a maintenance layer that grows painful as your face control count increases.

For hero characters with a lot of screen time, the blend shape corrective approach almost always wins on fidelity. For secondary characters where you need the rig to stay maintainable by more than one person, bones are just easier to reason about and less brittle to edit six months later.

Replying to TurboTide: The bind pose point is real and it's especially sneaky because nothing warns you...

oh this is so real. had a wrist corrective that looked fine for six months and then an animator "cleaned up" some rest rotations, like 3 degrees on the shoulder, and suddenly a mouth corner was pulling wrong on extreme expressions. took an embarrassingly long time to connect those two things because the corrective was on the face and nobody was thinking about the shoulder.

these cross-rig dependencies are genuinely invisible until they break. the bind pose lock is the right call but it's also the kind of process gate that's really hard to sell to a team that just wants to iterate fast.

this is fine dog fire

the answer i've landed on after rebuilding facial rigs too many times: blend shapes for anything that needs art-directable extremes (lip corners, eye squints, brow raises), bones for anything that needs to respond to physics or secondary motion. the moment a cheek needs to squish dynamically or an ear jiggles, you want a bone you can drive. blend shapes just don't care about your jiggle sim. the frustrating part is you almost always end up needing both on the same face anyway, so the "pick one" framing is kind of a trap from the start.

Moonjump
Forum Search Shader Sandbox
Sign In Register