Game Export Property Editor

 
 
 

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 Game Export.

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.

Use Duplicate

Creates a copy of the original Face Robot mesh. The copy is automatically selected as the game mesh.

Pick Mesh

Activates the picking tool so that you can pick the game mesh that you want to export.

If you clicked the Use Duplicate 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.

Generate

Creates a new set of UVs called texcoords, 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.

Pick UV

Opens an explorer from which you can select an existing UV set.

Face Parts

Copy Face Parts

Copies the character's eyeballs, teeth, and tongue meshes to the game mesh.

Eyelashes

Copies eyelash meshes to the game mesh.

Envelopes

Paint Deformers

See Envelope Timeline Resampling Options [Face Robot] for more information and images.

Locations

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.

Import

Opens a browser from which you can select a weight map that has already been created for the locators.

Bone Spin

Allows you to adjust each bone's rotation. Doing this can prevent envelope fitting problems.

Export

Exports the face weight map, jaw map, and neck parent map.

Jaw Parent

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.

Neck Parent

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

Weights Per Bone

Number of weights per bone that the game engine can handle. This is usually 3.

Envelope Ears to Head Deformer

Automatically includes the ear envelope in the game mesh as part of the head.

Clamp Weights

Clamps the envelope weight values.

Envelope Generation

Envelope

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.

Animation

Exports only the animation from the high-res mesh to the low-res game mesh.

<On Generation> Envelope Timeline Resampling

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.

Generate

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 <On Generation> options are automatically processed when you click the big Generate button:

Reconsider Neighborhood

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.

Step Sampling

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 <Driven> options are extra steps that you can perform manually after the envelope has been generated:

Resample Envelope

Runs the Envelope Timeline Resampling options.

Revert Envelope

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 <Driven> options are extra steps that you can perform manually after the envelope has been generated:

Get Smooth Map

Calculates a smoothing ring around the eyes and mouth. You can redefine this map as you like.

Apply Smooth Map

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.

Cleanup

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 Generate button.

The following <Driven> options are extra steps that you can perform manually after the envelope has been generated:

Transfer Eyelash Envelope

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

Rest Normal Map

Generates a normal map of the face in its rest state, where it's in a relaxed pose.

Stress Normal Map

Generates a normal map of the face in its stressed state, with many muscles in the face being active.

Stressed Mesh

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.

Generate

Generates the normal maps (or stressed mesh) using all the options you've set on this page.

Normal Map Options

Path

Path to the image that you want to use for the normal map. Click Current to go to the current project's Pictures folder.

Image Type

The output image format for the map.

Resolution

Resolution of the normal map. 2048 is probably the best-looking.

Quality

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!

Rest Map Prefix

The prefix name used to distinguish the rest normal maps from the stress maps.

Stress Map Prefix

The prefix name used to distinguish the stress normal maps from the rest maps.

Subdivision Level

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.

Normal Discontinuity Angle

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.

Use Custom Stress Mesh

Uses a specific mesh that has been generated from a stress map. Click the Pick Mesh button to pick this mesh.

If you don't use a custom stress mesh, the current stress map is used.

Pick Mesh

If you select Use Custom Stress Mesh, click this button to activate the picking tool and then pick the mesh.

Normal Map Paths

Rest

Path to where the generated rest normal map is stored. Click View to see the map in the image clip viewer.

Stress

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

Generate Masks

Generates the normal map masks you've defined on this page.

Animate Masks

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).

Generate

Generates the normal map masks using all the options you've set on this page.

Region Masks

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

Region Masks Pset

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.

Toggle Display Map

Toggles repeatedly through the masks that have been created for the game mesh.

Display Next Mask Set

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

Project Path

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 Current button to use your current project's folder.

Relative Paths

The path to your folder relative to your current project.

Absolute Paths

The explicit path to your folder.

Force Relative Paths

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.

Rest Color

The regular skin texture map.

Stress Color

The stress skin texture map.

Rest Normal

The rest normal map.

Stress Normal

The stress normal map.

Specular

The skin highlights map.

Sub Surface

The skin subsurface scattering map.

Ambient

The ambient color map.

Bump

The skin bump map.

Reflection

The reflection map.

Apply Realtime Skin Shader

Map to Blend

The maps used to blend with the face's texture.

  • Normal map: Uses a normal map.

  • Albedo map: Uses an image representing the object's surface color without considering illumination.

  • Both: Uses both the normal and albedo maps.

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).

Shader Format

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.

Custom OGL

Click this button to select an OGL shader preset from the browser.

Delete previous realtime shader

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.

Apply

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

FR Mesh

Selects the Face Robot high-res mesh.

Export Mesh

Selects the game mesh that you want to export.

Hide/Unhide

FR Mesh

Toggles the display of the Face Robot high-res mesh.

Export Mesh

Toggles the display of the game mesh you want to export.

Locators

Toggles the display of the bone locators on the envelope.

Deformers

Toggles the display of the envelope deformers (bones).

Display maps

Toggles the display of the weight maps and stress/rest normal maps.

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License