When loading objects (.obj or .md5mesh), they are not oriented as exported from 3DS Max.
X,Y,Z in 3DS Max is in jME X, -Z, Y
When I call getVertexBuffer() so coordinates are X,Y,Z same as in 3DS Max.
Is there any flip in display system? I'm not able locate what is wrong.
Thank you for ideas…
3DMax like Blender doesn't use the right-handed coordinate system like JME does. There usually is some option in most exporters for the model to be oriented correctly. Sorry I can't give better advice.
Usually it's best to fix the model, I find that either a 90 degree or -90 degree rotation around the X-axis prior to exporting does the trick (depending which axis the model is looking down). Bit of a pain but I just look at it as one step of the export process.
The other option of course, if you were feeling particularly lazy: you could just apply the rotation in JME.
…just two ideas though
Thank you guys! I had no idea about right and left coordinate systems.
I found there was checked box "Flip YZ-axis (Poser-like)" when exporting obj.
So 3DS Max is right handed like jME I think. Axis in viewports are right handed too.
Thank you for it becouse left handed system is unnatural for me.
When exporting to md5 there is no any checbox so md5 exporter do some "secret" job…
I know now what's happen so I can modify impoter or exporter or datafile.
This always is an issue as you guys said, also another way to think about it - 3ds is Z up, jme is Y up. So usually a 90 degree rotation does the trick.
I suggest baking this into the model though, rather than applying the rotation in jme. You may have to compensate for it when you want to move the model around - it's just easier starting from an identity rotation.
I think Z-up and Y-up can be only camera position decision, I moved camera so my look in jME is Z-up. Now what I see in Max I see same in jME.
It's all relative - if you're consistent in how you define your axes (camera, models, etc), you shouldn't have much of a problem. But most things use or assume world Up being +Y, so you do have to be careful sometimes.