Wednesday, February 18, 2015

Moveable Pivot

This is a quickie.

All you have to do to create a moveable pivot is hook a control up to the objects "rotate pivot" attribute. Bam! Wherever you move your control the pivot will go. You can animate it and everything.

Sunday, September 28, 2014

Papa Construction Theory

Papa Construction

Let's break down how Papa's Face works and how it looks SO DANG GOOD

Curve Deformation

Papa's face takes a lot of turns, especially around the mouth area, so this character would almost not have been possible without this solution.


Clusters are driven across distinct paths along the mesh. Each spline curve designates a separate avar.



 The cross hairs you see are the locators that are moving up and down these paths.

Here is a basic view of the node network for the mouth corner that goes Left to Right


You see the the motion path information filters into the locator. The cluster is parent constrained to the locator. The nodes on the left manage the math and speed at which the locator moves across the spline path.

Not everything moves along a drawn curve, though. Some clusters are deformed through rotation, or bending.


A cross section of Papa's Eye - the clusters of points moving his eyelid rotate perfectly around the center of the eyeball geometry. This ensures that the eyelid makes a nice rounded path around the eyeball, rather than using blend shapes giving a linear look. It's subtle, but important to the overall look.


To show this principle in action, you have to pull Papa's Jaw WAAAAY open!
You can see that his jaw wraps into a circle. That's because his jaw pivot point is actually located far back in his neck!  Putting the pivot of the jaw far back allows for the jaw to still open with rotation, but not look like some kind of muppet with a hinge in his mouth.  This was a creative way of making Papa's forward facing mouth look natural.


*YAWN*

The Three Curve Principle and Football Shape

An important part of the addition theory is the use of the three curve principle in Papa. Certain parts of the face need at least 3 different avars to be complete. The brows for example have an inner, mid and outer control. When they add up together at a value of 1 or 100, they will make a BEAUTIFUL arc. It's all about balancing the points between all the avars you've set up.


The Left, Mid and Right avars fire together and look pretty nice.


The lips should lift into a football shape. This helps balance with the Jaw UD as well.


The eyelids have inner, mid and outer controls. When used together, it can shape the eyelids to how you need. This keeps the eyelids feeling fleshy and responsive to the information around the eye like squints and brows.

Sculpts

It's great that movement happens in arcs and splines, but sometimes you can lose volume due to the nature of weighting points. That's when we introduce a sculpt to push those points back to retain volume.


The mouth corner moves in a nice fashion, but once it takes that turn around the front of the mouth those points are going to collapse.


The sculpt fires as the control goes further towards the center of the mouth. The points no longer collapse into his face. Retaining volume is key.

Sculpts are should be used on every avar, but with papa only the most important ones were dealt with since we got into crunch time pretty quickly.

You want to avoid doing too much with a sculpt, because its the clusters that should be doing the moving. The sculpt just pushes info in and out as necessary.

Lattices

Go get more appeal out of our character, I needed his long muzzle to be able to turn, bend, squash and stretch.  This was done by making an expression that deforms a joint chain. Said joint chain was able rotate and scale lengthwise.

I set up clusters along every "rung" of this lattice. The joints in the joint chain affected these clusters. Doing so modified the lattice. 



Eyeballs were tricky, because I needed them to react to the head geo. I put the eyeballs in a lattice, and had that lattice wrap deformed to the main head lattice.  The eyeballs were still able to rotate, but within their respective lattices. Teeth and tongue were a little more complex, but followed the same principles. This took a lot of problem solving to get right and work with everything else.


The main head lattice could only affect the head. Unfortunately in maya lattice assignment is a little finicky. I took a copy of papa, assigned the lattice to the vertices that I needed, then I used the paint blend shape weights tool to smooth out the influence of the lattice. That copy of papa was blend shaped into the final body. This copy is what receives all the other face movers.



This shows papa's face being scaled up. I wanted the eyes to scale up - but to do that the sockets needed to  follow exactly. All while the Eyelids and brows are working right. Layering up deformations was the key to solving this problem. I found a script that allows me to to add objects to a lattice, and I used that to add these verts to the eyeball lattice that scales up and down.  I used the paint blend weights tool to smooth out this scaling.



The tricky part of this is that the deformations of the eyelids had to happen BEFORE this scale function happens, otherwise points will move unpredictably in the eyelid area. Layering up deformation allowed for me to have a non destructive setup where I could go down a level to troubleshoot specific problems.

Obviously making a rig is a lot more involved than just doing step A then B.
This is a shortened version of different techniques used to build the rig.










Monday, August 18, 2014

DQ, Linear and Blend Weights

So Papa's back bendy legs don't work properly when using the Dual Quaternion weight method. This method is usually better than classic linear because it tries to preserve volume during deformations like elbows and knees.  Papa has a lot of skin to him, so this is ideal especially in his shoulder area. I don't know why papa's back legs freak out when DQ'd, but I figure it might be the thickness of the leg or the placements of the bones not being exactly centered around the mass.

I found out there is a way to use a combination of both. It is called Blend Skin Weights.  This allows you to paint on a map signaling the mesh to use either DQ or Classic Linear binding methods.  Make sure to click below to learn the way you can use it.

Blend Skin Weights in Maya Help

When you mirror skin weights, it also mirrors the Blend Weights map. So no need to worry about symmetry.

Tuesday, August 12, 2014

Pixar Style Pickables

GREAT NEWS

Some really smart people have found ways to create an equivalent to Pixar's Pickable system in Maya. Often, too many controls floating around on a character can distract from the overall acting and can be annoying to grab and handle. Less visual complexity gives animators a better idea of the silhouettes the face shapes are making.

These videos show how we can allow our controls literally be part of the mesh. Want to move the lip? Grab the characters lip. Simple as that. So simple and intuitive!


and this one

Tool Demo- Deformable controls from Raveen Rajadorai on Vimeo.

By the way, if you copy-paste the call instructions for the script, you may end up copying some unintentional spaces, which will give you a syntax error.  Simply delete the spaces to give python its valid syntax.

Wednesday, July 23, 2014

Lattice Power

Here is a script to add an object to an existing lattice.

http://www.fuse-design.org/blog/tutorials-cg/how-to-maya-add-object-to-lattice-tutorial


Monday, June 9, 2014