Model Resources - How should it be done?

I’m creating this topic to open up discussion on the process taking a model source art from a development machine all the way to the deployment environment.  The reason I am doing this is because there are several things which are unclear to me about the design of jME with regards to this subject.

First I’d like to make a few assumptions about the process.

1.  Due to the size of the files and the costly conversion processes, only exported versions of the resource will be deployed.  The source art will not.

2.  Exported models should have their textures exported as well.  Texture should be able to be shared but name conflicts should be avoidable should two models export a texture of the same name.

3.  The process must be able to build/export resources that can be deploy to any location without further modification.

In my experience, these items are the very minimum required to build a commercial game. 

Now,  I have looked all over the form and in the wiki and found some great examples of loading the source art in jME to generate a Spatial which can of course be written to file and there are many great examples of converts, both command line and visual such as Starnick’s jmmi  These all have the same problem of storing the absolute path of the textures and path relative to the classpath of the deployed application.

There is also a resource location tool which is very handy, but may cause problems with regards to texture sharing or name conflicts.

With all of this in mind, what is the recommended way of dealing Model Resources in jME?  If this is not supported in jME, what have other people done to get around this?


Related (loosely) Links:

My approach is to load and apply the textures seperately. They can be managed with a simple configuration file rather than being embedded in the model file. Right now I produce this manually, but if it becomes enough of a chore I'll look at making a script to extract the texture paths during the model conversion.

So mine works like this:

  • Load import file
  • Load models
  • Load textures
  • Apply textures to models

Thanks Alric.  We're actually talking about doing just that, but I thought it would be best to ask first.