Conventions

SGX Runtime follows several FaceFX conventions that differ from previous SGX workflows. Be aware of these conventions when preparing character and animation data for compilation.

Audio Starts at Time 0

In FaceFX and SGX Runtime, audio always starts at time 0.

Animation does not necessarily start at time 0. Animation keys may occur at negative times, which FaceFX uses as pre-roll. Negative time animation allows the character to begin moving into position before the audio begins. It also allows speech gestures, such as head nods or eyebrow raises, to begin before the first audio sample.

This differs from SGX pre-roll handling. Rather than shifting the audio on the timeline, SGX Runtime keeps the audio start at time 0 and places any pre-roll animation at negative times.

By default, the SGX Runtime Compiler shifts animation keys into negative time so that the audio begins at time 0.

Use the --no-preroll-shift compiler option to prevent the creation of negative-time animation. Audio still begins at time 0; however, any required pre-roll must be included in the audio file, typically as leading silence.

Inactive Reference Pose

The character reference pose must not contain active morph targets or controls.

The compiler reports an error if it finds an active morph target or control in the reference pose. This usually indicates either a rigging error or a value that should be incorporated into the character’s neutral pose instead.

Audio File Placement

The compiler can locate audio files associated with .event files and generate an audio import file for use by the game engine. For example, the Unreal Engine plugin uses this generated file to import the associated audio automatically.

To enable this behaviour, place each audio file in the same folder as its corresponding .event file and give both files the same base name:

C:\Game\Hero\Events\Monologue.event
C:\Game\Hero\Events\Monologue.wav

The compiler can then associate Monologue.wav with Monologue.event.