FaceFX Support
FaceFX Documentation and support
Event Text Tags
Text tags can be used to insert an event into an animation. The event will be inserted at the start time of the word following the tag. If the tag is after the last word, it will be inserted at the end time of the last word.
Syntax
- Tags are encapsulated with brackets: {}
- The group and animation name are separated with a pipe character: |
- The combined group and animation names are enclosed with quotes if either name contains a space: “”
- Event parameter names (other than persist and payload) are followed by an equals character and a numerical value.
- The persist parameter, when present, makes the animation persistent. It does not accept a value after the parameter.
- The payload parameter accepts a string value. For multiple words, enclose in quotation marks.
- Optional closing tags for defining duration scales from text durations are represented with brackets and a forward slash: {/”YourEventGroup|YourEventName”}. When using opening and closing tags, the duration parameters are ignored because duration is set by the closing tag. Also, parameters defined in the closing tag are ignored in favor of the parameters in the opening tag ( i.e. the closing tag is shifted by the start time defined in the opening tag)
Parameters
The following parameters are part of the text tag syntax and can optionally follow the animation and group name to modify the event.
- start, minstart, maxstart - Sets the event start time. The time is relative to the start time of the word after the tag.
- duration, minduration, maxduration - Sets the duration of the event.
- magnitude, minmagnitude, maxmagnitude - Sets the magnitude of the event.
- blendin, minblendin, maxblendin - Sets the blend in time of the event.
- blendout, minblendout, maxblendout - Sets the blend out time of the event.
- probability - The probability that an event will be fired in a given take.
- persist - When present, sets the event as persistent. Unlike other parameters, the persist tag is not followed by a value.
- payload - Can be used to store game-specific information that can be accessed with the FaceFX SDK.
- Follow with a string. For multiple words, enclose in quotation marks.
- to play a skeleton animation in studio, use something like: _game: playanim _
- events with payloads will not be removed by baking the events to curves or publishing the actor.
Note: Specifying a minimum and a maximum value for a parameter (i.e. with minstart and maxstart), will create a range of possible values that will be randomly picked every time a new take is created.
Examples
The below example will insert a text tag for the “smile” animation in the “group1” group when the word “Aren’t” is spoken.
Knock Knock! {“group1|smile”} Aren’t you going to ask me who’s there?
Below is an example of a closing tag. The “eyebrow” animation in “group1” will have a duration scale equal to the time in seconds that it takes the words “Knock Knock” to be spoken.
{"group1|eyebrow"} Knock Knock! {/"group1|eyebrow"} Aren't you going to ask me who's there?
Below is a slightly more complicated tag that inserts the smile animation event -.75 seconds before the word “Aren’t” is spoken. The magnitude will be a random number between .5 and 1.5 each time you generate a new take. Also the event will persist and it will store the following string in its payload for use in other in-game systems: “Data for your game”
Knock Knock {“group1|smile” start=-.75 minmagnitude=.5 maxmagnitude=1.5 persist payload=”Data for your game”} Aren’t you going to ask me who’s there?
See also
Python Callbacks - you can insert tags automatically based upon the contents of the analysis text with the analysistextpreprocessor callback.