Blender 2.58 skeleton problem

I have really stupid question, but I’m trying to figure this out all day long. I have blender 2.58, now with blender2ogre 0.4.6 addon. I made a simple “box guy” with armature and exported it to ogrexml format. It exports skeleton and mesh and it loads in game. Problem is that when I move with bone it doesn’t affect model. If bones are displayed I can see that the bone moved.



The boneassigments section in mesh.xml file exists and looks good. What am I doing wrong?

Did you make Weight Maps for bones?

Yes, I painted weightmaps and it works the way it should in blender. And I also made small python script to fix the “more than 4 weights per vertex”. But it still works in blender the way it should…



Exported files:

http://dl.dropbox.com/u/1141626/BoxGuy.mesh.xml

http://dl.dropbox.com/u/1141626/Cube.skeleton.xml

Blender file:

http://dl.dropbox.com/u/1141626/boxguy.skeleton.blend

Have a try this one. As far as I understand you did not parent the mesh to the armature.



http://dl.dropbox.com/u/26887202/123/boxguy.skeleton_ch.blend

Still doesn’t work, I’m looking at difference beetween my model and Oto, and only diff I see is that Oto doesn’t use sharedvertices so I’m trying to rewrite it (it’s hard to work with 8MB text file :slight_smile: )

Wow it works now! I edited the mesh.xml file to use this template:

[patch]<mesh>

<submeshes>

<submesh>

<faces>

<face></face>

…lot of face def…

</faces>

<geometry>

<vertexbuffer>

<vertex>…</vertex>

…lot of vertex def…

</vertexbuffer>

</geometry>

<!-- Important part! DO NOT CLOSE SUBMESH HERE -->

<boneassignments >



</boneassignments >

</submesh>

</submeshes>

<skeletonlink />

</mesh>

[/patch]

Quick question for you ficik. How big a difference was there between the 2 formats. I’ve just started learning how to use Blender and I’m using version 2.5 as well (not sure if this was a good or bad idea really). So ya. I just want to know if every asset I plan on making in the new Blender is going to be a river of manual xml editing sadness or what.



Thanks.

If we are talking about Blender 2.5 with Ogre, so there is no official exporter for Ogre and Blender 2.5. Official exporter is 2.49. So, if you found a solution how to load properly blender2.5/ogre, please tell about it to the JME core devs. They will fix ogre importer. But again, the official 2.5exporter will be able to work in a different way.

@mifth: I know that there is no official exporter, blender2ogre (http://code.google.com/p/blender2ogre/) is unofficial (blender2.58 to ogre) but it works really good. But there is bit difference in xml file so little changes are needed.



@thecyberbob: There is no difference for boneless objects they simply works. It uses sharedgeometry (I have to test if this matter) so I renamed sharedgeometry to geometry and moved it to coresponding submesh section. And (I guess because of sharedgeometry usage) it creates boneassigments section after submeshes section, so I moved it into the submesh section.



I really need this get to work so I’ll try to rewrite the original plugin to work this way and post it here. And will contact plugin developers to add checkbox for using sharedgeometry.

1 Like

There seems to be a few scripts and what not to let one export models from Blender 2.5 into Ogre out there. Just that it might not ship with one by default. Odd.

@ficik: Thanks for clearing that up :slight_smile:

@thecyberbob I tried most of these scripts and only one that worked for me was blender2ogre. (Only sad thing is that it uses some win-only application which has to be run in wine, but I think that it can be stripped to export-only plugin which will generate only xml files not .mesh)



BTW what are .mesh files? Is it some compressed version of the xml?

.mesh is a compiled binary ogre mesh.

.xml is a source ogre mesh.

Here is patched 0.4.6 version of blender2ogre.

http://dl.dropbox.com/u/1141626/io_export_ogreDotScene.py



INSTALL:

  1. install latest version from (http://code.google.com/p/blender2ogre).
  2. replace io_export_ogreDotScene.py in [blender user’s folder]/2.58/scripts/addons with my version



    USAGE:

    before export there is checkbox Shared vertices. If checked (default) it works same way as 0.4.6 version, when unchecked it moves geometry and boneassigment sections into submesh section.



    It’s tested with single-mesh objects and I really don’t think that it will work propertly on multimesh. But this is what I currently need.

    Forks and patches welcomed :slight_smile:
1 Like

Zomfg! Thank you so much ficik :smiley: You finally fixed my problem lol Now I need to figure out why my animations have no names in the skeleton file while they have one in Blender.