CorEngine RSS
NAVIGATION >>
HOME TUTORIAL API TOOLS FORUM REPORT BUGS
:. Tutorial : Blender Exporter

In this tutorial you will learn to export scenes from blender to CorEngine PAK format. I will not be showing how to build a scene in blender, because there are a lot of better tutorials for that online (google!). I assume that you somewhat know how to use blender already. Also note that we will be using blender 2.49 for this tutorial. However, the blender 2.5 exporter is available in the same folder as the 2.49 and works as an add blender 2.5 add on. Google for how to install and use blender 2.5 add ons.

Step 1: Getting the tutorial resources


I assume you have already gotten yourself the CorEngine Development Kit, but if not, then head to http://CorEngine.sf.net and get yourself a one! The CorEngine Development Kit contains the blender export script we will be using in this tutorial.

Step 2: Finding the export script


The export script is located in the tools folder of the development kit. The file name of the export script is io_export_corengine_pak.py. The more experienced blender users might notice that you can just drop the export script to the scripts folder of blender and it will show up in the export menu, but for the beginners, I will just show how to open up the script in blender and run it, since sometimes it is a pain to find blenders scripts folder on your OS.

Step 3: Running the script in Blender


First we need to open up blenders text editor. You can find it in the Window Types menu:

Window Types menu

Next we need to open up the io_export_corengine_pak.py export script in the text editor:

Opening the script

Now we can run the script.

Running the script

The script will open up a file browser for you so that you can save the PAK file to the preferred location. NOTE: The default file extension will be .blend in the file dialog, but you will have to rename it to .pak for CorEngine to detect the file when you open it with Engine.LoadScene.

Saving the file

Also bear in mind that if you don't have atleast one camera in the scene, the you will have to create the camera yourself in a script. Othervise CorEngine won't render anything. So just to save you some effort, go ahead and create camera to your scene if you don't already have a one in it, and CorEngine will automatically assign the first camera it finds in the scene to the active camera.

Step 4: Defining physics and collision for CorEngine


The Blender 2.49 python API doesn't allow access to the physics and collision setting of an object, so we have to specify them with properties.

First you have to find the Logic buttons in blender:

Logic buttons

You see the big Add Property button there? Needless to say, you can add an property to the currently selected object with it. Lets set the shape for our object with it.

Adding shape

We just defined a poperty of type String with the name shape and value BOX. The exporter will detect this and set the objects shape to BOX. Since we didn't define the mass property, our object will be static because the default mass is 0.0. Here are the available properties and values for them:

  • shape - type String, available values [BOX|SPHERE|MESH|CAPSULE_X|CAPSULE_Y|CAPSULE_Z|CONE_X|CONE_Y|CONE_Z]
  • mass - type Float, a positive floating point value
  • lin_damp - type Float, a positive floating point value
  • ang_damp - type Float, a positive floating point value

Step 5: Using normal and displacement maps


Here is a self descriptive picture of the texture settings you have to enable for normal mapping and displacement mapping:

Normal and Displacement maps

Also if you want to use a specular map, enable the Spec button for it. Note that all specularity will go through the specular map in CorEngine and not like in blender which combines the normal specularity and the specular map by default.

Step 6: Defining scripts for objects for CorEngine


First we have to create script in blender. Go to the text editor and click on Text -> New. NOTE: ALL SCRIPTS MUST END WITH ".lua". Othervise the exporter won't recognize it as a lua script.

Creating a new script

Then we have to name the script, lets name it myscript.lua

Naming a script

Next we just have to create a property called script of the type String and set its value to the name of the script.

Creating the script property

Thats all about scripts. If you did it right, the script will be exported to CorEngine, and it will run on each frame for the specified node (camera, entity, light) ;).

Step 7: Armatures


When exporting armature from blender to CorEngine, there is only one thing you have to take into account. The position and the orientation of the armature MUST BE EXACTLY THE SAME with the entity the armature is deforming. Otherwise the animations won't look right.

Thats it! I hope you enjoyed the tutorial, and if you have any comments about it, please post to the forums.

SourceForge.net
CorEngine.sf.net Except where otherwise noted, content on this site is
licensed under a Creative Commons Attribution 3.0 License.