StretchMesh / Tutorial: Using Attractors

StretchMesh is a new way of thinking about surface deformation. One of its features is the introduction of attractors which are points and curves that pull StretchMesh enabled vertices toward them. There are three parts to this tutorial:
The Point Attractor
The Curve Attractor
Multiple Influences

Let’s take a look at the Point Attractor and Curve Attractor functions, as they would be used in a facial rig.

1wireframeJointed

We’ll start with a basic human face. I’ve added a simple set of joints for the jaw, and painted the weights.

02.StretchMesh1

When we move the jaw bone, we’ll see that my weight painting job wasn’t as good as it should have been.

03.StretchMesh2

This is a good time to make our mesh a StretchMesh. Return the jaw to its bind position, and then select the the face mesh. Go to the Kickstand menu, and click “Create New StretchMesh.”

04.3CreateStretchmesh_Menu

With that done, we’ll notice an immediate difference in the jaw. No further tweaking or weight painting required!

05.StretchMesh3

THE POINT ATTRACTOR


06.4MouthMuscles

With that done, we’re ready to begin using Attractors!  Giving our model a smile seems like a good start, so we’ll begin by thinking about the muscles in the cheek that create a smile.  We can see that the sides of the mouth are being pulled back by muscles located higher on the cheekbone. We should keep this in mind as we create the Attractor in the next step.

  1. In Component Mode, begin by selecting the points you want the strongest influence on. For this case, we’ll want to grab those that help define the resting position of the mouth right at the corner. Remember that StretchMesh will influence points around these, and that we will be able to alter their weight later.
    07.5selectmouth
  2. Now, head back up to the Kickstand menu and go into the sub menu labeled “Attractors.”  Once there, select “Add Point Attractor to Selected.  A Point Attractor is created. As we discussed earlier, we want the corner of the mouth and surrounding falloff to be pulled “up” the jaw, as our muscles would do. We’ll move the Point Attractor to an appropriate location, as shown.
    08.6AddAttractor_Menu09.7AttractorMade
  3. Let’s test out the Attractor and see what it has decided to do by default. Select the Attractor, and change the Attribute “Attractor Strength.”  When we test the Attractor Strength, we’ll notice that it isn’t doing quite what we’d like yet.
    10.8AttrStrength_Menu11.9badmouth
  4. To begin refining the attractive properties of the Point Attractor, we’ll select our object and then go to the Kickstand menu again.  Go into the “Paint” sub menu, and then select “Paint Attractor Influence.”
    12.10PaintAttractor_Menu13.11badmouth
  5. With the Attractor selected in this menu, we can see the influence it has on our mesh. To quickly improve the Point Attractor’s influence on the cheek, we will simply select “Smooth” in the “Paint Weights” Tool Settings Menu and Flood our model 2-3 times.  Just as the “Paint Weights” tool is used in skinning a model, you can refine and tweak the influence of the Point Attractor (or Curve Attractor) here.
  6. Now we’ll adjust the Attractor Strength on the curve again. A dramatic difference!  Moving the joint that was placed in the jaw allows us to see how the StretchMesh works on a skinned mesh.
    14.12badmouthfix

15.NoSmileFace16.SmileFace


CURVE ATTRACTOR


In addition to the Point Attractor, we can also take advantage of StretchMesh’s flexible Curve Attractor. For this example, we’ll create an eyebrow control for our polygonal face.

  1. Before we begin, we’ll need to keep the structure of the human face in mind. Just as your eyebrow is “pulled” up by muscles on your brow, we will need to place our curve in a location that will do the “pulling” as that muscle would on our mesh.  Because StretchMesh allows nearby vertices to be affected by their neighbors movement, it will appear that the skin around the eye is being “pulled” by the muscle as well.

    17.13EyeMuscles

  2. Create the curve, move it to the correct location, and Freeze its Transformations.

    18.14PositionCurve

  3. This seems like a good location for the curve to attract our eyebrow properly.
  4. To set up the relationship between the curve and the points correctly, we’ll need to select the curve first. Then, shift-select the desired mesh.  Hold down Right-Click and select Vertex mode. We can now select the points that define the eyebrow.

    19.15SelectPoints_Curve

  5. Time to set the relationship. Go to your Kickstand menu, go into the “Attractor” sub-meu, and click on “Add Curve Attractor.”

    20

  6. We can now test the Curve Attractor. Select the curve, and you’ll see a new Attribute has been added to it: “Attractor Strength.”  When we test the Attractor Strength, we’ll notice that it isn’t doing quite what we’d like yet. The eyebrow is being pulled unreasonably, and the falloff isn’t what we’d expect on the human face.
  7. To begin refining the attraction of the Curve Attractor, we’ll select our object and then go to the Kickstand menu again.  Go into the “Paint” sub menu, and then select “Paint Attractor Influence.”
  8. With the curve selected in this window, we can see the influence that the curve has on our mesh. To quickly improve the curve’s influence on the eyebrow, we will simply select “Smooth” in the “Paint Weights” menu and flood our model 2-3 times.  Now we’ll adjust the Attractor Strength on the curve. Looks much better!

    21.16SmoothWeights22.browRaise


MULTIPLE INFLUENCES


Of course, these two controls aren’t enough to really bring our mesh to life. Let’s add another control, and see how multiple simultaneous Attractors influence the model.   We will set up one attractor underneath the eye. We’ll repeat steps 1-8 in the Curve Attractor section, but with a new curve. 
23.lowerLid1
24.lowerLid2
Now we can see how our impact our mesh when used simultaneously. Heck, we can even toss in a little jaw movement. StretchMesh doesn’t mind at all!
25.goofySmile

Return to top of page

  • Info
  • R+D
  • Animation
  • Tools


  • User Forums

info@kickstandlabs.com
68 Jay St, Suite 514
Brooklyn, NY 11201
Ph. /F. 888.KICK.STND

facebook linkedin vimeo youtube
mailing list





Kickstandlabs.com is in BETA


Please send us feedback about usability, appearance, and broken or missing content. We apologize for any inconveniences that may arise in the transition to the new site.


CONTACT
liz @ this url