PDA

View Full Version : xNormal v3.0 ( normal mapper )


jogshy
02-28-2006, 06:11 AM
xNormal v3.0 is a .NET v2.0 application that creates normal/ambient occlusion maps from a very high polygon model and fits it into a low polygon model. Supports tons of mesh formats ( including COLLADA 1.4 ) as well as multiple output image formats. Includes a complete 57 pages PDF help document too.

It comes with an OpenGL interactive viewer ( and some examples ) to see the final result.

Is completely free.

More information at

http://www.santyesprogramadorynografista.net
http://santyhammer.blogspot.com

jogshy
03-02-2006, 07:11 AM
Patched version 3.0.1 solves problems with muti-monitor and sound.
thx.

jogshy
03-07-2006, 02:36 AM
Ok, just uploaded the new xNormal v3.1.0 with quad support, floating geometry support, new LWO importer, new fine detail / 3D viewer formats support, directory restoration as well as some minor bug correction.

Hope you like it. thx for all the feedback.

bobtronic
03-07-2006, 12:15 PM
I will check it out, sounds like a good normalmap creation software. Thanks for making it avaible for free.

Bob

jogshy
03-11-2006, 04:01 AM
Okie! New version v3.1.2 is out!
Btw, I added in my web a small .txt with the changes, so you no longer need to download the 11Mb to see them hehe...

Basically, solved the ambient occlusion crash ( was a problem with Pentium4 dual-cores and hyperthreading ), added camera orbit mode, added Stanford PLY mesh format ( because it appears is very popular in 3d-scanners ), now the 3d viewer supports floating point textures for improved normal map appereance as well as FSAA and antialiasing.

You can download it as usually in http://www.santyesprogramadorynografista.net/projects.aspx

Hope you like it!

lildragon
03-12-2006, 12:49 AM
Looks handy, will definitely give it a try.

-lild

jogshy
03-14-2006, 04:20 AM
Okey! Version 3.2.0.7080 is released!

Added supersampling, light orbiting, n-sided polygons ( quads weren't enough for meh! ), UI improvements like disable buttons sounds and RAM indicator, background color slider, improved dotXSI exporter ( now supports even triangle strip lists ), no more texture coords must be in range [0,1] and tons of bugs solved

See ya soon!

Bliz
03-14-2006, 04:25 PM
Downloading it now. Looks good though. Thanks for providing free stuff to the community!!:beer:

jogshy
03-18-2006, 01:09 AM
Version v3.3.0.1362 is out!

Added new ambient occlusion method ( which is better for floating geometry and 2x faster ), parallax mapping in the 3d viewer, a new example!(ugly, did myself), ALT+tab support, F1 to hide viewer's UI, other UI improvements and some bugs corrected.

As usually, http://www.santyesprogramadorynografista.net/projects.aspx
http://santyhammer.blogspot.com

Enjoy it!

ambient-whisper
03-18-2006, 04:37 AM
Version v3.3.0.1362 is out!

Added new ambient occlusion method ( which is better for floating geometry and 2x faster ), parallax mapping in the 3d viewer, a new example!(ugly, did myself), ALT+tab support, F1 to hide viewer's UI, other UI improvements and some bugs corrected.

As usually, http://www.santyesprogramadorynografista.net/projects.aspx
http://santyhammer.blogspot.com

Enjoy it!

id love it if full screen mode only used one monitor and not two. because currently the center point is.. in the center spot between my both screens. eww.

ShinChanPu
03-18-2006, 02:34 PM
Andaaaaaa.... ¡¡¡el Santi por aquí!!!

¡Cuánto tiempo, neng!. ¿Todo bien?

Tu programa tiene muy buena pinta, lo voy a probar.


Un saludo, fenómeno... que eres un fenómeno.


El Félix... (de Hammer, ¿recuerdas?)

jogshy
03-18-2006, 04:13 PM
Hey Felix, how do you do?
Q tal hombre!

ps: Ambient, I added a "Ignore multimonitor" option in this last version (v3.3.0) just for you :D

ShinChanPu
03-18-2006, 04:40 PM
Here I am... spending the day working at home (mierdadepuentepamí). De freelance y buscando nuevo currelo.

ps: Ambient, I added a "Ignore multimonitor" option in this last version (v3.3.0) just for you :D

As I said before... you're still the PutoAmo. Aunque me obligas a descargarme de nuevo el programa to be updated :D .

Have some beer tonight... (que yo no puedo).

jogshy
03-31-2006, 05:25 AM
xNormal v3.4.0 is out

Adds new "cages" method to measure better the ray distance ( per-vertex editable non-uniform ray distance, inner AND outter cages ), independent front/back ray distances (uniform, old method improved too), transparency in the viewer, batch rendering, hide/show meshes from raycaster/viewer, multiple meshes loading (including the highpoly in the viewer), reload models/textures, F10 key to take screenshots, extended the documentation to 80 pages, choose video mode and ignore/use multimonitor, etc etc etc...

Hope you like it.

sumpm1
03-31-2006, 09:48 AM
I'd be interested to know how this stacks up to Zbrush's Zmapper

R3desiGN
03-31-2006, 10:35 PM
Why not to try it out. Thanks.

jogshy
04-07-2006, 11:40 PM
xNormal v3.5.0 is out!

Improved cage support.

Also changed the heightmap algorithm to be more accurate, specially at triangle edges.

Added the glow effect for emissive texture with a slider to control intensity and a checkbox to disable it. See a preview image:


http://www.santyesprogramadorynografista.net/acidGlow.jpg

Also put an option to hide lowpoly/highpoly meshes inside the viewer.

Solved a very bad crash rendering normal maps with multiple meshes.

Now it allows too to launch the viewer without lowpoly models loaded if you wanna see only the highpoly meshes as requested.

Added numerical values to some 3D viewer controls.

Now the viewer uses alpha sorting per triangle ( very accurate but can be slow sometimes so beware the # of alpha-texture polygons you put... ). Now the entire acid example is alpha-sorted ( eyes are semi-transparent and reflective )

The complete change list is in www.santyesprogramadorynografista.net/archives/xNormal_changes.txt (http://www.santyesprogramadorynografista.net/archives/xNormal_changes.txt)

and you can download it as always in
www.santyesprogramadorynografista.net/projects.aspx (http://www.santyesprogramadorynografista.net/projects.aspx) and http://santyhammer.blogspot.com

Hope you like it!

cyartist
04-08-2006, 09:19 AM
This new version works great for me. Better than Max's normal mapper.

jogshy
04-09-2006, 09:37 AM
Just uploaded a small patch solving some bugs of the xNormal v3.5.0. I recommend you all this patch because solves tons of things.

see ya!

mummey
04-09-2006, 02:35 PM
Any plans for a Mac version? ;)

jogshy
04-09-2006, 06:02 PM
Yeah but not in a veyr near future. I just need to buy a MacMini and learn a few to program for mac hehe, XCode, Cocoa, etc...

mummey
04-09-2006, 08:49 PM
Well, let me know if you have any questions. I just recently gave my Macmini off and 'upgraded' to a Dual-G5.

There is alot of great information here, especially under 'Graphics & Imaging' and 'Performance'.

http://developer.apple.com/documentation/

jogshy
06-22-2006, 12:29 AM
xNormal v3.7.2 is released!


http://photos1.blogger.com/blogger/5932/1593/1600/xNormal_shadows.1.jpg


This time corrected some bugs, added ASE importer, x64 version ( bye bye memory limits ), shadows in the 3d viewer, optimized a lot the graphics driver, improved the documentation, automatic rendering ( without user intervention using the command-line ) and other minor things!

As usually download it at http://www.santyesprogramadorynografista.net/projects.aspx and changes list at http://www.santyesprogramadorynografista.net/archives/xNormal_changes.txt
The blog is at http://santyhammer.blogspot.com (http://santyhammer.blogspot.com/)

Hope you like it. cya.

jogshy
07-20-2006, 06:41 AM
xNormal 3.8.0 is out

http://aycu01.webshots.com/image/920/1611871752274623831_rs.jpg

Implemented the the "bake highpoly base texture on the lowpoly model", re-enabled the COLLADA importer, added two new amazing examples, fixed tons of bugs(also i'm sure tons of new bugs were added :p), improved 3x the speed in the 3D viewer drawing the highpoly model, implemented a new virtual memory system capable to manage really big mesh assets, reduced the memory consumption 2x, improved dual-core support, new SBM binary mesh format for superfast loading/save disk space, changed a few things to use UNICODE files and settings, revamped the acid example and some other minor changes.

Here is the new preview window with the "texture bake" new feature:

http://aycu22.webshots.com/image/3421/1812634694735250883_rs.jpg

As usually you can download it at
http://www.santyesprogramadorynografista.net/projects.aspx

Change list at
http://www.santyesprogramadorynografista.net/archives/xNormal_changes.txt

blog at
http://santyhammer.blogspot.com

Hope you like it, any comment and feedback will be appretiated, thx!

R3desiGN
07-20-2006, 07:40 AM
Yay! New version is out :eek: :wip: :thumbsup:

aidanwilson
07-20-2006, 10:08 AM
any chance of a version that will run from an unzipped folder as opposed to needing an installer?

we're dont have admin privelages on our production machines here, and the tech support guys are usually way to busy to deal with our nags for new software to test

cyartist
07-21-2006, 01:50 AM
Great application keeps getting better.

Cyborgguineapig
07-22-2006, 05:55 AM
downloading now

jogshy
07-23-2006, 05:59 AM
any chance of a version that will run from an unzipped folder as opposed to needing an installer?

we're dont have admin privelages on our production machines here, and the tech support guys are usually way to busy to deal with our nags for new software to test

Unfortunally the program is too much complicated to perform a copy/paste installation. Are you sure you can't install it using the "Install only for this user" setup option? That should install the program only for your Windows user.

In the enterprise I was working some time ago they decided to make all the users administrators of their own computers due to problems with this. I think to mess a tech-person each time you want to include some new graphics driver or just update a program like Firefox using the "upgrade button" is just insane and completely unproductive as you mentioned.

jogshy
07-24-2006, 03:52 AM
I just uploaded the version 3.8.1 with some bug corrections

aidanwilson
07-24-2006, 09:58 AM
Are you sure you can't install it using the "Install only for this user" setup option? That should install the program only for your Windows user.

no, any install i try says i need to be logged in as admin

In the enterprise I was working some time ago they decided to make all the users administrators of their own computers due to problems with this. I think to mess a tech-person each time you want to include some new graphics driver or just update a program like Firefox using the "upgrade button" is just insane and completely unproductive as you mentioned.

its a mess alright, but one that isnt going to change - you cant even change the calendar on windows without admin privelages. grrrr!!!

vlad74
07-28-2006, 01:28 PM
Hello Santiago. First thanks for the utility.
Ive got some questions:

When I try to open the 3D viewer I get error saying that I need 1.3 Open GL or above. My card is Quadro FX 1400 with the latest drivers.

Is xNormal ok with meshes created entirely in ZBrush. For example I made some rocks. I used Zbrush for the low and high objects. After generating normal maps I get only grey images.

Thank you in advance

cyartist
07-28-2006, 06:40 PM
This new version does not work for me all I get is grey blank textures.

Ati 9800 xt video card.


work on all previous versions

jogshy
08-11-2006, 07:46 PM
This new version does not work for me all I get is grey blank textures.
Ati 9800 xt video card.
work on all previous versions

Yep yep got tells from people about that... It appears last ATI Catalyst 6.7 drivers broke an OpenGL feature called FBOs ( render to texture ), more specifically the render to cubemap... An exception is generated from the ATI driver and provokes the xNormal unexpected error...
They are working to solve it I bet, meanwhile I tested with the old Catalyst 6.5 and appears to work.... Will see what I can do but I suspect is another n-th ATI OpenGL driver problem...
It works OK on any NVIDIA card too btw. The problem are the Catalyst 6.7.

We'r econsidering a Direct3D driver for the next release because I'm tired of the poor ATI OpenGL support... And we're not the only it appears...

http://3dnature.com/ati.html
http://www.terathon.com/eric/blog.html

Vlad, in theory you can use any mesh created by ZBrush ( in fact I did the acid example using Zbrush 2 ). I think the Quadro FX1400 should work too.. I bet some driver error or OpenGL problem.

thx for the feedback.

jogshy
09-18-2006, 02:35 PM
xNormal 3.9.1 is released

Added a DX9.0c graphics driver. It can use Shader Model 1, 2 and 3 so people with low-end cards or with OpenGL problems now can use the interactive 3D viewer.

A .X mesh importer has been added.

Added an ambient light controller inside the viewer.

Improved the TIFF exporter. Now can save 8/16 or floating point pixels.

Included also a small general overview tutorial in Flash as promised ( Wink ftw! ). More tutorials are coming, this was only a small test!

Improved Windows Vista RC1 compatibility.

Also solved tons of minor bugs and improved the speed of the OBJ importer a few.

The bad news are that it has grown to 54Mb ( blame DirectX http://boards.polycount.net/images/graemlins/mad.gif )

Download it at http://www.santyesprogramadorynografista.net/projects.aspx

The change list is located at http://www.santyesprogramadorynografista.net/archives/xNormal_changes.txt

The blog is at http://santyhammer.blogspot.com (http://santyhammer.blogspot.com/)

jogshy
01-08-2007, 06:34 PM
Just released the 3.9.4.
Btw, im looking for some translation XML files. Did with Babylon/Babelfish so expect anything :p If you see any error in the translations please correct the text between "" in the localization_XXXX.xml files and send it back to me.

thx!

jogshy
01-29-2007, 07:31 AM
xNormal 3.10.0 Beta 1 is available.

Tons of changes. External-made cages, new input system, new maps(convex/thick/proximity), partial transparency in the viewer, new height-to-normalmap tool ( here's a screenshot )

http://img151.imageshack.us/img151/3738/xnormalhmtoolfp4.jpg

Feel free to test ( and remember is a beta, not a stable version! )
More info in www.xnormal.net (http://www.xnormal.net)

btw, I'm looking for a texture baking/transparency/new maps example if somebody is interested.

jogshy
02-02-2007, 03:17 AM
The final 3.10.0 is available.
Tomorrow I'm gonna add some new tutorials in the page btw.
thx

jogshy
03-07-2007, 04:18 AM
xNormal v3.10.2 is released!

- Completely revamped triangle rasterizer. Less artifacts, more accurate, top-left filling convention, a bit faster.

- New "black sand pixels remover" image filter for AO/thickness/proximity artifacts.

- Independent map filtering.

- Increased maximum map size

- Maps are rendered individually in memory ( much less RAM in use )

- Solved tons of bugs ( including pixel offset and BMP scan lines )

Goon
03-07-2007, 05:29 AM
Awesome! Looking forward to trying out the new version.

jogshy
04-12-2007, 06:01 PM
xnormal 3.10.4 final has been released. thx

jogshy
04-30-2007, 12:16 AM
Just uploaded the 3.10.5 with some bugs corrected, a SBM mesh exporter port for old 3dsmax version(6/7/8) and recompiled the image filters to support the new Photoshop CS3.

thx

ShinChanPu
04-30-2007, 08:24 AM
Hey, Santi!... ¿qué tal te va?

Tengo un problemilla que no se como resolver, referente a mapas de normales. No se si me puedes ayudar. Tengo un modelo al que he aplicado un mapa de normales a partir de una versión en alta resolución (lo típico, vamos), y no soy capaz de que desaparezcan unas horrorosas líneas negras justo en los lugares donde se divide el mapa de coordenadas. En el render de MAX no se aprecia casi, pero cuando lo veo en mi editor de tiempo real (Virtools Dev.) los cortes cantan una barbaridad. ¿Se puede arreglar eso? ¿Tu aplicación puede hacer algo por mí?

Muchas gracias por anticipado, fenómeno...

Si vienes por Almería, avísame y te llevo de tapas... :thumbsup:


Félix.

jogshy
04-30-2007, 04:10 PM
Tengo un problemilla que no se como resolver, referente a mapas de normales. No se si me puedes ayudar. Tengo un modelo al que he aplicado un mapa de normales a partir de una versión en alta resolución (lo típico, vamos), y no soy capaz de que desaparezcan unas horrorosas líneas negras justo en los lugares donde se divide el mapa de coordenadas. En el render de MAX no se aprecia casi, pero cuando lo veo en mi editor de tiempo real (Virtools Dev.) los cortes cantan una barbaridad. ¿Se puede arreglar eso? ¿Tu aplicación puede hacer algo por mí?

Eso son los UV "seams". Tienes que planear bien las UVs del modelo de baja desde el principio para poner las costuras en sitios donde no se vean mucho ( por ejemplo, si el modelo es una cabeza pues las pondrías atrás para taparlas con el cabello ).
Otra solución es aplicar un filtro de dilatación de imagen de tal manera que los bordes de la textura se expandan. Osea, como una especie de "tampón" o nunge del PS pero solamente aplicado a los bordes ( esto lo tiene q hacer un programador, no es tan sencillo como parece, hay que cuadrar los texels adecuadamente ).

Desgraciadamente no hay una solucíon perfecta. Lo único que se puede hacer es intentar minimizarlo, porque por algún sitio hay que "cortar" la textura siempre que se unwrap.

xNormal minimiza eso automáticamente, pruébalo :P funciona muy parecido al MAX. Además tiene un visor con shaders, sombras en tiempo real, glow effect, etc...

Si utilizas tangent-space normal maps también puede ser debido a un error en la computación de la base tangente, especialmente si usas UV mirroring o mapeado cilíndrico o si tu modelo tiene aristas pronunciadas ( como un cubo ). Si no vas a deformar la malla ( con skinning o morphing ) te recomiendo usar object-space normal maps en vez de en tangent-space para descartar esa posibilidad.

Espero que te ayude.

ShinChanPu
04-30-2007, 04:18 PM
Gracias por responder tan pronto, Santi.

Ya se lo que son los UV seams... jejeje. Si a estas alturas no lo seeee... :P

El problema no es de mapeado, es de continuidad en el mapa de normales. La solución que me dices lo que haría sería incrementar el error (de hecho es algo que ya he probado) puesto que los colores aplicados en prologanción de dos costuras adyacentes (bien con filtros o con tampón)no tienen por que ser convergentes (no se si me explico). Con el mapa de color no hay problema porque no afecta a las normales.

De todos modos creo que voy a probar por fin tu programa, y ya te cuento.


Gracias de nuevo.

ShinChanPu
05-01-2007, 01:16 PM
Me acabo de dar cuenta de que has editado tu respuesta.
Creo que tienes toda la razón. Yo mismo estuve a punto de probar la otra opción, pero mi modelo es un personaje con skin. :sad: Mañana mismo pruebo con xNormal por si el resultado fuese mejor (hoy toca descansar).


Thanks.

jogshy
06-05-2007, 05:27 PM
Just uploaded the 3.10.6 beta 1

jogshy
06-12-2007, 11:44 PM
The final 3.10.6 has been released!

- New render AO without highpoly feature with normal map support. Select your lowpoly model in both the highpoly/lowpoly grid, specify a normal map(optional) and you will get fast and cheap AO approximation ( and remember to use cages to limit distance for better results ). Also can be used to get more detail in the default AO system. What does is to invalidate the hit surface normal and use the normal present in the normal map.

- Two new tools: height map to occlusion map + PhotoNormal to make normal maps directly from photographs!

- Copy/paste support in the tools

- New normal-to-cavity methods

- Added antialiased/non-antialiased map mask output files

- Added two new tangent basis calculators(D3DX,MeshMender) to improve compatibility with programs and 3d engines.

- Added the 8MonkeyLabs mesh importer for their upcoming game Darkest of Days (http://www.darkestofdays.com)

- Re-structured the program internally to be more memory efficient and also coded again the multicore/multithread routines( I fear that, pls let me know if you have any crash problem related to this ).

- Added camera/light automatic movement inside the 3D viewer

- Solved multiple bugs ( Photoshop filters displaced bitmap preview, grayscale JPG import error, OpenGL window resize, interior AO, incorrect external cage warning, etc... ) .

Btw, requires the latest June 2007 DirectX, sorry I'm a M$ofer :p

jogshy
07-20-2007, 03:41 PM
xNormal 3.11.0 has been released:

- Added full screen antialiasing support for the DX9 graphics driver.

- Added a checkbox inside the 3D viewer to lock the position of the light to the camera.

- ATI viewer problems solved(I hope...)

- Changed the default normal map back color to that nice blue we all luv!

- Added a checkbox to auto center the camera orbit point in the 3D viewer.

- Distributed rendering with hxGrid

- Added "attenuation" and "jitter" options to the ambient occlusion generation. Also improved a lot the quality of the AO generation. Caution when you set the # of rays... now with 32 you can get the same results than 200 before.

- Modified internally the memory manager to allow to use RAM more efficiently. That increases a lot the polygon limits.

- Solved a crash bug when you set the render maps width and height different.

- Added a two new Photoshop filters: the dilation filter and the normalize filter.

- Now the grid is a plane, not lines.

- Solved a problem that was causing the 3DSMAX6/7/8 exporter not to be loaded using 3DSMAX 6 and 7.

- Added projective caustics/translucent shadows to the 3D viewer ( see Bojana's example ).

- Now the DX9 graphics driver will use high-quality floating-point normal maps if your graphics card can filter/mipmap them correctly.

- Added axis indicators to the referenceCubemap.jpg.

- Rolled back to the DirectX April 2007 edition due to problems with the June 2007 one ( debug mode is broken, speed loss, etc... ).

- Added a new tool: the object/tangent space converter.

- Added a "mesh scale" parameter to control the conversion units when importing geometry.

- Solved some hang problems with multi-core CPUs when showing the progress window.

- Corrected tons of bugs and improved the UI accesibility with tab order.

Enjoy it!

jogshy
08-31-2007, 11:43 PM
xNormal 3.11.1 has been released.

Basically solved some bugs and two new minor features ( load mesh folder + AO bent normals detail ).

fx81
10-19-2007, 04:48 PM
Hey Santiago, i just installed version 3.12.0.1086 and i was trying to bake occlusion map but every time i was getting a output that looks like a noisy normal map with a really low contrast occlusion in its alpha channel.
is the occlusion map suppose to be in the alpha channel by default? also how do i increase the contrast of the occlusion ?

EDIT - does the ambient occlusion work if my high poly has no UV mapping?

jogshy
10-19-2007, 11:54 PM
Hey Santiago, i just installed version 3.12.0.1086 and i was trying to bake occlusion map but every time i was getting a output that looks like a noisy normal map with a really low contrast occlusion in its alpha channel.
is the occlusion map suppose to be in the alpha channel by default? also how do i increase the contrast of the occlusion ?

xNormal always puts the bent normals in the RGB channels, the ambient occlusion is stored in the alpha channel. If you choose an output file without alpha channel support(liek BMP or JPG) only the bent normals will be saved... so I recommend you to use a format with alpha channel support ( like OpenEXR, TGA or TIF ) if you need the ambient occlusion.

The bent normals are "noisy" probably because you need to increase a bit the number of rays per sample ( to 50/50 aprox ). More rays per sample will increase the quality of the rendering but also will do the rendering much slower.

You can control the contrast of the ambient occlusion with the min/max color values and also changing the AO distribution to "uniform". The cosine one usually gives very smooth results.. the uniform gives you a more-dramatic effect.
Also playing with the attenuation and angle spread parameters you can modulate the effect.

does the ambient occlusion work if my high poly has no UV mapping?
Yep, it works with highpoly meshes not UV-mapped. UVs are required in the highpoly mesh ONLY if you want to project the highpoly base texture into the lowpoly mesh ( see the flag example that comes with xNormal ). On the other hand, the lowpoly mesh must be UV-mapped always.

By the way, I added a new simple AO generator which uses the graphics card to accelerate a lot the rendering speed. Notice the "typical" way to render AO in xNormal is using raytracing and highpoly-lowpoly projection which can ver VERY slow.
The new GPU AO tool added in the 3.12.0 Beta 1 can render the occlusion much faster but has some limitations:

1. Cannot use cages to limit ray distances.
2. Cannot use distance attenuation and neither control the spread angle.
3. Requires the mesh to be UV mapped
4. Requires an OpenGL GLSL graphics card ( Radeon 9XXX / GeForce FX or above ).

Take a look on the "precision" mode parameter on the xNormal documentation to see the recommended settings for a specific graphics card.

Hope it helps.

smoluck
10-24-2007, 10:30 AM
Hi Santiago !

First I want to congratulate you about your wonderfull xNormal. I work with Maya and Modo from a long time now, and I've been already frustrated by the lack of stable tool on AO baking from Highpoly to Lowpoly mesh. That's a Great tools !

Now I'm currently in test with your last release. And I've some question's for you:

¤ "Ray Failed" mean "Ray Fallen on shape" or "Ray Failed to compute" ?

¤ Why we go out of memory when we want to bake an image file with 1024 ² and 4x Anti-aliasing ?

¤ I've tested the HXgrid rendering capability, and that an impressive and easy way to setup. Install HXGrid agent on Slave workstation, launch the coordinator from the master, and here we go ! Did you expect develop more that part of your tool ?

¤ Did you know if the Hx Grid Agent can be forced to use just 1 or 3 cpu at start in case of dual core or Quad cpu workstation. Because I didn't want to overflow the machine of my co worker. :)

¤ I mean the principal point of interest ( to me ) using your soft was to bake AO from and HighPoly mesh ( no Uv's unwrap ) to a LowPoly Mesh ( easiest unwraped ), in order to do fine detailed texture for "Real Time Game" engine purposed. I know that Maya 8 can Bake AO / Diffuse from HD to LD mesh, but it can't do Network Multirendering Baking as your's.
Did you expect develop an advanced release of your GPU accelerated GLSL baking system to do baking from Non-unwraped HD model to LD model with Uv deployed ?

¤ Were is the PDF documentation on your site ?

¤ Did you will implement a Maya .ma or .mb Mesh loader, or a .lxo loader for Modo. In order to being able to use n-gon's mesh ( more than 4 edges for a polygon). Because right now, I need to export my mesh as OBJ file and tesselate all the circle poly.

romi
10-24-2007, 02:58 PM
thanks Santiago! the latest 3.12.0 Beta 1 build is really nice. keep up the awesome work!

cheers,

jogshy
10-24-2007, 06:24 PM
¤ "Ray Failed" mean "Ray Fallen on shape" or "Ray Failed to compute" ?

Means the current ray could not hit the highpoly mesh... so there is no way to compute the current normal/ao/etc value for that pixel accurately.


¤ Why we go out of memory when we want to bake an image file with 1024 ² and 4x Anti-aliasing ?

Well, depends on hard disk free space, size of the virtual memory file swap and physical RAM installed on your system. The maths are:

1024 pixels width x 1024 pixels height x 4AA x ( 3 ( bent normal XYZ channel ) + 1 (ao) + 3(prtP) + 3(prtN) ) x 4 bytes/channel(floating point precision) x 2 ( to allow a bitmap copy ) = 335Mb only for the image. IF you render a 2048x2048 then will occupy 1,2Gb.

Each 10M poly mesh you need to add like 1Gb for the mesh structures.

To keep the memory usage for the minimum do this:

1. Don't use antialiasing. Multiplies linearly the required RAM.
2. Try to keep AO maps below 2048x2048.
3. Don't use x64 because almost doubles the memory size for pointers and integers.
4. Don't use Vista because consumes too much resources.
5. Render one map kind at one time. For example, if you render normal map, ao map and convexity map at the same time tons of memory will be used.
6. Close all the programs but xNormal when rendering big maps.
7. Sure your virtual memory file is enabled and set it almost to 4Gb.
8. To manage well big meshes and maps you need 2Gb of physical RAM installed.


¤ I've tested the HXgrid rendering capability, and that an impressive and easy way to setup. Install HXGrid agent on Slave workstation, launch the coordinator from the master, and here we go ! Did you expect develop more that part of your tool ?

Well, to get better results launch 1 agent per slave machine, coordinator in other machine. Launch xNormal in other machine... so if you have 5 machines do:

#1 -> 1 agent running
#2 -> 1 agent running
#3 -> 1 agent running
#4 -> 1 coordinator running
#5 -> xNormal

Remember the agents can be executed in second plane so won't eat all the computer resources... In fact in an office you could execute the agent when all the user computers start... and use a dedicated server for the coordinator... then just open xNormal in your machine and the idle network computers time will be used by xNormal without affecting the
performance of the office machines... only idle CPUs will be used.

I have some improvements and refinements in mind ( better abort response time, show an error if there is no coordinator, etc... ) but, basically, things will stay like are by now. For extra capabilities you should tell Roman Lut who is the hxGrid programmer... I just limited to use his wonderful API into xNormal.
Perhaps I could use it also for the new realtime raytracing graphics driver.


¤ Did you know if the Hx Grid Agent can be forced to use just 1 or 3 cpu at start in case of dual core or Quad cpu workstation. Because I didn't want to overflow the machine of my co worker. :)

Take a look into the hxGrid.ini file. There is a part in the Agent section to control that:


;leave N CPUs free (not used by agent)
;agent will use [N..CPUCount-1] CPUs
;(but not less then 1)
;so first N will be free
;default is 0
;freeCPUCount=0


For example... if you have a quad core and wanna use only one core for distributed rendering set the "freeCPUCount=3".


¤ I mean the principal point of interest ( to me ) using your soft was to bake AO from and HighPoly mesh ( no Uv's unwrap ) to a LowPoly Mesh ( easiest unwraped ), in order to do fine detailed texture for "Real Time Game" engine purposed. I know that Maya 8 can Bake AO / Diffuse from HD to LD mesh, but it can't do Network Multirendering Baking as your's.
Did you expect develop an advanced release of your GPU accelerated GLSL baking system to do baking from Non-unwraped HD model to LD model with Uv deployed ?

Well, currently i'm refining the CPU AO tool because can be a bit slow and contains several known bugs. The problem with the CPU AO normal baking system is that is "projective"... Can only project the highres model occlusion into the lowres one. Ok, you could hack it set ting the highres and lowres models to the same file so will compute the AO without that projection... but won't be 100% optimal speed. That's why added the new simple AO GPU tool... 1st because is a lot faster, 2nd because is much more simple and 3rd because does not "project" occlusion ( just calculate AO for the selected mesh without highpoly/lowpoly need ).

The new GPU AO tool just need one mesh UV-mapped. On the othe rhand, the normal CPU AO system can calculate the AO using a non-unwrapped highres model and a wrapped lowres model and also can use "non projective" AO calculation settings the highres and lowres model to the same file.

About the non-UV models I could automatically unwrap them, but in the test I did could not set the UV layout very well ( a lot of space was wasted ). I think is better to let the artist to set manually an optimal/custom UV layout.

Abot the future, i cannot tell you much more due to some NDAs... all I can is that i'm preparing new hardware raytracers, GPU, CUDA and praying for Intel Larrabee... and also coding xNormal 4.0 for Windows/linux/MacOSX.


¤ Were is the PDF documentation on your site ?

There is no user-PDF manual online on the web. All the docs are included in the xNormal install packages ( look at the \docs folder ). That's because the PDF is too large and consume too much bandwidth.

On the other hand, the SDK docs are online and also in the install package.


¤ Did you will implement a Maya .ma or .mb Mesh loader, or a .lxo loader for Modo. In order to being able to use n-gon's mesh ( more than 4 edges for a polygon). Because right now, I need to export my mesh as OBJ file and tesselate all the circle poly.

I was going to implement some exporters for Modo, Maya, LW and XSI. But then I realized those programs don't use a "projection modifier" like 3dsmax to control the ray cages... so were worthless because can export very well OBJ, LWO and other formats.

On the other hand, AFAIK, Modo and Silo does not released the format specification and neither have a toolkit to read/write their file format. They could use the xNormal SDK to implement one, but they don't seem to be interested.

n-Gons are very complex. Direct3D9 can only manage triangles. To process ngons I need to tessellate them into triangles... and thats a heavy problem... first because the speed gonna suffer a lot ( for example the FBX kit can triangulate ngons at 100k/minute on my machine... so figure a 10M poly... ) and second because some programs cannot export 100% convex/closed ngons... and to triangulate a concave polygon with a hole in the middle can be very tedious and, what is worse, can produce tons of artifacts in the shading due to automatic edge "interpretation". I did some experiments and could not get good results. Perhaps in a near future...


the latest 3.12.0 Beta 1 build is really nice. keep up the awesome work!

Caution, contains several nice bugs :p I hope the final version could be ready this month.

jogshy
01-31-2008, 12:59 AM
Version 3.14.1 was released
http://www.xnormal.net

smoluck
01-31-2008, 09:24 AM
Perfect , I'm going to test the New AO Bake System And Thanks a lot for the Luxology Modo "LXO" Loader :bounce:

jogshy
03-26-2008, 06:31 PM
xNormal 3.14.4 has been released!

http://bp3.blogger.com/_akft4MzpYyU/R-30S7vp6mI/AAAAAAAAADE/R5bvJlDfW0c/s400/ssaoSmall.jpg (http://bp3.blogger.com/_akft4MzpYyU/R-30S7vp6mI/AAAAAAAAADE/R5bvJlDfW0c/s1600-h/ssaoSmall.jpg)http://bp0.blogger.com/_akft4MzpYyU/R-30hLvp6oI/AAAAAAAAADU/Y6_eojJKG50/s400/CornellSmall.jpg (http://bp0.blogger.com/_akft4MzpYyU/R-30hLvp6oI/AAAAAAAAADU/Y6_eojJKG50/s1600-h/CornellSmall.jpg)


- SSAO in the DX10 graphics driver
- Fake indirect lighting in the DX10 graphics driver. Added a Cornell box example to show this.
- Recompiled using SSE for extra speed
- Improved a bit the quality of the raytracing graphics driver ( I have secret plans for that )
- Corrected several bugs

hakanpersson
03-29-2008, 04:42 PM
Great app, thx!
Tried 3.14.4 just recently. The shadows were greatly improved this update, much sharper and without almost all bias problems:thumbsup:
Unfortunatly I dont have a dx10 gpu so I cant test the ssao:(


And btw. Here are some additional diffuse GI textures. I baked them from Debevec's lightprobes, in maya with FG emission.
http://student.gamemaker.nu/~hakper050/dw3/DiffuseGI_lightprobes.rar
They are all tested and should be fully functional.

Piotrek255
04-08-2008, 10:50 AM
Hi, when i generate normal maps in 3dmax, they are ok, but when i generate them in xnormal, the normals are strange, the cavities are bumps and bumps are cavities (its like the height information was flipped) anyone knows why that happened? I didnt have this problem yesterday :(

jogshy
04-09-2008, 02:30 AM
Hi, when i generate normal maps in 3dmax, they are ok, but when i generate them in xnormal, the normals are strange, the cavities are bumps and bumps are cavities (its like the height information was flipped) anyone knows why that happened? I didnt have this problem yesterday :(
Try this:

If you render normal maps in 3dsmax but you view them in xNormal, set a X+Y-Z+ swizzling in the 3D viewer options ( in the normal map slot ).

http://img411.imageshack.us/img411/4729/ylesszu1.jpg

If you render normals in xNormal but you view then in 3dsmax then set a X+Y-Z+ swizzling in the output normal map options.

http://img411.imageshack.us/img411/3539/yless2mf9.jpg

That will flip the green Y channel.

MBZY
06-17-2008, 12:55 PM
Please tell me how to fix these weird spots in my normal map? I used Xnormal v3.15 for baking it. Normal and UV are already double checked for Low and High mesh, they are good with no problem. I tried to fix it for a while but still has no answer... so please help me out. Thanks so much.http://bp2.blogger.com/_uMcjlrhNlkI/SFelyeoMpJI/AAAAAAAAAD8/8vUOYAI5SU8/s1600-h/NormalMap_Problem.jpg

MBZY
06-17-2008, 12:55 PM
http://bp2.blogger.com/_uMcjlrhNlkI/SFelyeoMpJI/AAAAAAAAAD8/8vUOYAI5SU8/s1600-h/NormalMap_Problem.jpg

MBZY
06-17-2008, 09:53 PM
Finally, I've just found the way to fix it... My low mesh is needed to uncheck a use cage box and adjust a bit of ray distance value so the weird spots on my normal map disappear:) Actually, the solution is in a help file that comes with the program.

smoluck
06-18-2008, 07:46 AM
to jogshy:

Nvidia release the GTX 280 (Geforce 10) and CUDA Language. What does it means about the future of Xnormal ?

Do we hope a fast Light tracer for Lightmap / Shadow Map Baking ? DirtMap even if we've got GPU AO baking already ?

jogshy
06-19-2008, 08:20 PM
Finally, I've just found the way to fix it... My low mesh is needed to uncheck a use cage box and adjust a bit of ray distance value so the weird spots on my normal map disappear:)
Yep, uniform ray distances can only manage very simple meshes(spheres, boxes, cylinders). To render complex meshes like yours , you need to setup a cage.


Nvidia release the GTX 280 (Geforce 10) and CUDA Language. What does it means about the future of Xnormal ?
Do we hope a fast Light tracer for Lightmap / Shadow Map Baking ? DirtMap even if we've got GPU AO baking already ?
Well, i'm gonna release the 3.15.3 Beta 2 with improved CUDA speed... If the experiment goes well you will be able to render faster all the maps(not only AO) and also the Photoshop filters's speed... and I could improve a lot the software ray tracing graphics driver for the 3D viewer.

jogshy
08-25-2008, 09:54 PM
The final 3.16.0 has been released.

chr1stopher
09-11-2008, 10:24 PM
umm im having the same problem, but i dont get the whole creating cages and so on, are there any good step by step or video tutorials out there?

ahtiandr
09-12-2008, 11:06 AM
Is it possible to fix those nusty seams ? I mean I always had normal map seams in max and I dont know how to fix them :( I thought you may know about them . I have max 2009 . If I make normal map in zbrush and preview it there in Zbrush I have no seams but When I preview it in max I have all seams visible

ambient-whisper
09-12-2008, 04:01 PM
in max, turn on invert green in the bump map/normal map shader. :)
or do what jogshy said. invert normals within xnormal itself. :)

ahtiandr
09-12-2008, 05:24 PM
I have tried all those methods . The problem is that I see the seam in Xnormal too and it is bigger than in Zbrush . It is almost invisible in Zbrush preview . Maybe it is something with my video card ? I have radeon X 1950 PRO (AGP) 512 MB

Xnormal preview

http://static3.filefront.com/images/personal/a/ahtiandr/121325/kvraqypeoe.jpg

Zbrush close up

http://static3.filefront.com/images/personal/a/ahtiandr/121325/iqqstxcgpk.jpg

Zbrush normal distance

http://static3.filefront.com/images/personal/a/ahtiandr/121325/vqbrlqsuwz.jpg

So as you Zbrush preview has better result . Could you advice me something ?

jogshy
09-14-2008, 05:59 PM
1. Are you sure the UVs are welded there? Can you render a "wireframe and ray fails" in xNormal and and post it here pls.

2. Are you using almost 16 dilation pixels, aren't you?

3. Post too a screenshot with the "view tangents" option enabled.

4. Why the seam is horizontal in zBrush and vertical in xNormal? How did you exported that .OBJ? Remember you need to use the flipY/Z option in Zbrush. xNormal expects the .OBJ in Maya/OGL coordys.

5. What happens if you set the lowpoly normals "average normals" in xNormal?

6. How did you generate the normal map? Did you baked it in xNormal and then displayed it in ZBrush? Did you baked the normal map in ZBrush and then displayed it in xNormal?

7. For a non-deformable mesh like a ball probably it's better to use an object space normal map instead. In that way you can skip seams and problems with the tangent basis.

ahtiandr
09-14-2008, 07:13 PM
What do you mean welded ? How it is possible to unwrap ball with all welded UVs ? I mean I need to make at least one cut . The ball is just test model but I am making human head and it will be animated , so object space is not really good here .

About the seams and why they are in different orientation . I am very sorry for that . I just took screen shots from different angles .

16 dilation ?

It says something dialting pass 15 ... but dunno what does it mean . Maybe you mean edge padding ? I have 24 there .

I could not find the avarage low poly normals option .

I have heard that there is seam in unwelded area and it can not be removed . But Even if I preview in Zbrush I have seams . For good example I chose AUV tiles and in close up view I can see tons of small seams .

jogshy
09-17-2008, 04:10 AM
What do you mean welded ? How it is possible to unwrap ball with all welded UVs ?
You're right. It's impossible to weld the UVs of a sphere... but, perhaps, the vertices there are duplicated and that's causing the seam.


About the seams and why they are in different orientation . I am very sorry for that . I just took screen shots from different angles .

Ah, ok.
Btw, you can visualize the seams in the map rendered using the "wireframe and ray fails" type. that option is very useful to see also if you're UVs are not welded.


16 dilation ?

Yep. The "edge padding" must be set to (1<<nMipmaps)+2. For example, if you're rendering a 2k x 2k normal map the mipmaps are:

2048 -> 1
1024 -> 2
512 -> 3
256 -> 4
128 -> 5
64 -> 6
32 -> 7
16 -> 8
8 -> 9
4 -> 10
2 -> 11
1- >12

12+2 = 14 pixels
To be sure, add a bit more... so 16 pixels. If not, black lines can appear in the UV seams when the object is very far from the camera.


I could not find the avarage low poly normals option .

In the lowpoly mesh list slot... to the right... The Smooth normals combo box. Use "average vertex normals" instead of "use exiting normals" and try.

But I think the problem is that you're using a sphere... and UV seams cannot be avoid... it's impossible... you cannot make a continous UV map for a sphere. On the other hand, tangent space normal maps require to be computed and displayed in the same way... and that's a problem because ZBrush uses a different system than other programs... that's why xNormal includes a SDK that a programmer can use to import/export the exact tangent basis.

jogshy
10-02-2008, 03:34 AM
The 3.16.2 beta 2 is available.

- New matchUV feature
- Improved memory management
- A lot of bugs corrected

smoluck
02-06-2009, 04:35 PM
Heelo.

As I wanted to prevent normal maps bugs on intersect mesh composition ( pants and hands for exemple ).

I'm searching a solution to launch for the night a batch process of my several baking file ( .xml saved through Setting & exemple --> Save setting ). So where can I load all these XML file in order to launch all my different rendering process one by one during the night ?

tonykidd237
02-08-2009, 02:07 AM
Hey there…

Is there a setting that can stop overlapped parts of the mesh from having a shadow cast on them when rendering out an ambient occlusion map (besides breaking them up so they aren’t overlapping)?

Great piece of software by the way…

jogshy
02-16-2009, 09:50 PM
I'm searching a solution to launch for the night a batch process of my several baking file ( .xml saved through Setting & exemple --> Save setting ). So where can I load all these XML file in order to launch all my different rendering process one by one during the night ?

You can call xNormal from the command line as:

xNormal.exe c:\test\mySettings.xml

so xNormal will run in unattended mode.


Is there a setting that can stop overlapped parts of the mesh from having a shadow cast on them when rendering out an ambient occlusion map (besides breaking them up so they aren’t overlapping)?

Well, that's a thing I must improve in the future.
Meanwhile you have two options:
1. Render the AO by parts and then composite them in Photoshop ( bad because won't produce physically-correct results )

2. If you have overlapped UVs use the "batch protect" option, so the pixels for the previous file won't be overwritten.

smoluck
02-19-2009, 08:22 AM
You can call xNormal from the command line as:

xNormal.exe c:\test\mySettings.xml

so xNormal will run in unattended mode.

Important thing to note that (if your not familiar with the cmd line, you'll need to add " if you got space in your adress... exemple:

xNormal.exe "c:\RenderFiles AO\headAO.xml"

----------

Do we can launch multiple process like that ?


xNormal.exe "c:\RenderFiles AO\headAO.xml" "c:\RenderFiles AO\torsoAO.xml" "c:\RenderFiles AO\handAO.xml"



do we can imagine in future to add some RenderGroup in order to link a group of HD object file to a LD object file, in order to launch multiple process at one time if all the LD file aren't overlapped and need the same render settings ?

It can be usefull when you wan't to prevent ray distance baking that overlaps from one object to another, like in the armpit area.

exemple:
Link
HD Object c:\HD\hdHead.obj ---> LD Object c:\LD\ldHead.obj
HD Object c:\HD\hdTorso.obj---> LD Object c:\LD\ldTorso.obj
HD Object c:\HD\hdHand.obj ---> LD Object c:\LD\ldHand.obj
HD Object c:\HD\hdSleeve.obj ---> LD Object c:\LD\ldSleeve.obj
HD Object c:\HD\hdHand.obj ---> LD Object c:\LD\ldHand.obj

Neomage
04-01-2009, 05:58 PM
Just thought I'd say how utterly fantastic this program is! Kudos for your hard work!!

My only request is do you have/will you have support for moving vertices of a cage within the XNormal editor with a gizmo (similar to the XYZ move tool in 3dsmax and other 3D programs). This would take ALL of my baking from max into Xnormal. Which would be handy rather than bouncing between.

Also, while on that, does a cage that is made in xnormal and a cage imported from a 3rd party take the same amount of time to render? It seems that using a cage takes a considerable amount of time in comparison to say Render to texture in Max. Eg. a number of hours at least (although I have a pretty mediocre machine). I'm assuming ambient Occlusion will take nearly a week!

Other than that, this program has definitelly made it inoto my workflow. Thanks again :)

cte6
04-08-2009, 10:24 PM
hey Jogshy, again i have to give the obligatory amazing program. a perfect solution to dealing with high poly to low poly conversions :) i saw that on version 3.15 you had an interior AO option that was removed in later releases. however this is exactly the feature i need for my current project. i'm making a cave system and i wondered if there were any way i could either get access to this earlier version with that feature or if there was a work around that involved something other than cutting my meshes up into smaller open pieces for the AO to work. thank you!

jogshy
04-09-2009, 10:59 PM
i saw that on version 3.15 you had an interior AO option that was removed in later releases
For a cave tunnel you probably could use a cage + flip normal to get the same effect.

MrSoda
04-14-2009, 10:27 PM
Hey jogshy, i want to say thanx many thousand times to you :) !
Can i ask u a problem :)
I really don't know why, but normal map generate in 3ds max look so fine, no seam & very nice. I generate normal map in xnormal, output setting: X+ Y- Z+ and i view mesh in xnormal 3d viewer with same Swizzle setting, everything ok, look so great for me, but when i render normal map in 3ds max, seam there, i can't fix this, can u have any idea for me :) .
I attacted a image to show u my problem!
P/s: I try everything, Averager normals, use cage, edge padding,... but failse!

Again, thanx u very much & amazing tool !

jogshy
04-14-2009, 11:11 PM
but when i render normal map in 3ds max, seam there, i can't fix this, can u have any idea for me :)

Yep, nice seam on the leg.

UV mirroring can be evil. I don't think the default normal map shader that comes with 3dsmax ( specially the old versions ) could handle that.

I suggest you to try these shaders instead:

http://www.bencloward.com/resources_shaders.shtml

MrSoda
04-15-2009, 12:26 PM
Yep, nice seam on the leg.

UV mirroring can be evil. I don't think the default normal map shader that comes with 3dsmax ( specially the old versions ) could handle that.

I suggest you to try these shaders instead:

http://www.bencloward.com/resources_shaders.shtml

Thank jogshy :) .
But I don't talk about Shader realtime, there is image was render by scanline :) .
I have tried with 3ds max 9 & 3ds max 2009.

jogshy
04-16-2009, 06:14 PM
Thank jogshy :) .
But I don't talk about Shader realtime, there is image was render by scanline :) .
I have tried with 3ds max 9 & 3ds max 2009.
I'm not sure if the scanline renderer can draw mirrored normal maps well.
Did you try with MentalRay, VRAY or any other external renderer?
For offline-renderered images you should not use normal maps though... displacement maps will give you much better results.

ambient-whisper
04-16-2009, 07:16 PM
thing is, displacements can be very heavy for scenes requiring any form of GI, so sometimes limiting what is displaced is prefered ( atleast with mray it is ).

JasonH
05-19-2009, 04:31 PM
Just downloaded version 3.16.9, and already rendered out a pretty good normal map without too much tweaking. Have to say that this is a great find for the times I have something too high-poly for MAX to handle (read: every time). I do have a thing I'm puzzled with though.

The normal map rendered out great, but when I tried to do the same for an Ambient Occlusion map, I got a mostly black tga with a few white spots surrounded by stretched swirls of gray that I cannot find a logical explanation for their existence. I reset the default settings and got the same product. The 2 meshes seem to be communicating just fine, hence the good normal map, but the AO maps and cavity maps seem to consistently render out unpredictably. Always been a bit confused by AO maps, simply because my computer is rarely up to the task of projection-mapping anything of high enough geometry to be worthwhile. Is there something remarkably basic that I am forgetting?

tonykidd237
05-19-2009, 09:41 PM
Hmmm, when you export the low poly mesh are you doing so with a ground plane or some other shape near the bottom for the light to bounce up from? I think that may be the problem. If your mesh is made of multiple meshes that overlap, there will be darkened spaces where this occurs as well - What I do is separate the pieces, place them apart and near the ground plane, select everything and export selected objects...

JasonH
05-19-2009, 10:07 PM
I am really not sure of the problem. I did try to bring in a "floor" for the model to stand on top of, and the result did change, but still remained mysteriously garbled. The mesh itself is pretty simple, and is just one continuous piece. Was worried that my 3dMax and Zbrush might be exporting the meshes at different orientations (they were), so I exported both models through zbrush, and did the same thing for a ground model. concerned that there might be normal and backfacing issues. Zbrush always gives me obj's that are inside-out, is there a way to correct that in xNormal?

Went ahead and used the Ray distance calculator, and got some numbers upwards of 100.00. Is that typical?

tonykidd237
05-19-2009, 10:58 PM
What settings are you using when you export from Zbrush? Under the export tab on the lower right of the application are you turning off export subgroups and turn on, "Mrg" or merge uv cords. I do this every time I export a low or high poly obj.

JasonH
05-19-2009, 11:12 PM
Thanks for the support, I was just on my way back to update that message, announcing what I found the problem to be. It WAS in fact something to do with how I was exporting things from Zbrush. Turns out that everything had it's normals flipped when I was loading it into xNormal, and as a result, was having a very difficult time getting any rays to intersect correctly. Found that hitting the "flip" tab inside of Zbrush's exporter gave me a solid model when I loaded up xNormal's 3d viewer. It was still rotated on it's side, which made navigation and viewing it a bit of a bother, but at least I was able to get a cavity map and AO map that seemed to much closer resemble my desired effect. It's not perfect yet, but at least the result is repeatable, and at last....a result at all.

Many thanks for the suggestions, I'll have to read up on some more of the tips in these pages to bring the maps from "present" to "good"

jogshy
05-23-2009, 04:23 AM
A suggestion:

To use uniform ray distances is usually only good for very simple objects ( boxes, cubes, cyclinders, etc )... For complex models I recommend you to use cages instead... they're very easy to use: just extrude them ( or move a few vertices manually ) until they cover completely the highpoly mesh...

There are three ways to setup a cage in xNormal:

1. Use the built-in cage editor in the 3D viewer. Press the "Show cage" and then the "Edit cage" checkbox. Move the slider until it covers completely the highpoly mesh. If you need extra control just select a few vertices using the mouse's middle button and move them using the sliders. Then, press the "save meshes" button... so a .SBM file will be saved to the disk with the mesh geometry and the cage. Optionally, answer YES to the "Do you want to auto-assign the ...." so xNormal will assign automatically the new saved .SBM files to the corresponding lowpoly/highpoly mesh slots automatically for you.

2. Clone your mesh in your favourite 3d modelling program. Extrude the vertices until they cover completely the highpoly mesh. Save the cage as, for example, a .OBJ. Save also your base mesh. Then, in xNormal, assign your lowpoly mesh .OBJ + the "external cage file" with the cage .OBJ.

3. If you use 3dsmax then use a Projection modifier over an Editable Mesh. Perform a ResetXForm over the result. Then, use the xNormal's SBM mesh exporter... check in the "Export cage" option and save a .SBM. Then, assign the .SBM file as a lowpoly mesh in xNormal. Sure you check in the "use cage" option in the lowpoly mesh slot or the cage won't be used even when the SBM file contains it!

There are also other ways to control the ray distance... like ray blockers ( antiportals ). Just export some plane occluders as a SBM or OBJ file... then assign that file as "Ray blockers file" in the corresponding lowpoly mesh's slot.

There are several tutorials on the xn's web about "how to measure the ray distance". I recommend you to take a look into them.

I hope it helps.

Gal
06-16-2009, 04:49 AM
hey jogshy, first thanks a lot for this wonderful tool.
i have this damnedest problem i cant fix. no matter what i do the normal map, bakes what it seems to be the lowpoly base with hard edge normals. all the details are generated fine but the map has these hard edges/faceting in it as well in random areas. i see it in the viewer as well as in maya. i exported obj from zbrush and from maya with smoothing on, doesnt matter. i override in your tool to smooth it doesnt matter. it's not search distances, i've tried everything and a cage too. check/unchecked every possible notch. the lowpoly has no overlaping uvs, they are laid out fine, all uvs face the same direction. i get no uv seams, it's not that. same models using maya's surface transfer/baker results in a very similar normal map without these errors/faceting...so it cant be the models? it's as if the lowpoly base gets faceting/hard normals no matter what i do as it bakes in xnormal. any ideas? suggestions?

jogshy
06-23-2009, 06:37 PM
.no matter what i do the normal map, bakes what it seems to be the lowpoly base with hard edge normals.
Things to test:

1. Are you using the old 3dsmax's max2obj exporter? It's mega-bugged.
2. Try to use the SBM exporter if it's possible.
3. Sure you have enabled to export the smoothing groups in the Maya OBJ exporter's settings.
4. Display your normals in the Maya's 3D viewport to see they're correct.

exported obj from zbrush
Sure you enabled the "Merge UVs"


i override in your tool to smooth it doesnt matter.
So are you generating a normal map in xNormal to use it in Maya's viewport? That can be problematic because Maya uses a different way to compute the tangent basis... The way to solve this is to use the xNormal SBM exporter for Maya so the Maya's tangent basis will be exported into the SBM file and, then, used by xNormal.

On the other hand, if you generate the normal map in Maya and you try to display it in the xNormal's 3D viewer then sure you export the lowpoly from Maya using the SBM exporter so the tangent basis fit.


the lowpoly has no overlaping uvs, they are laid out fine, all uvs face the same direction.

It's a good thing to be sure all your UVs are in CCW order and that they don't overlap, yep. But sure also that they're welded with a <=0.001 error and, if it's possible, enable the "pixel snap" so all the UVs are covering the texel's center.


it's not search distances, i've tried everything and a cage too. check/unchecked every possible notch.

Is you cage COMPLETELY covering the highpoly model? And sure you check in the "Use cage" option or the cage won't be used even when it's present in the SBM file.

If you post some screenshots and settings I could tell you more.
I hope it helps.

CGTalk Moderation
06-23-2009, 06:37 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.