Homeโ€บ Technical Talk

xNormal - MASTER THREAD

1505153555659

Replies

  • Damian Nachman
    Offline / Send Message
    Damian Nachman polycounter lvl 6
    @m4dcow:

    The solidify modifier basically duplicates the mesh, and pushes it across the normals, which results in two meshes, The inner and the outer.
    The inner is basically the original mesh, and the other is the cage.
    It also gives the option of "High quality Normals", which keeps the normals of the cage nice and steady.

    @Nosslak:

    I'll give OS maps a look!
    Do they operate like TS normal maps? Do I still need to keep UV Seams on hard edges?

    Also, I've actually combined all the meshes into a single object. (Did that with both the HighPoly and LowPoly)
    I Was wondering if separating the HighPoly parts into different objects would prevent the baking errors. (Because the objects were basically baking on one another.)
    As far as I read, the cages should prevent such baking errors, as they also act as blockers. Am I mistaken?
  • mAlkAv!An
    Offline / Send Message
    mAlkAv!An polycounter lvl 5
    You can also use the Displace modifier to create the cage mesh but again it's not giving as good results as solidify with hq normals for certain meshes.
    Did you actually apply the triangulation before creating your cage or is it a triangulate modifier?
    Any chance your cage mesh is not completely enveloping the high poly or are some of your sub-object intersecting each other? Splitting the HP mesh into multiple objects shouldn't make a difference.

    Can you post a pic of that mesh and normalmap? In the end it might be a completely different issue like flipped normal e.g.
  • Nosslak
    Offline / Send Message
    Nosslak polycounter lvl 12
    I'll give OS maps a look!
    Do they operate like TS normal maps? Do I still need to keep UV Seams on hard edges?
    OS maps are just an intermediate step and not a replacement so the same rules still apply as when you bake for TS, except for the smoothing splits (you don't need them when baking the OS map, but the final model should have them). Object space normalmaps doesn't care about the lowpoly smoothing at all so the only thing that matters is that it captures all the details. So all you need to do is just set 'Smooth Normals' for the LP in xNormal to 'Average Normals' (assuming you're making smoothing splits with Blenders smoothinggroup export and not the edgesplit) and then use that same mesh in Handplane to convert the normalmap from OS to TS.
    Also, I've actually combined all the meshes into a single object. (Did that with both the HighPoly and LowPoly)
    I Was wondering if separating the HighPoly parts into different objects would prevent the baking errors. (Because the objects were basically baking on one another.)
    As far as I read, the cages should prevent such baking errors, as they also act as blockers. Am I mistaken?
    You'll get the best result if you explode your models as that'll result in less intersections and other problems. Using cages alleviates the problem a bit without exploding anything but it doesn't fix the problem.

    I usually export my HP models to separate files, but not because it helps with baking errors (it doesn't), but because I want to bake material masks.
  • Damian Nachman
    Offline / Send Message
    Damian Nachman polycounter lvl 6
    Thank you guys for the awesome help!
    Turns out I derped.
    One of the meshes had flipped normals. I Didn't take that into account since I constantly tried to "Recaculate Normals", but I Had to use "Flip Normals" instead.

    I also further exploded the scene. Nuked it almost.
    The results are... GLORIOUS!
    I Got a glorious bake, And I'm uber excited!
  • Neox
    Online / Send Message
    Neox godlike master sticky
    I just upgraded to 3.18.X from 3.17.x

    Max 2012 x64

    SBM now exports with a different offset to any OBJs I export from either zbrush or max. If I import the SBM back into max it is rotated 90 degrees and the translation on the Y axis is flipped> ie instead of +33 it is -33. Or so I gather from eyeballing it briefly.


    So pics so you know what I am talking about>

    SMDoffset.jpg

    Are there any controls in the SBM exporter/ini file or something that changes this back to the previous way of it working? Or am I just an idiot and missed something?


    I need to use OBJs for high poly models as importing them into max to use the SBM export to keep them sharing the correct space isn't always viable due to the millions of poly that max won't like, wiping poly paint, and sometimes I want to do that more than once, it just takes extra time and bums me out even if it isn't 10mil poly mesh, really don't want to have faff about with adding to the workflow and making textures on high poly meshes and would rather just use the polypaint when it makes sense to do so etc.

    Did anyone solve this issue? a client just called me, using our baking tool gives strange results, took a bit til i found out whats going on
  • .Wiki
    Offline / Send Message
    .Wiki polycounter lvl 8
    For me it looks like the transforms were not frozen before the export.
  • Neox
    Online / Send Message
    Neox godlike master sticky
    reset xform should fix any of this, but it doesn't the transforms are correct, obj, fbx anything works.
  • Bubba91873
    Offline / Send Message
    Bubba91873 polygon
    I had a similar problem were the mesh would move from its correct position to something that is offset with the newest xnormal release.
    If you have any animation frames it could cuase this problem.Since it now exports the current frame.

    I also fixed the error by reloading the model files into xnormal for every map I wanted to bake, was a pain in the but but got me through it.

    So be sure to delete any animation f.e when exploding the bake setting up keyframes. Freeze the mesh and or reset xforms always.And save the file right before export.
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Hey jogshy,


    I was wondering why you haven't compiled your latest sbm exporter for 3ds max 2011 or even lower versions - there are still quite a couple of '11 licenses floating around at here at our office ;-)

    Of course you probably have your reasons, so this isn't a complaint really.
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    I don't suppose there is any news on Network rendering or XN4?
  • D4V1DC
    Offline / Send Message
    D4V1DC polycounter lvl 18
    Glad i wasn't the only one experiencing issues i went back to 3.18.4 also why isn't there a program or script of some kind that can duplicate the unwraped game mesh and conform over the points of the highpoly sculpted reference?
    Is the math ridiculous to calculate when the sculpt intersects the cage which could then push the points for you allowing the best results possible for the bakes, i.e. the used to be so cool, wrapit program, he did it why isn't there an alternate tool such as that one that can calculate the intersecting verts and adjust them automatically?

    Am i dreaming or am i just making this cage/bake process impossible for myself.

    I then also tried to think of a way to simulate "my idea" of conforming the low over the high with max.. forget that... lol i couldn't adjust the size of that brush.

    Back to my nightmare.

    Edit:
    Solved my problem it was mesh scale for me :( but now i have to change it all the time it seems from 3 to 1 again.

    3.18.6 works fine for me, just fyi... my stupidity still interested in the above, take it as a suggestive upgrade? or is this in the paid version. ;)
  • RobeOmega
    Offline / Send Message
    RobeOmega polycounter lvl 10
    Re-installed 3 times every time I try and bake a window pops saying unhandled exeption
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    There's a bug in the last 3.18.6 release affecting the SBM exporter's transformations, aye.
    I'm gonna solve it soon :D

    >>I don't suppose there is any news on Network rendering or XN4?
    Still working on xn4 beta but it's not ready yet.

    Network rendering ... we used hxGrid but sadly is only 32bits ... so we must completely rewrite the engine, perhaps using MPICH2 ... it's still on the TODO list for long term.
  • cmgillett
  • csprance
    Offline / Send Message
    csprance polycounter lvl 13
    You know what would be a cool feature is if xNormal could accept a lowpoly mesh which could be subdivided a certain amount of times by xNormal without having to be loaded into view. So you can set your low resolution mesh up with all the loops you need for it to subdivide correctly. Check an option in the high def mesh section for the amount of subdivision levels you want applied and hit bake. I guess being able to choose the method used to subdivide would be nice also.
  • Mr Significant
    Offline / Send Message
    Mr Significant polycounter lvl 11
    guys need help: baking really deforms my normal map. I'm using cage, with proper smoothgroups. Image's down below: is this because I have lack of geometry ? Im trying to bake very complicated HP onto very low poly mesh.

    image.jpg image.jpg image.jpg image.jpg
  • mikejkelley
    Offline / Send Message
    mikejkelley polycounter lvl 18
    Hi, I tried to search the thread for this issue, but couldn't find it. I have installed xNormal without any problems. However when I go to bake the normals I receive an error that says, "sorry. Can't find the Normal plug-in."

    Is there something wrong, or am I doing something wrong?

    I'm having the same issue. Whatever I name the output file I get the error message "sorry. Can't find the XXXXX plug-in." I tried the reinstall suggestion but the problem reoccurs.

    //looks like you have to be explicit about the path and extension... what threw me was the error msg
  • GoSsS
    Offline / Send Message
    GoSsS polycounter lvl 14
    Hey guys !

    I have a weird issue (and totally new to be honest) with XNormal.
    When I import a low poly mesh it seems the normals of the model aren't take into account.

    Here's an image of my problem :

    2emdkqs.jpg

    As you can see on image 1, I imported a mesh exported from ZBrush (like that I was sure all the normals were "hard" if I can say), I imported it into 3dsmax just to be sure and it looked exactly as it should.

    But, on image 2, you can see the result once imported in XNormal with the "use exported normals" selected. It appeared to be all smooth.

    Even weirder, when I export the same mesh with the normals I really want (smoothed with some hard edges (for proper bake and UV islands)) as you can see on image 3.
    I get the result shown on image number 4 as a result ...
    I also cleared all the maps on the model to be sure it wasn't because of a normal map applied or anything etc.

    I really don't know where it's coming from and that's the first time, XN is doing something like that :s
  • Bubba91873
    Offline / Send Message
    Bubba91873 polygon
    I would really love to see in the next version of xnormal the ability of the program to recognize material id's of each element that makes up the objects in the scene.
    Couple this with ability to only hit matching id's of the objects in the scene.

    This would vastly improve the shadows casted on other objects when baking ao without having to explode your model. a lot of the models we bake nowawdays consist of 50-200 elements objects or more.... And not nessarily for game work either.

    With a smart material id recognition system he program will hide objects as needed while it scans the revelant objects while taking in the shadows.
    This will also work for all other maps.

    In 3ds max you can use such a method with just the low poly, check hit matching id's and you don't even need a cage for it. But xnormal is indispensable for normal,objectspace and curvature,prtn maps.
  • Bubba91873
    Offline / Send Message
    Bubba91873 polygon
    For another feature, add the same hardware accelerated ao baking that Topogun uses.
    It simulates a bowl object in the back ground. The user adjust the angle that the bowl/rays use to hit the baked obejcts and it gives a great result.
    Topoguns drawback is that it displays the high poly so that really bogs down comps. Breaking up and baking 200 individual parts just isn't going to happen in rl.

    Also need the program to provide a plane and bowl in the background that adjust automatically to the objects being baked ie scaled in relation to each other.

    Thank you for making xnormal and keeping it up to date, it helps us a lot.
  • GoSsS
    Offline / Send Message
    GoSsS polycounter lvl 14
    My earlier problem came from the obj exporter... I updated my fbx exporter and everything is working back as normal :D

    But I have an other problem. When I bake at some places I get some "jaggy" lines :

    2dm5tuf.jpg

    The Hi poly looks fine, and you can see this problem isn't everywhere (it is like 95% perfect and at some places I get this weird problem)

    EDIT : And I have absolutely no issue with the AO in these areas.
  • Mr Significant
    Offline / Send Message
    Mr Significant polycounter lvl 11
    Maybe try export both HP and LP to obj. Or you can bake normal to higher res then downres it.
  • AtticusMars
    Offline / Send Message
    AtticusMars greentooth
    I'm trying to bake a cavity map out of xnormal and it is ridiculously slow, like 4 hour bake slow....

    Not sure what else to add, I'm baking a character using a lowpoly with an external cage file using the default cavity map settings. Normals baked out quickly without issue.

    Is this typical? Any ideas on what could be causing this?
  • kurt_hectic
    Offline / Send Message
    kurt_hectic polycounter lvl 13
    What processor do you have? It's not normal.

    try to render curvature texture instead. A way better , maybe it will goes faster.

    Settings:

    CurvatureMap?action=AttachFile&do=get&target=vertcurvature_rebb.jpg

    d6133942df.jpg
  • AtticusMars
    Offline / Send Message
    AtticusMars greentooth
    I'm on a core i5-2400. Seems like it should be more than enough to bake a 2k map

    Curvature map is baking now but it's still going very slow, probably looking at another hour before it finishes at least
  • mzprox
    Offline / Send Message
    mzprox polycounter lvl 5
    Basic workflow questions:
    I want to create my cage in xnormal, i set the high and low poly mesh, click on using cage at low poly then go into 3dview.
    -First problem: I get error that high poly mesh is too big (tough only a few million poly) so I have to turn its visibility off.. but then the cage should encompass the high poly that i can't see now.

    Now I can edit the cage (weird controls in 3d view, but whatever), and i have the option to save these meshes as sbm or obv (I no nothing of these formats..) and then set them
    -So what happens? I'm confused a bit because of lack of information and control. I see no indication that the cage is actually set and used so i'd like to know if this is the way and the only way to use xnormal for cage generation.
  • cookedpeanut
    Offline / Send Message
    cookedpeanut polycounter lvl 13
    It's unnecessary to use the SBM/OBV features in XNormal - When you've created the cage in the 3D View it'll automatically apply it to the model.

    But you can create you're own cage which'll give you more control. In your 3D application of choice just explode the mesh, duplicate and create the cage for each part and then make sure both the cage mesh and low poly are triangulated. The vertex positions must be exactly the same so it may be worth triangulating and then blowing out the cage beforehand.

    Then in XNormal under the Low Definition Meshes, add your low poly model and then scroll to the right and select External Cage file. Right-click and navigate to the cage you've created.

    That's it, you've added your own cage.

    Also @Atticus

    If it's taking a long time to render then reduce the amount of rays being fired. Under the Baking Options select either the Curvature or Cavity option and click on the '...' next to it. Type in a lower ray sample...

    One last thing, as for creating cages in Blender - the method I've found to work best considering the latest implementation of Bitflag Smoothing Groups and the improved OBJ exporter is this...

    I'll have my low poly model which I'll then duplicate and move to another layer 'M' as a backup. I'll then triangulate the currently selected mesh and then again, duplicate it and re-name it as 'Cage'. I'll then hide the triangulated low poly and enter Edit Mode on the cage mesh. Selecting Individual Origins from the bottom taskbar, I'll select everything 'A' and then hit 'Alt + S' to scale outwards.
    It's at this point that I'll unhide the high poly model and give it a bright red material.
    You should now only have the high poly and cage mesh visible. Now the trick is to manually tweak the cage wherever the red is visible through the cage.

    I can record a full tutorial if you guys would be interested. Or perhaps I'll stream something?
  • mzprox
    Offline / Send Message
    mzprox polycounter lvl 5
    It's unnecessary to use the SBM/OBV features in XNormal - When you've created the cage in the 3D View it'll automatically apply it to the model.

    But you can create you're own cage which'll give you more control.

    Thanks. And when do I create that cage? When I click on edit cage? or as soon as I enter 3d view? Because unless i bring an external cage file I see no indication that a cage has been asigned. And I know I could make it in Blender, but it would be more convenient to create in xnormal. I just want to be sure i1m doing it right.
  • cookedpeanut
    Offline / Send Message
    cookedpeanut polycounter lvl 13
    mzprox wrote: ยป
    Thanks. And when do I create that cage? When I click on edit cage? or as soon as I enter 3d view? Because unless i bring an external cage file I see no indication that a cage has been asigned. And I know I could make it in Blender, but it would be more convenient to create in xnormal. I just want to be sure i1m doing it right.

    I'm not sure I get your question? You need to create the cage once the low poly has been imported - if you've made your own then you simply need to designate it to the mesh via 'External Cage Meshes'.

    What's the point?
    Well XNormal doesn't really allow an intuitive way of creating cages, it's important the cage is correctly set up otherwise you'll get clipping and artifacts in the bake. This is why creating a cage in your 3D application is better because it allows you to manipulate it at the disposal of all the tools available to you... XNormal doesn't have this, it's a baking utility not a modelling program. The option is there, but that's needless to say it should or shouldn't be used.

    There's no shortcuts, do it properly and you'll save time later on down the line...
  • _tzeshi
    Offline / Send Message
    _tzeshi polycounter lvl 2
    anyone else noticed the new version of xNormal (v3.18) doesnt install the SBM exporter in 3ds Max 2015?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    anyone else noticed the new version of xNormal (v3.18) doesnt install the SBM exporter in 3ds Max 2015?

    Yep, last xN does not yet support 3dsmax 2015 but it will soon :)
  • essimoon
    Offline / Send Message
    essimoon polycounter lvl 8
    I noticed some weird errors when baking a normal map from two fbx files exported with 3ds max 2015. Not sure if it has something to do with max being 2015. Never had any serious issues before.
    qjw2b3mf_png.htm
    xnormal_bake_issue.png
    Left normal map is baked in max 2015, right one baked in xnormal. Notice the weird bricks (in the blue circles) on the right normal map? Looks like something got baken twice.

    Can someone help me or tell me what i might have done wrong?
  • m4dcow
    Offline / Send Message
    m4dcow interpolator
    I noticed some weird errors when baking a normal map from two fbx files exported with 3ds max 2015. Not sure if it has something to do with max being 2015. Never had any serious issues before.
    qjw2b3mf_png.htm
    xnormal_bake_issue.png
    Left normal map is baked in max 2015, right one baked in xnormal. Notice the weird bricks (in the blue circles) on the right normal map? Looks like something got baken twice.

    Can someone help me or tell me what i might have done wrong?

    You need to use an actual cage file, when you check the use cage option, or rays project from really far out and project unwanted parts of the highpoly onto your normal map.
  • tach
    Is anyone else unable to launch Xnormal after the latest Java update? It worked just fine for me before the update and now it won't launch due to "access path" issues.

    I got Java 8 (64-bits) and Java 7 U55 (64 and 32 bits) installed after the latest update. I'm running xNormal 3.18.7 (64-bit).
  • Wasp
    I'm having some major issues with xnormal and my normal maps. I'm getting these artifacts when I combine my normal maps with dDo in photoshop:
    Haxxer_1399490855.jpg

    As you can see, the higher the gloss/spec, the more predominant the artifacts/gradients are. Here's my normal map with the contrast tuned all the way up, the artifacting becomes really obvious:
    Haxxer_1399536642.jpg

    How can I solve this?
  • Nosslak
    Offline / Send Message
    Nosslak polycounter lvl 12
    I've had a similar problem a few times before. The artifacting occurs because the normal map doesn't have the bit-depth necessary to properly represent the small differences that are needed.

    The easiest solution would be to bake a 16 bit normalmap but not all programs support that (don't think TB2 supports it). So the next best solution would be to try to isolate the element in the mesh with hard edges and just go with a flat normalmap for the glass. I had to do this for a pair of binuculars I made recently and it worked fine. You've got some detail on the glass so if possible you could perhaps try to bake it flat and curve it afterwards and see if that helps at all.

    If you were to add damage and dirt to the glass and reduce the glossiness it would be a lot less obvious but that is of course not always applicable.
  • Farfarer
    Try baking it in 16bit, then downsampling to 8bit in Photoshop. It does a decent job of dithering.

    I think you'll still wind up with some artefacting in the normal map though.
  • Wasp
    I don't think xnormal allows me to bake in 16bit.

    EDIT - SOLVED!

    I used the TIFF exporter instead of the TGA. I should've searched in this thread more!

    EDIT 2 - ACTUALLY NO.

    It didn't actually solve the problem, just made it a tiny bit less obvious.
  • oXYnary
    Offline / Send Message
    oXYnary polycounter lvl 18
    With the new version 3.18.7 has anyone noticed issues with baking mirrored objects? I'm getting a slight seam showing even on flat areas. I could be totally missing a step, but I'm 90% sure the last version I used 3.14? hid the seams really well.

    Setup is
    smoothing across the mirrored seam (or no hardedge).
    exporting objs of object and cage in maya format from max.
    +XYZ for swizzle.
    3point shader in max.

    Cant be a graphics driver issue as I am having the same problem on an AMD and Nvidia card.
  • Bek
    Offline / Send Message
    Bek interpolator
    wasp; if you're using ddo's previewer it'll convert your normal map to a lossy jpg so you'll get a lot of those artifacts.
  • ExcessiveZero
    Offline / Send Message
    ExcessiveZero polycounter lvl 12
    had a whole day wasted because of max's bugged OBJ exporter, now im only ever going to use SBM, what a wasted day.
  • Stromberg90
    Offline / Send Message
    Stromberg90 polycounter lvl 11
    Is the xnormal4 beta still sett to happen in 2014?
  • oXYnary
    Offline / Send Message
    oXYnary polycounter lvl 18
    Would anyone be willing to do a test in Xnormal? First, your viewer, are you in dx9 or 10? Load up a model with curved seam (like a cylinder) along with your tangent space normal map. In DX10 its showing a difference in lighting while DX9 is showing it correct. I have tried earlier versions of Xnormal and its still showing the seam in dx10. Now, I could be wrong but I thought I had dx10 on for awhile now, so I'm wondering if its some sort of DX update that got pushed out that's screwed this up.

    So, especially with anyone who is using Windows 7 and an older version of Xnormal, could you attempt the above and see if you get the same issue (seam showing in dx10 mode).
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Is the xnormal4 beta still sett to happen in 2014?
    We want to release the beta by September, yep.

    And the 3.18.8 ( which is 3ds/maya 2015 compatible ) will be released in a few days.
  • Stromberg90
    Offline / Send Message
    Stromberg90 polycounter lvl 11
    thanks for the update :)
  • Blackbox Corp
    Hello,
    I have problems with my new project - an alien bust. Everything works fine, the sculpt is finished an I want to bake a normal map now. It isn't my first time to do this with xNormal but this time I cant find any solution.

    Usually missing blocker or a wrong ray distance input are generating these errors, but I solved all of these. There are no intersecting parts as well.

    Please take a look.

    How can I fix that?
  • cookedpeanut
    Offline / Send Message
    cookedpeanut polycounter lvl 13
    Could someone shed some light on this error, I can't figure out why it's being rendered in the normal map.
    98690f9a93fd0082953ca884d6c629fa707d2ea147.png

    The weird displaced area on the circular part??
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Make sure the you don't have a hard edge, uv split, duplicate faces, etc.
  • cookedpeanut
    Offline / Send Message
    cookedpeanut polycounter lvl 13
    Turns out my cage wasn't straight and therefore those weird artefacts were coming through.
  • jmchristopher
    Offline / Send Message
    jmchristopher polycounter lvl 11
    Has any one had any luck using hxgrid and xnormal? I have both installed and the agent and coordinator see each other, but I cannot figure out how to assign a "task" to the coordinator. Is there something I have to change in xnormal to get this to work?

    I have xnormal v 3.18.8.36 and hxgrid v1. Thanks.
1505153555659
Sign In or Register to comment.