To start using FaceFX, you only need a single FBX file. It defines your character and the animation defines the targets your character will use to talk. For the easiest setup, use our default character setup. Dragging this file onto FaceFX will automatically set up your character in FaceFX Studio.
Setting up the FBX file
- Frame 0 contains the bind pose, with the face in a neutral position,
- Targets are created on subsequent frames as defined by the Batch Export Text File. Morph targets and bones used to make each target are keyed on the specified frames.
- Any number of morphs can be combined and keyed at different weights on a single frame to create a target. If you only have one morph target that completely defines the target, just key the single morph at 100% on the specified frame.
- Follow guidelines in FBX Ogre Exporter before exporting the FBX file
Drag & Drop Operations
When you drag an FBX file onto FaceFX Studio, the following occurs:
- Ogre files are created for viewing in the preview tab using the FBX Ogre Exporter
- The FBX directory is searched for files that match the base_file@animation_name.fbx format. Any matching animations (morph or bone) are added to the Ogre files for use as body animations. The FBX@Animations group is created to assist adding body animation clips to other animations.
- Bone poses are exported for each target in the batch export text file, and any morph targets active at the frame are linked appropriately to the bone pose such that driving the bone pose to 1 exactly recreates the frame from the FBX file. For morph only targets, a bone pose with 0 bones will be created.
- The base FBX file, and all base_file@animation_name.fbx files are monitored. If they change, the user is prompted to sync the FaceFX actor with the source FBX files.
- A basic face graph, workspace and color map are created. The DefaultTemplate.fxt file in the Samples directory is used to define the color map and workspace.
FaceFX will track the FBX files(s) and batch export text file used to generate the character. The path to the batch export text file and the base FBX file are stored in the Plugins->FBX Importer Options. If you do not want automatic updates, remove the files listed in the options dialog.
When the files change, the following dialog appears and asks: "Would you like to synchronize your actor?"
Automatically updating can perform any or all of the following actions:
- The render asset is recreated and updated (Note: this does not require permission from the above dialog. When the render asset is changed in the background, the <Default> camera returns to the default position, so use a named camera to preserve your camera position.)
- Any base_file@animation_name.fbx files that have been modified, added or removed are updated in the render asset. After permission from above, the FBX@Animations group is updated to reflect these changes.
- The bone poses and links to morph targets created with the exportframe command are updated according to the Batch Export Text File.
The facefx_poses animation
The facefx_poses animation is special. If it exists, it is used to define the poses from the Batch Export Text File. If it is not present, then the animation in the base FBX file is used instead. The facefx_poses animation does not need to contain the mesh information from the base FBX file, and it is useful in the following cases:
- You want to distribute a small file that defines the FaceFX targets
- You are tweaking bone poses frequently, and exporting/importing the facefx_poses animation is faster because the mesh information is unchanged.
- You want to use FaceFX to export the file that defines the targets
FBX Importer Plugin
All of the above functionality is controlled from the FBX Importer Plugin, a python plugin. The plugin is responsible for registering callbacks to handle when files are dropped on the Preview tab, and when FaceFX Studio is idle (for automatic updating). All of the functionality is in python and is easily customized.
Exporting FBX Files
To complete the FBX pipeline, animations can be exported from FaceFX Studio using the fbx command, or the File->Export menu. The base FBX file you used to create your character is used as a base for the animations created.