Customizing Models for FaceGen

by Denise Tyler

Adjusting the Internal Mean Face

FaceGen Customizer allows you to customize any model for use in FaceGen Modeler. This process begins by adjusting the position and scaling of the Internal Mean Face, which you can find in the Singular Inversions > FaceGen Customizer > Data folder in your FaceGen Customizer installation.


The head is quite large by comparison to Poser figures. It is also rotated on its side. I brought the mean face into LightWave to do the rescaling and rotating. It CAN be done in Poser, but there is quite a difference in the scaling (we are talking thousands of percentage smaller, and I canít remember the exact number). If doing it in Poser, you can import the mean face, scale it down to 1%, export that resized object out again, and reimport it again, etc. The important thing to remember is that you shouldnít MORPH the mean head or add/subtract vertices. Just RESIZE and ROTATE it so that the position and rotation of the mean head matches your figureís head as closely as possible.


Once the mean face is rotated, scaled, and put into the correct position (itís probably best to align the models at the eyes), you can export it as an OBJ file with a custom name (such as V4MeanHead.OBJ).


Matching the Model to the Internal Mean Face

At this point youíll notice quite a difference between the shape of the mean face, and the shape of the model youíre trying to convert. The key to getting things to work correctly during the conversion process is to adjust the head of the target model (V4 in this case) to match the mean face as closely as possible. Most importantly, the size and positioning of the eyes, nose, and mouth should match as closely as possible so that the textures match correctly when you convert them. Also, the shape of the cheeks and chin have to match or the shape of the head wonít match closely when you try to match photos later in FaceGen Modeler.

What I did was take the positioned and scaled Mean Head into Poser, and used the built-in Victoria 4 morphs to adjust her facial features as close as possible to the mean head. The eyes and eyebrows have to be adjusted in scale and positioning, the nose and mouth also have to be moved accordingly.


The biggest adjustment, however, is the shape of the cheeks, jawline, and neck and the morphs in V4 donít allow for the differences in shape. So once the facial features are moved as closely as possible with the built-in V4 morphs, I export the result and take it into LightWave 3D or Cinema 4D and refine the shape of the head to more closely match the shape of the mean head. During adjustment, you have to take care in not moving the vertices that connect the neck to the rest of the body.


After the adjustments are made, I separate all of the head parts (head, neck, left eye and right eye), and make sure that they work as morph targets to the original V4 model.

Once I confirm that the morphs work fine in Poser, I export versions of the FaceGen prepared V4 head, neck, left eye, and right eye objects individually, and also export a COMBINED version of the head, neck, and eyes. Save it to a folder to use during the conversion process in FaceGen Customizer. Youíll also want to save the adjusted and scaled Internal Mean Face that applies to V4into the same location.

Here is a comparison of the default V4 head, and the FaceGen adjusted shape. This version doesnít lend absolutely perfect results for me, but they are usually recognizable. Still, one of these days when I have time I would like to redo it again.


Bringing the Files into FaceGen Customizer

FaceGen Customizer is used to prepare the models for use with FaceGen modeler. Itís not a DIFFICULT process, but there are a lot of calculations that have to be made to create the data that compares the Mean Face model and texture to the target model and UVs.

Create a new FaceGen project. Youíll be prompted to import the rescaled and reoriented mean face, and the imported registered models. Import the head, neck, and eyes that you adjusted to match the mean head. Import them into FaceGen Customizer as individual objects so that you can maintain the UV map compatibility. FaceGen will use these individual parts to create the textures (and will even break them down further into individual objects, one for each material used). Thatís an internal thing to FaceGen though.

IN ADDITION, export a combined version of the prepared characterís head, eyes, and neck from Poser and import that into FaceGen as well. (The reason for this is explained toward the end of the Customizer user manual, where it talks about how to use objects with multiple texture maps, and objects with multiple parts).

The first step is to import the rescaled and repositioned mean head, and the ďFaceGen morphedĒ version of the characterís head, neck, and eyes, into the Customizer. In the figure below, the green model is the mean head, and the gray models are the four parts of the registered V4 model.


After you import the registered models, you let the FaceGen Customizer know where the neck seams are.


Once you define the neck seams, you start the process that causes FaceGen to cache the data that compares the Internal Mean Face and texture to the target model and texture. This process takes about 10 hours, which is why you want to get the Mean Face positioned right to begin with. Any difference in Mean Face position or your neck seam position means you have to rerun the setup. The cache takes up about 8 GB of files that you should hold on to until the entire conversion process is complete.

After the calculations are through, the FaceGen process will ultimately ask you to set up the models used for textures (during the Texture Integration phase). When you get to that point, include the INDIVIDUAL parts (head, neck, and eyes) for texture integration, but DONíT include the combined head. The individual parts will be used to generate the FaceGen textures in Modeler. The combined head will be used to generate the morph.

A wizard steps you through some additional processes (shown in the left side of the previous figure) until FaceGen Customizer generates the data it needs for FaceGen Modeler. It stores the data that FaceGen Modeler needs in a folder that begins with CSAM. You copy that data into the FaceGen Modeler program to make it available as a dataset.


At this point, if the texture preview shows up fine in FaceGen modeler, youíve probably done a pretty good job of creating the FaceGen compatible head. If you see eyes, nose, or mouth that donít line up properly, itís back to the drawing board adjusting the shape of your mesh to better match the Internal Mean Face. As long as you donít move the Internel Mean Face or your neck seam vertices, you can avoid the setup calculations and just re-integrate your mesh geometry and texture until you get it perfect.