*Rigify* Character Automatically Look At *Active* Camera?

Hi.

Is there a way to make a rigged character automatically face whichever camera is the active one? Without me having to give a look-at-this-bone a keyframe?

E.g. at frame 1, Camera A is the active camera.
At frame 200, Camera B becomes the active camera which gets rendered.
If the character is always looking at a look-at-this-bone bone, this bone automatically moves to Camera A at frame 1, and then it automatically moves to Camera B at frame 200.

So I was able to do this with my own rig that I made long ago, thanks to this post:

I.e. this tutorial:

But it doesn’t work with Rigify.
tldr: i can get the eye bone to move in the correct direction,
but I can’t get it to go to the camera’s exact location.
.
.
.
Details:
To fix the eye bone moving in the correct direction,
I used camera.location.z for the y-driver’s expression and vice versa.

To try and fix the eye bone’s location,
I tried adding or subtracting from the driver expressions:

e.g. Y driver’s expression = var-3. Closer, but still far off
expression = var-2. Close, but not exact…
expression = var-1.934. There we go!..But not really!

Because when I move the camera, the eye bone drifts off further and further to somewhere else.
i.e the eye bone is not offset by a constant distance.
And then the character’s not looking directly at the camera.
Do I have to multiply var by some number? if so, how can I calculate this number?

I noticed that the eye bone moves and rotates when the root bone moves or rotates. Maybe that has something to do with it?

Just select your camera then select “eye target” bone, press ctrl+shift+c and choose copy location constraint. Now eyes of your character will look at camera.

I’m looking for a way so that it happens automatically. I edited my post mentioning this now.

1 Like