NEWB: Joint Rotation Problem in Maya 2011

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Display Modes
  10 October 2012
Question NEWB: Joint Rotation Problem in Maya 2011

Hello Forum,

I'm new to CG Talk and relatively new to skinning so I could use all the help I can get (as well as a high tolerance level). So here' the rundown of my problem:

I have a weapon that I am skinning but have found that this happens when I rotate the top "Spin" joint that will be used to spin the barrel when firing.

This is how the joints are set up:

And here is a visual on the painted weights and their relative influences:

I need to figure out what I'm doing wrong or a work around to let the barrel be able to spin while sill being affected by the "Pivot" joint that will be dynamically rotated through code. Thanks!
  10 October 2012
Make sure your "spin" joint it the only joint affecting the barrel. It looks like both 'pivot' and 'spin' are affecting those points. Spin will inherit the motion from pivot automatically because it is a child of pivot, so you don't need to paint the points to both.

Here's an explanation if you are interested:

By default the skinCluster moves point by point, working on one at a time, so for simplicitly just think of a single vertex. The skincluster works by transforming that vertex by every joint it is weighted to as if it was weighted 100%. If it is weighted to two joints it will come up with two possible point positions, one for each joint. It doesn't care about weights at this time.

Then, to figure out the final result, it draws a straight line between the two new positions it just calculated. The final blended position will be somewhere on that line between the two possible results. Where it ends up on that line depends on the skin weights. So if it is weighted to both joints by 50% it will end up exactly halfway on that line. If it is 75% to one joint and 25% to the other it will be 3/4th of the way down the line. This is known as 'linear' interpolation, with 'linear' referring to that line.

Rotation like your barrel can make cylinders appear to shrink because one joint is telling it to be on one side of the barrel, and the other joint is telling it to be on the other side of the barrel via a 180 degree rotation. If you draw a straight line between those points it goes right through the middle of the barrel, so if your point is weighted 50% to each it will end up right in the middle. This is known as a "candy wrapper" because when it happens on a character's arm it looks like the ends of one of these .

In your case the solution is to simply weight to a single joint, spin. On a deforming character where it has to blend either more joints are used to "ease" the blend in, or 'quaternion' blending is used instead of 'linear', which is a type of rotation blending that does not draw a straight line.

Last edited by BenBarker : 10 October 2012 at 03:20 AM.
  10 October 2012
Thread automatically closed

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.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 02:45 PM.

Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.