Home Technical Talk

Normal Map Weirdness

polycounter lvl 5
Offline / Send Message
IntelligentDesign polycounter lvl 5
Hey all,

I'm still new to the normal map pipeline, so maybe this is an easy fix and I just don't know how to do it.

I built a futuristic shotgun model in Maya and exported to an OBJ, UV mapped it in Headus UV Layout and then brought it into ZBrush for sculpting. The sculpt wasn't anything fancy, mainly just smoothing the normals. I then used the normal mapping function in ZBrush's Tool menu set to create the map and exported it. However, when I connect it to the model in Maya I'm getting a lot of issues with the normals. I've included some images showing off exactly what's wrong, as well as the normal map generated in ZBrush. If it helps I can also attach the OBJ and ZTL I made.

RXfGV77.jpg
AWWACAg.jpg
o6nE8d2.jpg

Replies

  • cryrid
    Options
    Offline / Send Message
    cryrid interpolator
    Have you tried flipping the green channel?
    Personally I wouldn't use zbrush to bake normal maps. AFAIK the program doesn't even use vertex normals, and there's no telling what tangent basis it uses when creating normal maps. I'd either trying running the map through Handplane, or baking it in Maya/Xnormal instead.
  • IntelligentDesign
    Options
    Offline / Send Message
    IntelligentDesign polycounter lvl 5
    @cryrid I actually found a similar post to mine where someone suggested Handplane, and I did a naive object to tangent conversion using the default settings (using an object space normal map I generated in ZBrush). Overall the normals look much better, but there's still a bit of funkiness going on with the handle. I've attached the map I got out of Handplane, plus an image of the render to show off the new weirdness.

    As for XNormal, I've been putting off learning it because ZBrush has served me well so far. Admittedly I've only used it for character models, where things tend to have fewer sharp corners and flat planes, but I've never had these kinds of issues with it before.

    Lvqavdb.png
    U2dKUSS.png
  • IntelligentDesign
    Options
    Offline / Send Message
    IntelligentDesign polycounter lvl 5
    So here's a fun new issue: I got XNormal, watched a few videos on how to use it and tried my hand at creating my tangent space normal map. First problem was that it told me my high poly mesh was too small, so I stopped the process and scaled both the high and low poly models by 2. Then I get the normal map out, apply it to my mesh in Maya. At first it looked nice: flat faces stayed flat, the barrels and chambers were smoothed nicely, etc. But then I opened the model up to take a look at the shells, and I noticed a funny thing
    GSm1s7h.png
    The normals of the chambers, reload mechanism and a bit of the handle (while admittedly very nice and smooth, hooray!) ended up on the shells and upper receiver. Does anyone know how to solve this? As always, below is an image of the normal map, but I've also included a link to a .zip where you can download my high and low poly meshes. If anyone has time please take a look, I'd really appreciate it
    oC0lrq0.png

    Meshes: http://bit.ly/UOzpYX
  • sargentcrunch
    Options
    Offline / Send Message
    sargentcrunch polycounter lvl 10
  • metalliandy
    Options
    Offline / Send Message
    metalliandy interpolator
    A few rules you should follow before baking
    1. Make sure you are using a projection cage. Uniform ray distance is no good for baking normal maps unless it's to a plane really.
    2. Triangulate your mesh before baking. This ensures that the baker or game engine cant change the triangulation of the mesh and thus breaking the normal map
    3. Explode the mesh - Separate any parts that might get errors such as one object getting drawn onto another (which is your problem above). So you would move the high poly and low poly barrel over to the right a few units until it's near nothing else, move the HP and LP shells to the left, the handles up etc. As long as the HP and LP parts are together you should be able to bake perfectly.
    I did a talk at the Blender conference that might help you understand baking a little more. I talk about Blender specific stuff in some of it but most of it it general information.
    [ame="http://www.youtube.com/watch?v=OONQzKcWeMY"]Andy Davies - Normal mapping for games & realtime content - YouTube[/ame]


    PDF:http://download.blender.org/documentation/bc2013/andy_davies_Normal_mapping_for_games_and_realtime_content.pdf

    Also what sargentcrunch said. :)
  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    oC0lrq0.png
    I downloaded you mesh file, your shells are unwrapped really strange. I would do it with one planar unwrap and one cylindrical instead of splitting it in the middle.
    8fuimfer.png
    Still a bit of stretching on the shells front but it will give you a better bake.
Sign In or Register to comment.