Help making a 3D mesh of a 2D eye

Recently, I’ve been working on a setup for the eye(s) of the model I’ve working on, the last major task that needs to be completed (barring the myriad of other minor rigging issues that still need to be worked out) before the model is finally ready for animation.

The eye(s) are supposed to be 2D, consisting of three components that would be layered one over the other: the sclera, the pupils, and lastly, the eyelid(s) which is suppose to cover roughly 30%-40% of the upper area of the eye(s).

My initial idea was that the three components would consist of overlapping image textures, with the sclera being painted onto the main body. However, after experimenting with the Shrinkwrap modifier for a while, I realized that it would require a fare of number of vertices in order to make the eyelid texture object fit properly over the sclera. Given the number of necessary vertices needed, I thought I may as well make all the parts of the eye(s) into 3D mesh objects instead of texture images. This way I could then more easily animate the eyelid(s) via Shape Keys rather than having to hand draw various frames of animation for the eyelid(s).

Unfortunately, my attempts to try and create a 3D mesh object based on the sclera currently painted onto the main body has thus far been a complete disaster. I tried Shrinkwrapping a 2D plane onto the main model and then attempted to manipulate the geometry to match the texture, only for things to quickly spiral into a unmanageable mess.

I have no idea what to do now, and I need help on what I can do. If worst comes to worst, I guess I’ll no choice but to return my original 2D texture idea, but I’d prefer go with the 3D option for ease of animating purposes.

EDIT: Replaced the Blend files, see the explanation below in the seventh post.

help.blend (1.2 MB)
help_2.blend (1.2 MB)

retopology techniques would work. Make everything but the eyes middle grey. Make the eyes black or white. Add subD mod, and a displacement modifier using the new texture. Afterwards, I recommend using retopoflow 2 and create your eye meshes with that since your eyes will show up in deformed geo instead of having to figure it out based on texture. GL

I’m sorry, but I don’t know what you mean by most of this. I’ve never used the Displacement Modifier before until I decided to search for Retopology for Blender on YouTube after you mentioned it.

I tried using this tutorial, and began working on a 3D model of the sclera. However, I accidentally clicked on something which for some reason caused the geometry to completely implode on itself. I then tried to undo the damage using Ctrl + Z, but it ended up undoing virtually of the work I had done in half-an-hour with no way of salvaging the work.

So I’m completely at a loss when comes to all this Displacement & Shrinkwrapping modifier stuff, and in a desperate need of some more in-depth knowledge into how all of this works.

That isn’t a tutorial, it’s a workflow demonstration for people who already know most of those things, what they are and how they work. You need something that explains the modifiers, what they are, and how they work so when it does strange things you understand why.

You can also ctrl + shift + z to backtrack undo. Work re-done instead of lost. FWIW, that works in most software, including blender.

Pro tip from a self-taught blenderhead: If you’re going to give up and seek help after 30 minutes of learning something completely new, take classes. Self-taught is for people who will not rest until they figure it out. In all the years I’ve been using blender, I’ve rarely ever asked anything on a forum. 99% of what you need is already on the internet somewhere, but it will not be condensed into a lesson plan.

I haven’t given up, not in the slightest, after spending a whole year working on this model, having to restart it from scratch three times as well as working through the myriad of other issues I have encountered over that period, saying that I’m “giving up” seems rather absurd to me.

After my first attempt at trying to make the eyes failed, I remembered a technique that I thought might work instead from a video I had bookmarked from earlier last year. The technique involved creating a duplicate of the base model and then deleting everything except for the tiles that would make up the eyes. After I did this, I then reshaped the remaining tiles into the result shown above.

I just wanted to know why when I tried to create the eyes from scratch and tried to Shrinkwrap it to the model, why the geometry would implode into a hideous mess and why building the eyes from duplicated geometry from the base model worked instead. I tried making the pupils from scratch like my first attempt with the sclera, only for the geometry to implode again when I tried to Shrinkwrap it. Meanwhile, simply duplicating the base mesh and then deleting everything except for a single tile instantaneously created the pupils for me, with the Subdivision & Mirror Modifiers already in place.

There’s a bunch of other issues that still need to be dealt with, like how there’s a noticeable gap between the various layers making up the eye(s).

There’s also this distorted geometry that’s causing a problem.

If I dissolve the offending edges causing the issue, it fixes the distortion.

However, it ends up creating another geometry problem instead.

I’m going to look into some other sources for making 2D eyes to see if I can find anything that might help, but I welcome any insight into these issues from anyone willing to lend aid. Regardless though, one way or another I’ll find a solution, as I’m not going to let these particular issues nor any other ones I may encounter along this arduous path beat me. Death :skull: is the only thing that is going to stop me, and even then, the Grim Reaper is going to have to drag me away kicking and screaming in a very undignified manner.

The gap is your shrinkwrap offset of .02. You can add thickness with solidify to compensate or change the offset.

For the distortion… See what happens when you solidify, but you may be able to enable/adjust autosmooth to correct it.

After spending many, many hours working on this, I’ve come to the conclusion that I desperately need help :anguished:.

I have run into two major roadblocks that have repeatedly halted my progress, and regardless of what I’ve tried to do, I just can’t seem remedy either one of them.

The first major roadblock is in regard to the sclera layer of the eyes. The problem is that if the Offset value of the sclera mesh is to high, it will result in a noticeable gap between the eyes and rest of the body, like this:


Alternatively, if the Offset value is set too low, then it results in parts of the main body mesh protruding through the eye(s) mesh like this instead:

I’ve tried to manipulate the geometry of the eyes to see if I could lift up the affected areas a little bit, so that mesh below wouldn’t protrude, but I can’t seem to make any meaningful changes to minimizing the amount of geometry sticking through the eye(s) mesh through this method.

The only way I’ve found so far to reduce the amount of protruding geometry without increasing the Offset value of the Shrinkwrap modifier (thus creating the aforementioned gap between the eyes and the main body) is to subdivide the eye mesh.

When you compare the screenshot directly below to one the directly above you can see that there is noticeable decrease in the amount of geometry sticking through the eye(s).

However there is a catch, for some reason the more I subdivide the eye(s) mesh, the more it ends up looking like this:

Keep in mind, the shading for the eye(s) mesh is set to Smooth and yet it appears to be flat. If I switch the shading to Flat then the mesh ends up looking even worse than what’s shown directly above.

The only way I found to then fix this particular problem was to then increase the Subdivision level of the main body, which would alleviate the above problem but at the expense of greatly increasing the overall of geometry in the mesh.

After increasing the Subdivision level, my model ended up with 57,346 tris without the eyelid(s), and 62,466 tris with. For reference, my model originally started out with 14,018 tris & Mario’s model in Super Mario Odyssey has 12,983 tris. The fact that my model has over 4 times the amount of tris than Mario’s model in Super Mario Odyssey despite being a overall more simplistic design is something that I consider to be rather ridiculous and a stellar example of poor efficiency in design. Not to mention that I noticed that Blender’s performance takes a bit of a hit after I subdivided.

Of course, the whole fix is rendered moot anyway when I add the eyelid(s) layer, as I would then end up with the exact same problem I had to begin with in regards to subdividing the sclera layer occurring to the eyelid(s) layer.

This then brings me to the other major roadblock that I have to contend with. The problem is that after adding the eyelid(s) mesh there is a noticeable white outline around the eyelid(s).

Upon closer inspection, the cause of this white outline appears to be a gap created by the distance between the eyelid(s) layer and the sclera layer. The problem is that if I try to reduce Offset value of the eyelid(s) mesh to reduce the amount of space between the two layers, I will then up with the eyelid(s)’ geometry sticking through the geometry of the pupils.

Not helping matters is that trying to use the Shrinkwrap modifier continues to the bane of my existence. I tried following this tutorial step by step - [], in order to learn retopology to help me out, but instead of this:

I ended up with this instead:

This is the exact same problem I mentioned in my initial post, shown directly below, that keeps happening every time I try to create a mesh from scratch to be Shrinkwrapped.

Despite following each step as described, the geometry will always for some reason take on a jagged, messy shape, regardless of whether the Subdivision modifier is set to Catmull-Clark or Simple, as mentioned in the tutorial. I don’t know why, but for reasons that are beyond me the only success I’ve had so far with creating geometry for Shrinkwrapping is to duplicate preexisting geometry from the main body mesh.

I’ve also tried looking at various other tutorials that cover making 2D eyes, such as this one,or this one, as well as this multipart series here, but I can’t seem to find anything that helps me out with any of the issues I’ve outlined above.

While I appreciate the sentiment, adding thickness to the various layers of the eyes kinda goes against the general look I trying to go for this model.

Rather, I’m trying go for something more in this vein:

The eyes are suppose having a flat look, like they’ve been painted on.

There’s also the additional issue that it doesn’t help with the problem with the gap between the eyelid(s) and the rest of the eye(s).

Thanks for the suggestion anyways. I appreciate any help whatsoever in dealing with this infuriating blight upon my existence.

What makes all of this particularly frustrating is that I am so very tantalizingly close the end, and yet so far away because of these issues.

If I can get the eyes completed, then after that I just need to fix the tail and work out a bunch of other more minor issues, and then I’ll be done! The model will be finally ready for animation and then I can move to working on to the hundreds of other tasks that need to be done.

I just don’t know what to do now, and I am in a dire of need of a helping hand in trying to figure this whole thing out.

I also decided to reupload the Blend file, since I forgot that you can pack-in extra files such as texture images, which I didn’t previously did not do, whoops :sweat:.

Also of note, the texture image for this file has the sclera still painted onto it, so the protruding geometry problem with the sclera mesh might not be obvious to notice.

help.blend (1.2 MB)

I also included an alternate Blend file which contains the version of the model shown directly above. I’m not sure which one is the better version to work off of, so just to be on the safe side I decided to include both files:

help_2.blend (1.2 MB)

After spending a considerable time trying to figure this whole thing out and getting nowhere, I’ve decided to just abandon the idea of creating a multilayered three-part mesh for the eye and go back to my initial idea of painting the sclera onto the main body itself and using a overlayed image texture for the eyelid(s). The pupil will remain a 3D object, barring some unforeseen issue in the future that would necessitate using a image texture as well.

Having to manually paint the eyelid image texture over the top of the main layer, as well as having to handpaint every necessary emotional expression conveyed via the eyelid(s) is going to be a hassle, which is why I wanted to use a 3D mesh instead, to animate the eyelid(s) via Shape Keys to simplify the whole process. However, after having been driven to the brink of madness attempting, hopelessly, to figure out this entire this whole situation, the tediousness of having to handpaint the various parts of the eye(s) is infinitely preferable, in fact I’d much rather have my teeth pulled out with a rusty pair of pliers rather than have to continue this nightmare.

I’ve already created a rough initial draft of the painted eye textures that just needs to be refined, and it didn’t take very long to make in stark contrast to all the time I wasted on this fruitless endeavor. The noticeable white outline created by the gap between the main layer and the eyelid(s) layer continues to be a problem but I’m going to try and see if I can cover it up by ever-so-slightly extending the eyelid(s) a bit.

Its also not really that big a deal that I have to fall back upon my initial idea of using handpainted image textures because it’ll be more consistent with the general style I intended to go. Every other character model that I will eventually need to make was always going to use overlayed image textures to represent facial features for the sake of simplicity, with this model as the sole exception due to the reasons previously mentioned.

So in the end, unless someone has any other ideas on how on this can be salvaged, I’m done. Any time that I could invest into continuing to work on this waste of time would be much better spent working in other much more productive areas.

For some reason, I imagined your cute little character saying this… which just made it seem terrifying.

Anyway, before you go to that dark place, and before you go hand painting every frame of every expression, I have a rig that may (or may not) be helpful for what you’re trying to do here. You can go here to download and play with it:

Nevermind the LCD material, but take note of the dynamic paint system. Essentially, you rig up some intersecting meshes for the eyes, eyelids, and mouth to be used as dynamic paint brush objects. Once it’s all rigged and animated, it’s just a matter of hitting a button to generate your facial texture animation sequence.

1 Like

Thanks for the suggestion. It’s not really that big of a deal of having to handpaint each necessary emotional expression, since the generally simple shape means each one can be done in a rather short of time. Also, I don’t need all the various different expressions all at once, most of them could be put off till way later while I work on much more important issues that need to be addressed.

However, if your suggestion means I could complete the task in a much shorter amount of time, then I would be definitely interested. Although I have a very tolerance for doing boring, repetitive tasks, I’m always looking for more time efficient ways of getting things done. That way I can get more accomplished over a shorter period, which given the scope of what I’m working on is a godsend.