It's not a normalization issue as the normal vectors are normalized in Euler 
space before being converted to RGB color space.  If it were a post process 
problem, there would be differences in all cases.  So far I only see the 
difference when one or both meshes are transformed indicating it's a coordinate 
space computation issue.

There is no issue with a cage either.  See my previous reply to the this thread 
with example scene.  The cage is only relevant when there are many layers of 
overlapping surfaces.  In my example it's a simple cube and sphere, so no need 
for a cage.



Matt





-----Original Message-----
From: softimage-boun...@listproc.autodesk.com 
[mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Tim Leydecker
Sent: Friday, January 03, 2014 3:11 AM
To: softimage@listproc.autodesk.com
Subject: Re: ultimapper issues - tangent space normal maps

Hi Matt,

A shift in the final intensity could come from a per channel normalisation.

You´d get different results if you don´t have such normalisation/levels 
operation as a postprocess of your saving calculations to file.

But it should be easy enough to test if suc a normalisation would give you 
similar results to XSI. In the dirtiest&cheapest way, in Photoshop>Auto Levels.

Since Szabolcs already pointed out that there is no cage option in Ultimapper, 
e.g. no manual control of a min and max searchdistance for calculations, I´d 
guess the min and max is fixedly determined by the maximum distance between 
highrez and lowrez mesh and the results are "smoothed out" by remapping to 0-1 
per channel for best use of the file´s available intensity steps.

I could be completely wrong, thought.

In general, I will most likely use ZBrush and CrazyBump to create and modify 
Normals in a let´s say, artsy partsy mashed potato kind of way that gives me 
the look I want without knowing much more than Green>light from Ground, 
Red>light from Right to work in Cryengine/UDK/3DSMax.

Cheers,

tim



On 03.01.2014 07:51, Szabolcs Matefy wrote:
> Hey Matt,
>
> Your result might be different because of the tangent space 
> calculation. I suppose that the normal map calculation might be done in 
> object space, then Ultimapper converts it into tangent space. Ultimapper 
> could be quite good, but lacks a very important feature, the cage. So finally 
> we dropped in favor of xNormal.
>
> You might check few things (I'm not a programmer, so I may be wrong). 
> Check the transforms. In my experience transforms has effect how vertex 
> normals are calculated. Certain distance from the origin might result 
> imprecision (is this the right word?), and the farther the object is from the 
> origin, the bigger this imprecision is.
>
> There are discrepancies, for sure, because these tools have different 
> approach to derive tangent space. For example, Softimage uses the 
> vertex color to store the tangents, and binormal is calculated from 
> this. But, if your smoothing on the geo and on the tangent space 
> property differs, you won't get any usable normal map. For example the 
> smoothing on tangents made Ultimapper quite useless for us, so I wrote an 
> exporter for xNormal, and since then we have no issue at all. As our 
> technical chief explained, a normal is correct only if the normal baking and 
> displayer use the same tangent calculation. He wrote a tangent space 
> calculator for xNormal, that uses the same algorithm CryEngine uses. So, 
> unless your game engine approached tangent space differently than Softimage, 
> you won't get good result.
>
> I think the whole game pipeline should be redesigned in Softimage.
>
> *From:*softimage-boun...@listproc.autodesk.com 
> [mailto:softimage-boun...@listproc.autodesk.com] *On Behalf Of *Matt 
> Lind
> *Sent:* Friday, January 03, 2014 5:17 AM
> *To:* softimage@listproc.autodesk.com
> *Subject:* ultimapper issues - tangent space normal maps
>
> I am writing a modified ultimapper to convert tangent space normal 
> maps from one mesh to another.  The tool is needed because our tangent 
> space normal maps are not encoded in the standard way and softimage's tools 
> cannot be modified to support our proprietary tangent space.  For prototyping 
> I'm using the softimage tangent space and tangents property to do the 
> transfer so I can check my math against ultimapper.  Once I get a 1:1 match, 
> I'll modify the logistics to support our proprietary stuff.
>
> So far when the hi and low res meshes are untransformed I get a 1:1 
> match with ultimapper, but when I transform one or both meshes a wide 
> discrepancy appears between my result and the softimage ultimapper 
> result.  The softimage result tends to be significantly brighter on the red 
> and green channels, mostly on the green.  In some cases, the colors are not 
> even close to the same.  The odd part is when I trace through the process 
> step by step to debug, my numbers look correct both visually and 
> mathematically.  I'm in a weird situation in that I do not know who's result 
> is more correct, mine or Softimage.
>
> Some of our artists have mentioned there have been some discrepancies 
> compared to other commercial normal mapping tools (beyond flipping the Y 
> axis).  Has anybody had issues getting correct results from ultimapper when 
> transferring tangent space normal maps between meshes?
>
> Matt
>

Reply via email to