Simple rig of the Ball

Hi :evilgrin:,

I need to rig a ball…:rolleyes:…how?
Ball must:

1. Move
2. Rotate
3. Squash & Stretch independently on rotation :yes:
4. Move the position of Squash & Stretch Center :yes:
5. All Keys in animation must be set on the rig:yes: not on the mesh !!! :no:…


stretchy bone. dunno 'bout 4 tho.

Squash & Stretch must be independent on the rotation of ball. Stretchy bone is connected to the mesh indirectly to the rotation of object…:no:

Try lattice instead of a stretchy bone. Note that you need to add either IPO driver (locX, locY, locZ) or “Copy Location” constraint to lattice so that it gets those values. We cannot use normal parenting as usually in this case as it copies rotation (besides location and scale) too.

Yes, it sounds good but I am not a professional in blender…what is IPO driver and how can I do it…

Lattice will achieve most of what you want easily, even using a simple “parent to Lattice” method and keying the lattice stretch, sqaush and location in object mode. In fact, you could parent the ball to almost anything and it would work because the parent object controls the squash and stretch and location but rotation can still be keyed either directly, or via a different parent object. I used lattice in this wiki tutorial. You can view an online (Blogger) version of my bouncing ball video on my new blog here.

I like Lattice because you can fit it exactly to the ball which means the faces of the lattice indicate the extremities of the ball which make on-contact squashing easier to key - visually.

Since I don’t know what you mean by a moving centre I can’t really advise but if it means exactly what it says then you’re going to have to do some fancy parent-offset manipulations such that the object acts in relation to the parent, thereby making the parent object the effective centre point. To move the centre point, you would actually move the child object in relation to the parent, then re-position the parent as desired. I used a similar solution to make a cube roll properly which requires moving the rotational centre (pivot point) to each successive contact edge.

Can you explain why you’ll need to shift the centre?

Can you explain why you’ll need to shift the centre?
Oops. My bad. I was thinking about the parenting relationship the wrong way. (Ball is parent of lattice.) Of course it will work just fine in case lattice is parent of the ball. :slight_smile:

Thank you Andy for your advices and great tutorial…
So why I want to move the centre of Squash and Stretch? It seem that its obvious:rolleyes:,…you know.Squashy stretchy ball. But it is much more complicated:
If the ball is falling in the air, the centre of squash/stretch is in the centre of ball, it is logical…this is what most of tutorials about rigging a ball cover.
But if the ball hits the ground, the centre of squash/stretch isn’t in the centre of object but is in the contact point of a ball and the ground. How the ball is falling and suddenly hits the ground the whole volume of ball is compressing and this compression has cente in contact point.
If you carefully observe your animation than you will see a double key-frame effect in the contact position of ball. It looks like the ball slows down before hits the ground. This is consequence of squashy stretchy rig with no ability to move the centre of Squash and Stretch. And same effect you see after the ball passes the top position where is changing the value of squash and stretch, it looks like lazy ball… And exactly the same effect you can see when is the ball lifting off the ground…lazy ball…your animation is not bad but I thing and this is only my opinion it needs better rig.
I hope this help you understand what I want

Hmmm, the ball doesn’t slow before contact. The curvature of the bottom of the IPO indicates the ball centre. The very lowest key shows the centre point at full squash, so this point is lower than the centre point on initial contact. So, while the IPO might look like it eases in and out at the bottom, the ball location doesn’t ease in and out between these keys.

However, that’s not to say the example in the animation is perfect by any means. It’s not intended to be and I would expect the animator to do some tweaking of the curves to get the motion accurate. It also needs volume retained by counteracting the squash and stretch.

I guess what you’re wanting though is to move the centre point on contact so that the ball literally squashes to the ground rather than squashing evenly and moving down a little at the same time. If that’s what you want, let me think about it. There will be a way but it may involve a bit of manual labour to make it happen.

…or you just use the physics engine and let Blender do it all for you.

You could add some hooks ( to the lattice for more control over the shape. Remember to check out lattice settings (resolution, outside only) too.

One more note to your animation: It looks more than like bouncing ball some kind of live ball jumping it self…and that is only my personal impression.
Let me know if you find some way to make this moving centre happen…good luck:D

Hooks looks good…I will read it, try it, make it and write about it. Give me some time and I will tell you that it helps or not.

This is what I meant with hook setup ( I think that might allow adequate control over the centre of the ball. Give it a go. :slight_smile:

So, I have done almost whole rig, I will upload it here soon…but I cannot Apply the move of one my control. I found Apply Scale, Apply Rotation, Apply Deformation but not Apply Move/Grap…do you have any tip for this?
And Next problem is that I dont know how I should properly map the IPO curves.

You don’t want to “Apply”, you want to “Key”.

“Apply” means “make this new scale the normal scale”, so if you stretch something to twice the size then “Apply” the scale, Blender no longer considers this object to be scaled. It’s a bigger object than it used to be but once you “Apply” scale, Blender forgets the smaller version.

You key transformations with I-Key or by turning on Auto-Key in the timeline window.

Ohh noo:no::evilgrin:…believe me I know what want. If you have rig and you want to make it ready to animate you must Freeze transformations so all values of the controls has their default position set to null. Apply (in Maya ‘Freeze transformation’) means that object keeps its translate(rotate,scale) position and restart them to null… unfortunatelly I didnt find Apply Move in blender. I know diference between Apply and Key…

Okay, well in that case you can just place the cursor at 0,0,0 then choose “Centre Cursor” in F9 editing panel (with object selected). This means the default (null) location of the object will be offset by the amount of the current transformation - but it also means it will be offset from its own object centre point.

Alternatively, move the mesh in Edit Mode and it will leave its centre point behind.

(Though I’m confused about what you’re trying to achieve and why you’d want to do this for a bouncing ball - but I await the final product with interest)

You can check the “applying/freezing” by opening a transform properties panel (N-key) and checking the values.

Yes I got it.
I have done almost whole rig. I only need to map Ipo curves. I have three shape keys of lattice (basis, stretch, squash) and I must connect them to my squash/stretch control…
Keep your eyes on it.:eek::slight_smile:

Yeeees, finaly done it.:ba::p:D

Here is the rig, I hope it will be working…