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
    Commented Mar 7, 2021 at 18:41

1 Answer 1


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
    Commented Mar 10, 2021 at 3:24

You must log in to answer this question.

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