Custom .blend importer

There are some flaws in provided .blend importer, particularly with animation. I’m playing roulette for now, some basic animations are loaded and others are discarded.



I’d like to extend .blend importer to be able import files I’m using in the project. .blend files look very flexible by using its DNA/RNA self-describing technique. How is it mapped to the importer code? I’ve peeked into source code for the existing importer and found it difficult to understand since it is linked with other parts of project that I’m not familiar with.



Could anyone describe briefly base principles behind .blend importer decomposition on methods, j3o structure and how should I work with it. Well, I have jME code, but I need some guidelines in addition to it. I’ve lost in it and I’d like to find a way to solve this particular problem without studying all core modules.

The blender loader is still a WIP. It has flaws, for sure, but considering it’s a one man work, it’s already huge.

@Kaelthas is working on it. Maybe he can help you with this.



That said, if you want to step up and help him i’m afraid you’ll have to study the core modules anyway. JME is now quite big , and it’s not really possible to describe all modules in one post.



Also consider using Ogre exporter that is working fine with blender 2.62.

@nehon is leading you in the right direction…


@ayvango said:I'd like to extend .blend importer to be able import files I'm using in the project. .blend files look very flexible by using its DNA/RNA self-describing technique. How is it mapped to the importer code? I've peeked into source code for the existing importer and found it difficult to understand since it is linked with other parts of project that I'm not familiar with.


I thought the point of that approach was for backwards compatibility between Blender versions :?

If a catch blender documentation right, DNA/RNA is kind of a scheme for blender data structures. The scheme describing language is unchangeable throughout different blender versions, only schemes are changed, so it is very simple to write backward/forward conversions.