How to animate textures without deforming the object?

Hello everyone!
I’m unsure if this is the right category to ask this but
I’m looking to start animating my models and I knew I’d be faced with this problem eventually haha
So basically, the way my characters are modeled prevents them from having perfectly round spheres as their eyes, therefor, any attempt at rotating the eyes will cause them to pop out of their heads.

well that doesn’t look so ba-


Perfectly NOT round eyes
(They’re mirrored btw, but that can be changed if necessary)

I’m not sure of how I could fix this, I was thinking of having something that could just… move the texture without deforming the eye??? But I have no idea if such a thing is even possible.
I’m still kind of a n00b with Blender, so if anyone has any ideas, then it would be greatly appreciated!

If your doing this for film, you can always use a lattice.eye_problem.blend (745 KB)