[Solved] LOD with Blender created Models


I wanted to start to create my models with Blender. Until now I created them with Misfit Model 3D where I didn’t need any tutorial because its so easy. Unfortunately it’s not really a good editor, there is no ongoing development anymore and I was never able to load textures added in the editor into jme. So I started to mess around with it: I named the parts of the models in a way that allowed me to texture them later in the code after loading. Thats obviously not the way to do it, but I just couldn’t figure out how to do this.

However, this allowed my to specify where to put what texture, so I was able to give the player options like Texture Quality and so on. I also use DiscreteLODNode to decrease the quality of models more far away (I use up to 6 steps). Here I also textured the nodes that are more far away with textures with less resolution, so the LOD is not only in the models but also in the textures.

As I now want to switch it to Blender - how can I make this LOD work? As I started to dig into it I saw that you load a fully textured model into jme. How can you retexture it easily? The obvious way would be to create different models of the same quality with different texture resolutions, but this just sound tedious.

I hope you can help me with this!


Please follow these tutorials below :




or you can look at my Blender 2 Ogre Pipeline Demo in JME 3 : http://eriq.lecture.ub.ac.id/files/2011/04/BlenderOgreSceneDemo.zip

Pepsi Bloom

Snowman Scene

Circus Scene

hope this help


oh sorry, I think you’re using JME3, Why don’t you switch to JME 3? it’s quite easy and powerful than JME 2.0 :slight_smile:

I forgot to say that I’m using JME2, so JME3 stuff won’t help me. Sry for not mentioning this… ^^"

I am already very far into development with my game and I’m making heavy use of FengGUI, which is not compatible with JME3. So there is no way I will switch to JME3 :wink:

I figured out how it works. When you import the file in jme2 code, you can add a “textdir” property to the importer. There you give the folder where all textures of the object are stored, so this can be changed easily to another folder with textures of a different quality. Works quit nice.

If I change the texture quality during a running game, I can look up the name of the texture file with getImageLocation() of the Texture object of the TextureState. This way I find out what texture a Mesh has and then just load the same texture with another quality. I didn’t acutally have to rewrite that many code (object orientated programing ftw :D).