human-face

Eyes and eyelashes for a character builder body, and a gaze that looks at something.

A pack's eyes are not a separate model fitted into the sockets: MakeHuman's base mesh carries the eyeballs and eyelash cards as helper vertices, which every shape target moves with the face, and the pack's eyes and eyelashes PARTS are faces (and the eyes' UVs) over those vertices. So any body has eyes that fit it, with nothing to fit.

humanFace(scene, built, rig, pack, positions, parts) hangs them on the skeleton's head: each eye on its own pivot at the eyeball's centre (MakeHuman's eye joint), so turning the pivot turns the eye. eyeTexture draws the eye in code (sclera, a striated iris of any colour from irisColor, the pupil) on MakeHuman's eye UV layout, so the iris is a dial and no image is shipped.

eyeGaze(scene, face, target) points both eyes at a world point every frame, after the clip has posed the head: they converge on it, stop at maxDeg from straight ahead, and make small saccades, the jumps eyes really make (they never glide), so a held gaze looks alive.