New Animation System for Irrlicht

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
battlestar
Posts: 11
Joined: Sat Feb 10, 2007 10:02 pm

Post by battlestar »

vermeer
Posts: 2017
Joined: Wed Jan 21, 2004 3:22 pm
Contact:

Post by vermeer »

Finally making games again!
http://www.konekogames.com
battlestar
Posts: 11
Joined: Sat Feb 10, 2007 10:02 pm

Post by battlestar »

vermeer wrote:battle.... :http://www.onigirl.com/pipeline :)
Thanks, Vermeer.
I tried the pipeline, but it doesn't export CS Physique. And Discreets phy2skin converter doesn't work properly for my models. However, the .FBX export-import converts correctly to skin and then I can also use as well the .X exporter. I think this shows again that having our own irrlicht format and exporters (both, xml ascii and xml embedded binary for example) would be best.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

I would like to request something in this animation system, which is much better by the way. I saw a post about culling the models that are offscreen. For my want them to be animated even if not rendered. It's like a particle fountain that dies with time. i don't want to turn around in myh game and turn back around to find the fountain the same as when it escaped my vision. Animations should be the same way, though I do believe it is a speedup, I don't think it applies in most cases. Also, if they are hardware skinned, how easy is it to get the current vertices for use for collision, physics whatever. If the info goes to the card and stays their, then will it be a bottleneck to retrieve it frame by frame for physics. If not(which is easy to believe since I don't know how it works), then cool, but if so, then it should be optional whether to use hardwared or software skinning.
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

kburkhart84:

I can go though this more technically, but what your saying is not a problem.
I saw a post about culling the models that are offscreen. For my want them to be animated even if not rendered.
Well the way the system works, it will appear as if the models were animating when they were culled, it will not appear as if animation was paused when it was off screen.
Animations should be the same way, though I do believe it is a speedup
I cannot see how it could possibly be a speedup not culling the animations.

Also, if they are hardware skinned, how easy is it to get the current vertices for use for collision, physics whatever. If the info goes to the card and stays their, then will it be a bottleneck to retrieve it frame by frame for physics.
well the vertices's of animated meshes are not normally used in physics engines, they normally use ragdolls, etc.

If you really needed the vertex positions every frame, the best method is to do hardware skinning, and do software skinning at the same time, but don't upload it.

then it should be optional whether to use hardwared or software skinning.
Yeah, of course, for lots of other reasons too.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

Well, that all is a relief. Also, i meant that culling IS a speedup, not that it isn't. Sorry for the misunderstanding. Thanks for clearing that stuff up for me.
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

By the way, this project is not dead, me and bitplane are working on it over at http://code.google.com/p/irrlicht-plugins/
Baiame
Posts: 41
Joined: Sun Oct 15, 2006 11:33 am

Post by Baiame »

Nice work, I hope you continue chipping away at this.
buhatkj
Posts: 444
Joined: Fri Dec 12, 2003 4:53 am
Contact:

operational?

Post by buhatkj »

cool, i was able to find a bunch of your files on the svn over on google code. not asking for guarantees or anything, but could i get maybe a quick rundown of what you guys have working so far? im really curious heh.
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

buhatkj:

Sorry for the massive delay, I've been a bit busy (I'm not anymore :) ), and I forget about your post.
could i get maybe a quick rundown of what you guys have working so far?
Well nothing can be run yet, but:

CSkinnedMesh:

-All the stuff has been written for the same kind of animations irrlicht has now, should be faster then the animators irrlicht has now

-features have been written for animation blending, etc

-Able to hold and skin Vertex, Vertex2TCoords and VertexTangents type meshes (eg. bump-mapped animated meshes will be easy)

-Todo: Add an interface for the loaders to create this mesh


CB3DMeshLoader:

-Bitplane has started this, I need to covert it to create an CSkinnedMesh using it's interface.

-when done, this should all be usable in irrlicht

-other loaders with follow...

CAnimatedMeshSceneNode:

-For now no changes are needed to use all the same animation features irrlicht has now.

-I would like to fix a bug to double the speed of irrlicht's animations

-I'll get this to use SkinnedMesh's features, for bone control, animation blending, transitions...

-Change it from calling GetMesh() when holding SkinnedMesh, to the newer functions, this will also stop the need for the loaders scaling the animations out for interpolation, and will make animations a lot smoother.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

Since the topic was bumped up, I thought I would ask something. If I want to have one mesh(character) and control the bottom and the top differently, so say the walking animation for the legs and have the shooting be however, more or less how will this fit into the new animation system. I won't have to have two different nodes right?? Also, how would I create the bones and mesh as far as this is considered so that this won't be too hard to code later??
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

Since the topic was bumped up, I thought I would ask something. If I want to have one mesh(character) and control the bottom and the top differently, so say the walking animation for the legs and have the shooting be however, more or less how will this fit into the new animation system. I won't have to have two different nodes right?? Also, how would I create the bones and mesh as far as this is considered so that this won't be too hard to code later??
This is a very common need, which is why I cannot understand why everyone puts up with the animation system irrlicht has now.

There are many ways to do this,

-Yes, you can do it with two nodes (one not visible) and use bone control, to animate the visible one, with the invisible one. (you have the most control with this method)

-You can use the animation blending we are making, you simply play both the walking animation and the shooting animation at the same time and they are blended together.

-Me and bitplane were talking about being able to set the animations are bone level (rather then whole node based), this should be pretty fast.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

Luke wrote:
Since the topic was bumped up, I thought I would ask something. If I want to have one mesh(character) and control the bottom and the top differently, so say the walking animation for the legs and have the shooting be however, more or less how will this fit into the new animation system. I won't have to have two different nodes right?? Also, how would I create the bones and mesh as far as this is considered so that this won't be too hard to code later??
This is a very common need, which is why I cannot understand why everyone puts up with the animation system irrlicht has now.

There are many ways to do this,

-Yes, you can do it with two nodes (one not visible) and use bone control, to animate the visible one, with the invisible one. (you have the most control with this method)

-You can use the animation blending we are making, you simply play both the walking animation and the shooting animation at the same time and they are blended together.

-Me and bitplane were talking about being able to set the animations are bone level (rather then whole node based), this should be pretty fast.
I like the second and third best. With the second, I understand(maybe wrongly) that with the animation for shooting, I don't need to effect the leg bones, and with the animation for walking, I shouldn't effect the arm bones. I think if I had arm left to right animation when walking, wouldn't it look funny to blend that with shooting??? The third isn't bad as well, I think the second is enough solution to the problem. Though it would be useful like if your character is running, and a shot to the top area makes him lean back, but keep running, then yeah, the third could come in handy. But I think the same could be achieved like in the shooting example. Thanks for the confirmation though Luke. Now it is even harder to wait for the new system to come through finished and without too many bugs to be useful. Hopefully the day will come soon. :D
battlestar
Posts: 11
Joined: Sat Feb 10, 2007 10:02 pm

Post by battlestar »

Luke wrote:This is a very common need, which is why I cannot understand why everyone puts up with the animation system irrlicht has now.
I think nobody has used the current animation system properly for a game that needed more than the most basic character animation, thats why. People who had higher animation requirements turned to Ogre etc, and the others made car racers and Tetris clones.

cheers
Swarmer
Posts: 100
Joined: Mon Apr 16, 2007 7:23 am

Post by Swarmer »

So, just wondering, what is the progress on this? Do you have the AnimatedMeshSceneNode modification? Basically, is there anything ready yet that lets me get transitions between animations for different mesh formats? I'm really glad you are making this, because I really need this feature. Thanks for your work!
Post Reply