# How to create stacked rotation with bones? (similar to array mod with object offset)

I'm trying to achieve this kind of stacked rotation that you would get when using an array modifier on an object and having the offset controlled by another object.

This is for a spine of a character. I want to be able to rotate the hip (torso) bone and have every children bone rotate increasingly more compared to hip bone.

Another way to look at it would be that every children bone would have the same rotation value in relation to children's respective parent. But because every parent (except the first one) is also a child, the rotations would stack.

Here is a video demostrationg the effect achieved using array mod and obj offset https://youtu.be/1Dm_htzlVrM

• so waht about a Copy Rotation constraint? Sep 24, 2020 at 14:35
• No, this only copies the rotation. No stacking. Sep 24, 2020 at 14:37
• Does the exact rotation matter or the overall effect to have a progressively rotated bone "array"? Sep 24, 2020 at 15:45
• Exact would be nice, but all I want to do is curve my characters back using one bone. Whatever you can throw at me would be better than nothing. Sep 24, 2020 at 16:05
• Was thinking about bendy bone... but not the exact same effect I think and will need two objects to drive it properly. So maybe, forget it. Sep 24, 2020 at 16:07

Copy Transform constraint

Using a copy transform (or copy rotation and or scale) from target space local with parent to owner space local for each descendant targeting a common ancestor bone will achieve this

Add constraint to one bone select all others and Bone > Constraints > Copy Active to Selected so its pretty easy to set up.

Will also progressively scale. The bones are all connected hence the constraints calculated translation is ignored.

Example, all 4 descendants copy the transform of bone named "Bone"

• Yes, that's it. The other answer achieves the result too, but it required manually typing in the rotation values. This is better, thanks! Sep 26, 2020 at 13:28

Using "child of" constraint:

Add the constraint to each of the bones, using "set inverse", relatively to its parent:

Tune the influence to be progressively decreased: 100% for the first then 75, 50 and 25 (as 4 bones in my example).

Notes:

-will work under some limits, because if too much rotation the last bones will turn over the constraint limits.

-scales are progressive too (like array modifier)