Exportscript

back to Modelling with Blender

The Blender xml-Exportscript

The exportscript is needed to export the model to an g3d-xml-reprensentation. This export can be converted to .g3d using the converter.

Newest version: Download at titusgames or glest.org

From the export file header:

INSTALLATION : Copy this Script into your .blender\scripts directory In Blender, open a Script Window and in the menu choose "Update Menus" Export with File->Export->G3D XML Exporter

PREPARE THE MODEL : Each of your meshes' faces must be a triangle (3 vertex) In Edit mode, you can press Space, edit>faces>Convert to Triangles Create and place all your meshes before texturing or animating. The X axe is the floor and the Y axe is the elevation. The center of the Blender's 3D space will be the center of you object, at the ground level. Before exporting your model, apply the transformations to each of your mesh (In the 3D space window's menu :                          Object->Clear/Apply->Apply ... ) This will place the center of your mesh (the yellow or pink dot) at the center of the Blender 3D space.

!!!!!!!!!!!!!!            !!!new in 0.1.4: !!! If you have a non animating model, you have to set the start frame and the end frame to '1' in blenders 'timeline'-window. Otherwise a non animating animation will be exported, containing a lot of frames and your model gets really big. (how to export non animating models) !!!!!!!!!!!!!!

Before doing any texturing or animation, try to export your model and check your python console (the terminal which opens Blender) to see if there is a warning about the number of used faces in the summary. If there is, try to delete "false" faces (which use only 2 vertices) and transform all your faces in triangle. EXPORTING : You MUST select the meshes you want to export. Only meshes are exported among the selected objects.

The diffuse color of the mesh will be it's (first) material's color. The opacity of the mesh will be it's material's alpha. Double sided property of the mesh is exported (see F9). If you want to use custom color in the texture, your mesh must be      double sided. If you don't want custom color to be activated for the mesh, add a new boolean property to it (F4) named customColor and with the false value. Custom Color set if the alpha of the texture is      replaced for the color of the player. TEXTURING : To use a texture for the mesh, you must add a texture at the FIRST position to the mesh's material. The texture type must be 'image' and you should insert the real image. In fact, only the filename of the image is used. After having mapped the image on the mesh with UV Face selection, you don't need anymore to "stick" the coordinates to the vertices. Your texture's format must be TGA, without compression and with the origin at the bottom left position. The side of the image must be a multiple of 2. In practice, you must use only one image for all your meshes.

ANIMATING : You can export all animations made with blenders armature system. You have to set the start frame and the end frame in the 'timeline'-window to define the animation which will be exported. If you animate without using the armatures it will not work!!

LINKS : Animating with armatures http://www.blender.org/documentation/htmlI/x1829.html Map an image on your mesh with UV Face selection : http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/UV_Map_Basics http://download.blender.org/documentation/htmlI/ch11s05.html

CONVERT TO .G3D Use the xml2g program of the glexemel tool at      http://www.glest.org/files/contrib/tools/ Syntax : ./xml2g ExportedFile.xml DesiredFile.g3d WARNING : The current version of this program don't seems to work... You'll have to add the lines (if they aren't there) : #pragma pack(push, 1) near of the beginning of the file "g3dv4.h" of glexemel and #pragma pack(pop) before the #endif

ChangeLog : 0.1.4 : by weedkiller and Titus Tscharntke ( www.titusgames.de ) New implementation of the animation export ( including some usage changes!!! ) Exporting animations is now possible with newer Blender versions ( tested with 2.43 )

0.1.3 : by Titus Tscharntke ( www.titusgames.de ) Fixed a bug with getProperty in blender 2.43

0.1.2 :          Correcting an execution bug Adding the "frameCount" property for each object Using only the triangle faces for the index count (problems of linking between index and vertex may occur) Adding the summary display in the python console Adding a better documentation 0.1.1b : Adding a vertex duplication method to correct the vertex UV problem. Correcting NMVert.uvco misuse