View Full Version : breast contraction

11 November 2002, 08:12 AM
I'm using Maya 4.5 at school and I want to skin a character.
Do you know a way to skin correctly the breast of the man so that it contracts when the arm moves forward. Because for the moment when I rotate the arm the shoulder penetrates in the breast.
But if I paint influence of the shoulder on the breast, the breast rotate the same way the shoulder but does not contract.

I hope I'm enough clear :p


(please excuse my english)

11 November 2002, 12:23 PM
perhaps u can try to use influence objects and blendshape to fix it.
or maybe u can try muscle bones.

11 November 2002, 02:34 PM
ok, I was also thinking about using a muscle system. It's seems a bit difficult to rig, but I'll try.


11 November 2002, 02:24 AM
Like kfc mentioned, you could try bones and just power them with set driven keys. That might be easier and less messy than a bunch of influence object, that really slow down the animaiton process.

11 November 2002, 10:20 AM
well... after reflection it seems a better idea :p

thanks guys

12 December 2002, 02:30 AM
I've been working on something simliar for my thesis animation. I needed decent deformations around the shoulders and hips of my characters. I looked at a couple techniques of wrap and influence deformations to mimic muscle deformations. Those were pretty complex setups. I just needed something that was quick and only moderately accurate.

I came up with a very simple setup that allows bones to be treated like muscles. They stretch between two targets and can be bound with smooth or rigid skinning along with the rest of the skeleton. This is just a rough sketch of the concept, I will put a tutorial on my website in a couple months when i'm not so busy. Enjoy.


Imagine the quadricep muscle (breast). It attatches to the front of the chest and connects to the upper end of the humerus. This connections needs to flex and stretch.

Create a joint the extends from the mid-spine to the front of the chest where the quadricep should approximtely start. I'll call this joint "breast"

Then create a child joint of the shoulder that is positioned where the end of the quadricep connects to the upper arm. This allows for an easy anchor that can be repositioned easily. I'll call this joint "anchor"

Now go back to the "breast" joint you just created and make a child joint that is snapped to the upper arm anchor's position.

Create a distance measure between the "breast" and "anchor" joints and point constrain the distanceDimension targets to these joints. Note the default distance for later use.

Now aim contstrain the "breast" joint to the "anchor" joint. It should stay where it is if done properly.

The last step is to add a simple expression to the X scale of the "breast" joint. The x scale should equal the current distance between anchor and breast divided by the default distance. This is quickly provided by the distanceDimensionShape Node:

breastJoint.scaleX = distanceDimensionShape.distance/defaultDistancel;

This will scale the joint proportionately to equal the distance and the aim contraint will point the joint in the right direction. This will seemingly attatch the "anchor" and "breast" with a flexible bone. You can also proportionately scale the y and z of the breast joint to the distance to get basic muscle bulging.

If anyone can think of improvements, comments are welcome.

CGTalk Moderation
01 January 2006, 11:00 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.