Overlay CGI eye on Real Face. Best Way?

Hi All

I want to create a scene where an eye on a real person is changed over time. In my case I want to have cataracts disappear. But I want to do it on a real persons face (video), panning around the face.

It sounds really simple, but I don’t know how to go about it, so that I get cinema quality results.

Please what is the best way to do this ?

All ideas, input, suggestions, and comments greatly appreciated.


There are different ways to approach it, as a purely 2d composite, some kind of 2.5D mix or 3D.

For 2D way, track the eyes (I’d suggest track pupil because it is the most prominent feature and easiest to follow) and then matchmove and warp the cataract effect on top of eye surface. For deformations use warps: gridwarp, spline based warp, whichever feels comfortable.

For 2.5D way, do a 3d track of head using some suitable tool, deduce eye locations in screen space from that track and then follow up as in 2D way.

For full 3D, do head matchmove, animate and render 3D eyes and comp on top. The hard part here is probably animating eye rotations, it will be pretty tricky to get a 3d solve for eyes automatically, I’d rather hope for good head track and then hand-animate eyes on top of that.

How big are the eyes in shot? Is it a closeup or wide shot? If eyes are small, you will have more trouble tracking them, but as an upside, any slippage is also less visible. Closeups are easier to track but also make mistakes very easy to see. If your cataract starts to slide on eye surface you loose the credibility of effect.

If you are a beginner, I’d probably suggest the easy hard way: manually animate your eyes over your video in 3D scene. It will teach you a lot about animation, why automatic tracking is useful, why it fails (if you can’t follow something by eye (pun intended), how on earth shoud autotracker find it?) and so on.


Thanks I think I get it:

  1. Film the face with markers on it.

  2. Camera track the background.

  3. Object track the face

  4. Add tracking object (probably sphere with two sphere eyeballs)

  5. Manually track the sphere eyeballs to match the real eyes

  6. Create two texture lenses and parent them to the sphere eyeballs

  7. Move the tracking object and sphere eyeballs to a hidden layer leaving only the texture lenses.

  8. Add texture , transparency etc. to the texture lenses.

  9. Composit the lenses on top of the movie.

  10. Remove tracking dots from face.

  11. Finished.

Basically yes, something like this could work. You don’t need camera track if you want to simplify your setup and lighting for cataract effect has no real effect. Only reason to separate cam and object track is if you want scene lighting to interact with moving object. If it is not relevant, you can basically just cam-track the head. Technically (for matchmove solver) it makes no difference if scene is moving and objects are still or vice versa.

Thanks. I skipped the camera track and only used object track. I managed to get a test volunteer to stick black dots over her face with pvc glue. I tracked a box to her face, added two eye spheres parented to the box. Put a lens on the spheres and constrained them so they can only move on the surface of the spheres. And like you said, I manually tracked the lense, which is probably the only way, as I discovered that there is only one frame between eye positions when they move. Here is a picture of my setup and my tracking test on one eye.

Test video HERE

My model wanted green eyes not cataracts. So anyway here is the result.

I did one eye.

The hardest part was removing the tracking dots. I did that in Davinci Resolve (the free version).

1 Like