Auto Facial Animation - Expression
The Expression node corresponds to all default facial morphs for CC3+ characters.
To create a Expression node, right-click on the empty area of the graph, and select Facial Animation > Facial Block > Expression from the context menu.

You can adjust the duration, strength, speed, animation curve, and morph key via the Value nodes to control the animation.

Defines the duration of a single facial expression created from morph keys.
It accepts values input from the Vector2 node.

To create a Vector2 node, right-click on the empty area of the graph, and select Value > Vector2 from the context menu.

Specify the value range by defining a low and high value (in seconds) in the node.
For example, if the range is 2 to 4 seconds, the expression will hold for a randomly chosen duration between 2 and 4 seconds after reaching its target intensity.
Connect the Vector2 node to the Perform Duration input of the Expression node.

To create a Vector2 node, right-click on the empty area of the graph, and select Value > Vector2 from the context menu.

Specify the value range by defining a low and high value (in seconds) in the node.
For example, if the range is 2 to 4 seconds, the expression will hold for a randomly chosen duration between 2 and 4 seconds after reaching its target intensity.
Connect the Vector2 node to the Perform Duration input of the Expression node.
Defines the range for facial intensity changes when switching expressions.
It accepts values input from the Vector2 node.

To create a Vector2 node, right-click on the empty area of the graph, and select Value > Vector2 from the context menu.

Specify the value range by defining a low and high value (in percentages) in the node.
For example, if the range is 20% to 100%, the system will randomly select a new target intensity within this range when changing an expression. If the selected value is 75%, the next expression transition will aim for 75% intensity based on the given speed settings.
Connect the Vector2 node to the Strength input of the Expression node.

To create a Vector2 node, right-click on the empty area of the graph, and select Value > Vector2 from the context menu.

Specify the value range by defining a low and high value (in percentages) in the node.
For example, if the range is 20% to 100%, the system will randomly select a new target intensity within this range when changing an expression. If the selected value is 75%, the next expression transition will aim for 75% intensity based on the given speed settings.
Connect the Vector2 node to the Strength input of the Expression node.
Defines the transition time required to reach the target facial expression intensity.
It accepts values input from the Vector2 node.

To create a Vector2 node, right-click on the empty area of the graph, and select Value > Vector2 from the context menu.

Specify the value range by defining a low and high value (in seconds) in the node.
For example, if the range is 70% to 100%, each blink will randomly select a value within 70 to 100 as the total coverage of the eyes during blinking. If the range is 2 to 4 seconds, the transition from the previous expression intensity to the new target intensity will take a randomly selected duration between 2 and 4 seconds.
Connect the Vector2 node to the Speed input of the Expression node.

To create a Vector2 node, right-click on the empty area of the graph, and select Value > Vector2 from the context menu.

Specify the value range by defining a low and high value (in seconds) in the node.
For example, if the range is 70% to 100%, each blink will randomly select a value within 70 to 100 as the total coverage of the eyes during blinking. If the range is 2 to 4 seconds, the transition from the previous expression intensity to the new target intensity will take a randomly selected duration between 2 and 4 seconds.
Connect the Vector2 node to the Speed input of the Expression node.
Defines the transition behavior when animating from the current value to a target value to maintain smooth and dynamic transitions between expressions.
It accepts a preset animation curve from the Preset Curve node.

To create a Preset Curve node, right-click on the empty area of the graph, and select Value > Curve > Preset Curve from the context menu.

Select this node, and choose a curve type from the drop-down list in the Parameters section.

For more information on the different curve types, see easing styles.

Connect the Preset Curve node to the Animation Curve input of the Expression node.

To create a Preset Curve node, right-click on the empty area of the graph, and select Value > Curve > Preset Curve from the context menu.

Select this node, and choose a curve type from the drop-down list in the Parameters section.

For more information on the different curve types, see easing styles.

Connect the Preset Curve node to the Animation Curve input of the Expression node.
Defines the morph composition for expressions at full intensity (Strength = 100%).
It accepts values input from the Morph Key node.

To create a Morph Key node, right-click on the empty area of the graph, and select Facial Animation > Morph Key > Morph Key from the context menu.

Select this node, and modify the available morph sliders from the currently selected character in the Parameters section. Then connect it to the Morph Key input of the Expression node.

* Supports importing / exporting Morph set as .json files for data transfer and storage. Before importing a file, ensure that it originates from the same character, as mismatched Morph Keys may cause visual issues.
* Mouth Morph Keys take precedence over Expression Morph Keys in the animation hierarchy.
Connect the Morph Key node to the Morph Key input of the Expression node.

To create a Morph Key node, right-click on the empty area of the graph, and select Facial Animation > Morph Key > Morph Key from the context menu.

Select this node, and modify the available morph sliders from the currently selected character in the Parameters section. Then connect it to the Morph Key input of the Expression node.

* Supports importing / exporting Morph set as .json files for data transfer and storage. Before importing a file, ensure that it originates from the same character, as mismatched Morph Keys may cause visual issues.
* Mouth Morph Keys take precedence over Expression Morph Keys in the animation hierarchy.
Connect the Morph Key node to the Morph Key input of the Expression node.
In additional to the values input from Vector2, you can use Lerp to design the range of random animations.
The Lerp (linear Interpolate) is a mathematical operation node to find an interpolated value between two inputs.
For example, create a 2 Stage Lerp node from the context menu Value > Lerp > 2 Stage Lerp to control the intensity ranges of expression.

The 2 Stage Lerp node provides 3 input ports: min, mid and max for three different ranges, input from the Float or Vector2 node.

It requires a parameter node to control the weight for output. You can create one by right-clicking on the empty area of the graph, and selecting Parameter > Create New from the context menu.

Name the new parameter and choose the float type. Click on OK.

Select this node to set a value ranging from 0 to 1 in the Variables section, to perform linear interpolation between the values from min to max. Once executed, the interpolated result is computed and sent to the connected nodes.

For example, create a 2 Stage Lerp node from the context menu Value > Lerp > 2 Stage Lerp to control the intensity ranges of expression.

The 2 Stage Lerp node provides 3 input ports: min, mid and max for three different ranges, input from the Float or Vector2 node.

It requires a parameter node to control the weight for output. You can create one by right-clicking on the empty area of the graph, and selecting Parameter > Create New from the context menu.

Name the new parameter and choose the float type. Click on OK.

Select this node to set a value ranging from 0 to 1 in the Variables section, to perform linear interpolation between the values from min to max. Once executed, the interpolated result is computed and sent to the connected nodes.

- If the value is set to 0, the result equals min.
- If the value is set to 0.5, the result equals mid.
- If the value is set to 1, the result equals max.
Make sure that the data are properly input in the Value nodes, before linking Expression node to the root Auto Facial Animation node.