normal map problems in Jmonkey Engine(help).

Hello friends, this topic is partly dedicated to BGE, but I need your help. I did a baked character model in Blender. In bge there are no seams seen. But when i have put the model to Jmonkey engine seam are seen. I tried to invert red/green channels of normal map, but it did not help. I think the problem is in GLSL shader or in tangent normals, bi-normals. Jmonkey devs cant figure out the problem yet.

How blender solved such a problem? And where the problem is in Jmonkey?

I included a sculpt model, blend2.5 model, fbx model, ogre model, jmonkey model, jmonkey light material, different normal maps (with inverted channels).

www.jmonkeyengine.org - Jmonkey engine site.

http://files.mail.ru/SE54XR – model archive

model – http://img833.imageshack.us/f/modeld.png/
seams – http://img820.imageshack.us/f/normalseams.png/
sculpt – http://img840.imageshack.us/f/sculpt.png/
engine comparison – http://img824.imageshack.us/f/comparisonf.png/

I think you should probably ask this question in the JMonkey forums as well, as it appears this problem is more on JMonkey’s engine than the BGE. Try sizing up your model, or slightly sizing down the UV-maps - that could solve the seam problem.

Thank you! i did a thread at jmonkey forum. The person called Nehon is struggling with this problem, but fighting is not over. Check it out:

http://jmonkeyengine.org/groups/graphics/forum/topic/baked-normal-map-seams-problems/?topic_page=1&num=15

Open GL normal maps are different to direct X type normal maps.
They are completely reversed. You can’t just invert the normal maps because the xy and z are all flipped, not just z.

You have to find another way to bake your normals, or use an Open GL game engine.

If you are making your normal maps from an external program (using a height map) there is usually an option for either open GL or direct X.

I don’t know but maybe one of this methods could help you.
Here is a video that is showing how to bake a normal map with the textures http://www.youtube.com/watch?v=24-8ayNjNTg (time 5:12).
The second shows how to bake a normal map with the node editor http://vimeo.com/2685288 (time 13:01).

Oh yeah, You should be able to invert the channels using the node editor.
That will get the inverted result. Just what you need for Direct X.

I think you will need to invert the channels before combining them, rather than after- but without experimenting, I couldn’t tell you.

Hi. I baked a new normal map with the node editor.

That’s not quite right I think.

Here are a couple of normal maps, the first is an open GL map.
Try it in blender, and in you GE.


Open GL maps seem to use black for high points and white for low points.

Here is a direct X map, using that formula, black high, white low:

And one more, this time a direct x map with white for high, black for low:

Try each one, this should help you work out how to change the image in nodes in order to get what you want.
Over all I think it should still have that blue/purple colour rather than the yellow which you had…