Home Technical Talk

xNormal baking, general workflow and model

So basically I don't get my baked normals out correctly. I use xNormal to bake them. I have tried baking the normals with a cage, but it didn't seem to help much. It seems to happen where I made UV cuts.

To describe my workflow a little for this model: I made the model in zBrush, retopologized in 3DCoat, UV'd in Maya then baked in xNormal.

Do I have my models set up correctly? What kind of normal smoothing should I use? Where do I make UV cuts? I have attached the my high poly, low poly, and baked normal map.

Here's the rar with all the files: Dropbox link

Thanks in advance!

Replies

  • Brygelsmack
    Options
    Offline / Send Message
    Brygelsmack polycounter lvl 11
    Read this:

    http://www.polycount.com/forum/showthread.php?t=107196

    http://www.polycount.com/forum/showthread.php?t=81154

    It's a lot but something you need to learn eventually anyway.

    Use this MEL script before you bake:
    string $objList[] = `ls -sl -o`;
    string $uvBorder[];
    string $edgeUVs[];
    string $finalBorder[];

    for ($subObj in $objList) {
    select -r $subObj;
    polyNormalPerVertex -ufn true;
    polySoftEdge -a 180 -ch 1 $subObj;
    select -r $subObj.map["*"];

    polySelectBorderShell 1;

    $uvBorder = `polyListComponentConversion -te -in`;
    $uvBorder = `ls -fl $uvBorder`;

    clear( $finalBorder );

    for( $curEdge in $uvBorder ) {
    $edgeUVs = `polyListComponentConversion -tuv $curEdge`;
    $edgeUVs = `ls -fl $edgeUVs`;

    if( size( $edgeUVs ) > 2 ) {
    $finalBorder[ size( $finalBorder ) ] = $curEdge;
    }
    }

    polySoftEdge -a 0 -ch 1 $finalBorder;
    }

    select -r $objList;

    Edit: Uhm, I downloaded your model and your HP is all divided up into different parts, did you do that or is Maya messing with me?

    Edit2: I also noticed half your Low poly is sharing UVs. Do you offset one of the halves before you bake?
  • Ekibyou
    Options
    Offline / Send Message
    Yeah I've read those 2 threads. It's hard to grasp, but I'll understand those fully eventually.

    Do need to run the script over the low poly or high poly?

    Also, now that you say it, my high poly does seem to be split into separate parts... They're one mesh in zBrush. I'll try exporting it again. Thanks!
  • Brygelsmack
    Options
    Offline / Send Message
    Brygelsmack polycounter lvl 11
    Run it on the low poly. It will soften the mesh except on your UV borders where the edges will be hardened.

    You can just combine the HP in Maya and merge it all so it's one piece. And since your HP is one piece, I would build my low poly as one part as well (it's separated now at the neck it seems, it probably won't bake as well as one piece).

    Also your LP isn't merged in the center. You have a lot of weird geometry as well, you don't need extra edges to keep the mesh in quads for example.
  • MM
    Options
    Offline / Send Message
    MM polycounter lvl 17
    1. you dont need any hard edges on this model. not every model needs to have smoothing groups. this model will actually look worse with hard edges on UV borders.

    2. as mentioned above, your center verts are not merged properly and some faces require proper triangulation. you also added extra edges that are not needed for your silhouette.

    3. your mesh had one side with flipped normals, as you can see in the image. if you used duplicate instance to model the other side then make sure to combine the final bake mesh and merge center verts.

    4. no need to shift UVs if baking in xnormal. it works just fine with stacked UVs.

    5. your highpoly doesnt need combining for this specific case. this test bake was done using your highpoly as it is right now.

    but for future you might want to create a clean mesh with practical mesh elements combined properly.

    ISUjP2U.jpg

    i upload a fixed mesh for you here with new bake.

    https://dl.dropboxusercontent.com/u/13288045/Cat_fix.zip
Sign In or Register to comment.