b3d Keyframe Animation Tips needed

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
r3i
Posts: 147
Joined: Wed Jun 29, 2005 10:15 am
Location: Sorrento
Contact:

b3d Keyframe Animation Tips needed

Post by r3i »

Hi,
I tried to import a b3d file into Irrlicht and it doesnt animate. I need a Keyframe animation and i read that only md3 and md2 have this feature in Irrlicth.

1. How can I extend Irrlicht for giving the ability to animate a b3d file?
( Have some idea? )

2. There is a good md2,md3 exporter for 3d Studio Max 9 and there are some known problems about exporting in md2/3 ?

Thanks a lot :roll:
"We work in the dark, we do what we can, we give what we have, Our doubt is our passion and our passion is our task. The rest: is art of Madness" (H.James)
B@z
Posts: 876
Joined: Thu Jan 31, 2008 5:05 pm
Location: Hungary

Post by B@z »

b3d DOESN'T support keyframe animation.
It supports bone animation.
grayman
Posts: 69
Joined: Thu May 12, 2005 10:48 am
Location: colombia

Post by grayman »

sure, .b3d is a nice format, i suggest to use the .b3d blender exporter made by gandalf yo can download it from here http://www.gandaldf.com/
System

AMD X2 4200
nvidia 7600gs 256mb
2GB ram DDR2
r3i
Posts: 147
Joined: Wed Jun 29, 2005 10:15 am
Location: Sorrento
Contact:

Post by r3i »

@ B@z : My exporter allows me to export animations ( Morphing, Key Frames and bones too ) with 3d Studio Max.
I'm using b3d pipeline http://www.onigirl.com/pipeline/

@ grayman: I'm using 3d Studio Max so I can't take gandalf's exporter :(
"We work in the dark, we do what we can, we give what we have, Our doubt is our passion and our passion is our task. The rest: is art of Madness" (H.James)
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

can you post a sample b3d file you exported. perhaps someone here will download and test it for you.
Image
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

by the way, you can test your exported b3d file using fragmotion.

download it from here: http://fragmosoft.com/

load the b3d file and select the animation tab, you'll see list of animation nodes in there. click one of them and hit play button.

you're good to go from here.
Image
r3i
Posts: 147
Joined: Wed Jun 29, 2005 10:15 am
Location: Sorrento
Contact:

Tested

Post by r3i »

I've tested my animation with Fragmosoft and it has frames but not animation. I'll keep trying to understand how export correctly.
Thanks : )
"We work in the dark, we do what we can, we give what we have, Our doubt is our passion and our passion is our task. The rest: is art of Madness" (H.James)
alrusdi
Posts: 19
Joined: Tue Mar 25, 2008 8:20 am
Location: Russia, Tyumen

Post by alrusdi »

I'll keep trying to understand how export correctly.
Unfortunately you models will be animated in Irrlicht correctly if they will have ONLY bone-based animations.
Last edited by alrusdi on Tue Jul 22, 2008 11:11 am, edited 1 time in total.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Do you have a file format description which explains the way keyframe anims are stored? AFAIK, there are only anim keys defined which work on BONE elements.
alrusdi
Posts: 19
Joined: Tue Mar 25, 2008 8:20 am
Location: Russia, Tyumen

Post by alrusdi »

hybrid, b3d specification can be found on oficial site of Blitz3D Game Engine
http://blitzbasic.com/sdkspecs/sdkspecs ... _specs.txt

1) If KEYS chunk appears after BONE chunk - it is skin (or bone-based) animation
2) If KEYS chunk appears after MESH chunk - it is matrix (or scale-move-rotate) animation
3) If KEYS chunk first in NODE chunk, then this node is pivot for nested nodes and KEYS describing matrix animation for this pivot

Workaround for 2-nd type of animation (currently unsupported in Irrlicht) is to create BONE before loading KEYS for current MESH. I was writen code for it, but this code is incorrect for complex models.
And I dont want to rewrite code, because its probably impossible to solve problem of 3-rd type of animation... I don't know how to create workable bone for node which doesnt contains any vertices. Or howto animate node like this. My opinion - i's unreachable with current Irrlicht animation system.
Last edited by alrusdi on Tue Jul 22, 2008 11:17 am, edited 1 time in total.
Sorry for my english :-)
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Well, of course I know this file, but it's IMHO the most ridiculous spec I've ever read. I've even found more info in the b3d online manual. Anyway, even your info is too few info for me :(
alrusdi
Posts: 19
Joined: Tue Mar 25, 2008 8:20 am
Location: Russia, Tyumen

Post by alrusdi »

hybrid, Hm... This spec is probably very oriented to Blitz3D users...
this one may be more helpful: http://www.geocities.com/drago_blitz/B3dFormat.html
Sorry for my english :-)
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

No, the original file is simply not useful for anything, besides a structural recognition of sub-elements. The new one is better, but quite outdated. And even more important, it only talks about skeletal animation. I'm still wondering why you think that b3d supports key framed animations.
alrusdi
Posts: 19
Joined: Tue Mar 25, 2008 8:20 am
Location: Russia, Tyumen

Post by alrusdi »

Nothing changed in .b3d file format structure after second specification was published.

What do you mean by termin "keyframe animation"?

IMHO it's animation defined by series of "keys" (each key stores scale position and rotation of object). When object animated value of key (according to current time) applied to object's matrix.

Skeletal (or skin-based, or bone-based) animation requires a special object (bone), which stores some data (keys, weights and skin). When bone animated position, rotation and scale of bone applied to each vertex of skin (according to weight).
Last edited by alrusdi on Tue Jul 22, 2008 11:16 am, edited 1 time in total.
Sorry for my english :-)
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

No, keyframe animation means an animation which stores several versions of a mesh, and interpolates between them in some fashion. The stored frames (which are bound to some frame number) are named key frames, because these are the main frames which define the animation. The minor frames are calculated from those, usually on the fly.
Your definition resembles to some "root bone animation", which is why you can easily convert from that one to an arbitrarily skinned animation.
Post Reply