Eye shader - Iris parallax effect?

I try to achieve an iris parallax effect similar to the one in CryEngine with no luck yet. I tried to use refraction but couldn’t get it to look right. Since this effect is essential to realistic eye rendering I hope we can figure something out! I know that as a workaround one could simply use two eye ball meshes, one with a curved in iris and another curved out transparent one on top for the reflections but since we don’t have spec reflections on translucent materials that’s not a great solution either.

Effect in CryEngine OFF

Effect in CryEngine ON

BumpOffset with a simple radial gradient texture for the height input should do the trick.

Yup, good suggestion. We have used both bump offset and transparent outer eye at different times. Bump offset allows better control since the eye will be opaque and lit a bit nicer.

Of course bump offset, missed the forest for the trees. Works like a charm, thanks!

I’d like to see or hear from someone, on what the technical particular values that were used to get that look, or rather replicate it from Crytek…

To get things started I have my shading network using a Substance Shader Called eye.sbar this makes the normal of the iris/rainbow skin point inward, so I flipped the Red Green Components, to get it to face the other direction, that way I could also put it back in case that’s a better approach.

So my question is, is given the outputs from the substance shader, the shader setup properly ?

I figured since the substance file kicks out a height with white being the high point, and in my bump offset I want just the opposite I’d use negative values, or I could do a 1-x node.

Maybe this is useful to someone following this, who doesn’t want to add all kinds of unnecessary polygons to the eyes.

I realize this is an old thread, but I’m currently trying to figure this out myself. Would anyone be able to help?

For EyeManga3D, I referenced Eye Shader Refraction Material Function located in the UE4 Content Examples 4.13+.