The Premise: Say you have a driver on Bone A that makes it's rotation = 50% of the rotation of Bone B.

Bone B has a copy rotation constraint to copy Bone C's rotation.

My expectation would be that Bone A's rotation would be 50% of Bone C's rotation.

The problem: Bone A does not rotate at all because the driving rotation property on Bone B still shows as 0, 0, 0 even though Bone B has visibly copied the rotation of Bone C.

How would I get a driver to see the final rotation of a bone after applying it's constraints?

EDIT: A tangential part of my problem was I was using the "RNA" "Single Property" for the driver, but by switching to "(x) Transform Channel" I can then specify local space and get the result I want.

  • $\begingroup$ Idk if this would help but maybe try using a driver on bone B that copy's bone C's rotation instead of using a constraint. Or make Bone A copy 50% of the rotation of bone C using drivers. $\endgroup$
    – Motcho
    Mar 7 '21 at 18:41

Let's reproduce the issue: two cubes, one copying the rotation of the other using a constraint. Each cube has a Suzanne copying the rotation of the cube in front of it, using a driver.

the driver for "sleeping" Suzanne:

Changing its type to Scripted Expression, default variable type to Transform Channel and the property type to the rotation axis of your interest:

  • $\begingroup$ Thanks! It seems I've been using RNA instead of transform channel. Switching and doing what you said solved my problem! $\endgroup$
    – Ben Mora
    Mar 10 '21 at 3:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.