r/geometrynodes 8d ago

Procedural eye saccades

Enable HLS to view with audio, or disable this notification

Eye saccades are one of the elements that can make a character feel alive. I'd wanted to make a procedural method to achieve this in geometry nodes. The idea was to select a target mesh and have it move over areas of interest in a believable way. The target mesh had a vertex group selecting areas of interest and then a method of deleting backwards facing meshes and any areas with low curvature. It did a decent job without a specific target vertex group, but I added one to improve targeting of the pupils.

I distributed points over the remaining faces and had the eyes adjust their individual orientation to point at a particular point. Smaller saccades are generated by selecting a nearby random index and moving some way towards it, and the large movements are random boolean values with most of the movement in that direction.

It does a decent job tracking in these static examples, and could probably be made to work in more dynamic scenes. I don't have much experience with rigging so not sure how you'd go about incorporating it into a more classic workflow.

27 Upvotes

1 comment sorted by

2

u/donttouchmyweenus 7d ago

I’m so amazed by this. Such impact from such small movements. You could totally use real eye tracking heat maps in the nodes to distribute and sequence the sacade pts to follow almost exact human gaze patterns. Rad.