Home Technical Talk

xnormal workflow/settings (warning: long post)

k3lk0m
polycounter lvl 17
Offline / Send Message
k3lk0m polycounter lvl 17
hi,

following the advice from a polycount´s user (sorry I can´t remember the user name because my posts have been deleted... long story :P but I am really grateful for his help) I started using Xnormal for maps creation (above all normal maps and occlusion) which saved me lots of time saving chunks from Zbrush, optimizing, importing in max...

My first impression of the program was really good. easy, fast, useful... and free :0

I´ve been playing around a bit with it to check out how powerfull it is and how much I can push it with complex models or at least stuff different than walls or other inorganic objects.

After watching the video tutorials in its website, reading some posts I found in polycount and some others googleing my issues I couldn´t find a solution for some issues I´ve got and also it doesn´t seem to be a general workflow to work with it. What I am realising is that due to the amount of steps in between there are a lot of settings and procedures involved and I would like to know how important each thing can be.

so this is what I do and how I do it and my questions.

1st try: I export Zbrush highest level and lowest level with the option merge selected. this worked fine for the head of the character I´m working on but for nothing else. for the rest of the models (torso, arms and legs) I am getting which look like intersections between the high and the low model.

zbrushonlytp1.th.jpg

2nd try: low poly model from my base model in max. both in obj (which the none preset selected and normals exported) and sbm (with uv and normals). I get similar results but maybe sbm format works better.

3rd try: using external cage. As I said I saw in the tutorials in xnormal´s website the different ways to work with cages and finally the one I liked the most was using an external cage defined in max and exported within the sbm file. And here is when it comes the most caothic part. I tried hundreds of combinations with settings, formats, working with a cage as a separate object, ticking and unticking options in xnormal and I couldn´t really say what works with what or what does what since sometimes nothing changes and sometimes it is completely different. somtimes I even get wierd parts whith no specific reason where the cage is quite simple and with no difference between a close cage and a spaced out one like in this case:

rarokf6.th.jpg

with the cage being that simple

rarocageru8.th.jpg

or this case with this classic issue in the normal maps

raro2si6.th.jpg

which I always fixed as ben mathis explains in its normal map workflow tutorial

normal_16.jpg raro2cagexy7.th.jpg

but that doesn´t work here for me.

on the other hand I´ve got some questions that have been appearing during my "long trip" :P
-are the options export tangent basis, smooth normals (both when exporting to sbm) and antialising (in xnormal) important to create normal maps??
-I used to have my model with different polygroups to mark some details but once I put them all to 1 the final result has changed a lot. do polygroups affect that much to normal map creation??
I´ve got some others I can remember now but I´ll keep posting them just in case you can help me and your answers can help someone else too.

well, that´s pretty much it right now. What I´ve got so far is a much better normal map that the one I used to get at the very beginning with the models from zbrush and the xnormal´s cage but still not good enough. if there is something you thing I could try I´ll be pleased to do it since there isn´t much left I can think about.

again thanks a lot to everyone for your help. also if you´ve got a question you want me to answer just let me know.

thanks a lot! :)

Replies

  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    A question... are you using the max2obj exporter to export an .OBJ mesh? Avoid that exporter at any cost! Is SUPER-bugged! Use the gw:OBJ exporter or, better, the xNormal's SBM exporter if possible!

    Are you making Reset X Form before exporting in Max? Do that ALWAYS before exporting! That's crucial!

    About the ray distances.... I always prefer to use cages. When you extrude the cage notice sometimes the cage is "exploded" ( the vertices seem to be "sepparated" ). That's due to hard edges ( a vertex can have more than one normal ). That's normal but you should try always to make a "bevel" if possible to avoid problems... or to average the vertex normals. And remember that the cage controls not only the ray distance but also the direction! ( as it's said in Poop's tutorial ).
    For simple objects perhaps its more simple to use uniform ray distances... but you need to measure well the distance which can be problematic... that's why I usually prefer cages. Btw... sure the "Use cage" is set in the lowpoly's mesh slot!(by default is OFF so the cage will be ignored even when it's present inside the SBM file!)

    On the other hand, plan well your UV seams and UV mirroring.... Notice normal map UV mirroring is only supported by very few 3D engines and needs a lot of tweaking!

    And remember... UVs should stay in [0.0,1.0] range without tiling/wrapping... and they should NOT overlap.
    And sure the UVs are well welded! ( max's UVUnwrap modifier can be tricky sometimes! ).

    You can also try to render an object-space normal map instead of a tangent space one. If the object shows ok then could be a problem with the tangent space. You can also try to render a "wireframe and ray fails" or a "directional map" to see if there's something strange there. Also enable the "Show tangent basis" option in the 3D viewer... if you see repeated matrix axis then the UVs aren't welded or there is a seam present!

    I hope it helps.
Sign In or Register to comment.