Eye pupil to be perfect circle?

Hi all,

I am onto my eye for my character. I have selected all verts around the eye, filled in and made sure the face was a circle. From there I did some inserts to bring into centre.

I have then created a white material for the iris and selected the inner for the black pupils. It is a stylised character, so at moment basic black and white eyes. The eye is Smooth in shading also.

So can anyone please let me know why my characters pupil isn’t the perfect round flat circle? It shows the straight lines around. I have tried loop tool for circle but it’s the same. Want it to be a perfect circle… Any help would be great.

Forget the outer eye (eye lid) showing edges. That is fine as going for that look…

It is the actual eye pupil the isn’t becoming a perfect round circle? Even tried the uv sphere and that isn’t perfect round with pupil?

You just need more geometry. The easiest thing to do would be to add a subsurf modifier.

3 Likes

The thing is, I have the eye connected to the face… Well it is parented to the face. It matches the faces verts. If I add a surf mod to it, it then disconnects from the face, which you can see gaps around the edges where eye isn’t connecting with the face…

Can you show us a little more of your character, so we can see it in context?

You can save screenshots directly in Blender too, so no need to take photos of the screen. (Or print screen works too)

But if adding a subsurf leaves a gap, you could just scale the eye a little to mitigate for that.

I think what I’m trying to say is that the eye is connected to the face (verts of eyes connected to the verts of eye lids). Trying to make the model very clean.

I suppose I could make the inside of the eye, then put the eye itself in side that, thus making the pupil bigger then the face (going inside the face model around the rim).

Its not a eye ball, more a flat surface eye.

As a reference, I am going for the style look of little devil inside game character. I have extruded in the eye lids and filled for a eye face mesh, made this a circle with loop tool and connected to face verts. Separated and parented them together also. Just not getting a smooth round pupil.

I’d use a spherical gradient texture with a constant falloff (with color ramp) to give it a hard edge.

2 Likes

Using a texture or higher polycount (inner circle connected with edge bridge)?
For the first you can make pupil movements via UV animation like in the shown pic… Becasue you connected the eye with the face you can’t roll them…

2 Likes

Thanks. I think it is best I close of the face mesh with behind the eye, then have the “flat” eye be seperate model and parent it then, so I can roll the eye, or do a pupil movement with uv animation.

Do you know how they would have done it in the picture in my last comment? Looks like a flat eye extruded into the face. Don’t see it being a uv sphere mesh and looks like a pupil texture movement.

You can also parent a texture to an object. That will be much easier than UV animation.

1 Like

If I understand your meaning correctly, the white part of the eye is “shrinking” away from the flesh of the eyelid when you add the subsurf mod. To hold that edge in place, you can add an extra edge loop and slide it right out or you need to add a ‘crease’. Select that whole outer edge and you can either right-click and ‘add crease’, or press SHIFT+E then drag your mouse away from the centre. In the top-left of your screen, you should see the word, “crease” appear and a number. Drag your mouse all the way to 1.00 and your edge will become purple. Adding creases basically “defies” the subsurf modifier.


I just made a very quick example here. You can see that the pupil area is perfectly round and in edit mode you may be able to see that the outer edge is highlighted purple. I hope this answers your question, if that even was your question! :laughing:

1 Like

The “original” eyes could also be something like this… having a separate material for the eye using any texture manipulation you can think of:

1 Like

Here’s a small example of what I mentioned earlier.
Eyes.blend (749.9 KB)
Eyes
The ability to look around and change pupil size at the same time with one object.

3 Likes

Morning!

I am going to check this out and trial it later today. Wow this is great and can’t wait to give it a test out on how to do this… @Okidoki thank you for the examples! @BlenderTimer Wow your example is awesome and will try this!! That is basically what I am going for. Want it to be like a flat eye like the model example I provided as inspiration. Might need your help on how you did that!! Looks amazing that it works!! @PMDesigns also going to try your example as yes that is what I meant!

You are all soo helpful! Very thankful :slight_smile:

Will give this a try later on.

Just seen you have attached the model example of the eye movement!!! Wow thank you so much! Going to check this out on how it was achieved.

Hi @BlenderTimer

I really like your Pupils and trying to figure out how you did this! ( I am a newbie to Blender ) so alot to learn with the system of how it all works.

I have attached a copy of my pupil and mirrored it to the cube.

As you can see I have tried to parent your Eye pupil track to the eye and it doesn’t show?? I have had a play around and look into it and just can’t seem to figure out why the black pupil isn’t showing on the eye when I parent it to it? I am obviously doing something very silly.

Please could you see what I have done?

Can this be done by completing it all on one eye and then mirroring it?

I have attached the .blend also. This shows the flat eye flat mesh I am trying to get a black pupil onto.

Eyes-Pupil-Track-Left-Notworking.blend (951.3 KB)

Biggest problem is that your eye doesn’t have the eye material. However there are multiple other problems with your blend file that are causing this to not work.

Here’s a short explanation of how the system works.
There’s a small mesh which is invisible to the camera, it’s purpose is to act as the origin point of a spherical eye, so kinda where the pupil should rotate around. It’s origin point should be about where the center of the eye would be (if it were a sphere). Doesn’t have to be exact, just somewhere close.
Screenshot from 2022-06-23 20-58-33
The empty next to the eye is where the pupil texture is placed/parented. This pupil empty is parented to the small mesh acting as the center of the eye. It has one object constraint which is copying the scale of the main “look” object.
Screenshot from 2022-06-23 21-03-45
We then have the eye origin object tracking to the left/right “look” object (left or right depending on which eye it’s for).
Screenshot from 2022-06-23 21-05-53
Next we have the left/right “look” object parented to the main “look” object.
Screenshot from 2022-06-23 21-08-12
For this system there has to be a separate material for each eye. I’m sure this can be done in the same material but this was only designed as a quick demo, not a finished product. The reason we need two materials is so that we can parent each pupil texture to the corresponding pupil empty. This is done via a texture coordinate node.
Screenshot from 2022-06-23 21-15-21

That’s the basics.
If you’re having trouble getting the object constraints to work, I’d check out some tutorials on them. They look complicated at first but they’re actually quite simple (and fun).

1 Like

Hi there. I think somewhere in this thread, you mentioned that you wanted to make flat eyes. If that’s the case, why not just make shapekeys for the eyes.


Just add a face in the “eyeholes” (unless you want to only add subdiv mod to the eyes, in which case you’ll need to make them separate and sit them just inside the eyeholes)…

Add the subdivision surface modifier to get the perfectly round pupils…

And then just do the shapekeys for look left, right, up down. This way, you can do shapekeys on just one eye and then mirror the shapekey across the topology if you wanted the option to only control one eye.

2 Likes

Hi All,

@PMDesigns It worked great with making the pupils round with doing a Crease on the outer faces of the eye to joint to the face…Thank you so much :slight_smile:

@BlenderTimer our support and example was great but yes…I am going to need to watch Tutorials on how to get this completed haha! Learning new things on blender is amazing. I know how to model and animate a model, however when it comes to Blinking, moving pupils/textures/ moving mouth and so on. I need to learn more.

@PMDesigns Thank you for your detailed reply. I have made the eyes in the face abit and it is still Joined to the face. I go back and forth on if I want it seperated and parented to the face.

I have made a round flat pupil on the eye and it is perfectly round to the eyeball thanks to all of you on this thread. I have also sub surfed the eye 2 times to make it look right, however it is now the movement of the eyes. I want the eyes to move (blink is another story, which I will look at tutorials online). Making the eyes move normally when in game…How can I do this?

You mentioned Shape Keys…I think I am going to have to go and watch tutorials as I go to Shape keys and don’t know where to start… :see_no_evil: :see_no_evil: :see_no_evil:

A basic tutorial on shapekeys, specifically, eyes closing shapekeys.

2 Likes