Mesh | Envelopes | Shaders
Generate a Face Robot mesh and rig (based on an enveloped skeleton) to be exported to a game engine.
To display:
On the Act panel in the Face Robot layout, click the Export tab and choose .
For more information on the game export in general, see Creating and Preparing the Game Mesh [Face Robot].
Mesh
Game Mesh
See Selecting the Game Mesh, Parts, and the UVs [Face Robot] for more information.
|
Creates a copy of the original Face Robot mesh. The copy is automatically selected as the game mesh.
|
|
Activates the picking tool so that you can pick the game mesh that you want to export. If you clicked the button to create a copy of the original Face Robot mesh, the copy is already selected as the game mesh.
|
UV Map
See Painting Bone Locators for the Envelope [Face Robot] for more information.
|
Creates a new set of UVs called , which is based on the angle grouping. You can find this set under the geometry node of the game mesh head or in the Texture
Editor.
|
|
Opens an explorer from which you can select an existing UV set.
|
Face Parts
|
Copies the character's eyeballs, teeth, and tongue meshes to the game mesh.
|
|
Copies eyelash meshes to the game mesh.
|
Envelopes
Paint Deformers
See Envelope Timeline Resampling Options [Face Robot] for more information and images.
|
Activates the paint brush so that you can start painting on the face weight map where you want bones to deform the face envelope.
The maximum number of bones allowed is usually 30 for most games.
|
|
Opens a browser from which you can select a weight map that has already been created for the locators.
|
|
Allows you to adjust each bone's rotation. Doing this can prevent envelope fitting problems.
|
|
Exports the face weight map, jaw map, and neck parent map.
|
|
Activates the paint brush and hides the game mesh so that you paint only on the original high-res mesh. Paint on the weight
map in the area around the jaw that you want to be deformed by the jaw bone (mandible) at runtime. This creates a jaw map.
If you don't create a jaw map, the jaw will not be parent to any bones.
|
|
Activates the paint brush and hides the game mesh so that you paint only on the original high-res mesh. Paint on the weight
map in the area around the neck to define which part of the skin you want to be parented to the neck bone. This creates a
neck parent map. If you don't create a neck map, the neck will not be parent to any bones.
|
Envelope Settings
|
Number of weights per bone that the game engine can handle. This is usually 3.
|
|
Automatically includes the ear envelope in the game mesh as part of the head.
|
|
Clamps the envelope weight values.
|
Envelope Generation
|
Exports only the envelope weights from the high-res mesh to the low-res game mesh. If there is already an envelope on the
game mesh, deselect this option.
|
|
Exports only the animation from the high-res mesh to the low-res game mesh.
|
|
Select this option to make the options in the Envelope Timeline Resampling Settings area appear (below). The options in that
area are then used when you click the big Generate button.
|
|
Exports all the data that is set in the Envelope Generation group to the game mesh.
|
Envelope Timeline Resampling Settings
Resampling can be used to improve the quality of the envelope if it does not fit a certain animation. This option should be
used only if there is animation associated to the export.
The Envelope Timeline Resampling options work by reconstructing a set of best possible envelopes per point per frame along
a timeline, and then fitting the resulting combinations. This allows the game export mesh to match the closest possible weight
combination to the Face Robot mesh.
Note that the quality of the envelope requires that the locators are well placed; that is, the points of major deformation
have deformers associated with them. Envelope resampling will only fix an envelope if the locators have been painted.
While envelope resampling significantly improves the quality of the export in most cases, it can be a slow process if the
mesh is very heavy or if there are many frames.
To have the best fit, you can select an area of the timeline where major deformations occur and run the envelope resampling
over only those frames. It is not necessary to run the entire timeline, but it is important that the timeline range that is
evaluated with the filter has good deformations.
The following options are automatically processed when you click the big button:
|
With the default value of 0, the envelope resampling analyzes weight distribution only for the deformers that already affect
a point. If this is not accurate, you can set this option to analyze the deformers for the points' neighbors as well. The
higher this value, the slower the fit process, but in certain cases this might help the quality of the game export if the
initial weight distribution is wrong.
|
|
The interval of frames that are sampled; for example, a value of 2 samples every other frame. The larger this value, the faster
the export; the smaller this value, the more sampling and time required, but with probably better results.
|
The following options are extra steps that you can perform manually after the envelope has been generated:
|
Runs the Envelope Timeline Resampling options.
|
|
Toggles between the resampled and the unprocessed mesh envelope. The information is stored in a DataBlob under the Game Mesh,
and can be deleted for scene cleanliness.
|
<Driven> Envelope Smoothing
These options lets you smooth the envelope in the difficult areas around the eyes and mouth.
The following options are extra steps that you can perform manually after the envelope has been generated:
|
Calculates a smoothing ring around the eyes and mouth. You can redefine this map as you like.
|
|
Smooths the game envelope on the areas defined by the smoothing map. You can click this button as many times as necessary
to increase the smoothing effect.
|
|
Removes the smoothing maps from the game mesh.
|
<Driven> Eyelash Envelope Transfer
If you've created an eyelash mesh rig using the Build Eyelash tool, you can transfer it to the game rig for export using these
options. See Transferring Eyelash Rigs [Face Robot] for more information.
If eyelash meshes are found, they are automatically enveloped to the head and their animation is transferred when you click
the big button.
The following options are extra steps that you can perform manually after the envelope has been generated:
|
Transfers eyelashes that are attached to the rig after the game export has been done.
|
Normals
Face Robot can automatically generate stressed and unstressed (rest) normal maps to "feed" the runtime shader. These maps
take all the surface details from the original high-resolution Face Robot mesh and transfer them to the game mesh. Normal
maps need to be generated to get a good looking export.
See Generating the Masks [Face Robot] for more information.
Normal Map Generation
|
Generates a normal map of the face in its rest state, where it's in a relaxed pose.
|
|
Generates a normal map of the face in its stressed state, with many muscles in the face being active.
|
|
Creates a version of the game mesh with the results of the stress map applied to it. You need to generate the rest and stress normal maps before you can create a stressed mesh.
|
|
Generates the normal maps (or stressed mesh) using all the options you've set on this page.
|
Normal Map Options
|
Path to the image that you want to use for the normal map. Click Current to go to the current project's Pictures folder.
|
|
The output image format for the map.
|
|
Resolution of the normal map. 2048 is probably the best-looking.
|
|
Level of quality of the normal map. Medium is usually fine, but Highest will obviously produce the best quality, if you don't
mind the wait!
|
|
The prefix name used to distinguish the rest normal maps from the stress maps.
|
|
The prefix name used to distinguish the stress normal maps from the rest maps.
|
|
Subdivision level that is applied to the original Face Robot mesh from which the Rest and Stress Normal Maps will be generated.
A level of 2 is usually fine.
|
|
This number should be kept high to get good normal map generation, otherwise areas of high angles will get discontinuities.
Increase the value when you notice areas of discontinuity. Use a value of 180 for most maps.
|
|
Uses a specific mesh that has been generated from a stress map. Click the button to pick this mesh.
If you don't use a custom stress mesh, the current stress map is used.
|
|
If you select , click this button to activate the picking tool and then pick the mesh.
|
Normal Map Paths
|
Path to where the generated rest normal map is stored. Click View to see the map in the image clip viewer.
|
|
Path to where the generated stress normal map is stored. Click View to see the map in the image clip viewer.
|
Masks
Masks modulate the blending between the stress and rest normal maps. See Building Realtime Shaders [Face Robot] for more information.
Region Normal Map Masks
|
Generates the normal map masks you've defined on this page.
|
|
Generates the animation on the masks. The animation determines which area of the mask turns on or off at the right time to
reveal the stress normal map. You can control the animation of the regions using the sliders in the Region Masks Pset (property
set).
|
|
Generates the normal map masks using all the options you've set on this page.
|
|
Sets the number of regions on the face that are to be used for generating the region masks for the shader: 3, 6, or 9. Each
mask can control three regions of the face at once. It's recommended you use 9 regions for the best results, which creates
3 region masks.
|
Inspect
|
After the shader is applied to the face (see the Shaders tab), you can click this button to open the Region Masks Property
set in which you can experiment with the sliders. This lets you exaggerate the animation to tweak the normal maps' influence.
You can also animate each of the slider's weights separately.
|
|
Toggles repeatedly through the masks that have been created for the game mesh.
|
|
Toggles through the sets of masks.
|
Shaders
You can build a game realtime shader to which you can add textures. This shader is applied to the game mesh's Material node.
Path Management
|
The path to the folder where Game Mesh Models will be output. If none are found, Game Export will not be exported to .emdl. Click the button to use your current project's folder.
|
|
The path to your folder relative to your current project.
|
|
The explicit path to your folder.
|
|
Forces the game export generation to continue despite any errors in paths.
|
Texture Stack
Click the following buttons to select the texture images you want to use. These images are plugged into the appropriate port
of the realtime shader.
If you don't specify a texture for a certain type of map, a default image node is created and plugged into that port of the
realtime shader. You can change the image used for this as you like before exporting.
After you've loaded the image, you can click its View button to see it in the image clip viewer.
|
The regular skin texture map.
|
|
The stress skin texture map.
|
|
The rest normal map.
|
|
The stress normal map.
|
|
The skin highlights map.
|
|
The skin subsurface scattering map.
|
|
The ambient color map.
|
|
The skin bump map.
|
|
The reflection map.
|
Apply Realtime Skin Shader
|
The maps used to blend with the face's texture.
The type of map you choose determines which type of realtime shader is used: fr_skin (Normal), fr_skin_albedo (Albedo), or
fr_skin_albedo_normal (Both).
|
|
Creates a realtime shader for the game head depending on what type of shader you select: CgFX (see CgFX fr_skin Shaders), HLSL (see HLSL fr_skin Shaders), or Custom OGL.
If you selected Custom OGL, click the Custom OGL button below to load the shader you want to use. There need to be at least 3 directional lights in the scene for the shaders to work properly. If these lights don't exist,
you are prompted to have them created automatically when you click Apply.
|
|
Click this button to select an OGL shader preset from the browser.
|
|
Makes Face Robot delete any existing shader on the game head when it attempts to recreate the realtime skin shader. If you deselect this option, the game head's shader is disconnected from its Material node, but is not deleted.
|
|
Applies a realtime shader to the Material node on the game head. All the texture maps that you specified in the Texture Stack
are plugged into this shader's ports.
|
Display
Select
|
Selects the Face Robot high-res mesh.
|
|
Selects the game mesh that you want to export.
|
Hide/Unhide
|
Toggles the display of the Face Robot high-res mesh.
|
|
Toggles the display of the game mesh you want to export.
|
|
Toggles the display of the bone locators on the envelope.
|
|
Toggles the display of the envelope deformers (bones).
|
|
Toggles the display of the weight maps and stress/rest normal maps.
|