[SOLVED] Conversion of Ardor3D binary files into WaveFront OBJ files not working

Hi

I use some MD2 models in my game. I would like to edit them. However, Blender has no longer any build-in Python script to import MD2 files since its version 2.50, my Python script works a bit with Blender 2.63 but not with later versions and I’m fed up with maintaining it, it gets broken each time a new version of Blender is released.

I ported the MD2 importer of JMonkeyEngine 2 to Ardor3D, Renanse improved its performance, it works very well but now I need to convert those animations in WaveFront OBJ file(s) to import them in Blender which still supports this format. I have written this exporter today:
https://github.com/gouessej/Ardor3D/commit/9c9cc3506f3e52f5fc9d74d0d5c1dab9755a1b68

I have tested it on this model:
http://svn.code.sf.net/p/tuer/code/pre_beta/abin/agent.abin
by running the main method of this class:
http://svn.code.sf.net/p/tuer/code/pre_beta/engine/conversion/ArdorToObjConverter.java

The geometry seems correct except the texture coordinates. I don’t understand what is wrong. It contains both triangle fans and triangle strips, I convert them into triangles so that it works with this format (WaveFront OBJ). As I can’t import the original MD2 file with Blender, I can’t really compare. I have checked that the order of the vertices is correct, I have noticed that there were 33% of useless texture coordinates equal to (0,0) at the end of each texture coordinates buffer, I haven’t kept them. I have tried to remove the normals too. Have I forgotten something obvious? Best regards.

Start with a cube, and see how your UVs are altered. It’s most likely flipped on one axis.

If it helps:
http://www.misfitcode.com/misfitmodel3d/

Hi

Good idea. I’m going to test it with more simple objects.

Thank you, it’s helpful, it supports MD2 and it works under GNU Linux ;D

The exporter works like a charm on models only composed of triangles (for example rocketlauncher.abin), the bug is reproducible on triangle strips and triangle fans.

Hi

This was one of the 2 bugs. Now it works very well, it is just under-optimized. Thank you very much.