View Full Version : Squash and Stretch ideas (Maya)

10 October 2006, 08:44 AM
Hi, just wondering what the best way to squash and stretch an object of multiple surfaces. I deally i think like the jack in the box in one of the "learning maya 5" books where they use a lattice. That sounds all well and good but I don't find animating lattice points to be very usefull( i may be wrong but you can't 0 them out to get back to your original shape). Im approaching this as an animator and my rigging is limiterd to say the least.

I've also seen a scale constraint used with a set driven key in one of the digital tutors free videos. But wasn't sure which attributes I was hooking up. Is it possible to see these as I have the source file?? howvere this squash and stretch is quite uniform and dont think would suit my model which is currently being textured.

It's only the main box and controls that will be affected by the squash not the aerial or feet.

PS. im using Maya


10 October 2006, 03:47 PM
I would recommend grouping lattice points under clusters. Clusters, unlike CVs and vertices, CAN be zeroed, which you'll find much more useful.

10 October 2006, 10:31 AM
Thanks, for that. Im exploring new possibilities as well to see what works best.

One thing I wouldn't mind knowing is that If i have a TVgrp and an Aerialgrp. And the squashing happens on the TVgrp then would I place the aerial in its new position or would I include it in the blendshapes? bearing in mind that I will be animating the position of the aerial at some point.


10 October 2006, 11:58 AM
I'm sad to say I have no ideas on this one :shrug:


10 October 2006, 10:43 AM
Make Clusters on lattice points, make the lattice not to have internal divisions or youll find hell ^_^

Also you can animate the clusters by using set driven keys and the driver could be a locator... or even a tv shaped cv curve. and you can drive the animation into any axis of the locator. (must know how set driven keys work)

.- I dont know what are you talking about with aerial grp and tvgrp.. i asume your talking about the tv group and the antenas? group.

If thats the case and you dont want the antenas to squash, you can allways parent them to one of the clusters, so when you deform with that cluster your antenas will stick (kind of) to the transformation.

10 October 2006, 05:11 PM
Thanks GLenFX, I've had a quick go at your setup but, Im not sure it'll cope with the fact that if i have say an attribute for left and right bend that would be fine, but this would cause problems if I then had forward and backward bend, or even the squash and stretch.

For example if it squashed with a bend to the left, the squash would be cancleed out by the bend. (or at least i think it will)

I think im getting above my skill level now but I think if I used a kind of bones setup then this might work better, but Im not sure how I woul implement a squash or if an Ik system with squash might be better. That way which ever shape I pose into the aerial will follow as it will be parent constrained to the bone.

here is the vid, where i just used driven keys to control bend deformers and scale. On a previous version i also tried a mel script called rivet which created a locator on the geometry so i could paretn the aerial but unfortunately it didnt like the way my model deformed in caertain cases.

Ideas are always welcome, or any tutorials.


10 October 2006, 12:18 AM
Lattices are better and faster to animate tho youll need to think what you need and make controls to manipulate it. you really dont need bendwhen using lattices, you just manipulate the latice (via clusters)

you can also try bones, tho not linear. i mean, you can place individual bones on several parts of the tv (needs planning on where to put them), for the bones to move as one you can group the bone to itself and then all bone groups into a new group.

This way you can manipulate the bone groups individually, you can even create a control cage with cv curves and make set driven keys.

also you can make a rig that consist about several "L" shaped bones and you simply animate the rotation of the "L".. this really needs heavy planning for the deformation to work well.

there are lots of possibilities ^^. The lattice one is effective and the easyest to set up IMHO.

10 October 2006, 09:12 AM
Hi, sorry if I didnt make my self clear about the bend, I was referring to bending the lattice (ie manually moving the lattice points). If I had made a shapes for Forward and Backward Bend, then Left and Right Bend. Then If I had a driven key for left and right and one for forward and back, they probably wouldn't mix together. For example If i moved the slider to left bend and then added some forward the left would decrease as the forward got more pronounced as I increased the value. Hope this makes sense.

Just out of curiosity if I were using clusters on lattice points, Then Im guessing I would make say a 6x6 lattice then have a cluster parented to each horizontal row, with each then attached to a curve. Or have I misunderstood?

As for bones, I'd have no idea as Im sure i'd get caught up weighting them and it could take forever. Plus I'd have no idea where to place them. Im only used to putting them in characters, where you kind of know.

Anyway here is the rig thats going to need completely changing and a video of it, which I was pleased with but I think I'll have to rethink. (i took out some geom, just in case someone might steal it)

10 October 2006, 02:55 PM
Hi Benjii19, I posted a similar answer to your post in the maya forum, so ignore this if you already read it.

... I will be animating the position of the aerial at some point.

From what you have written I believe that constraining the antenna to a follicle which is stuck to the top of the tv would work the best. This would require maya7 or 8. A simple way to do that is to use djRivet.mel ( (maya 8 only) which makes the follicle and all the required connections. You position the antenna where you want it, select the antenna, shift-select the box and run the script. Now the antenna is stuck to a follicle on the box using a parent-constraint.
(Although its a follicle, no hair systems are created - its nice and simple, just one extra node).

In you case you may want to also parent-constrain the antenna to a locator or some other node. You can then animate the constraint weights to switch control of the antenna between being stuck to the box and moving freely.

Anyway good luck, which ever method you choose.

CGTalk Moderation
10 October 2006, 02:55 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.