FaceFX is OC3 Entertainment’s cutting edge solution for creating realistic facial animation from audio files. FaceFX is the culmination of years of experience working with lip-synchronization, 3D graphics, and facial animation. The product makes it easy to batch process thousands of WAV files for your game, add expressions to a single animation without ruining the lip-synchronization, tweak an animation to perfection, or integrate the entire solution into your art pipeline.

If you are interested in evaluating FaceFX, please send us an email at info@oc3ent.com and we will set you up with an evaluation. Our licensees get full source code to the FaceFX Studio application along with all of the tools and the FaceFX SDK.

The Face Graph

The Face Graph is the brains of the FaceFX solution. It allows the artist to model complex facial interactions while maintaining simple controls. The artist can combine any combination of bone poses, morph targets, and material properties into a single target and drive it with a single curve. When two targets conflict with each other to produce unwanted artifacts or poor lip-synchronization, the Face Graph can correct for these situations by forcing one of the target values down.

Any conceivable facial animation setup can be created with the Face Graph. The artist can choose to model speech targets as a single pose or a combination of component targets. The Face Graph uses a system of nodes and link functions to create relationships between targets. Values enter the Face Graph from curves or in-game systems and exit the Face Graph as morph target, bone pose or other output values. Bone pose values are then used to generate final bone transformations which drive the game engine’s skeletal system.

The Face Graph is evaluated at every frame of the game, so it is designed for speed and low memory use.

Custom Workspaces

FaceFX lets the artist design custom workspaces for animating effectively. 1D and 2D sliders can be arranged over a background bitmap or a live viewport. Viewports can be attached to a bone in the character's setup so the camera is always pointing directly at the area that is being animated. Each axis of the slider modifies a node in the Face Graph, which can then modify or correct for other nodes. The end result is a powerful animation system that is efficient and built to the artist's specifications. No time is wasted searching for sliders by name because sliders can be arranged intuitively.

The Preview Window

FaceFX is designed to be a visual product. When making adjustments to an animation, it is important that artists can immediately see the impact on the character. The FaceFX Preview Window displays a 3D character for instant visual feedback.

The FaceFX Preview window is a highly capable 3D engine, but its primary purpose is to act as a placeholder for the customer’s game engine. This creates an optimal facial animation pipeline such that animations in FaceFX Studio are identical to animations in the game and FaceFX can load up the same content that ships with the game. Full source code to the FaceFX Studio application is provided so that game developers can replace the FaceFX Preview window with their own game engine. Because OC3 Entertainment is integrating FaceFX with several commercial game engines, we have put a lot of thought into how to make the integration process as smooth as possible for your team.

Tweaking Animations

Tweaking animations is done from the FaceFX Animation Tab. Animations can be tweaked from the phoneme bar or the curve editor.

Phoneme bar – The phoneme bar displays all of the phonemes and words recognized from the audio file. FaceFX technology automatically aligns the phonemes and words to the appropriate place in the sound file. If the FaceFX analysis makes a mistake however, it is still possible to get perfect results by adjusting the phoneme and word boundaries with the phoneme bar.

Curve Editor – The curve editor allows users to modify key values, key times, input derivatives, and output derivatives. New curves can be easily added to an animation to control expressions or other targets.

Command System

A powerful command system forms the foundation of FaceFX Studio. Every operation performed from FaceFX Studio has an associated text command which can be combined into scripts and called from the DOS prompt.

The command system enables FaceFX to batch process audio, create a Face Graph layout for a new character, or be part of an automated build script without ever bringing up the FaceFX Studio application.

Audio Analysis

At the core of FaceFX technology is the ability to generate realistic animation data from an audio file. To do this, FaceFX recognizes 42 phonemes and automatically determines where these phonemes occur in the sound file using automatic speech recognition technology. Curves for user-defined speech targets are then created by taking into account co-articulation rules. Finally, curves for head movement, blinks, and eyebrow raises are created from emphasis points in the audio file.

FaceFX can create animation data using audio from any language. Optimal results are achieved when an English text file is used to transcribe the audio file. Analyzing with text is currently only supported for English. Text files can be tagged with HTML-like expressions which can be used to automatically create animation curves at the appropriate time in the audio.

Audio files can be batch processed from FaceFX by using the analyze command. The analyze command can be incorporated into a batch file and executed from the DOS command prompt, or it can be called directly from the FaceFX command line.

FaceFX SDK

The FaceFX SDK is the component of the FaceFX solution that runs in your game. At every frame of your game when an animation is playing, the animation curves are evaluated, the Face Graph is updated, and bone pose nodes are blended to output final bone transformations for every bone in the face. Animations stored in the FaceFX SDK take up very little memory because they are procedurally generated at runtime.

Full source code to the FaceFX SDK is provided to all licensees. An evaluation version of the FaceFX SDK is available upon request that includes libraries and headers.

main page