Primary tabs

Comments by User

Wednesday, January 5, 2011 - 08:59

I don't want to use .blend in game. I want to be able to process a directory containing various .blend files to convert them to a more simple file format.

For the text vs binary, it's because I want to use the model with webGL. Next generations of smartphones will be able to display webGL, however they still have a less powerfull processor than desktop pcs and more importantly, less bandwidth to download the models to display. Because I want a light format, I don't have a lot of information to pick in 3D files, so I was thinking of directly picking them into .blends :).

I 'll take a look at Ogre and Irrlicht source code, thanks for the hint ;).

Wednesday, January 5, 2011 - 03:52

Thanks for the link johndh. You're right, Glest doesn't use skeletal animation. I guess it is to lower CPU load while animating hundreds or thousands of units, at the expense of more memory used in the graphic card.

The export script is interesting, I'll have a look at Blender's python API.

Tuesday, January 4, 2011 - 16:00

Games uses binary format for speed and I believe a lot of game have their own binary format. I have tried the collada exporter of blender a year ago. The result was so poor that it didn't come into my mind to retry it :P. I have a java ms3d parser, but blender do not export to this format. Obj does not handle rigging and animations.

As I haven't any loader for the moment, I prefer looking into blender file format instead of convert .blend in another format I will have to look at. But if you know a light binary format that handle animations and rigging, and that is exportable from blender, let me know, I don't want to reinvent the wheel.

Oh and I think I found how to link weights vertices and bones (the def_nr int should target a bone).

Tuesday, January 4, 2011 - 15:15

Creating the data structure and loading data is quite easy : the end of the file tells you how to do this (the DNA1 block). The problem is how to interpret these data structures : they are not documented, nor is the source code :(.

However by searching 'weight' in the source code (readfile.c), I came on the MeshDeformModifierData structure. I'll look later into this.

EDIT : It seems the data is in the following structures : MDeformWeight and MDeformVert. I still don't find how these weights are linked to the bones, perhaps with the flag int ?

Friday, December 17, 2010 - 03:59

It will be hard to vote, all contributions are really nice.

Friday, December 17, 2010 - 03:56

Nice one ! What I like the most is the 3 variations that allow a kind of upgrade. And the rust on the first mace seems so real !

Wednesday, December 15, 2010 - 04:06

I like this new name !

Thursday, November 18, 2010 - 08:25

Another idea :

Like Pfunked's PMOD system, you have a FWEA system :


Earth        Air


Fire + Earth : Meteor

Fire + Air : Fireball

Air + Water : Blizzard

Earth + water : Frozen boulder


Thursday, November 18, 2010 - 07:09

I liked the diablo II 's elemental damage system, similar to the system described in the first post (i.e. diablo II vangeance skill), excepts for the absorb.

However, if I had to design an elemental damage system, I would perhaps go with something like this :

Fire <-> Water

Earth <-> Air

Light <-> Dark

And a value between -100 and 100 (or -150 to 150 for abosrb possibility) for each couple. If you have -50 in fire <-> water, then you take 50 % of fire damage while you take 150% of water damage.

For weapon, I would allow only 1 element to deal full damage with spell like fire weapon (your weapon now does fire damage), and then add absolute values for other elemental damage (e.g. a sword that does 10 physical damage and 3 earth damage, if you use a fire weapon spell, then it does 10 fire damage and 3 earth damage)

Tuesday, November 16, 2010 - 08:55

I did some testing with semi transparent walls, here is the result (there is still some graphical glitches) :


And a randomly generated map (again some graphical glitches, I need to use the 1/2 tiles that you added lastly) :