Hey,
as this feature is quite a step forward in asset management I thought I’d share the current progress.
As you know, importing models to the j3o format makes sense because of many things. First of all you can only store jME-specific information in j3o files. Things like particle emitters, physics, sounds or effects tracks only work with j3o. This means the j3o format offers a lot more functionality when working in a project, it can even save your own classes in the form of Controls. Further advantages are increased load speed and general compatibility with jME3 project tools.
So… The obvious issue that pops up is this: When I have my model files created with the 3d editor and convert them to j3o, do I have to convert them to j3o again when the model is changed in the 3d editor? The answer (until now) was “Yes, you have to.”.
This answer turned off many people to the extent that they decided to work with a direct external model format - to - application workflow to circumvent that. Specialized solutions are being applied to post-process the model data, in the worst case in code that runs within the users game, in the best case in deployment tools that basically copy what the SDK does. In almost all cases all the advantages of jME-specific data in the files are being left out because the workflow doesn’t allow using it properly.
But as I said, “until now”
I proudly present: Automatic j3o updates from external changes!
This feature represents the pinnacle of the asset system in the SDK and makes extensive use of existing asset management features which prove to work splendidly. In fact only the mesh of the cube geometry is updated, the original geometry is found based on a set of UserData properties that is created when the model is first converted. This means that this doesn’t just convert the j3o automatically, it actually preserves all your changes to the j3o file and only applies new data. I am working on adding automatic adding of new objects and other things (animation) but the base system works great already.
Oh, and btw, it doesn’t just work with blender files but with all supported file types, no matter how they are supported So yes, it even works with 3ds through the new 3ds-via-blender importer.
[video]http://www.youtube.com/watch?v=k-Yd0L1I8So[/video]
Cheers,
Normen