Hey, I'm Simon and I'm making a game!! :)
Support me: BUY & Demo on Steam
Inner Eyes
There’s a sensation in your eyes,
They follow wherever I do a step.
Thinking a while, got caught by surprise,
Without moving, you always look back.

Your eyes look full but have no ball,
Scratched out and painted what was left,
Light keeps their secret from us all,
What an illusion, you look perfect.

Did you like poetry interpretation during school? Me neither. But thanks to a nice polycount member you’ll get one because throttlekitty mentioned this topic and it was too fascinating to not talk about it:

They follow wherever I do a step.

This model by Muumin seems to orient its eyes always to the camera, right? To me it looks really convincing and I would have expected the use of bones for the eye-geometry and some constraints to focus them towards camera.

Scratched out and painted what was left,

Not sure if you saw it instantly, but I noticed it only at second glance: There are no eye balls. No camera-oriented parts. Instead, the eyes only consist out of holes and the pupils are painted at the back of the eyehole. It gets clearer when you look at it from nearer distance:

And it works great too for camera positions above/below the character:

Light keeps their secret from us all,

OK, I have to admit that this illusion only works for the very specific cases:

  • The texture must be self-illuminated, so that no shadow reveals the secret.
  • The character always looks at the camera which might not be too useful in a lot cases.

But anyway, I really like the basic idea! Below you’ll find a small example with Mr. GPU who wants to clear out this topic further, by comparing the shaded (left), illuminated (center) and a wireframed version (right).


Thanks for reading! Please tell me how you like the trick! Also I would be interested in your opinion about the article itself. It’s more “back to the roots” which means short and simple instead of the really big ones I release lastly. Which one do you like more?

Links & Resources
[l01] The model by Muumin we’re talking about
[l02] Who’s Rei Ayanami?
[l03] Throttlekitty’s post in polycount forum

Update 1
Thanks scropyx for this cool video which demonstrates how this trick works in real!

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

Update 2
Just found this nice optical illusion by Deborah Engel :)

I didn’t embed the video directly to avoid any tracking from Google and complications with the DSGVO.

Update 3
Zoltan mentioned this tweet with another great example for a “strange” trick when it comes to bringing anime into 3D:

It’s awesome how these people know exactly what they want and bend 3D if necessary to achieve the goal. If you like this I can strongly recommend this awesome talk where more stunning tricks are presented to create the style of Guilty Gear X.

14 thoughts on “Rei Ayanami – Inner eyes

    1. Simon Post author

      Right! but for me, it works very well even if i see how it’s done. Normally such effects lose “grip” but this one impressed me everytime i look at it :)

  1. PaulSiramy

    The T-Rexs completly bluffed me ! I was thinking it was 3D images incrusted on real-life video. Only the last part of the video makes it clear how it works… and only knowing the trick it still works for me. Great stuff !

      1. ëRiC

        Whow! How cool that it works in the browser already so you can check out yourself.
        Somehow I immediately feel how the poly mesh works in the background. But it doesn’t feel weird like I could imagine it should.

        I know the dragon thing too :D but in the video its well lit on purpose so the side that actually faces to the bottom is not that dark. In reality the effect is pretty good but not THAT strong.

        1. Simon Post author

          Yeah the dragon video seems to be under perfect conditions. But on the other side, there’s paper-craft for those models in the internet. Which means everyone can build it’s own dragon … we should try it out and see how it works with different light setup :D

  2. Charles

    Another great post! Lengthy or short–this stuff is always so interesting and enlightening. Thank you!

    1. Simon Post author

      Thanks man! Personally i like the short ones sometimes even better because they’re faster to read and contain not less awesome tricks :D

    1. bandages

      Having used some of these flat eyes, you generally want to avoid much in the way of diffuse lighting for them anyways. They should kind of glow with more ambient than is typical. Shadowing is best done with an explicit alpha-mapped shadow layer over the eye, which is just a black-to-alpha transparency. The best place to see these shadows in action is on DOA models.

      The concave normals don’t end up meaning a lot to the broad specular I end up using for irises. What’s much more noticeable is the difference that occurs from Y-axis (up-down) differences in the eyes, which don’t mirror the way real life irises do. These differences can easily be corrected in the shader by rotating the normals to the center line. If you want to use specular on these kinds of eyes, you’ll probably be wanting to mask the specular for good, anime eye style effects, and that mask will end up making it even harder to notice any concavity in the iris.

      However! The concavity is totally apparent if you try to use the iris to create environmental lighting lens effects, typically with a sphere map or cube map. These kinds of effects are both really important to anime eyes (huge highlights!) and look totally wrong with concave irises. Bending the normals would probably work, but what I’ve ended up doing is creating a transparent, convex lens to fit over the iris. I can then use environmental lighting, with NdotE fresnel, applied to that iris as an add or alpha layer over the iris. This has benefits for the side view. Bending the normals somehow (maybe a model space normal map?) would probably have almost the same effect, though. If performance is a consideration, the lens is an extra draw call.

      There are limits to the tracking from concave eyes. The best solution is still a bone, with a transformation matrix generated by the CPU. It’s also possible to do these sort of transformations in the shader, provided you supply it with a center of rotation for the eye– just rotate the eye’s vector toward the camera and apply that rotation to the vertices of the relevant materials.


Leave a Reply

Your email address will not be published. Required fields are marked *