[dead] JME3 Blender Loader

This project won’t be developed any further



Project Type: .blend scene loader for JME3

Aim: loading textured scenes from blender to jme3 without having to go through the exporters.

License: MIT

Source: http://code.google.com/p/jmonkeyplatform-contributions/

Status: v. 0.0.3 (in svn)



Current very alpha version:



… available from http://code.google.com/p/jmonkeyplatform-contributions/



This is a very early version, i don’t know my self what it really can do. It should import the MESH objects in the blender scene (that means the geometry, the spatial transform applied to the geometry like rotation, scale, translation, the material applied to the geometry).

Of course it doesn’t handle (and will never do) the plethora of modifiers one can apply to a blender element (subsurf, mirror… you have to apply everything in blender before to save).

It doens’t read (yet) the images stored in the blend file so you have to export them in some folder and access that folder through the assetmanager, otherwise the loader won’t find the textures. The loader tries to read the texture using the path in the blender file. If the assetmanager fails to find the texture there, the loader makes a second attempt with the simple name of the texture file (so if the texture comes from c:abctexture.png the loader will pass to the assetManager first the string c:abctexture.png and if that fails it will try with texture.png. If the path is relative, the first attempt will be made with the entire relative path, the second one with just the name portion).



It is meant to support both 2.49 and 2.53 version of blender.



Remember: just meshes. No metaballs, boolean compositions, extruded bezi

+material colors

+node transform

+normals







next texturing…

That's a fantastic feature to have, thanks!


Ooohh, this will be so great to have in jMP! Gotta add automatic j3o re-conversion when the original changes soon :smiley:

PGI, master of the jMP contribution repo :wink:

That's incredible!  :smiley:

This looks very useful. Will animations import correctly?

The big problem for me isn’t to get the animation data out of the a blender file, it is a very straightforward format. The problem is mapping what i find to JME3.



And animation is the bottom of my knowledge of JME3 (it’s a pretty flat knowledge anyway).



Just to give you an idea, I can’t even get the animation system to move one vertex of one triangle with a skeleton made of one bone, and from scratch, not reading some exotic file format.



So given what i know of jme3 now, to get the animation i have to create a new animation library but forking an api that isn’t even in beta doesn’t look very good.



Anyway, i should first get rid of the cube. Here’s the first uv mapping attempt:







the bad news is that the way i re-index the UV’s is cleary wrong, i have to find why.

The good news is that the material support includes (entirely through Lighting.j3md):



lamber shading mode

minnaert shading mode

phong specular mode

WardIso specular mode

ambient-diffuse-specular color

diffuse map

normal map

specular map

alpha map

colorramp map



i have not tested it yet because of the UV madness but the system is in place.

Really cool think! Keep up the good work. ^^

Ooook, i have to work on the shininess-roughness factor, testing if there’s something wrong and so on but here’s a blender model taken from:



http://www.blendswap.com/3D-models/animals/low-poly-triceratops/







The geometry looks ok, the model is a bit too dark so maybe something is wrong with… well, something. Got to check…

Working on the material parameters (shininess/roughness thing),









the pictures show various lambert/phong configurations (shaders tab in blender)

Ouuh… looks like you're getting close, huh? Gotta prepare the jMP contrib center plugin soon :slight_smile:



Currently I am improving the file support in jMP so that a model loader plugin can provide all AssetManager configuration etc. itself and then just supply a Spatial to the rest of the system. This way new loader plugins like this can be seamlessly integrated (add to scenecomposer etc.). Atm its only possible to use external importers to convert to j3o format. I think I will add a little info file now that points to the original file and loader so the automatic re-conversion on external changes can be built in.



Cheers,

Normen

Remember the "3 times dumb rule" when designing the interface :D.



The 0.0.3 version of the loader will address a "problem" in an arbitrary yet reasonable way.



Problem: a blend file is a workspace, it stores all the construction-lines the user needs to obtain a scene. Among these helper structures there can be meshes. Think of a high polygon count mesh used to create the normal map for a low polygon model. The loader extracts from the blend file just the parts that compose the "visible" scene, the final result (always in therm of meshes and materials).

Arbitrary solution: the loader loads just the objects that are in the first layer of the workspace so that the user has to put all the meshes that are not intended to be part of the final scene in a layer > 1



I chose this solution because in blender you can set more layers to be active at once, so the document can show to the user everything while just what's inside the first layer will be exported.



Better ideas are always welcome.

I think thats a good solution :slight_smile:

I added a jMP import plugin based on the jar version to the contribution update center.

More screenshots. T-Rex from:



http://www.blendswap.com/3D-models/animals/t-rex/



out of the box (+ light and rotation)



wahh

very impressive

Hi,



I desperately tried to understand how I can export a geometrie from Blender for an utilisation in Jme3.



Regarding, what saying in this page, I dont understand how I can load “.blend” files directly throught JMP…

the link below don’t give the code to do like the picture samples presented.



As regards the method which consist to add files of BlenderExport in the blender repertorie, it is impossible to me to found the folder .blenderscripts !!



For informations I have blender 2.57, windows XP and I installed Python 3.2.



Thank you for your responses and your advices .



Ben

As indicated in the top post and title, this project is deprecated. There is a new Blender plugin in the works. If you have the latest jMonkeyPlatform installed, you should be able to find it in the plugins tab (though I’m unsure how mature the 2.57 support is).



The alternative would be to export your Blender model to OgreXML and just use that, as jME3 natively supports this format.

I was able to load a fairly simple 2.57 model with the new blender loader.

Its becoming quite stable to be honest

Sounds great! @Kaelthas will have to make an announcement about it then :slight_smile:



Closing this thread. Further questions about Kaelthas’ Blender project can be posted in this board (user code and projects).