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