Adverti horiz upsell
HUMAN INDIRECT SKINNING WITH FREE-FORM DEFORMERS I
HUMAN INDIRECT SKINNING WITH FREE-FORM DEFORMERS I
sdb1987, added 2005-10-04 11:27:48 UTC 65,079 views  Rating:
(1 rating)
Page 1 of 5

paul@paraform.com

pthuriot@hotmail.com

INTRODUCTION

There�s only one thing you need to remember as you go through this tutorial: there�s no �one way� to setup a character for digital animation�this way just generally works for me�!

Every animator/ studio is going to have their own �personal� way of doing things, the object of this �paper� is not to preach one way or another, but to bring other ideas to the table so that they can be incorporated into the artists already existing workflow. What I�ve done here, is taken techniques that I�ve learned from the multitude of studios, teachers, peers, and any other own personal experiences that I�ve had the pleasure to �deal� with, and lumped them all together into one setup procedure. So as you skim through this, look for ideas that you could make your own, for your own personal style�.

You�ll find that as you go through this, I tried to write this for someone who isn�t all that familiar with Maya just yet�so there are a lot of steps that some of you will just �fly� through and wonder why they were even written down in the first place�. It�s just a word of warning to those of you who are the experienced users.

This tutorial is based off of the idea that you have four different resolutions of a model: a seamless, low polygon count model that is ideal for real-time rendering on today�s next generation of game consoles, a low resolution NURBS patch model for long camera shots, a medium resolution NURBS patch model for full character camera shots, and a �hero� or high resolution NURBS patch model for close-ups. When using high resolution NURBS patch models, you can run into tons of problems, such as seams breaking, way too many CVs to bind/ edit, slow refresh times for animation, etc�etc. With the use of a �wrap deformer,� you bind the loRez poly model to the skeleton and that, in turn, drives the rest of the NURBS resolutions. So binding, animating, lighting, etc. only needs to be done to the poly model, decreasing the workflow timeline dramatically. Also this technique can be useful for productions that don�t have the character model �finalized� yet�start all the work with just a loRez poly model that closely resembles what the character will look like and �wrap� the finished character later. This way, there�s no waiting for the final �tweaks� of the model to start down the pipeline�.

Anyway, enough of this�let�s get to the tutorial�and just�well, have fun�! ;)

PREPARING THE SURFACES

1. Splitting the resolutions up into groups and layers.

Import each different resolution and assign each to a different layer.



Fig. Note 1.1 Notice how all the different resolution surfaces are imported on top of each other in space? This is exactly what you want; all you have to do is assign each resolution to a different layer.



File > Import the hiRez surface file. (Your surfaces can be made up of any number of NURBS patches�each one of these different resolutions has 116 seamless patches!)




Select all surfaces by box selecting over all the patches.

Edit > Group (or the hotkeys CTRL g).

Name the group node hiRezGroup.

Create a layer and hide.

In the Window > Layer Editor�, hit the New Layer button to create a new layer and name it hiRez.



With the hiRezGroup node and the newly created layer highlighted, hit the Assign to Current button to assign the selected surfaces to the layer.

In the Layer Editor Window, hit the Invisible button to hide everything assigned to the layer.

2. Repeat step one for all the different resolutions.

Again, placement in world space of each different resolution will be in the same place, each resolution lying on top of each other.

Name each group:

medRezGroup and loRezGroup respectively.

The single surface poly won�t be grouped�just name the node: polySurface.

Name each layer:

medRez, loRez, Polys respectively.

3. Freeze transformations and delete history on all the surfaces.

This will �zero� the transforms on the surfaces (if any), and delete any possible problems that you may encounter while setting up the character.

Display all the surfaces by highlighting all the layers in the Layer Editor and hitting the Visible button.

Now with all surfaces shown, select everything (box select over all surfaces).

Modify > Freeze Transformations.

Edit > Delete by Type > History.

4. Grouping the head/ face patches for facial blend shapes.

Make all but the hiRez layer Invisible.

Select the facial base patches that will deform for the facial blend targets.



Fig. Note 1.2 The selected facial patches for the blend shape base. Notice I�m just selecting the face area. Most people use the entire head as the base, so seams don�t break during animation. If you�re careful in creating your different targets, you can save file size and memory by using just the deformable area.

Edit > Group and name the group node: hiRezFaceBase.

Repeat above for the medRezGroup and the loRezGroup. But keep this in mind: In the Hypergraph, each patch should line up in the hierarchy with each of the different resolutions in a group. (i.e. hiRez right eyebrow with loRez right eyebrow, then the hiRez left nose with the loRez left nose, etc.) Do this by selecting the patches in a specific order.



Fig. Note 1.3 Each one of the different facial patches �lines� up with its different resolution counterpart in the hierarchies.

Name each new group node: medRezFaceBase and loRezFaceBase respectively.

5. Duplicating the hiRezFaceBase for blend shape targets.

If you performed the above step correctly, by grouping with the hierarchy in mind, you�ll only need to create one set of blend shapes for all of your resolutions. Use the hiRez version, because it has the most detail and is the one you�ll be seeing the most when focusing on facial expressions.

Hide every layer but hiRez.

Select the hiRezFaceBase node and Edit > Duplicate - Options.



Fig. Note 1.4 Make the amount of copies or �targets� you wish to create translating down X.

NOTE: What ever you do, do NOT delete history or freeze transforms on these targets!!!! Maya uses that translation information to correctly deform the base to your blend shapes.

click for larger version

Create and name the groups of the targets something meaningful. (I.e. mouthOpen, mouthClosed, rEyeBrowUp, etc.) And create your �extreme pose� shape deformations�or you can wait until later.

Select all face target group nodes and Edit > Group and name this group node: facialBlendTargets.

Create a layer called hiRezFaceTargets, assign the facialBlendTargets group node to it, and make the layer Invisible.