Home Technical Talk

xNormal - MASTER THREAD

Replies

  • animatoring
    Offline / Send Message
    animatoring polycounter lvl 2
    Is there a way to bake multiple objects at once in xNormal with multiple maps per object set?

    For example, if I had 20 objects that needed a normal and displacement maps is there a way to use a script or some other method to import each set of objects (high and low poly set) for the 20 objects and bake two maps per object set?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Is there a way to bake multiple objects at once in xNormal with multiple maps per object set?

    For example, if I had 20 objects that needed a normal and displacement maps is there a way to use a script or some other method to import each set of objects (high and low poly set) for the 20 objects and bake two maps per object set?
    Currently, it's not possible but perhaps you could use the batch mode ( setup the .xml files and render passing them to the command line ). There are also some useful batchers for Maya/max/standalone written in python, etc... We have some listed in our FB/Twitter/blog.

    That's a thing we want to improve in future releases :)
  • Fuiosg
    Offline / Send Message
    Fuiosg polycounter lvl 5
    Is there a way to get xnormal to stop adding alpha information to .png bakes?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Fuiosg said:
    Is there a way to get xnormal to stop adding alpha information to .png bakes?
    Currently, nope, but I might add an option for that ;)
    You could open the png file in Photoshop/Paint/etc and discard the alpha channel... or use the BMP format ( which only supports RGB channels ).
  • withered
  • olaveiras
    Offline / Send Message
    olaveiras polycounter lvl 4
    Hi guys, I'm trying a different type of baking (using XNormals), where I sculpted in zbrush a full body, but in topology, I prioritized just some regions that i'll really show up

    (white is the high res, green my low res mesh and purple the cage)

    My normal map aways get errors, even with cage. The belt part is hopeless. This attempt (cut off part of topology and try to bake anyways) is wrong?

    I'm using the default settings in XNormal, I've used Ray distance calculator and changed other options but nothing change.

    I'm uploading my 3 meshes from the print, if someone want to have a try.


  • olaveiras
    Offline / Send Message
    olaveiras polycounter lvl 4
    Okay, I found out that my workflow was a mess.
    I didn`t used the divide>project details>bake normals flow between zbrush and XNormal. Now it works perfectly :)
  • triton
    Offline / Send Message
    triton polycounter lvl 6
    Any plans for XNormal on macOS?
  • asdaq
    Offline / Send Message
    asdaq polycounter lvl 4
    Hi, 
    In the description of the xNormal I found vague information that says:
    "It supports high levels of parallelism using multicore/multithreading, distributed/parallel rendering, ray tracing and advanced GPGPU techniques." 
    I am especially interested in the "distributed (...) rendering" part. 
    Does this mean that xNormal has tools to set up network rendering? Or it will allow to create it with the SDK?
  • baserock love
    Offline / Send Message
    baserock love polycounter lvl 2
    Hi.  I'm hoping one of you can help because Im at the absolute end of my wits here.  It seems completely random whether xnormal will let me use an external cage file.  I either get horrible results with a cage or i get this error 

    "the cage mesh in lowpolyCageFile has at face 0 a vertex index that doesn't match with the correspondent one for the mesh default inside the file".

      Something to that effect.  Lots of people get this error and it's always because they're using a max workflow or because they changed the topology on their cage.  My cage is literally just my low poly with some verts moved around so it's not possible that the topology is different.  I've tried triangulating it, not triangulating it, exporting nothing but the mesh with all the obj export switches set to off (I had to do this to get my first external cage to not appear to have different geometry to xnormal.).  I can have one cage file work, get horrible results, move a few verts in that cage file to try to figure out what's going on, export it and try again and the new one won't work even though it's the same mesh with just some verts pushed around.  

    I do the vert pushing in maya.  Has ANYBODY found a solution to this problem?  It seems the few people who have this issue that use maya either have an issue that doesn't apply to me, or they could just never get them to work and the thread died.

    Any help would be appreciated.  I'm at my wits end here.
  • mattpesquet
    Hey guys.
    i have few questions about Interactive height tonemapper, i m wondering what "Use logaritmic scale" and "smooth" option exactly do ?
    What are the benefits of using those options ? and what kind of difference should i expect between a displacement map with or without those options ? 
    I can see logaritmic scale basically make tonemapping more light, and smooth option add kind of contrast and produce darker result...

    Any information is welcome ! 
    thanks
  • Larry
    Offline / Send Message
    Larry interpolator
    Hello, why is this happening in the end of the baking? It bakes fine but in the end, all of these artifacts occur!

  • m4dcow
    Offline / Send Message
    m4dcow interpolator
    Larry said:
    Hello, why is this happening in the end of the baking? It bakes fine but in the end, all of these artifacts occur!

    Looks like edge padding to me.
  • maucerichris
    Hi Everybody,

    I am trying to use xNormal, but get some errors I don't understand......
    this is the objects I try to use for baking
    so I export this in xnormal, and set the normal map to +x-y+z ( I saw this in a tutorial ) and run the tool for calculating the distance.
    this is what I am getting when I render it:

    Any Idea?

    Thanks
  • Twinflower
    Offline / Send Message
    Twinflower vertex
    I am thinking perhaps quad faces is not enough... What happens if a program uses 8-vertices polygonal faces? If you are using these kind of faces I am pretty sure my OBJ importer will do a nice BOOOOOOOOOOOM!

  • Spiney
    Offline / Send Message
    Spiney null
    Hey, I'm looking for a tool that can generate horizon maps from a height map. Does xNormal support this? I could write something myself but I'd rather use some off-the-shelf swiss army knife like this.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    >Any plans for XNormal on macOS?
    Working on it for xn4.

    >I am especially interested in the "distributed (...) rendering" part.
    >Does this mean that xNormal has tools to set up network rendering? Or it will allow to create it with the SDK?
    Previous releases contained an experimental network renderer, but it was scrapped in favour of GPGPU renderer.
    Distributed rendering is in the long-term TODO list.

    >I have few questions about Interactive height tonemapper,
    >i m wondering what "Use logaritmic scale" and "smooth" option exactly do ?
    Just a small variation in the tonemapping algo to get a darker/lit result.

    >why is this happening in the end of the baking? It bakes fine but in the end, all of these artifacts occur!
    Edge padding, which is used to avoid problems with UV-seams and textures. Don't worry about that, it's perfectly ok.

    > I'm looking for a tool that can generate horizon maps from a height map. Does xNormal support this?
    xn suports cone/parallax mapping. Not sure what's an horizon map ;)

    >am trying to use xNormal, but get some errors I don't understand......
    Always ResetXForm+EditMesh+Collapse in Max before exporting ( or Triangulate+Freeze transformations in Maya ). Also, be sure your UVs are well welded without T-junctions and setup a cage ( with the ProjMod, making sure the HP mesh is always covered by the cage ) and export as SBM.


  • Spiney
    Offline / Send Message
    Spiney null
    > xn suports cone/parallax mapping. Not sure what's an horizon map

    A horizon map calculates horizon visibility from a pixel in a multitude of directions, it's basically a huge look-up texture.
    It eats up a lot of ram, which is why it's not used much. But it's perfect for casting well defined shadows from pronounced parallax textures without having to do expensive ray marching at runtime. Right now I'm using the latter, which adds a lot to the scene, but it's really expensive and I'm not even thinking of doing it to more than one light source. A horizon map is just a single lookup. I immediately thought about xNormal when looking for something to generate them.

    See: http://www.ppsloan.org/publications/bs.pdf for the original paper.
    Here's a demo video: https://youtu.be/87EQQlz9X5w



  • Dash-POWER
    Offline / Send Message
    Dash-POWER polycounter lvl 6
    Spiney said:
    > xn suports cone/parallax mapping. Not sure what's an horizon map

    A horizon map calculates horizon visibility from a pixel in a multitude of directions, it's basically a huge look-up texture.
    It eats up a lot of ram, which is why it's not used much. But it's perfect for casting well defined shadows from pronounced parallax textures without having to do expensive ray marching at runtime. Right now I'm using the latter, which adds a lot to the scene, but it's really expensive and I'm not even thinking of doing it to more than one light source. A horizon map is just a single lookup. I immediately thought about xNormal when looking for something to generate them.

    See: http://www.ppsloan.org/publications/bs.pdf for the original paper.
    Here's a demo video: https://youtu.be/87EQQlz9X5w



    Thanks for explanation. It reminds me Self-Shadowed Normal Mapping from Valve but it probably won't works with parallax.
  • 1Rafael3d
    Hello everyone. So I have this weird artifact with my height map after a bake in xnormal. (substance painter viewport>)
    https://puu.sh/z10U4/1324358629.png
    https://puu.sh/z10Rz/f71297561e.png
    https://puu.sh/z10SV/571829d822.png
    https://puu.sh/z10U4/1324358629.png
    Rebaked it couple of times. Still same thing comes out with those weird lines in random areas. The map is 4k. The grey map seems okay when I open it in Photoshop. 
  • depuiseau
    Offline / Send Message
    depuiseau polycounter lvl 3
    Is there a way to bake several different maps from the highres to low-res I one go? For example say I have a full set of textures done for the highres and want to bake everything, is there a program that can do such a thing?
  • JoshWilkinson
    Offline / Send Message
    JoshWilkinson polycounter lvl 9
    1Rafael3d said:
    Hello everyone. So I have this weird artifact with my height map after a bake in xnormal. (substance painter viewport>)
    https://puu.sh/z10U4/1324358629.png
    https://puu.sh/z10Rz/f71297561e.png
    https://puu.sh/z10SV/571829d822.png
    https://puu.sh/z10U4/1324358629.png
    Rebaked it couple of times. Still same thing comes out with those weird lines in random areas. The map is 4k. The grey map seems okay when I open it in Photoshop. 
    @1Rafael3d It could be the import settings that are causing distortion in the Substance viewer. I'd try viewing it in Marmoset to verify the problem persists. If it does, make sure the file is a 16-bit greyscale. If the problem continues to persist, you can help combat the issue (and push visual interest) by rotating each brick very slightly in a different direction, so there's an actual gradient and maybe less banding.
  • Daustin_3D
    Offline / Send Message
    Daustin_3D polycounter lvl 3
    Hello everyone, this is my first attempt using xNormal for baking my maps and I would like some assistance please.

    I've having some undesirable results when bringing my mesh into Marmoset and I was wondering what to do from here or what the issue is? I've been bumping up the default mesh scale and the Min and Max ray distance, but I'm not having any luck with making this come out any better.

    could it possibly be due to my low poly being TOO low poly?

    Thank you in advance!

  • Stefmon
    Offline / Send Message
    Stefmon polycounter lvl 7
    When baking in xNormal, the low poly tries to pick up the high poly detail around it. That means that the low poly leather will pick up detail from the high poly skull because they're close together.

    This is likely because your model is made of separate components baked at the same time. You may have to separate the high and low models into their components and bake each component individually (do so on duplicate files as to retain your originals).
    Then you can combine the maps in Photoshop. 

    Also make sure that you soften/harden edge on your low poly and export it with smoothing groups.
    Also Also make sure you use xNormal's ray distance calculator before each bake.
    Just go to: Tools > Ray Distance Calc > Press 'Go' > Wait for at least 30-60 seconds > press 'Stop' > Press 'Copy Results' > Press 'Close' > Ready to bake!

    Hope that helps. Someone correct me if I'm mistaken about anything.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    @Daustin_3D Nice mesh ! You could try to setup a mesh but, as Stef said, overlapping / layered objects are always a problem. Perhaps could be a better idea to explode the mesh and bake each part ( the skull , the wall, etc ) separately..


  • Zablorg
    Offline / Send Message
    Zablorg polycounter lvl 6
    Does this kind of two-toned baking error look familiar to anyone? I go into more detail here, but the upshot is that even though I'm getting this error when baking tangent-space normals for these smooth stones, the object-space normals seem to bake out just fine. Converting the object-space into tangent-space yields the same error, however.

    The fact that the object-space bakes okay suggests to me that both my high poly and low poly are ultimately fine, so I don't understand what's happening here.


  • adeebalm
    Offline / Send Message
    adeebalm node
    hi guys why xnormal can export 32k that means to mari i am confused because the only software can export 32k i am right
  • mattpesquet
    Hey guys.
    i have few questions about Interactive height tonemapper, i m wondering what "Use logaritmic scale" and "smooth" option exactly do ?
    What are the benefits of using those options ? and what kind of difference should i expect between a displacement map with or without those options ? 
    I can see logaritmic scale basically make tonemapping more light, and smooth option add kind of contrast and produce darker result...

    Any information is welcome ! 
    thanks
  • mattpesquet
    Hey guys.
    i have few questions about Interactive height tonemapper, i m wondering what "Use logaritmic scale" and "smooth" option exactly do ?
    What are the benefits of using those options ? and what kind of difference should i expect between a displacement map with or without those options ? 
    I can see logaritmic scale basically make tonemapping more light, and smooth option add kind of contrast and produce darker result...

    Any information is welcome ! 
    thanks
    This thread should be called Master Dead...
  • Eric Chadwick
  • Eric Chadwick
    This seems to work ok though.
    http://xnormal.net 
  • AmiPolizeiFunk
    Offline / Send Message
    AmiPolizeiFunk polycounter lvl 2
    I too am wondering what is going on with the xnormal website. The first link above still gives me a 404 error and the second link says "website coming soon." What gives?
  • dur23
    Offline / Send Message
    dur23 polycounter lvl 19
    Has anyone else tried the most recent version of photoshop and xnormal together? Plugins don't seem to be loading in ps. 

    edit: Nevermind, i manually copied the files from xnormal to photoshop and it seemed to work. 
  • raul
    Offline / Send Message
    raul polycounter lvl 11
    Can xnormal separte models indiviually to avoid bleeding? Eliminating the need to explode meshes? Just like marmoset and or substance painter do these days by using the _low and _high suffixes?
  • tabacaru_mvlad
    Offline / Send Message
    tabacaru_mvlad polycounter lvl 4
    If you receive the error message "sorry, cant`t find plugin.. " when trying to bake with Xnormals, in my case was because the texture name had an underscore then a number. I put my texture name"aaa" and it worked afterwards.
  • Deadity
    Offline / Send Message
    Deadity polycounter lvl 7
    Does anyone know how the "load mesh folder"  functionality is supposed to work? I can get meshes imported just fine, but when I try to import images, nothing happens. I have tried to rename the images to all sorts of combinations, I even had the image and mesh name be the same, to no avail. I've attempted reading through the Xnormal documentation but it appears to be suffering from a major existence failure.
  • lsebastian
    Offline / Send Message
    lsebastian polycounter lvl 3
    Hi

    Have 2 obejct, high (several tens connected together) and low, low equal squere plane (one polygon) with no padding UVW mesh (fit 100%).
    I use xNormal to generate height map, when i change in "Baking options" "Edge padding on 0"  and "Antialsing on 1x" i get on right and top map edge, black border, but when i set for example: "Edge padding on 10" "Antialsing on 2x", map looks corectly, black border no appear.
    When i import this good looking height map in photoshop and a bit offset her (for check tiled), she still are fine (every pixels) no gap, no line.....smooth transition, next i convert in PS on normal, using filter from xNormal plug-ins, then edgge appear but only on one side ( i think on top).

    I try many method but nothing help (cage, without cage, smooth/hard face.........). In 3ds max i use the same object and height map generate corectly ( no edge on tiled bitmap when i convet on normal).

    If somone know solution and want share will be nice.


     
  • Ghogiel
    Offline / Send Message
    Ghogiel greentooth
    Hi

    Have 2 obejct, high (several tens connected together) and low, low equal squere plane (one polygon) with no padding UVW mesh (fit 100%).
    I use xNormal to generate height map, when i change in "Baking options" "Edge padding on 0"  and "Antialsing on 1x" i get on right and top map edge, black border, but when i set for example: "Edge padding on 10" "Antialsing on 2x", map looks corectly, black border no appear.
    When i import this good looking height map in photoshop and a bit offset her (for check tiled), she still are fine (every pixels) no gap, no line.....smooth transition, next i convert in PS on normal, using filter from xNormal plug-ins, then edgge appear but only on one side ( i think on top).

    I try many method but nothing help (cage, without cage, smooth/hard face.........). In 3ds max i use the same object and height map generate corectly ( no edge on tiled bitmap when i convet on normal).

    If somone know solution and want share will be nice.


     
    assuming your height map does tile properly, the UV on the plane actually fills the UV space correctly,(which might be the issue if you are getting a black line border)  etc

    A hacky solution:
    If your heightmap is eg 1024x1024:
    make the canvas size something like 1100x 1100 pixels to get a buffer around the edge
    Make 8 more copies of the height map
    turn on snap and move the copies to fill in all the buffer zone you created around the orginal size heightmap
    copy mearged and paste into a new layer
    run height to normal
    Alt click on the centered heightmap layer and crop

    That should leave you with a normal map that definitely tiles

    I'm still wondering why even height map to normal conversion when you are doing bake from high to low. why not just bake the normals
  • lsebastian
    Offline / Send Message
    lsebastian polycounter lvl 3
    I try this before but inverse. I just scale down uvw mesh, to have some distance from all edge , after bake i delete all black area around map but its not help.
    This solution i think not work, becouse xNormal bevel and emboss map, when edge padding set on "0", and AA on 1x. Even i set padding on 10 and AA on 2x, xNormal only extends missing area, but not bake there on this "top" edge, but its odd becouse side edge on this setting, bake now corectly (left, right are good)
    I ts not problem with uvw, i assuming its problem with xNormal.... Like i said before, in 3ds max i bake map properly, using the same object. 


    Ghogiel said:

    I'm still wondering why even height map to normal conversion when you are doing bake from high to low. why not just bake the normals
     
    In some case, i need convert height to normal to get wanted result, becouse when i bake normal map instant, and apply this shader to material i get different result..... but now i think maybe i need only adjust levels on normal map for wanted effect...


    ------------------------------------------------------------------------------------------------------------------------------

    I think about your solution, however its can be useful but, one way is scale a bit up low poly plane (to add more area), then bake, next edit map and dilete this area.

    Thanks.

    Its not quite tile texture, this is how it looks, only top and bottom are tile, left or right i use for reflection.... its snake body. In this case i can just simple cut section along across somwhere in center , and its work, but i have some larger part this body, where each smaller part are different and i cannot do this.

  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Hmmmm... that's strange
    Are all your UVs strictly in [0,1] range?
    Try a ResetXForm+Edit Mesh+Collapse in 3ds Max( Triangulate+Freeze Transformations in Maya) before exporting.

  • melviso
    Offline / Send Message
    melviso polycounter lvl 10
    I am not sure how to use this tonemapper that props up after baking the heightmap, any one here still using Xnormal?
    Would appreciate any info on this. Thanks.
  • gnoop
    Offline / Send Message
    gnoop polycounter
    melviso said:
    I am not sure how to use this tonemapper that props up after baking the heightmap, any one here still using Xnormal?
    Would appreciate any info on this. Thanks.

    I haven used it for quiet a while  but as I recall you just set "interactive"  and get special widows where you can check in " Debug min/max" clamping checkbox to see what pixels be clipped  i.e.  stay  above 1 (blue)   or below zero (red)  in output  "normalized" to 0-1 range image   and 2 slider to do this "normalizing"  i.e.   squeeze the range into 0-1 range.  

    or you could just  set height map to RAW values  in initial "map to render" options, save it as 32 bit exr ,  and then use Auto-levels in SDesigner  to do same automatically .  Or use Blender composer  "normalize"  node ( after setting exposure to zero and look transform to RAW in color managment part of render settings)
  • melviso
    Offline / Send Message
    melviso polycounter lvl 10
    @gnoop Ok. Thanks. What are you using for baking displacement maps currently?
  • gnoop
    Offline / Send Message
    gnoop polycounter
    melviso said:
    @gnoop Ok. Thanks. What are you using for baking displacement maps currently?

    For regular stuff I use Substance designer.  For  super hi-res   ClarisseFX
  • MechWarrior99
    Hello, 
    I am trying to bake some Ambient Occlusion to vertex color. XNormal has this feature, but it only seems to export to it's own .sbm format. I have looked everywhere but I can't find how to get or convert a file format that is readable by other programs like .fbx, or .obj. I have Blender, a Substance if that helps. 

    Is it not really a supported feature? Does some other software have AO vertex color baking that I should be using?
  • HaloAnimator
    Offline / Send Message
    HaloAnimator polycounter lvl 18
    It has been A LONG time since I've been on here. Recently opened up xNormal and really wish I could find a way to brighten up the darker parts of my AO map, especially in areas like mouths and eyesockets. I will most likely paint it out. I've tried changing attenuation and disabling "Allow 100% Occlusion, but that just causes artefacts. 
Sign In or Register to comment.