@Ali_RS Thanks for the hints.
Actually ogre is the only format which generates the tangents correctly. Using a custom defined material with the diffuse map and the normal map gives the correct results. What I have noticed from ogre exporter is that it would load only the first texture, so I exported only the normal map, using the custom material then helped to define both maps . The animations fail with an index out of bounds exception.
Error : Exception in Control, scene content removed.
java.lang.ArrayIndexOutOfBoundsException: -4
xBuf loads the animations correctly, but the tangents are not correct. I am using the SDK beta 2 version. I am pretty sure I am using the 0.9.1 version of the exporter, the only use case that I can think of right now is that the loader of jme3.1 is not at the same version or that it has a problem with mirrored UV’s.
@jayfella The stacktrace :
java.lang.IllegalArgumentException: for uniform m_BoneMatrices: value cannot be null
at com.jme3.shader.Uniform.setValue(Uniform.java:210)
at com.jme3.material.Material.updateShaderMaterialParameters(Material.java:804)
at com.jme3.material.Material.preload(Material.java:844)
at com.jme3.renderer.RenderManager.preloadScene(RenderManager.java:665)
at com.jme3.renderer.RenderManager.preloadScene(RenderManager.java:656)
at com.jme3.renderer.RenderManager.preloadScene(RenderManager.java:656)
at com.jme3.animation.SkeletonControl.testHardwareSupported(SkeletonControl.java:164)
at com.jme3.animation.SkeletonControl.controlRender(SkeletonControl.java:281)
at com.jme3.scene.control.AbstractControl.render(AbstractControl.java:135)
at com.jme3.scene.Spatial.runControlRender(Spatial.java:756)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:723)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:733)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:733)
at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:712)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1086)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1145)
at com.jme3.gde.core.scene.SceneApplication.update(SceneApplication.java:321)
at com.jme3.system.awt.AwtPanelsContext.updateInThread(AwtPanelsContext.java:194)
at com.jme3.system.awt.AwtPanelsContext.access$100(AwtPanelsContext.java:44)
at com.jme3.system.awt.AwtPanelsContext$AwtPanelsListener.update(AwtPanelsContext.java:68)
at com.jme3.system.lwjgl.LwjglOffscreenBuffer.runLoop(LwjglOffscreenBuffer.java:125)
at com.jme3.system.lwjgl.LwjglOffscreenBuffer.run(LwjglOffscreenBuffer.java:156)
at java.lang.Thread.run(Thread.java:745)