I am using Blender to make a character with oval-shaped eyes for a game in Unity and have tried a couple of different techniques for making the pupils move along the surface so that the eyes do not pop out of the sockets when they rotate, however nothing has worked so far.
First, I tried using a lattice to stretch the eye with a damped track constraint on the eye’s bone so that it rotated without losing it’s oblong shape. Basically this effect.
Next, I tried using a decal attached to an empty in Blender so that it would be like animating a texture with a controlled location over the surface of the eye. Like this tutorial here.
However, when I import my model into Unity using either of these techniques it seems that Unity doesn’t work with either of these methods. So what is the typical way to make a character in Unity with oval-shaped eyes? Or is Unity just not capable of doing this?
That sounds like what I'm looking for. I'm still on bit confused on how to implement this with a character's animations though. So do you have to control the object being looked at in Unity? Or can it follow a target animated in another 3D program?
– SBullSo you center an empty GameObject on each eye in Unity and code transform.LookAt on the empty. Then do you mean you set it so that the texture follows the rotation of the empty but appears on the surface of the eye? I'm not quite sure how to do that if that is what you mean. I should mention I'm still fairly new to Unity. And then if you have a bone animated in 3DSMax/Blender as a target, how would you tell an object to follow that position when it's in Unity?
– SBullI just realized you can just drop the GameObject onto the bone in the armature list. But I'm still not exactly sure what the script should look like so that the texture on the eye follows the GameObject's rotation. Any tips for that?
– SBull