FREE Squash&Stretch Ball rig Ver 1.1

OK, I see I cannot wait for final 2.46 release. More and more Blender users are starting to practice animation. As we know professional squash & stretch ball rig is the must to start with. After weeks and weeks of research I am releasing Blender Squash Stretch Ball rig.

I plan to release in depth DVD video tutorial during this summer as well. Hope that release notes are clear, I tried to make a rig very animator friendly and intuitive. Looking forward to your videos :slight_smile:

I would be very glad that release will be understand as my giving back and big thank to the wonderful Blender community.

Blender Squash Stretch Ball

http://img261.imageshack.us/img261/8801/ssbalarmatpictw6.jpg

Copyright © 2008 JiriH
Only for non commercial usage
Please be so kind to give credit where appropriate.

Direct download (polorix)
Direct download (rapidshare)

Very rough intro video:
http://blip.tv/file/860299?filename=JiriH-SSBallAnimationTest146.mov
http://blip.tv/file/855865/

Main features
- auto-roller (auto-rotate) switch

  • moveable pivot of squashing/stretching
  • squashing and stretching rotation independent of ball rotation
    - animation keys not directly on mesh (ball)

Version 1.1 (27/04/2008)
Corrected delay of Roller handler and ball. Solved by IPO drivers.
Roller has better new shape and is now called Mover.
Better default windows alignment.

Usage:
IMPORTANT NOTICE:
Blender 2.46 RC needed (I hope final release will not broke this file)
When auto-rotation is enabled you need to animate only location position of Roller
NOT ROTATION WHICH IS EVALUATED AUTOMATICALLY BY ROLLER SCRIPT (i.e. do not insert any rotation keys!)
Sometimes you need to turn one frame forward and back for constraints/switchers update.
Controllers consist of bones as well as other meshes.
Mainly Local orientation need for controllers,
Roller needs Global orientation (because it is quite specific object)

AutorollSwitch - left position switches on auto-roll
Mover - controls the location of ball, when auto-rotate is on controls also auto-rolling
RotationHandle - when auto-rotate disabled controls rotation of the ball
SSOrigin - determines the origin of squash/stretch effect, should not be moved away from ball mesh
SSHandle - controls squashing and stretching,
when SSOrigin is near the the ball (bottom) surface it adds more squash/stretch effect for more cartoony look
SSRotation - controls the axe along squashing/stretching is happening

Layer 2 and 11 have some basic lighting, cameras and environment for rendering.

Roller Script V1.0
©2001 Bart Veldhuizen, Not a Number B.V.
Thank you very much Bart, without your script it would not be possible to make this rig.
More info:
http://download.blender.org/documentation/oldsite/oldsite.blender3d.org/118_Blender%20news%20Python%20Roller.html
http://www.zoo-logique.org/3D.Blender/index.php3?zoo=dld&rep=blenderfiles

Have fun. I plan to make detail DVD tutorial how this rig was developed from scratch.

JiriH

http://img118.imageshack.us/img118/3889/ssballxb8.jpg

lol a ball rig :))))) nice work. But really funny, never thought about rigging a ball :slight_smile:

Díky moc :slight_smile:

Could you or someone else please upload it to a different site?

Holy crap, they make the captcha image WAY too hard to figure out…

Ha, Im glad Im not the only one having a hard time with it…

Finally got it figured out and downloaded. Here is the link on polorix.net: S_S_Ball.blend

Thanks LOTRJ!
EDIT: This is totally awesome JiriH. I’m amazed that that script works (it’s super old).

<slightlyOffTopic>

Wow…RapidShare’s captcha gets worse by the week!

</slightlyOffTopic>

Thank you LOTRJ for uploading it to some better public server! I am adding it to my first post.

Yes I was also surprised how old and forgotten and hard to google the script is. On the other hand for autorolling feature script is the only solution (there are dozens of them for Maya or Max more easy to find at web).

And thank you all for positive comments.

Again, Thank you JiriH for the blend file.

I must say, though, that I cannot get the ball to do what I want it to do. First, there is a one frame lag time between the ball motion and the rig motion. Second, I could not figure how to get the stretch angle different than plain vertical. There are a lot of controls available but most of them I could not make them do anything. Could you explain the controls, what they are used for and how to use them? No need for an elaborate DVD. Just short explanations with screen grabs should help at least get started.

Edit: OK. I found the control to rotate the stretch direction. For some reason that control did not show up at first. It only showed up after I started exploring the meshes and bones in the Outliner.

ypoissant. Delay is not due to a rig but Blender itself. This is because of constraints and switchers evaluation. Bassam speaks about it in detail in Mancandy DVD. Actually there is only one solution to go one frame forward and back again.

I have just recorded very rough into video:
http://blip.tv/file/855865/

Once again concerning the delay what would solve it is to rewrite the roller script as the pyconstraint. In fact roller constraint may be very useful for cars, wheels balls etc. But unfortunately I know anything about python coding :frowning:

I’ve had a quick look at the roller script… it’s definitely something that can be done with a pyconstraint. In fact, it’s something pyconstraints were desgined for!

Aligorith

That would be great, Aligorith. It should solve the delay that actual script and implementation of it handler causes. Actually rig uses empty mesh with applied roller script, its rotations are copied to the ball. To have animator friendly handler of mesh with roller script attached I used arrows which all vertices are hooked to empty, this is the only solution for this script that your handler of rolling source does not roll as well (which would be very confusing for animator). Modification into pyconstraint could solve it while there would be one object where correct rolling is calculated, second object to grab/move the roller (this would be the handler), and the third object would be the one inheriting the correct rolling (wheel, ball, etc.). Options of the script should be the diameter.

I think such a constraint may be very useful mainly for technical models (rigs) such as machines and cars

Delay solved thank to IPO driver instead of vertices hooked to empty. New updated rig version 1.1 release. Download links in the first post.

hi jiriH

i try to port ancient contraint to pyconstraint
but, not work. only have a vector of direction.

http://pasteall.org/647/python

Some help.

Thank you cesio very much. As you see I have updated the blend file to v 1.1 where delay is corrected thanks to IPO drivers. Now it works really good and should be animator friendly rig. For the rig having script via Script Link is no problem.

But it is true that it would be fine for projects of others (as I said cars, wheels, machines) to have the roller script as pyconstraint.

Short animation test:
http://blip.tv/file/860299?filename=JiriH-SSBallAnimationTest146.mov
In Play episode - select a format option choose Quicktime to see animation as a loop.

My old rollerscript! Cool! I remember finishing that in the Not a Number office, asking for help from Ton every 5 minutes :wink: I think I couldn’t figure out the quaternion transformations or something like that.

Bart