Skin Bind and Mirroring Controls?

Become a member of the CGSociety

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

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  01 January 2013
Skin Bind and Mirroring Controls?

Hey guys.

I have a couple questions I am confused about.

1. What method of skin bind do you preferably use and at what point in the rigging process do you bind the skin? I have Maya 2013, and noticed the new Heat Map method, but it gives me errors often.

2. Also, If I build controllers for the LEFT side only, how would I mirror these controllers for the RIGHT side, so you dont have to build them again? Similar to mirroring joints?

Thanks for any advice!
__________________

http://www.lestaylorart.com
 
  01 January 2013
I'm not a Maya user, but I'm pretty sure there is no simple solution for mirroring controllers in it... as there is no simple solution in Max either... it involves pretty high knowledge of scripting (in MEL or Maxscript) to work properly... and it's always dodgy and prone to breaking... general rule is to finish rigging, and then commit to skinning (binding). Downside of this method is that it is pretty destructive if you have any mistakes in your rig (multiple bindings and re-rigging are smiling to you)... if you are not too deep into learning Maya I would recommend a switch to Softimage... who is much much more tolerant to mistakes, at least in the area of rigging and binding.
 
  01 January 2013
The rule for mirroring controllers is keeping a consistent coordinate space for each side. Whether thats the same both sides or one side having a common offset.

Basically you want to keep the transforms orthogonal, so scale against local space first then project that into your target space. Take a look at how softimage scale works.

Binding the skin can happen start after a skeleton has been built. The heat map should give you better results than standard skinning off the bat - it basically shoots a ray through the bone onto the surface to detect the volume of the mesh.Wish max had this.
__________________
Disclaimer: My opinions are not those of my employer.



Last edited by eek : 01 January 2013 at 05:26 PM.
 
  01 January 2013
Originally Posted by lestaylor: Hey guys.

I have a couple questions I am confused about.

1. What method of skin bind do you preferably use and at what point in the rigging process do you bind the skin? I have Maya 2013, and noticed the new Heat Map method, but it gives me errors often.

2. Also, If I build controllers for the LEFT side only, how would I mirror these controllers for the RIGHT side, so you dont have to build them again? Similar to mirroring joints?

Thanks for any advice!


I like to have my models broken up into separate pieces.

Hair/scalp

Head and upper torso


chest and lower body

with mirrored objects like shoulders and legs being one piece. (This lets you use mirror skin weights to copy the weighting info on the arms and fingers.) I then rig the IK and FK systems and then bind and get the weights working for the basic FK rotations.

This is especially needed for things with SDK set ups like fingers, toes, tails and other curling objects. Any time you just uniformly curl the bones it will usually give you less than natural behavior as the volume of the model determines how much one piece curls. A finger is a great example of this.

As for mirroring the controls over. I have two videos for you. The first is a scripted method that another artist is working on. He has not released either the script or the source code.

https://www.youtube.com/watch?v=ktIbU_lhVLY


The other is a tutorial video I made. This is my method at the moment. I use a pretty basic technique to do it by hand.

https://www.youtube.com/watch?v=7bzTDReab6M

Hope these resources help.
 
  01 January 2013
Thanks Gage! This is good stuff. I have been wondering about about multiple mesh binds, and i'm tending to move more in that direct compared to binding one complete mesh.
__________________

http://www.lestaylorart.com
 
  01 January 2013
I like to use joints with a nurbsCurve shape parented to them for mirroring controllers because they have attributes that transforms do not.

You can put a transform based control in a group and give it a negative scale on the axis you want it to mirror but this is kind of quirky.
__________________
blah blah blah
 
  01 January 2013
Originally Posted by gmask: I like to use joints with a nurbsCurve shape parented to them for mirroring controllers because they have attributes that transforms do not.

You can put a transform based control in a group and give it a negative scale on the axis you want it to mirror but this is kind of quirky.


One thing I never liked about the shape parenting method is that the translate transforms are almost always valued. I like to have a controller with 0 'd translates and rotates.

How do you get around this problem?
 
  01 January 2013
Originally Posted by gagex2z: One thing I never liked about the shape parenting method is that the translate transforms are almost always valued. I like to have a controller with 0 'd translates and rotates.

How do you get around this problem?


You duplicate the transform and parent the controller under the copied transform.
__________________
blah blah blah
 
  01 January 2013
Originally Posted by gmask: You duplicate the transform and parent the controller under the copied transform.


Ah, so greep freezing. this doesn't un orient the joints?
 
  01 January 2013
Originally Posted by gagex2z: Ah, so greep freezing. this doesn't un orient the joints?


there is no freezing involved.. once you put a joint or transform under a copy of itself all of it's transform values are relative and therefore zero'd out
__________________
blah blah blah
 
  01 January 2013
@gmask (or all for that matter):

isn't it "cleaner" somehow to keep controlers and joints separated in hierarchy?
I'm certainly not an experienced rigger, so I'm just asking how you feel about this.

Or have you not experienced any downsides of mixen them into same hierarchy?
__________________
Website
Steam Punk Challenge
 
  01 January 2013
Originally Posted by doffer: isn't it "cleaner" somehow to keep controlers and joints separated in hierarchy?


Earlier when I mentioned using a joint instead of a regular transform I wasn't talking about a joint in an fk/ik chain. You can mirror a joint and not a regular transform which makes it useful when you want controllers that mirror each other when you translate or rotate them by using them as IK controllers or whatever.

As far as keeping things separated .. I dunno.. my preferences is there is a bind hierarchy that is constrained to the controller hierarchy which has the ik/fk chains in it as well as handles.
__________________
blah blah blah

Last edited by gmask : 01 January 2013 at 05:46 PM.
 
  01 January 2013
yeah, I too like separating stuff into "joints", "setup" and "controls". Joints group contains just joints and their constraints; controls group contains just controls and their container groups. setup group - all the misc nodes: intermediate transforms, helper curves, basically all the stuff that makes rig work.
__________________
Victor
ngskintools.com - skinning plugin for Autodesk Maya
 
  01 January 2013
Okay, thanks for elaborating
__________________
Website
Steam Punk Challenge
 
  01 January 2013
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
CGSociety
Society of Digital Artists
www.cgsociety.org

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

All times are GMT. The time now is 03:44 AM.


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