FaceFX Support
FaceFX Documentation and support
Analysis Actor
The analysis actor is a .FaceFX file that converts Analysis Events into curves (and potentially other events). The analysis actor is responsible for generating all curves other than those defined in the mapping. This includes curves for blinks, eyebrow raises, head movements, eye movements, and body gestures. Advanced users can create their own analysis actors to define custom gesture curves and create new behaviors for their characters.
Using an Existing Analysis Actor
- Select the analysis actor you want to use from the create animation wizard.
- To specify an analysis actor from the command line, use the -aa or -analysisactor flag in the analysis command.
- Next to the animation drop-down, you can click on the analysis actor take button to generate new curves from the analysis actor.
- If you only want to change part of the animation, zoom into the section before creating the take.
- After modifying the phoneme/word times in the phoneme bar, partial analysis takes are not allowed and an entirely new take will be generated
- Doing a partial take may influence parts of the animation outside of the visible time range. Only events from the analysis actor’s event template will be changed, but nothing prevents an event from influencing curves far away from the event itself.
- If you change the analysis actor and do anew analysis take, curves from the original analysis actor will not be removed, but they will replaced if they also exist in the new analysis actor.
Creating New Analysis Actors
- Analysis actors are stored in the Analysis Actors folder of the FaceFX installation. Any .facefx files found in this directory are assumed to be analysis actors.
- The Default.facefx file is chosen by default. Modify the Default.facefx file to change the default behavior.
- The GestureLib.py file in the Scripts folder can be used to create the original Default.facefx analysis actor.
- All nodes in the analysis actor with names that begin with an underscore (“_”) are for the analysis actor’s internal use. Curves for these nodes will not be output to the final animation
- All event groups contained in an analysis actor that begin with an underscore(“_”) are for the analysis actor’s internal use. Events contained in these groups will not be output to the final animation.
- Notice that all Analysis Events are contained in animation groups that start with an underscore. As a result, these events are not forwarded onto the final animation. In order for an event to be forwarded to the animation, it must have an animation group name that does not begin with an underscore. Any events contained in the analysis actor’s take will be copied to the final animation’s template if the animation group does not begin with an underscore.
- Specifying as the analysis actor in the create animation wizard will forward all [Analysis Events](events-analysis-events) to the animation. This is useful for creating and testing new analysis actors.
- Pitch events are processor intensive to create. If the pitch event group name is contained in the analysis actor, you may notice a slowdown in the length of time it takes to generate curves from the analysis actor.
- Set node min and max values appropriately in your analysis actor. When curves are baked out, the min max values are used to determine how to reduce keys without meaningfully changing the curve.
Special Analysis Actor Curves
The following curves are generated by analysis actors if their corresponding nodes exist:
- _Analysis_Normalized_Power - represents the power of the speech at the current time.
- _Analysis_Raw_Normalized_Power - an unsmoothed version of the Normalized power curve.
- _Analysis_ROS_Scale - The rate of speech curve
- _Analysis_Normalized_Stress - A curve derived from the power value of vowels. Centered around 1 with higher-power vowels having values greater than 1 and lower-powered vowels having values less than one.
- _Analysis_Normalized_Pitch - A curve representing the pitch contour, centered around 1. Beware that this curve can take several seconds to process on long audio files, so including this node in your Analysis Actor Face Graph will impact performance.