Auto Facial Animation - Brow
The Brow node corresponds to the "Brow Raise" and "Brow Drop" morphs from the default CC3+ facial morphs.
It also controls the linked "Eyelid Wide" and "Eyelid Squint" morphs for synchronized eye movements.
To create a Brow node, right-click on the empty area of the graph, and select Facial Animation > Facial Block > Brow from the context menu.

You can adjust the raise strength, drop strength, reset duration, perform duration, speed, animation curve, outer brow ratio, squint ratio, and wide-eye ratio via the Value nodes to control the animation results.

Defines the strength value for each brow raise action.
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 (by Morph strength) in the node.
For example, if the range is 25 to 50, each brow raise animation will randomly pick a value between 25 and 50.
Connect the Vector2 node to the Raise Strength input of the Brow 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 (by Morph strength) in the node.
For example, if the range is 25 to 50, each brow raise animation will randomly pick a value between 25 and 50.
Connect the Vector2 node to the Raise Strength input of the Brow node.
Defines the strength value for each brow drop action.
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 (by morph strength) in the node.
For example, if the range is 5 to 30, each brow drop animation will randomly pick a value between 5 and 30.
Connect the Vector2 node to the Drop Strength input of the Brow 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 (by morph strength) in the node.
For example, if the range is 5 to 30, each brow drop animation will randomly pick a value between 5 and 30.
Connect the Vector2 node to the Drop Strength input of the Brow node.
Defines the time required for brows to reset to zero strength or transition to the target strength.
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) for the node.
For example, if the range is 2 to 4 seconds, each brow animation will randomly pick a transition duration between 2 and 4 seconds.
Connect the Vector2 node to the Speed input of the Brow 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) for the node.
For example, if the range is 2 to 4 seconds, each brow animation will randomly pick a transition duration between 2 and 4 seconds.
Connect the Vector2 node to the Speed input of the Brow node.
Defines the time the brows remain at zero strength after resetting.
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, each time the brows reset, they will remain at zero intensity for a randomly chosen duration within 2 to 4 seconds.
Connect the Vector2 node to the Reset Duration input of the Brow 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, each time the brows reset, they will remain at zero intensity for a randomly chosen duration within 2 to 4 seconds.
Connect the Vector2 node to the Reset Duration input of the Brow node.
Defines the duration the brows remain at the target strength before transitioning again.
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, each time the brows reach their target intensity, they will hold that pose for a randomly chosen duration within 2 to 4 seconds.
Connect the Vector2 node to the Perform Duration input of the Brow 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, each time the brows reach their target intensity, they will hold that pose for a randomly chosen duration within 2 to 4 seconds.
Connect the Vector2 node to the Perform Duration input of the Brow node.
Defines the transition behavior when animating from the current value to a target value to ensures that animation dynamics remain smooth and adaptive based on the curve settings.
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 information on the different curve types, see easing styles.

Connect the Preset Curve node to the Animation Curve input of the Brow 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 information on the different curve types, see easing styles.

Connect the Preset Curve node to the Animation Curve input of the Brow node.
Defines the strength percentage of the outer brow relative to the inner brow when raising eyebrows.
It accepts a custom animation curve from the Curve node.
The x-axis stands for the strength of inner brow, while the y-axis stands for the strength of outer brow.

* This setting only applies to "Brow Raise" actions, as for the CC3+ character models, "Brow Drop" does not differentiate between inner and outer brows.
To create a Curve node, right-click on the empty area of the graph, and select Value > Curve > Curve from the context menu.

Select this node, and drag the Bezier curve to define X and Y values in the Parameters section.

For example, if the X set to 1 and Y set to 0.75, and when the inner brow strength reaches 70, the outer brow will raise with 52.5 intensity.
Connect the Curve node to the Outer Brow Ratio input of the Brow node.

* This setting only applies to "Brow Raise" actions, as for the CC3+ character models, "Brow Drop" does not differentiate between inner and outer brows.
To create a Curve node, right-click on the empty area of the graph, and select Value > Curve > Curve from the context menu.

Select this node, and drag the Bezier curve to define X and Y values in the Parameters section.

For example, if the X set to 1 and Y set to 0.75, and when the inner brow strength reaches 70, the outer brow will raise with 52.5 intensity.
Connect the Curve node to the Outer Brow Ratio input of the Brow node.
Defines the ratio of eyelid widening when the eyebrows raise.
It accepts values input from the Float node.

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

Set a numeric value (in percentages) with up to two decimal places in precision.
For example, if set to 0.5, when the eyebrows raise to 100 strength, the eyelids will widen to 50 strength.
Connect the Float node to the Wide-Eye Ratio input of the Brow node.

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

Set a numeric value (in percentages) with up to two decimal places in precision.
For example, if set to 0.5, when the eyebrows raise to 100 strength, the eyelids will widen to 50 strength.
Connect the Float node to the Wide-Eye Ratio input of the Brow node.
Defines the ratio of eyelid squinting when the eyebrows lower.
It accepts values input from the Float node.

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

Set a numeric value (in percentages) with up to two decimal places in the node.
For example, if set to 0.5, when the eyebrows lower to 100 strength, the eyelids will squint to 50 strength.
Connect the Float node to the Squint Ratio input of the Brow node.

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

Set a numeric value (in percentages) with up to two decimal places in the node.
For example, if set to 0.5, when the eyebrows lower to 100 strength, the eyelids will squint to 50 strength.
Connect the Float node to the Squint Ratio input of the Brow 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 raise strength of brow.

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 raise strength of brow.

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 the Brow node to the root Auto Facial Animation node.