Skip to content
/a/ FaceCue Performance Studio

Working With Your Animation

What happens when FaceCue and your animation want the same character. What you should expect to see, what FaceCue promises, and the few things you can tune.

The short version: your animation keeps playing, and FaceCue performs on top of it. A head that an animation turns still turns. A look, a breath or a nod is added to that motion, not written over it, and when FaceCue is done with a bone it gives it back.

None of this needs setting up. It is how the character behaves the moment the wizard is finished.

Where FaceCue Sits

FaceCue makes its decisions before Unity's animator runs and writes the face after it. That order is the whole basis of the relationship.

Every frame, FaceCue takes the pose the animator has just produced as its starting point and puts its own motion on top as an offset from that pose. The next frame it takes a fresh copy of the animator's pose and does it again. So an animation that is moving a bone goes on moving it underneath whatever FaceCue is adding, and nothing FaceCue did last frame is mistaken for part of the animation this frame.

That is also why FaceCue never fights back. The moment your animation poses a bone, FaceCue adopts that pose as the new base and carries on from there.

Bones: Holding and Handing Back

FaceCue moves bones for three things: a look, a breath, and small head motion. On a character that is also playing an animation, this is what you will see.

  • Your animation never stops. A head the animation is turning keeps turning. The look or the breath is added on top of that motion, not put in its place.
  • While a look lasts, the head holds steady. There is no flicker between the animation's pose and FaceCue's, even on animations that only update the head every few frames.
  • When the look ends, the head eases back. It settles into whatever the animation is doing over a fraction of a second. It does not snap there.
  • A momentary glance away does not cause a back-and-forth. If the character's attention drops for an instant and returns, the head stays where it is instead of releasing and grabbing again.
  • Nothing gets stuck. If whatever was moving a bone is interrupted, the bone goes back to the animation on its own. A paused or frozen character keeps its pose until it is running again.
  • Turning a driver off is immediate. Disable the Eyes driver and the head is back on the animation at once.

What This Looks Like

An animation turns the head to the left. Partway through, the character is told to look at something on the right.

The head keeps turning left underneath while the look draws it towards the target, so the result is the animation's turn with the look added, not one or the other. When the look ends, the head eases back onto the animation over a fraction of a second and continues from wherever the animation has got to.

Smoothing the Animation Underneath

Animation often reaches a bone in small steps, and anything FaceCue adds on top of a stepping pose would step with it.

So FaceCue smooths the pose it builds on. The result glides where the animation stepped, and FaceCue's motion rides on the glide.

Smoothing has to know when not to. A teleport, a camera cut or a genuinely fast animation must land instantly, not smear across the smoothing window, so any jump in the animation beyond a threshold passes straight through unsmoothed.

Blendshapes

Bones are shared. Blendshapes, in practice, are not, and the rule for them is simpler.

FaceCue writes the shapes it is driving, after the animator, with its own values. A shape FaceCue is not driving is never touched. When a driver stops using a shape it puts it back to rest once and then leaves it alone.

What that means for an animation that keys a facial shape FaceCue also drives: on the frames FaceCue has something to say about it, FaceCue's value is what shows. FaceCue does not read what the animation set and add to it.

So if your animation carries part of the face, say the brows, the clean answer is to stop FaceCue driving that part. The Emphasis driver's Brow switch is there for exactly this, and a driver can be kept off a whole mesh through its Renderer Groups.

Animated Eyes

Eyes get one extra rule of their own, because they are the one place where an animation and the character's own attention can want different things at the same moment.

The Eyes driver has a section called Animated Eyes with one choice, When Animated:

  • Step Aside, the default, hands the eyes over while an animation is moving them, and picks the character's own gaze back up once it stops. An authored glance plays as authored. Keep Small Movements, alongside it, keeps the tiny darts and drift riding on top of the animated pose so the eyes still look alive during the glance.
  • Keep Looking keeps the character's own gaze running whatever the animation does. It is what you want if the eyes are animated but you would still rather have the character looking where it decides to look.

FaceCue watches for the eyes being moved by an animation, not merely written by one, so an animation that happens to hold the eye bones still does not take them.

A character that drives its eyes through look shapes has nothing to step aside for, because its eye bones carry FaceCue's own gaze and no animation's. The section says so in place.

IK Compensation: Hands That Stay Where You Put Them

A look that turns the body turns the arm with it, and the arm drags a placed hand off its mark.

FaceCue can undo that. It captures where each hand was before its own motion touched the body, then after the frame is composed it brings the hand back there. It undoes only its own drag. Your animation, root motion and any other IK on the arm are left exactly as they were.

It is off by default. Switching it on fills the arms in from a humanoid rig for you, each hand carries its own weight for how firmly it is held, and a hand you would rather leave to another system, such as Animation Rigging, can be excluded on its own.

Still Early

This one has had less testing than the rest of FaceCue. It works, and it stays off until you switch it on, but check what it does to a hand on your own rig before you rely on it in a scene. The inspector says the same under IK Compensation, beside its Mode switch.

Freezing and Thawing

A face that freezes, because nobody can see it or because you froze it, stops everything FaceCue contributes. Nothing is simulated and nothing is written, so the character costs essentially nothing. What it does not do is snap.

Over a short blend it fades onto the body's own pose while it keeps running, then stops altogether. From then on your animation, and anything else, has the character to itself. On the way back it fades in again from wherever the body left the head, so a body the animator kept moving while the face was frozen is picked up, not snapped to.

How long the blend takes is Freeze Blend, on the clock page: One Clock. What triggers a freeze, visibility and distance, is set out there too.

If your animator's culling mode is set to always animate, FaceCue's visibility check can be pointed at the animator and the face keeps going too. That is set in the brain's Performance section, covered in Performance.

Nothing to Set for Update Modes

An animator set to update on the physics step evaluates at a different rate from the display, and on a frame where no physics step ran the rig still carries the previous frame's result. FaceCue detects that mode and feeds itself a pose that is consistent from frame to frame, so there is nothing to change on your side. Set the animator up the way your project needs and the face follows.

What You Can Tune

Everything above is on by default and works without a visit. When a character needs adjusting, the controls live in one place on the brain, under Animator Coexistence, in this order.

Control What it changes
Assert Bone Ownership The hold itself. Leave it on. It exists to be switched off only to compare against the raw per-frame behaviour
Ownership
Handback Time How long a released bone takes to glide back to the animation. Shorter feels more responsive, longer hides sparse animation steps during the return
Hold Safety Timeout The ceiling on how long an interrupted driver can keep a bone. Normally never reached. The inspector keeps it above Release Debounce plus Handback Time
Timeout On Output Clock Whether that timeout counts on the face's own clock, so a paused or frozen character keeps its pose, or in real time, so a long enough gap hands the bone back
Release Debounce How long a look waits after engagement drops before letting go. It belongs to the Eyes driver and is mirrored here
Smoothing
Base Smoothing Smoothing of the animation pose FaceCue builds on. Leave it on
Smoothing Response How tightly the smoothing follows the animation. Shorter follows fast motion more closely, longer smooths harder but lags
Snap Threshold How big a jump in the animation passes through unsmoothed, in degrees

The eye rule is on the Eyes driver, under Animated Eyes: When Animated and Keep Small Movements.

The freeze blend is on the brain under Facial Timestep, in its Clock Rate section, as Freeze Blend (ms). It is covered with the rates on One Clock.

Start From the Symptom

Most characters never need any of this. If one does, the symptom says where to look.

A head that flickers while looking is a hold that has been switched off. A look that ends with a jump wants a longer Handback Time. A base that steps under held motion wants Base Smoothing, and one that smears through a camera cut wants a lower Snap Threshold. An authored glance the character keeps overriding wants Step Aside.