FaceFX Support

FaceFX Documentation and support

Max FaceFX Exporter

Table of Contents

  1. FaceFX Panel
  2. The Rest Pose Panel
  3. The Nodes Panel
    1. FxBonePose Use
    2. FxMorphTarget Use
    3. FxCombinerNode Use
  4. Animations
  5. Using Scale in Max
  6. Biped Controllers
  7. Logging information

To launch the FaceFX plug-in from 3D Studio Max, go to the Utilities Panel on the right, click on the “More” button, and select FaceFX from the list.  There is also a FaceFX.ms script file that creates the same GUI as described below, but allows greater control via script.

FaceFX Panel

This panel lets you create, load and save actor (*.facefx) files.

The Normalize Scale checkbox influences how the rest pose and bone poses are exported. Read below for information regarding how to use the Normalize Scale option.

The Rest Pose Panel

The Rest Pose Panel is used to import and export the rest pose from the current frame. You should include all bones that you want FaceFX to control. For best results, don’t include end-effectors or nubs in the rest pose. Only include objects that are actually weighted to the mesh or have children weighted to the mesh. The bones in the rest pose should must have unique names in the scene.

After export, the bones contained in the rest  pose are listed, and you are now able to create bone poses from the Nodes Panel. If you change your rest pose at any point, you should also re-export all of your bone poses because different bones may be pruned out of the poses now that the rest pose is different.

The Nodes Panel

The Nodes Panel is used to import and export bone poses. You can also export morph taget nodes and combiner nodes.  The list of nodes for the selected type is displayed.

FxBonePose Use

Simply go to the frame you want to export or import and click on the appropriate button. The Batch Import and Batch Export buttons will ask for a text file. See the .FaceFX Exporter page for a description of the expected format.

Bone poses are stored based upon how they differ from the rest pose. For this reason, if you change your rest pose, you have to re-export all of your bone poses.  The log file contains information on how many bones are “pruned” from the rest pose because they are identical to the rest pose transforms.

FxMorphTarget Use

Morph targets can be exported or batch exported.  Batch exporting searches the scene for all available morph targets and creates FxMorphTarget nodes. 

FxCombinerNode Use

Combiner nodes can be exported.  In general, this is only useful if you are using the fxlinknodes command to create a face graph setup directly from the animation package.

Animations

The Animations section is the interface for creating, importing, renaming and deleting animations.

Import - Imports the selected animation to the timeline.  See the .FaceFX Exporter page for more information.

Clean - Cleans the timerange of all keys for all bones in the rest pose.  Morph target tracks are also cleared for morph targets with corresponding nodes in the Face Graph.

Delete - Deletes the currently selected animation.

Rename - Renames the currently selected animation.

Using Scale in Max

3D Studio Max uses scale differently than Ogre, other 3D animation packages, and many game engines. For example, Ogre does not support non-uniform scale which is commonly used in Max to modify the position of bones in the skeleton. Even uniform scale can make Max content appear distorted in FaceFX. To resolve this issue, the Max plug-in includes the Normalize Scale option. Checking this option affects how the rest pose and bone poses are exported from the plug-in. When checked, the rest pose and bone poses are exported with the scale baked into the position and rotation of the bones. The scale is then set at [1, 1, 1].

If your Max rig uses scale to position bones correctly in the rest pose, you may need to export your rest pose and bone poses with this option checked. This will allow you to preview your content in FaceFX Studio while generating animations and tweaking them. To view those animations in Max, you will have to load the FaceFX file into the plug-in, and overwrite the rest pose and bone poses with the Normalize Scale button unchecked. This will not affect your animation data or face graph set-up, but it will allow the FaceFX Max plug-in to insert keys that are compatible with Max’s use of scale.

Biped Controllers

When importing an animation, a bone pose, or the rest pose, FaceFX needs to set keys in Max for all bones in the rest pose.  FaceFx will attempt to set rotation keys on the Biped head bone.  To do so, it must first remove all Biped modes (like the figure and footsteps mode available from the Motion tab when the Biped root is selected).  Biped bones other than the head bone are not supported.

If you don’t want FaceFX to attempt to set keys on the Biped head bone and change the Biped mode, use the fxsetbipedheadrotation Maxscript function.

Nothing prevents you from using any Biped bone in the rest pose, and creating bone poses with biped bones will work.  In FaceFX Studio, these bone poses will animate fine, but getting the data back into Max is more difficult because the FaceFx plugin does not support setting keys on Biped bones other than the head bone.

Logging information

The Max FaceFX plug-in outputs debug information to the FaceFX_Log_3dsMax.txt file. Check the log file to view details on the number of bones pruned out of each pose and other troubleshooting information.  This file is located in the following location:

C:\Users\MyUsername\AppData\Local\Autodesk\3dsMax\2017 - 64bit\ENU\FaceFX_Log_3dsMax.txt