New model exporter paradigm

In an attempt to remove the middle-step that is the immediate file when getting a model from 3DS Max to JMonkey, we came up with an interesting conversion paradigm. The idea is to make a simple script in max that simply loops through all vertices and faces and feeds them to a Java server through the network. This server have the JMonkey libraries to be able to convert this raw data into a model defined inside the JMonkey engine. Saving it to JME format should then be easy.



The question is then: how volatile is the JME file format? Will it change a lot between versions of JMonkey? Going through all files and convert them after a new version of JMonkey would be a hassle. This could also be solved using a max script that goes through a list of files scheduled for conversion.

I can speak for one upgrading from jME 1 to jME 2, the file formats are extremely volatile.  All of my tools need to be rebuilt under jME 2 and then all of the art assets need to be recreated or re-exported.  In the case of models, this is acceptable for three reasons; 1 Its a major upgrade, things like this need to be expected.  2 The source data is still available so there is no data lose.  3 The exported format of the model files is a binary serialization of the classes used to draw the model.  You can't get more efficient than that.



So, yes, your data will need to be rebuilt.  Its unavoidable and not terribly difficult.  Of course this only applies to cases where you have source data which maintains the resource.  In the case of the RenParticleEditor, I think you're out of luck.  I suppose you might be able to build a converter that takes the old particle data and converts it into something the 2.0 BinaryImporter can read.  Lessons hard learned.

I use a different approach:



I reference files with their original name when importing. I then have a importer that checks if an up to date converted version exists. If not, the imported does the conversion.



So, whenever I load an asset, I have always the latest converted version, but if there were no changes, I just load the jbin.



To recreate all assets I just delete all jbin files.

So you're deploying your source art with your game?

Well I'm not deploying anything but I would take the source art away before shipping. My importer works if only the already transformed model.



I just though that you may be interested in the "import" approach, apart from considering your "export" options.

Yeah, its a good idea.  Thanks jjmontes.  Its certainly worth considering for previewing and dev builds.