Applying Squash and Stretch on Rigs

Have you come up with a good Moho trick? Need help solving an animation problem? Come on in.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
lwaxana
Posts: 1295
Joined: Wed Jan 06, 2010 6:50 pm

Applying Squash and Stretch on Rigs

Post by lwaxana »

Sorry if this has already been posted or if this is incredibly obvious. I've had a lot of trouble using squash and stretch on a character rig and I just found a solution! :D

If I just scale the bone, I'm only changing the length of the body part. This isn't really squash and stretch because the apparent volume of the part changes. It should get wider as it gets shorter and thinner as it gets longer.

If I use point motion to squash and stretch body parts, the widths work fine. But the points are moving independently of the bones so the lengths of the body parts start overlapping or pulling apart. For example, if I squash the points on the torso, the bones for the head do not lower along with it, so it looks like the head is popping up.

I just realized that using a combination of bone scaling and point motion solves all these problems. You can scale the bones for the length and scale the points for the width.
User avatar
Mikdog
Posts: 1901
Joined: Tue Jul 05, 2005 3:51 pm
Location: South Africa
Contact:

Post by Mikdog »

Possibly an even better way of doing this is putting your rig in a group layer, setting the origin of the group to the central ground contact of your rig (or you can just set the origin of the bone group if you don't want to put your rig in a group layer) and using the SCALE (2) tool.

When you scale though, hold down ALT and move one of the middle red buttons. Now when you scale X down, Y will get bigger, and vice-versa.

This way makes sure you maintain volume and you don't need to touch the bones nor the vector points.
User avatar
lwaxana
Posts: 1295
Joined: Wed Jan 06, 2010 6:50 pm

Post by lwaxana »

My problem is that I don't use squash and stretch on all of the body parts. For example, I never squash or stretch the head because I want it to look less squishy than the body. On the other hand, I never really tried squash and stretch on the head. It might look better that way. Not to mention that it would be a huge time saver!
User avatar
Víctor Paredes
Site Admin
Posts: 5814
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

Mikdog wrote:Possibly an even better way of doing this is putting your rig in a group layer, setting the origin of the group to the central ground contact of your rig (or you can just set the origin of the bone group if you don't want to put your rig in a group layer) and using the SCALE (2) tool.
I usually do it this way, the only problem is that layer origin can't be animated, so if your character moves too much by bones, you will lose the center of the scale.
I think in two possible solutions on future:

- The option of animate the layer origin. That would be awesome, but I can't figure out how it could not distort the animation on time. I know Maya has this feature, but I never have seen it in action. Anyway, if Maya can do it with no problems, I'm pretty sure AS could too.

- The option to scale the bones on Y and X. Currently, bones can be scaled only on it's lenght (Y axis). If they could be scaled on X axis (width) too it would open a whole squash and stretch world.

Sorry, I know this points should be on feature request, but I think it's pertinent to write this ideas here too.


The idea of doing it by point animation is good, I will give it a chance on my next project :)
Image Image Image Image Image Image
Moho co-owner

Previously Rigged animation supervisor: My father's dragon, Wolfwalkers & Star Wars Visions "Screecher's Reach"
My personal Youtube Channel
User avatar
lwaxana
Posts: 1295
Joined: Wed Jan 06, 2010 6:50 pm

Post by lwaxana »

Selgin--Yes, if bones could be scaled on x and y, that would be perfect for squash and stretch!
User avatar
DK
Posts: 2895
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

A combination of both.
Here's an example run cycle I have slowed down to demonstrate.

http://www.wienertoonz.com/sideslowrun.swf

Areas like the nose, ears, and parts of the head could not have bones attached as they needed to be move in an opposing manner to the up and down motion of the main skeleton. These areas had to be tweeked by point motion.

Cheers
D.K
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

Errr... why don't just use constrained bones?
place a main bone for the squash and a perpendicular one for the stretch and constrain the second to be scaled -1 times the first.
That allows squash and stretch in any direction too ;)
-G
User avatar
Víctor Paredes
Site Admin
Posts: 5814
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

Genete wrote:Errr... why don't just use constrained bones?
place a main bone for the squash and a perpendicular one for the stretch and constrain the second to be scaled -1 times the first.
We have discussed this on this thread
viewtopic.php?p=63990
On complex characters simply apply two bones for each one is not an option. And you never really get a real inverse scale.
Image Image Image Image Image Image
Moho co-owner

Previously Rigged animation supervisor: My father's dragon, Wolfwalkers & Star Wars Visions "Screecher's Reach"
My personal Youtube Channel
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

On complex characters simply apply two bones for each one is not an option. And you never really get a real inverse scale.
Same will happen then with bones that scale on X and Y ;)
-G
User avatar
Víctor Paredes
Site Admin
Posts: 5814
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

Genete wrote:
On complex characters simply apply two bones for each one is not an option. And you never really get a real inverse scale.
Same will happen then with bones that scale on X and Y ;)
Sorry, Genete, but I don't agree. One bone is always controlling the same points with the same influence. With two bones you will always obtain two different influences affecting the points differently. And even more important, the influences will be always fighting each other, so you'll never obtain a real X and Y scale.
Image Image Image Image Image Image
Moho co-owner

Previously Rigged animation supervisor: My father's dragon, Wolfwalkers & Star Wars Visions "Screecher's Reach"
My personal Youtube Channel
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

selgin wrote:
Genete wrote:
On complex characters simply apply two bones for each one is not an option. And you never really get a real inverse scale.
Same will happen then with bones that scale on X and Y ;)
Sorry, Genete, but I don't agree. One bone is always controlling the same points with the same influence. With two bones you will always obtain two different influences affecting the points differently. And even more important, the influences will be always fighting each other, so you'll never obtain a real X and Y scale.
You right :-P
:D
-G
Post Reply