Website powered by

Quantum Entanglement - Eye Materials - UE5

I wanted to show of some of the details of the eye Materials in my thesis project. I wanted to go with a fully procedural approach, not just because of the unlimited texture resolution, but especially because it makes it much easier to configure everything right inside the final rendering environment, instead of constantly having to reimport textures from external software.
A big inspiration for my approach was the talk "From mobile to high-end PC: Achieving high quality anime style rendering on Unity" by Jack He from miHoYo at Unity Korea. I also consulted "Next-Generation
Character Rendering" by Jorge Jimenez and Javier von der Pahlen as well as the Unreal Documentation for some of the details on the implemantion of refraction and other effects.

The right UV Mapping is very important for the procedural textures and all the other effects to work.

The right UV Mapping is very important for the procedural textures and all the other effects to work.

I added a base mapping to all the other procedural textures, which allows nonuniform stretching of the iris for a more stylised effect.

I added a base mapping to all the other procedural textures, which allows nonuniform stretching of the iris for a more stylised effect.

These are the basic steps in generating the eye texture. Any design can be created from the same basic principles.

These are the basic steps in generating the eye texture. Any design can be created from the same basic principles.

All lot of the texture is configured through gradients, which are then mapped to the right locations using esentially polar coordinates through the vector length node.

All lot of the texture is configured through gradients, which are then mapped to the right locations using esentially polar coordinates through the vector length node.

This gradient for example configures the eye color for red. Everything gets colored after compositing the values to create a more uniform color scheme.

This gradient for example configures the eye color for red. Everything gets colored after compositing the values to create a more uniform color scheme.

The eye without (left) and with (right) simulated depth and refraction.

The eye without (left) and with (right) simulated depth and refraction.

The refraction works by adjusting a UV offset according to how deep an imaginary ray penetrates the cornea at the specific pixel coordinate.

The refraction works by adjusting a UV offset according to how deep an imaginary ray penetrates the cornea at the specific pixel coordinate.

Since the basic texture is very radially uniform the iris gets broken up by a procedural noise, which can be configured with multiple parameters.

Since the basic texture is very radially uniform the iris gets broken up by a procedural noise, which can be configured with multiple parameters.

In addition to the normal reflections from the environment the eyes also contain a matcap, which can be configured for custom reflections which always face the camera.

In addition to the normal reflections from the environment the eyes also contain a matcap, which can be configured for custom reflections which always face the camera.

This is the complete material graph. Though a lot of the details are hidden in the collapsed parts. I decided to go with a clearcoat shading model, for that little bit of extra sheen.

This is the complete material graph. Though a lot of the details are hidden in the collapsed parts. I decided to go with a clearcoat shading model, for that little bit of extra sheen.