The idea I have is fairly simple in concept: I'd like to enable two shape keys independently (like a normal face rig slider), but have one of those shape keys take priority over the other.

My exact scenario is that I'd like to have a smile shape key and a lip pucker shape key, but I want the pucker to cancel out the smile. So If the smile is at 1 and the pucker is at 0, as I move the pucker slider to 1 the smile slider should also be moving to 0.

Is there a way to set this up using drivers? I have a super basic understanding of drivers, but this feels like it might be a little more involved than a delta shapekey driver.


1 Answer 1


I'm a big dope, literally just subtract the priority (B) shape key value from the other (A) with drivers set up (expression being A-B). Though be sure to use some sort of controller instead of changing the value of the shape key directly. I used an empty shape key as a controller in my example.

biggest of dopes

EDIT: Just became hyper intelligent, be sure to multiply B by A so that the value never goes below zero and stays smooth (Expression being A-B*A). This ensures that your animated "A" slider will ease down to 0 if it's only partially engaged when "B" goes from 0 to 1.


If not, then the "A" slider will hit 0 before "B" is fully engaged.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .