Event Template vs. Take
The most important (and potentially confusing) aspect of events is the difference between the event template and the event take. The key distinction is uncertainty. An event take is similar to a traditional animation in that it is certain: it will play exactly the same way every single time. A template is uncertain: a single template can be used to create a potentially unlimited number of different takes.
Uncertainty in the Template
Not all templates are uncertain, but the following properties can be used to introduce uncertainty if it is desired:
- Property ranges - The start time, duration scale, magnitude scale, blend in, and blend out values can each be specified as a range of possible values. A random value inside that range will be picked for each take. In FaceFX Studio, blend in and blend out uncertainty can only be accessed via command (-[min,max]blendin, -[min,max]blendout).
- Probability - Every child event in the template can be assigned a probability. This represents the chance that the child event will be spawned into the take. (e.g., a probability of 0.25 means that 25% of the time, the child event will be spawned into the take.)
- Pick One - Instead of playing all child events in the template, you can tell the template to pick only one child and play it. The child is selected randomly according to the weights, and every take has the potential to pick a different child. Note that if you select the Pick One option for the template, you may not have some events in the template that you always want and then a subset that you want the template to pick from. It's an all or nothing option.
The Take is Played
The most recently generated take is stored in the .facefx (or .animset) file and used to play the animation. Every time you play the animation in FaceFX Studio or in your game, it will play the same way because the take is unchanged.
The take is only changed when one of the following occurs:
- The "New Take" button is pressed in FaceFX Studio
- The take is changed programmatically via the FaceFX SDK. While most game integrations will not need to generate new takes in game, it is possible to do so.
- The current take is outdated. FaceFX Studio will regenerate the take automatically if the current take is no longer valid because a child animation has been modified.
Takes Cannot be Edited
Because of the uncertainty in the template, any changes made to a specific take would be lost when generating a new take. For this reason, editing the take is not allowed.
If you like a particular take and want to keep the animation unchanged, you have a few options:
- Select all of the events in the template by hitting Ctrl + A. Then click on the "Bake to Curves" button. This will remove all events from the template and store the results as curves in the animation.
- Simply stop generating new takes and don't modify any child animations. The take will then be preserved.
Template View vs. Take View
The event tab can be displayed in "Template View" or "Take View". The primary differences are listed below:
- You can't edit events in the take view. It is for preview only. See above.
- In addition to all of the child events from the template, the "Take View" will display children, grandchildren, etc. of these child event.
- The "Take View" displays exact values for properties when you select an event. These values are picked from ranges specified and displayed in the "Template View".
- When you select an event in "Take View", the event's parent and children are highlighted and connected.
- When you select an event in "Template View", the range of time where the animation is influenced by the event is displayed in the timeline above the events.