Home Technical Talk

how do you make hair?

ngon master
Offline / Send Message
almighty_gir ngon master
i realise that this can be largely dependant on the engine you're using, and how it handles alpha channels and the like.

so here's the question: how do you handle hair?

how would you go about recreating FFXIII style hair? are you satisfied with the current "limitations" when making it? what do you think could be done better? do you have the solution?







this thread was made out of hours of frustration. but please, it's a serious post.

Replies

  • Cyrael
    Options
    Offline / Send Message
    Cyrael polycounter lvl 10
    poly planes with alpha channels usually delivers the best method for longer hair, thats what FFXIII did (I'm pretty sure thats how all the FF's do their hair) for shorter hair just model it in the geometry.


    Edit* there was a link a while back on some behind the scenes stuff with FF XIII, i'll see if I can dig it up.
  • Eric Chadwick
    Options
    Offline / Send Message
    There was an app awhile back called FFXView that bwas real handy for examining meshes & textures from FFX. Nowadays 3D Ripper DX can do it from most any PC game. Great for edumacation.

    ffx8pb.jpg
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    long hair isn't so hard to do if you can afford the number of alpha-planes and sorting at least on PS3 (i assume 360 and PC have no trouble either) is not the biggest deal with alpha-to-coverage.

    i find it gets more interesting with shorter/unkempt hairstyles. i once had to do sorta-unkempt medium-length hair (reference was tom cruise in vanilla sky). that was quite nasty to get to look halfway natural.
    generally alphaplanes with tweaked normals (to blend to the underlying head-geometry) seem decent enough for the job. also keeping alpha to a minimum/only where necessary and trying to do most with solid geometry and texturework definitely helps. and it's important to not leave textureseams between planes and base. ever.

    shading is another matter. be careful with too heavy normal map detail (also, seam-danger!) and i am not too sure on the benefit of hair shaders, particularly on longer hair. that sometimes looks way too much like out of some crazy unreal l'oreal ad. and again it tends to reveal seams. :)
  • r4ptur3
    Options
    Offline / Send Message
    r4ptur3 polycounter lvl 10
    Eric you made me lol at your gratuitous shot of Lulu's .... ehem ... hair
  • kdm3d
    Options
    Offline / Send Message
  • Eric Chadwick
    Options
    Offline / Send Message
    mmm hairy tits

    hairy-tits.jpg
  • Thegodzero
    Options
    Offline / Send Message
    Thegodzero polycounter lvl 18
    Hey Eric we should probably throw together a proper hair page on the wiki. You already have the makings of one with these pages.
    http://wiki.polycount.net/Opacity_Map?highlight=%28hair%29
    http://www.tylersart.com/thor.html
    http://www.paultosca.com/varga_hair.html

    I think showing a few ways depending on what you have to work with. So what hair would look like with basic alpha test vs alpha blend. We have plenty of peoples work to use as reference.

    EDIT: I will say that the varga page dose the job of show the difference well, but having a few more examples of ways to archive nice hair with 8bit hair would be great.
  • Eric Chadwick
    Options
    Offline / Send Message
    Sounds cool. Don't have the time to do it right now tho. Examining games that do it well is probably your best bet in the meantime.
  • SunSetter
    Options
    Offline / Send Message
    SunSetter polycounter lvl 9
    hairy tits with balls :)) .... srry if I exaggerated
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    TexMod is another handy little app for extracting textures from vram. its a bit more compact that 3D Ripper DX but only handles textures. nice thing is you can inject textures back into vram. its a pretty neat way to update your textures without restarting your game engine

    In that thor tutorial the whole tile is Alpha mapped. would it not save a load of vram to split the hair onto a smaller individual tile or does the added draw call offset the gains

    in other interesting news ;) unreal is now able to shadow translucent surfaces. heres to praying bioware use this build in the new mass effect.

    http://udn.epicgames.com/Three/ContentBlog.html#Dynamically%20Shadowed%20Translucency
  • Eric Chadwick
    Options
    Offline / Send Message
    Thanks for the TexMod idea, will check this out!

    In my experience, if the whole model uses the same alpha-blended shader then the fillrate is more expensive to the framerate than using two shaders... one w/out alpha blend for most of the model, and the other with alpha blend for just the hairy bits.

    Using the same texture is good, removes another texture fetch since it's already there in video mem. Except as stated elsewhere that alpha is going to double the texture size (DXT5 vs. DTX1), so that might make it worthwhile to split into a separate smaller texture.

    Two shaders does mean you're sending a separate chunk of vertices to the card, but it's less cost than all that alpha blend (usually, depends on how smart the renderer is).
Sign In or Register to comment.