Loading Blender models into JME

I’m having real problems loading Blender models into JME so that they are showing their textures. I can load the models in no problem, but they never show their textures, just white. I’ve done a lot of Googling, but I’d like to confirm a few things:-

  • Is it actually possible to load a .blend model, which has textures inside it, directly into JME and have those textures show? From my googling I think the answer is “no”, and the texture needs to be a seperate file.
  • If not and if the texture need to be a separate file, is there a simple way to get Blender to export the image texture of the model as a single separate file?

I’m hoping there must be a simple solution to this, since I assume Blender is probably one of the most commonly used 3D software packages, so people must come across this problem all the time.

Thanks in advance!


I do that then converted .blend file to .j3o and all textures packet in .j3o file.

I could not get this question, sorry.
Why do you want to export the textures again if you have them?
You just need to have the textures and .blend file in same root folder

and in blender :

This will change all absolute path like : “D:\Java\jME_NB-PW-11-6-2015\The Night Watchman Test\assets\Models\Models\Players\Doha\textures\Kachujin_diffuse.png” to relative path like : “//textures\Kachujin_diffuse.png” so that JME have access to it and you can move the root folder where ever you want with out breaking the texture path.

Thanks for the quick reply. Selecting 'Pack all into .blend" didn’t work, it’s still not showing texture, just white. Do I need to convert the .blend to a .j3o for texture to be shown?

To give you the background, I’m just playing with JME and have downloaded a .blend file from opengameart.org to test with. When I load it into Blender it shows a texture, but when I load it into JME, it’s just white. So I’ve not exactly got the texture files, I’ve only got them as part of the .blend file and I can’t see how to extract them into a (say) .png. But do I even need to do this?

FWIW, here’s my code:-

    Spatial planet = assetManager.loadModel("Models/desert planet_0.blend");


Can you put the link to blender model, so I can download and check it.
And try to convert it to .j3o to see if it shows texture.

This is the model: http://opengameart.org/content/desert-planet

I’ll have a go at converting to a .j3o file.

As it says in the website :

This is a 3d scene of a desert planet, complete with space background, atmosphere and such. It’s not for real-time use, but you can get a nice render from it. It exclusively uses Blender’s procedural textures and options and is very small in filesize. Hopefully it will inspire artists to start exploring and discovering the power of Blender’s procedural textures.

It use procedural texture (Not usual image textures). I think we can use blender texture baking to create the texture. (I am not sure)

Ah, I see. Thanks. I’ve tried quite a few more models from the website, and I did find two that actually did show the textures; the rest were again just white. I maybe naively assumed that 3D models all work the same way, but obviously there’s far more to it. I think I must still be missing something, as in this model for example: http://opengameart.org/content/orion-mpcv is textured when I load it into Blender, but plain white when I load it into jME. (I didn’t download the separate texture file; I’m curious how come Blender already shows the texture but jME doesn’t).

Because you need material with texture - the material preview is white - and if you change display from multitexture to GLSL you will see that object is white too. If you want see texture in JME you need go to material texture - choose image, set up path to image and set UV mapping.

See attached file.

Thanks for everyone’s help. I think it was an issue with the models I was using, combined with my lack of knowledge of the more technical side of 3D models. As I have a complete absence of 3D modelling knowledge, I think I’ll just hunt down better models for now and use those.