Tuesday, January 17, 2012

Attaching Buttons on Jacket? 4 ways to do it.

The rivet tool is very useful when attaching buttons on jackets as we saw in the tutorial.  Delano used a classic rivet tool in his course.

Since I have MAYA 2011, it comes with a new tool called Point on Poly constraint.  I was excited to try it out.  Too bad it doesn't do a nice job on keeping the orientation of my object.

As I was searching around, I found 3 tools that serve the same purpose, classic rivet tool, djx rivet tool, and surface attach tool.

So now we have 4 tools that does the same thing!  The question is which one is better.

djRivet tool : use follicles, can do multiple button constraints at once,  with good  UV layout, smoothing the poly is fine.  No need to select components, just select the buttons first, and the jacket, then type hit your shelf button.

rivet tool*1 : use locator, can only do on constraint at a time, has problem after smooth polygon.  select a component, create locator where the component is, parent constraint.

surface attach tool*2:  Feels like the rivet tool, also make a locator on the target object.  Constrain one at a time.  After poly smooth, go select cMuscleSurfAttach node, press fix button.

Point on Poly tool : create problem like above, don't like.

1*."the classic rivet script uses two edges of a mesh to create two curves, which then are lofted together, the resulting NURB is read with a pointOnSurfaceInfo and the parameter UV coords from said node define the position of a locator. He uses the pointOnSurfaceInfo node, along with a modified aim constraint, to achieve proper orientation for the locator so that it follows the orientation of the mesh face."

2*.  Its under animation tab, muscle, bonus rigging , surface attach.  If you can't see muscle menu, check if your muscle plug-in is loaded through plug-in manager.


  1. you should also check out parentToSurface.mel it works great. still uses follicles so you have normal follicle issues, but its super easy to use.
    select object, select second object, run script.


  2. Hi smann,
    thanks! I will check that out and put into the review too. :D