Home Technical Talk

Movable Eyes

polycounter lvl 19
Offline / Send Message
Quasar polycounter lvl 19
Hey guys!

I'm just wondering what the best method of modeling eyes are for low-poly models. As far as I know, the two most common ones involve making the eye a sphere like you would for a high-poly model, and the other is having the iris and pupil float over the eye like in HL2 and UT2K3. Making the complete eyeball seems to be the most logical approach, but when I try it, I always have the issue of it clipping through the mesh around the eye unless I make it with a lot of polygons which I think is inefficient.

(I used to go by Bumpy Quasar until the forum went down grin.gif)

Replies

  • snemmy
    Offline / Send Message
    snemmy polycounter lvl 18
    i cant really help..

    just gonna say HL2's eye's are capped geometry and a shader draws the eyes
  • Quasar
    Offline / Send Message
    Quasar polycounter lvl 19
    Woops, my bad. blush.gif
  • Snowfly
    Offline / Send Message
    Snowfly polycounter lvl 18
    Don't mean to be a smartass, but you don't need an entire sphere, just a hemisphere. smile.gif

    I've built all my eyes using spheres because that way I can use skeletal animation on them. I don't use the pupil sliding method because I think it's an ugly solution, although efficient.
  • Gmanx
    Offline / Send Message
    Gmanx polycounter lvl 19
    If you use separate geometry - (hemi)spheres, would'nt you run the risk of getting Z depth errors, and having eyeballs look like they're popping out as you move away from the character?
  • KDR_11k
    Offline / Send Message
    KDR_11k polycounter lvl 18
    I'd attempt to modify the UV coordinates of the eyes. Means the eyes use a separate map and the UVs get shifted around as the eye moves. The Doom 3 geometry looks as if that's what it's doing.
  • Quasar
    Offline / Send Message
    Quasar polycounter lvl 19
    Well apparently eyes are best done with shaders, but what's the best way of doing them if the engine you're working with doesn't support shaders like that, or transformable UVs like KDR mentioned (if that's what he meant)? I can see that most people here in the community use the hemisphere method, maybe I'll just stick with that and add more polies to the eye so there's no clipping and I don't have to sink the eyeballs like 2 inches into the sockets hehe. Gmanx makes an interesting point about the Z depth errors though, does that really happen?
  • Snowfly
    Offline / Send Message
    Snowfly polycounter lvl 18
    GmanX - not when I tested it in UnrealED, no. In other engines, possibly.

    If it's purely portfolio work, and you're screengrabbing from the viewport, then hemishperes won't be a problem at all.
  • Rick Stirling
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    When you start hitting 2k polys per character, I start using hemisphere eyes. Unless they have enough polys, and you have enough in the eye sockets then you WILL get clipping as they rotate. The minimum that I would recommend would be a 12 section eye (the centre vert having 12 edges coming out from it), and the socket should have a minimum of 8 to 10 quads.

    At this resolution, you still need to push the eyes further back into the head than they would be in real life to prevent clipping. The more polys you use, the closer you can float the eye to the socket. Although the eyes are further back, you won't notice in game.
  • Gmanx
    Offline / Send Message
    Gmanx polycounter lvl 19
    I suppose if you want your characters to blink, or close their eyes, the polycount would rise still further - presuming you use geometry for the eyelids rather than flashing a 'skin' map over the eyeball.
  • KDR_11k
    Offline / Send Message
    KDR_11k polycounter lvl 18
    Zbuffer accuracy decreases over distance. As long as you remove the eyeballs in the higher LoDs (paint them on the sockets as well if you don't want to have black spots or something) the Zbuffer errors should be minimal. Unless you have the eyes a milimetre under the skin it should take quite some distance for Zbuffer errors to show so that probably wouldn't happen with the first few LODs.
  • Quasar
    Offline / Send Message
    Quasar polycounter lvl 19
    Alright, thanks guys!
Sign In or Register to comment.