Rigging a stool ?

Hi everyone,

I’m trying to rig a stool and I’ve come into an unsolvable maze. Imagine you have a stool, and you tilt it so it stands on the side of its foot, and then you let it go with a light pat so it starts rotating. A bit like… when you spin a coin on a tabletop ! How could I go about getting this “dynamic” rotation ?



You would want to set the origin of the stool object to be at the point its rotating around. In edit mode select a single vertex at the bottom of one of the legs. Mesh menu,snap,‘cursor to selected’. Tab into object mode. In the tools panel (hit t) click the origin button, ‘origin to 3-d cursor.’ Now when you rotate the stool it should do what you want.

You probably want to R X 30 enter , or so.
Then R Z alot

Hi, thanks for your answer but that doesn’t solve my problem - in my case the stool should be rotating from a constantly shifting point, see what I mean ?

Use an armature with a bone running from the point blenderallday described, tilted so it appears to be going through the stool’s center of gravity. Then parent the stool to the bone. You can rotate and translate the bone in your animation.

A more sophisticated rig (one bone for rotation, another for translation) would allow things like path following while rotating, but the simple single bone rig will do what you want.

Hi Orinoco, thanks but that cannot work. Surely my explanation lacks clarity : I mean the stool should be allowed to rotate around all its legs in sequence. I could imagine a system based on drivers that would hand the parenting over to the next leg as it reaches the ground, but really that would not be flexible at all, and probably hard to design !

Well, if you are going to have the stool spin while balanced on one leg, then change to balance on another leg and spin, then switch to the third leg, you will need a bone in each leg, positioned similarly, and manage the transition from one leg to another manually, although there may be a way to automate it.

If you could provide some thumbnails of how you expect this stool to behave?

I thought you were looking for something like this:

I think I understand a bit better now. Originally I though what Orinoco thought.

Rigging and keyframing is going to be tough, there are multiple pivot points, which shift and multiple axises to consider. Have you though about just using a rigid body sim? This is a quick test done in about 5 minutes, you just rotate the stool and click alt-a.

If a realistic effect is your goal, this is a workflow worth considering. If you really need to keyframe the stool dancing to music to something, you will need to use something else. This is what rigid bodies gives you more or less out of the box:

That’s right you got it (not on the screencast, I mean in your explanation) :slight_smile: Maybe I should have shot a little video.
I tried the pivot constraint using a bone rotating around the base of the stool as the pivot, but it behaves strangely - it seems like it’s not updated when the constrained object inherits transforms from a parent. It’s documented as “buggy” too, so… :confused:

I found a way, though. Not so flexible but that’s a start : http://www.pasteall.org/blend/25608
The problem is the tilt pivot is always on the same side. What I’d like being able to do is shift this pivot around the base…

@blenderallday Hah, I didn’t think of using dynamics ! What if my character must interact with this stool ? Will it give sufficient control ? Thanks to both of you for your examples. The music was a nice touch.

Haaa ! I perfected it : http://www.pasteall.org/blend/25619
It has two controllers, one for the tilt and the other for the spin. The trick was copying the rotation from the controller to the skinning bone, so that it compensates the rotation and appears to roll on the circular edge of its foot.
I think I’m good now. Thanks for your input !


That is really nice. How do you add the circular arrow “graphics” is that one of the bone display choices (stick, octahedral) or is that custom?

not sure if this is useful now but i had a go to try and create something simple that would serve your purposes. simple in that there are only 3 bones, a pivot to put the stool on whatever edge angle you need a root bone that controls the location and the rolling of the stool and a bone weighted to the stool to transfer the spin from the controller bone to the stooland the pivot.pivot_and_rotate.blend (494 KB)

simply rotate the first bone (called “BONE”) on the z (or local Y) and watch it roll :slight_smile:

That’s very nice Small Troll. ‘Bone’ to control the angle and bone.001 to actually spin it.

Ah nice ! In essence we did pretty much the same thing. Mine can rock from one side to the other as well - I figured it might come in handy. And a note : the rotation controller should be switch to quaternion rotation so that it doesn’t suffer from Euler flip.

oh, yes bone.001, sorry. they were all created seperatly and moved into position before parenting, i guess i moved the wrong bone. not that it matters in this case as you would rename them to something convienient anyway. quaternions? hmm that may explain the trouble i was having with a simple copy rotation constraint, i had to switch to the transform because of weird behaviour from the copy rotation. i’ll have a look at trying it with quaternions.(not something i usually think about, i just expect things to work…) i like your solution for the rocking motion. i will be studying that

Now everything works correctly except the master controller. Moving is fine, scaling is fine… but when I try to rotate it, the entire rig goes crazy. I’ve been toying around with the constraints for hours. Here’s the file : http://www.pasteall.org/blend/25626