Home Technical Talk

xNormal - MASTER THREAD

18911131459

Replies

  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    Sent you a €25 donation. I use this software all the time and I'm happy to contribute to the further development of it. Keep up the awesome work.


    [/ QUOTE ]
    Thx East and Johny

    [ QUOTE ]

    Oh, and if the GUI gets a revamp to look more "standard", I'd be more than happy


    [/ QUOTE ]
    Believe me, you are not the only one that told me that haha

    I'm gonna finish some things in the list and probably then start xNormal 4.0 from zero with portability and UI in mind tongue.gif I can tell you will target Windows and Linux 1st, then if I get a Mac will port it easy ( gonna use GTK+ or 3D-accelerated OpenGL for the UI, .NET was an error I think )
  • Joao Sapiro
    Options
    Offline / Send Message
    Joao Sapiro sublime tool
    Jogshy , if you could add cavity maps like zbrush can , and be able to generate them from the lowpoly with normals ill empty my paypal account lol.

    i kinda like the Gui :P
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    If you could add cavity maps like zbrush can , and be able to generate them from the lowpoly with normals ill empty my paypal account lol.

    [/ QUOTE ]
    Let me show you what I'm coding atm...

    nmtocavitydb2.jpg

    Could show the the preview window too but is broken atm tongue.gif
    Mwahaha!
  • Renaud Galand
    Options
    Offline / Send Message
    Renaud Galand polycounter lvl 19
  • Joshua Stubbles
    Options
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    Cavity map? Haven't heard that term before. Is that just a height map for parralax?
    And yeah I agree, the UI would be better with a more standard ie; 'windows' look to it. Compact and tight.
    Best damn utility out there though, Jogshy. We love ya : )
  • Joao Sapiro
    Options
    Offline / Send Message
    Joao Sapiro sublime tool
    someone please could post an example of cavity map ? includin the map itself please ?
  • dkorch
    Options
    Offline / Send Message
    dkorch polycounter lvl 17
    ok, so far I absoutly love you, and this program. I mean holy fucking craping monster shit, talk about a time saver. however im having some problems maybe you can help me with, or anyone.

    so im rendering out an ao map, yet the ao map misses some pieces that probably are just sticking out a little to far. so I turned on the cage, and it seems to fix, yet now instead of the black holes that its missing, it is bringing in weird parts of other parts of the map, that are not even near it. I tried adjusting the cage in 3d viewer, then closing it and rendering again, but still no luck...

    anyone help me with this?
  • Joao Sapiro
    Options
    Offline / Send Message
    Joao Sapiro sublime tool
    did you reset Xform of your model ?
  • dkorch
    Options
    Offline / Send Message
    dkorch polycounter lvl 17
    im going to go ahead and say no cause I have no idea what that is haha. im using maya, is that in maya? or xnormal? sorry, for some reason I know I should know what that is heh.
  • EarthQuake
    Options
    Offline / Send Message
    no its a max thing.
    edit: btw if you're adjusting the cage, you have to make sure to click "use cage".
  • dkorch
    Options
    Offline / Send Message
    dkorch polycounter lvl 17
    yea, use cage was on.

    the xform thing, im assuming is the same as freeze transformations...

    edit: memory conservitive helps artifacting haha.
  • dkorch
    Options
    Offline / Send Message
    dkorch polycounter lvl 17
    but yea, after a new export with frozen transformations, and an even larger scale I am still picking up other unrealated to the section parts of the model...bleh, would make it so much easier if I could post this shit up.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    memory conservitive helps artifacting haha.

    [/ QUOTE ]
    Yep, the fast raycaster uses very weak floating point precission/tricks to optimize. If you get artifacts better use the "memory conservative" raycaster.
    I'm improving that for the next version though

    About the AO, i'm changing it to use cages/distance to limit the ray length ( atm uses infinite length ). Got the next version almost ready... I'm just polishing a few the cavity map tool and new AO system before to release the definitive version.
  • Joao Sapiro
    Options
    Offline / Send Message
    Joao Sapiro sublime tool
    Hey jogshy , somehow none has the time to post good cavity maps example , but ill give you some links to zbrushed images that use them . ill be putting them later since i have a fluu and going into delirium smile.gif
  • dkorch
    Options
    Offline / Send Message
    dkorch polycounter lvl 17
    you know those times when you finally find somthing, and go holy fuck, im an idiot...yea just had one of those. I did not realize that the cage you adjust in the 3d viewer has to be saved out and sepeartly loaded...I thought it just saved when you closed it...

    im dumb...this thing is just a whole lot more awsome now haha.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    Some preliminary results of the upcoming cavity tool ( blame the JPG quality ):
    cavitytz9.jpg

    With more depth applied:

    cavity2li1.jpg

    Gonna be very easy to use.. just load a tangent-space normal map.. set two parameters.. and press the generate ( takes 2-3 seconds to process a 2048x2048 image )

    The idea is to combine this with the AO map to produce better results at wrinkles ( or to make a superfast easy AO approximation if you reduce the "contrast/depth" parameter enough )

    If all goes good probably will upload the new version this Friday 23. The changes list is still a mistery to keep the suspense tongue.gif
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Awesome work Jogshy! I will make a donation to your paypal as soon as I get paid this month smile.gif
  • Joao Sapiro
    Options
    Offline / Send Message
    Joao Sapiro sublime tool
    holy shit jogshy , you know what you just did do you ? cant wait to try it out !! wow...its amazing how this tool has evolved from the beggining...
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Hot! That cavity thing is better than sex!
  • Noren
    Options
    Offline / Send Message
    Noren polycounter lvl 19
    That's looking very, very promising. smile.gif
    Now in an ideal world, the shape of the pentagram on his forehead would be darkend inside, in the cavity, so to speak. wink.gif
    No idea if that is possible from the normalmap alone.
    And thx again for your effort, I'll send some money, too. smile.gif
  • Joao Sapiro
    Options
    Offline / Send Message
    Joao Sapiro sublime tool
    agreed with noren , maybe tweak a bit more so that everything that is that sulked receive more dark value ? but jesus this is getting amazing.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    xNormal 3.10.3 released!

    - Revamped ambient occlusion. Now you can use cages/ray distance to control the AO ray length. New adaptive method ( increased render speed ). Added AO bias to solve some self collision problems. Added new Random(dirty) distribution. Added "bent normals" generation for PRT

    - Added min/max light/darkness controls for some maps. Useful in case you want a darker AO map for example.

    - Reduced precision problems in the rayster "for speed".

    - Added PSD image file support.

    - Solved some DX9 and OpenGL problems.

    - Added a "skip hit if normals are opposite" option.

    - Added the cavity map tool.

    - Solved tons of minor bugs ( FBX hang, revised numeric-up-down increments, etc )

    Some notes:

    1) The new AO adaptive method is faster but can produce undesired results sometimes. To disable it just set the minimum # of rays equal to the max one.

    2) In the cavity tool notice you can set negative bright and contrast values. Usually you will set it to a positive value. Negative values are only for advanced tweaking!
    The bright just adds(or subtracts if negative) a constant amount of color to the cavity map.
    The contrast controls how much deep/pronounced are the cavities. A negative value will invert the cavity(if was embossed will be extruded, if was extruded will be embossed)

    Notice also the cavity map exports in RGB some data and in alpha other one smoother:

    xnormalcavitymaprgbhe9.jpg
    xnormalcavitymapalphaqb2.jpg

    Btwm I recommend you to set the bright to 0,0000 if you want the alpha ( if you set bright greater than zero will be too saturated )
  • vahl
    Options
    Offline / Send Message
    vahl polycounter lvl 18
    can't move my mouse in the new version in fullscreen mode (works in windowed though)

    I tried the cavity map thing too, it looks like you took the normalmap and greyscaled it, which is annoying since it shows details that are not part of the cavity map.

    as for the curvature maps, I'll send you a sample this weekend to show you the differences between xnormal and what I get in xsi.

    grat job on the rest though, I love the rederer and the alpha features are a great additon smile.gif thanks again, I'll donate asap
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    New tracer is nice and fast and I much prefer this new layout of settings (although I wish there was a drop-down selection box for output map sizes - like 512, 1024, 2048 just so I don't have to type it every time smile.gif )

    However I found the new version keeps crashing after one render... I have 2 OBJ files for high and low, and output a 2048 just normals... every single time in the new version, it renders once correctly but if I try to render again with the same settings it says it can't load the model. And sometimes it will crash straight afterwards.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    However I found the new version keeps crashing after one render... I have 2 OBJ files for high and low, and output a 2048 just normals... every single time in the new version, it renders once correctly but if I try to render again with the same settings it says it can't load the model. And sometimes it will crash straight afterwards.

    [/ QUOTE ]
    Ooopz you're right. I loaded the acid example and added the parallax objects to the batch and crashes.... Hmm gonna investigate a few. Can you send me your XML settings MoP, pls?
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    Posted a beta with some bugs corrected. I hope the problems will be gone now.
  • vahl
    Options
    Offline / Send Message
    vahl polycounter lvl 18
    hey man, did you get my email regarding the mouse bug ? if not, the patches unfortuntely didn't change anything, do I need to install something specific ?
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    Anymore having issues with the mouse cursor?

    Vahl, that occurs with OpenGL or Direct3D btw? Tryed the latest 3.10.4 beta 1? Are you using Window Vista or WinXP 64? Can you play well other OpenGL/D3D games? What graphics card and drivers are you using pls? Are you using some kind or right-to-left reading localized language pack(arabic,hebrew,etc)?

    I'm trying to determine what's the bug, but seriously I don't see anything bad in the code... I think i'm gonna change the input system completely if is not resolved.. perhaps is some kind of DirectInput bug(Microsoft does not update it anymore)
  • fritz
    Options
    Offline / Send Message
    fritz polycounter lvl 18
    hello, is there a simple walkthrough pdf or something for someone who hasn't used xnormal yet? i'm heading out so i don't have time to read through 18 pages of this thread. hahaha. i will later tho...i promise. however, i'm getting close to mapping a new character and want to try xnormal(been using max). also, does it handle higher poly counts better than max?

    thanks joshy...hell, i'll donate even tho i haven't used it yet!!!!

    oops. found the tutorials on the site. haha. impatient post.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    hello, is there a simple walkthrough pdf or something for someone who hasn't used xnormal yet?
    oops. found the tutorials on the site. haha. impatient post.

    [/ QUOTE ]
    I recommend you these tutorials before to start to use normal mapping:

    http://www.bencloward.com/tutorials_normal_maps1.shtml
    http://www.poopinmymouth.com/tutoria...l_workflow.htm
    http://www.game-artist.net/forums/showthread.php?t=43

    Once you know the theory and did some small experiments try to see the xNormal flash tutorials. Then download xNormal, install it and take a fast look to the 140 pages PDF inside.

    Is very easy... basically you model the highpoly and the lowpoly(this one need to be texture mapped). Then open xnormal and assign the highpoly in the highpoly mesh list, the lowpoly in the lowpoly mesh list... then measure the ray distances(see inside the PDF, multiple methods to do this ) or setup the cages(the best method for me). Then press the generate button with the "generate normals and heightmap" option and voila tongue.gif

    To start, try to open the acid, parallax wall and flag examples. See how the settings are set, open the OBJ files in max and see how are done, etc... Then use your own model and experiment a few with the parameters. Finally, when you manage well the basics try to do more advanced things like ambient occlusion, base texture baking, edit cage vertices, specify external cages, batch rendering, etc...

    [ QUOTE ]

    also, does it handle higher poly counts better than max?


    [/ QUOTE ]
    Well, in theory yes... because 3dsmax need to load tons of plugins, settings, triangulate patches/subdiv/nurbs, adjacency data, modifiers and other things that occupy a lot of RAM. Also, the new versions of xNormal use the hard disk in case you reach a physical out-of-memory ( however you will need a decent amount of RAM to the the swapping, like 2Gb or more, and x64 can help here too ). Finally, try to use the "memory conservative raycaster" to save memory while rendering maps in xNormal ( the "faster" one needs much more RAM )

    Hope it helps
  • fritz
    Options
    Offline / Send Message
    fritz polycounter lvl 18
    woah! thanks jogshy. i will most definitely be giving xnormal a try. i am already familiar w/normal maps and AO etc...it's just that i've been doing them in max. and everyone here says xnormal produces better maps and is just a better overall experience that baking texs in max. so i'll let you know how it goes.

    cheers man!!!!
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    I'm finishing the 3.10.4 and changing a few the web header... Wanna add some links to projects using xNormal. I put a temporary version of the web online so you can see.

    If you want me to put a link to any of your projects ( or if you want to be removed crazy.gif ), please tell me! I wish I could put all in a row, but unfortunally I have space for only 7 each time ( pressing the "more" will appear a page with all though or if you go to the FAQ page too )
  • Snowfly
    Options
    Offline / Send Message
    Snowfly polycounter lvl 18
    jogshy, since you update so frequently, could you possibly host a version that doesn't come with the sample files? thanks!
  • EarthQuake
    Options
    Offline / Send Message
    Hi santi, since you release so many updates so frequently, i was wondering if it would be posible for us to give you the code to our importer and you could just add it to your project when you compile? If its not too much work that is, thanks! =)
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    Hi santi, since you release so many updates so frequently, i was wondering if it would be posible for us to give you the code to our importer and you could just add it to your project when you compile? If its not too much work that is, thanks! =)

    [/ QUOTE ]
    Sure, give me!

    [ QUOTE ]

    jogshy, since you update so frequently, could you possibly host a version that doesn't come with the sample files? thanks!


    [/ QUOTE ]
    Yep, for the next version perhaps.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    The final 3.10.4 has been released.

    Added photoshop filters, 3dsmax SBM mesh exporter, HD-Photo/WMP image support(amazing compression and good quality), 2 new amazing examples wink.gif, new install system, upgraded the documentation, added XBox 360 gamepad support and revamped the input system ( for the people with mouse and multimonitor problems ) + all the other things in the beta 1.

    Just two reminders... Needs the latests DX9 April 2007 runtime and to capture/raise the mouse cursor in windowed mode use "ALT+ENTER".

    Enjoy it cool.gif
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    Added a new tutorial about how to export cages/meshes from 3dsmax 9 using the new xNormal SBM mesh exporter.

    It's at http://www.xnormal.net/Tutorials.aspx as usually.
    thx
  • tedledz
    Options
    Offline / Send Message
    Hello again Jogshy,

    This is probably a stupid question to ask, but is there a way the user can load 2 seperate meshes into xnormal along with it's maps etc? Or if there is any other tool that can do this, otherwise im screwed
  • Revliss
    Options
    Offline / Send Message
    Revliss polycounter lvl 17
    this may sound like a very stupid question but where can i get 3.10.4 i only see 3.10.2 down load page
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Revliss: http://www.xnormal.net/Downloads.aspx

    The really big wide white button spanning both the x86 and 64-bit column near the top.
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    is there a way the user can load 2 seperate meshes into xnormal along with it's maps etc? Or if there is any other tool that can do this, otherwise im screwed

    [/ QUOTE ]
    Yep, is possible:

    You can sepparate your model by "material". Imagine you have the object "myCar" with 3 sub-materials(3dsmax multi-sub-obj material concept or XSI clusters... aka material asigned in a group of faces) ( glass, tires, chassis ). Sepparate the object "myCar" into three different "Tires"/"Glass"/"Chassis" objects and assign the corresponding material to each one. Then export it as 3 different OBJs ( tires.obj, chassis.obj, glasses.obj ).

    Then, launch xNormal and assign the OBJs in the lowpoly mesh list ( one file per slot ). Then go to the 3d viewer options and assign the textures for each mesh in the lowpoly list ( and enable transparency for the glass if you want ).

    See the MoP's Xemakos, is done in that way. There are three objects with different textures for each one ( mount, xemakos and room ).

    Hope it helps
  • tedledz
    Options
    Offline / Send Message
    Hey I was thinking perhaps some sliders that allowed the user the option of changing the opacity of the wireframe and it's colour on your mesh. Right now the wireframe seems too be a bit patchy not sure if it's my video card or not. But I think the ability to change the opacity of the wireframe and it's colour would be awesome.

    grin.gif2 thumbs up for your efforts sofar jogshy
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    Hey I was thinking perhaps some sliders that allowed the user the option of changing the opacity of the wireframe and it's colour on your mesh.

    [/ QUOTE ]
    The opacity sure! ( but some drivers will ignore it I suspect )
    The color is just changed at the moment automatically using the "inverted" background color ( for example, if you set a white background the wireframe is set black )
    Gonna see how to patch that for the next release, thx!
  • Mongrelman
    Options
    Offline / Send Message
    Mongrelman polycounter lvl 18
    I had a problem with 3.10.2 in that when I went to the 3D viewer, my model is invisible unless I tick 'show normals' or 'show cage'. In which case I can't see the textures.

    I uninstalled and then installed 3.10.4, but I'm getting the same problem frown.gif No idea what the problem is. I used the same model, texture files and xnormal version earlier today on a different computer and it all worked fine.

    Any ideas?
  • East
    Options
    Offline / Send Message
    East polycounter lvl 14
    Try using OpenGL instead of Direct3D in the plugin menu. I have the same problem. Never been able to view any models in Direct3D mode.
  • Mongrelman
    Options
    Offline / Send Message
    Mongrelman polycounter lvl 18
    Ahhhh, that fixed it. Cheers smile.gif
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    I had a problem with 3.10.2 in that when I went to the 3D viewer, my model is invisible unless I tick 'show normals' or 'show cage'. In which case I can't see the textures.

    [/ QUOTE ]
    What's your OS, graphics card and drivers version please? I think somebody told me about some Direct3D problems with ATI and Catalyst 6.6/6.7/7.2. Does it happen only with the lowpoly model or too with the highpoly?
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    Posted a small update with some bugs corrected and Photoshop CS3 and old 3dsmax support.

    thx
  • conte
    Options
    Offline / Send Message
    conte polycounter lvl 18
    jogshy, can you write direct link to archive? i can't download it over ie- connection torning.
    plz plz plz
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    [ QUOTE ]
    jogshy, can you write direct link to archive? i can't download it over ie- connection torning.
    plz plz plz

    [/ QUOTE ]
    Unfortunally my host company uses some strange upload manager that gives me an internal code to retrieve large files internally using a dynamic reference number ( for security reasons I bet ) and can be only accessed internally from the web code frown.gif

    Did you get some kind of IE download error when you pressed the download button?
18911131459
Sign In or Register to comment.