Home Technical Talk

Hair card normal map baking issue

EKDD
triangle
Offline / Send Message
EKDD triangle
Hello, I am trying to render my hair texture in Arnold and having this weird problem where the normal map from aiUtility shader renders a green normal map. I am following this method https://www.artstation.com/artwork/ZLGNG , and the render looks like below. 



So I tried putting in another mesh (torus in the middle) to see how the normal map renders it and it seems like the same problem is happening.



So I just went to xNormal and tried to bake a map onto a plane, but it looks weird too, but in a different way.



This texture map is my second try actually because my first xGen file erased my guide for some reason, and the normal map from aiUtility shader looked fine with the exact same settings. It really drives me nuts because I can't even guess where the problem is coming from.. anyone experienced this kind of issue? Thanks! 

Replies

  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    A couple of things to think about here

    1: baking normals for each hair strand always looks shit
    2: Arnold bakes it's normals in world space ( do your grooms flat with the floor)
    3: xgen is deeply shit and will lose your work all the time (Maya 2018 was the closest to "stable" but it's still shit)

    I forget the name of the aiutility passes but there's a couple that will bake per hair direction.  For most human ish type hair you want those plus a macro normal to describe clumping rather than a normal per strand (because it looks shit) 
  • Calmlake
    Options
    Offline / Send Message
    I also encountered the same problem. Have you solved it
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    Is conversion to curves and following that conversion to geometry not an option? That way you can bake in anything.

  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    The problem with that is speed.  

    Bake directly in Arnold and you're talking about seconds.  Bake from geometry and you're looking at lots of minutes

    The method I posted above worked fine for me a couple of years ago and behaved fine with Arnold RTT, can't imagine it's changed
  • EKDD
    Options
    Offline / Send Message
    EKDD triangle
    @poopipe sorry for the late reply poopie, I saw your reply a lot later I moved on so I completely forgot to check the post for a while. I actually found the solution and the thing was because I laid my hair on the y-axis, and rendered it from the top cam. I solved this issue by render from the front cam and rotate the hair accordingly. @Calmlake you can try render from your front cam not top cam. 

    That being said, I am interested in what tool you normally use for the hair textures? I am actually looking for another method since I can't bake other maps like depth and ID from Arnold and xgen yet. 
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    I may well have mixed my angles up, it's been a while. 

    I'm fairly sure both those maps can be baked from Arnold although like I say it's been a long time since I built the tools we use for hair baking. 
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    poopipe said:
    The problem with that is speed.  

    Bake directly in Arnold and you're talking about seconds.  Bake from geometry and you're looking at lots of minutes


    The only speed issue I can see is geometry import/export to a GPU baking solution like Marmoset. Getting the normal map will probably take a few seconds at most as are almost all other passes. AO is another topic.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    In Blender you have Tangent Normal  input for hairs . It helps  with proper normals  with a  simple math to turn -1 to 1  into 0-1 .


    I recall I'v seen something  similar in Arnold utilities too
  • Le_Sange
    Options
    Offline / Send Message
Sign In or Register to comment.