Making painted eyes look and move like eyes
Fit the eye surface, separate painted layers, register the lids and measure how far a reconstructed character can look.
Part 4 of 9From images to expressive 3D charactersSeries contents
- Building an expressive Giant Aperture mascot
- Turning reference pictures into a useful mesh
- Giving a mesh meaningful part labels
- Making painted eyes look and move like eyes
- Finding an ear and making it bend
- Turning a mouth line into an opening
- Fitting movement to the body in front of us
- Composing expressions and character behaviour
- Gaze, breathing and character behaviour
A painted eye is several jobs in one picture
An eye painted onto a mesh can look right in one frame and still be unable to look around. Rotating the whole patch would move the outline with the pupil. Sliding the entire texture would drag the surrounding skin. Adding a new reflection without removing the painted one can create two competing catchlights.
The method separates the parts that need to behave differently. The iris and pupil carry gaze. The surrounding opening and registered painted layers keep the character’s drawing in place. Fitted surface shading adds depth and a live highlight.
The starting point is the current textured mesh and its eye labels. A fitted convex cap supplies a local eye surface and frame; it is not a stock eyeball placed at coordinates copied from another character.
Fit, sample and package the eye
The fit measures a sphere and the eye boundary around it. Rays sample the character’s paint through its texture coordinates, producing an eye-local picture. The package measures iris, pupil and sclera—the visible white of the eye—and removes the painted catchlight before constructing its live response.
A polar iris representation lays the ring out by angle and distance from the pupil. That makes its radial structure available to the shader without asking the body’s unrelated texture layout to act as an eye coordinate system.
This work reached the rig export path: stage 45 calls the eye package and writes the fitted eye primitives with a companion record for the viewer. That establishes an integration point. It does not make every research board an image of every current exported character.
Keep lids attached to the opening
Separate rigid lid shells exposed a different problem: a plausible curved surface can float above the face or meet the wrong outline. Closing an eye needs a registered boundary, not just something shaped like a lid.
The later lid-mask approach uses the painted eye surface and fitted frame. It derives an opening, keeps a surrounding skin band and closes between the inner and outer corners. The registration must agree with the eye layers or a blink reveals clipping, a white wedge or a second outline.
Symmetry is useful only when it preserves the actual eye. Copying the weaker eye to the stronger one can reproduce a broken fragment on both sides. The recorded eye work compares painted coverage before selecting a mirroring source; the measured plane keeps that transfer registered to the head.
Measure how far this eye can look
A large painted pupil in a small opening has less room to move than a small pupil in broad sclera. The package derives gaze limits from the current margin and the point where its highlight would leave the iris. Each eye and direction can have a different limit.
Clamping to that measured range protects the drawing from being pulled apart. It also gives art direction a meaningful choice: change the eye design, accept a smaller movement, or improve the source data. Increasing a global gaze slider cannot supply paint that is missing.
The package is designed for paired painted eyes on suitable convex caps. Missing texture, unsuitable fits and implausible measurements have named refusal paths. Mechanical irises and the procedural jelly eye use different construction. A common gaze control does not erase those differences.
Judge the eye on the face
A clean iris close-up can pass while the character still looks wrong. The outline, pupil scale, paired alignment and attached lids need front and angled views of the whole face. Neutral, sideways gaze and closure should be compared at the same scale.
The retained controls are small but influential: gaze direction, pupil treatment and lid response. The fitting and export work exists to make those decisions usable without rebuilding an eye by hand for every body. The diagnostic images remain visible because the failures—floating edges, duplicated highlights and missing painted coverage—explain what the method must preserve.