# Locking Bones Relative To Other Bones

Hello animators, a bit of a puzzle for you.

I’m thinking about making an animation with blocks that should move by pivoting around their own individual edges, similarly to this demonstrative video I made here:

.

Except, id like for the blocks to be able to pivot around any of their edges, not just the one. I’ve thought of set ups like these:

with the whole block assigned to each bone so it can rotate around it.
But the problem is once you rotate the block around one bone, other bones remain seated and the mesh foes not move as planned.

I figured one way to solve this is by making bones maintain their position relative to each other, as if they are parented to one another. Sadly chain parenting (I mean chaining all the bones to each other in a loop so essentially bone 1 is both parent and child of every other bone) is not possible, as far as I’ve seen and I couldn’t find a bone constraint that I could use.

Do you know of a way to create such a relationship between bones or you maybe have another idea?
I’d love to hear. thanks!

I was asked some time ago (I am getting old so can’t remember when) this same question and at the time came up with this solution:

rolling-cube-2.blend (533 KB)

You must enable Autorun Python Scripts in User Prefs => File tab or the drivers won’t work.

I didn’t find a way to do this with bones at the time. It would mean a lot of maths to get the cube to lift sinusoidally as it rotates…

Let me know how you get on!

Cheers, Clock.

@clockmender kick ass solution to the old rolling cube problem there Clock…

@ AlonBru Not sure if what all you have seen on the internet as far as tutorials for Rolling Box problem…
but here is a few interesting tutorials…

as far as trying to do something along the lines of what you’ve got there… I suggest a direction of perhaps adding extra ‘parent’ bones… two maybe even three layers deap… then switching them back and forth as the motion occurs…

some what along the idea of this short video series…

enjoy

Thank you Sir! praise indeed from one so knowledgeable as yourself!

I approached it from the point of view of looking at the Locus (path of travel) of the cube itself - it raises as the cube flips over 90 degrees according to the sine of angles 45 - 135 multiplied by half the diagonal measurement of the cube (corner to centre of a face). This can be coded, of course, in a driver, but it is far easier to make the Locus as a curve object, then animate an object along it to get the Z raise, then move the cube accordingly. I make the paths by spinning a point about the correct centre, then did a ALT+C “Curve From Mesh” operation to get my path. It does not have to e dead smooth, but this could be a refinement.

Thanks for your other methods, I will look at these when I have some free time…

Cheers, Clock.

Just to make sure… I miss spelled ‘Kick Ass’ and typed ‘Kiss Ass’ instead…
the Former was intended not the Later…

hope some of my late night spelling mistakes can get over looked… (I already edited my post above… but can’t edit your quote…):(o:(
(much embarrassment)

@Norvman - I have edited my post as well, please forgive any unintended lapse into mirth at your expense…

All spelling mistakes by anyone here can be overlooked unless you have an Honours Degree in English from either Oxford or Cambridge Universities. My one exception is anyone (this is not aimed at you my friend) using “your” (belonging to you) instead of “you’re” (meaning; you are) - sorry to all, but that just bugs me.

Happy New Year to one and all!

Cheers, Clock.

using “your” (belonging to you) instead of “you’re” (meaning; you are) - sorry to all, but that just bugs me.

well being from Texas we say Yall and Yallz anywayz… LOL! both words are interchangable to mean your, yours, everyones, anybodys, you are, all of you are… etc…

and yah… it’s kind of annoying… so I try not to use it if I can help it…

LOL!