Irrlicht's animation"system"?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
r2d2
Posts: 211
Joined: Mon Nov 24, 2003 5:22 pm

Irrlicht's animation"system"?

Post by r2d2 »

Am i too dumb to find it or is there no "setAnimation" function (or to be exact, is there just one for MD2 models)?

Are there any plans on implementing a real animation system into Irrlicht?

What i think a real animation system should consist of? First of all named animations, not just frame ranges. Next, the animations should be done in a seperate thread (but it's also ok if they are not). Somekind of manager who keeps track of the loaded animations (the joint based ones). Setting seperate animations for the different submeshes a SceneNode can consist of (but that can also be done by creating several scene nodes and grouping them together).

Yeah that's basically it. Are there any plans on implementing something like that? If not are there any suggestions how and where that should be handled? Especially keeping track of the animations and the setAnimation functions for the mesh and the different submeshes or wether Irrlicht wants to keep each mesh in one single node.

greetz
r2
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
xray
Posts: 231
Joined: Fri Feb 02, 2007 1:06 pm
Location: Germany, Munich
Contact:

Post by xray »

What i think a real animation system should consist of? First of all named animations, not just frame ranges.
Well if there is no setAnimation in the irrlicht API (dont know, cause I didnt searched for it) then maybe the problem is that the file formats (md2, b3d) are not store the animations seperately with a head for each but all together as one animation. Could this be ? If so your problem is not irrlicht has no feature or noone is willing to add this feature but the file formats dont support it. If so you may create your own file format.
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

I suppose some kinda system where you define a frame range and then play it back wouldn't be too hard to do, but you may as well just do that in user code.
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
wing64
Competition winner
Posts: 242
Joined: Wed Jul 23, 2008 2:35 am
Location: Thailand
Contact:

Post by wing64 »

r2d2
Posts: 211
Joined: Mon Nov 24, 2003 5:22 pm

Post by r2d2 »

That animationsystem you mention wing64 is just for blending.

Sure, BlindSide, coding functions which would define a frame range and then play it back wouldn't be too hard, but that's not why one would use bone animation. When using bone animation, you add just the animations needed to the node, not all, so the frame range will differ from node to node, sure you could add every animation to every node, but that would create an unnecessary overhead.

So there are currently no plans on implementing a real animation system in Irrlicht?
R2D2's Irrlicht Mods
Messed up with my database so the page is not working at the moment -.-
CPU: Core 2 Quad Q6700RAM: 4096 mb Graphics: Radeon 4850 512mb Sound: on board InternetConnection: DSL
xDan
Competition winner
Posts: 673
Joined: Thu Mar 30, 2006 1:23 pm
Location: UK
Contact:

Post by xDan »

also how about animation mixing? or is this also achieved by setting animations on submeshes?
(I'm thinking e.g. playing a wave animation and a walk animation at the same time... and other such mixes... there is a nice example of this sort of thing with Cal3d I think)
Mel
Competition winner
Posts: 2293
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Post by Mel »

With regard to the "named animation" convention, I'm not sure if the formats that export animated skeletons, also have a way to retrieve the name for the animations. In that case, it could be a good idea to have them also loaded, and linked properly with the range of frames each animation had, so you could refer to that animation instead of a range of numbers. Is a more intuitive and flexible approach. But still, that is if, and only if the animations have their names stored and the ranges linked.

On the other hand, i've seen documentation of Irrlicht in which you can apply an animation to another skeleton whenever both skeletons have the same bones and the same bone name. Perhaps it could be a nice improvement to be able to use the same animations for two skeletons, even when their names didn't match.
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
hiker
Posts: 58
Joined: Thu May 31, 2007 5:12 am

Post by hiker »

Not sure if it's any help: in SuperTuxKart the artists will be able to put names to animation frames (e.g. 'left', 'straight', 'right' for steering directions). The blender exporter stores this informaton in an XML file, which is then read by the game. So we don't need any extensions, but still don't have to deal with frame numbers directly. At this stage the script is work in progress, but all details (e.g. getting the frame number from frame markers) have been tested, and reading in the xml file to get the animation info works. Let me know if this is any help for you, and I can provide more details.

Combining animations would be something I would be interested in, too - e.g. letting a character wave his right hand while doing a left turn or so. Currently we will settle on a priority based system: if the character is turning, play turning animation. Otherwise if it's overtaking another character, play hand wave, ... - not ideal.

Cheers,
Joerg
Post Reply