skeletal human animations [UPDATED]
I want to help, but even right now it's still hard for me to understand the movement equation And i think its better to concentrate on "add more movement" than add some "physics" in to movement class, it's just make things more complicated for end user (the one who will use skeleton class)
If the "movement library" has gone large, then u can add more "feature" like make movement more realistic by adding physic or random respond to environment. Well it's just my thought
If the "movement library" has gone large, then u can add more "feature" like make movement more realistic by adding physic or random respond to environment. Well it's just my thought
@munemune: I dont think it is so hard to understand the equations, just think or watch some videos of a walking/running human and if you have a software which could paint mathematical equations you could draw the functions from the skeleton class to understand how the bones are rotated (and positioned).
And its better to think about now how to implement the physics, because this also affects the way I have to store the animations, like Dorth said.
At the moment my idea is to store the animations over splines but not every animation apart, but every bone and animation seperated. That means that there will be a function for the right leg running or the the left shin walking and so on. This solution will give me the ability to overlay different animations together, for example holding something in a hand and walking or running etc. Alot of animations will bring alot of data, but splines I think will also reduce the amount alot than simple keyframes. However it let me think about creating a own file format to store all animations into it, due to this it might be necessary to create an own application for it... but blender with its exporting abilities (python) would do this at the beginning as well.
For the physics I think splines would be a good solution as well. For those who dont know what splines are: they are functions which are generated only from its extreme points like minima/maxima and turning-points with some extra values. Now my idea is that the physics engine is able to manipulate this spline construction points, to vary each animation in a specific range.
ok thats it at the moment... some more information soon.
[edit:] By the way I found some fantastic websites where you can download animated skeletons (which you can also load into blender) with a huge amount of different types. That will safe alot of time for this project. Here are the links:
http://freemotionfiles.blogspot.com/200 ... mocap.html
http://mocap.cs.cmu.edu/
And its better to think about now how to implement the physics, because this also affects the way I have to store the animations, like Dorth said.
At the moment my idea is to store the animations over splines but not every animation apart, but every bone and animation seperated. That means that there will be a function for the right leg running or the the left shin walking and so on. This solution will give me the ability to overlay different animations together, for example holding something in a hand and walking or running etc. Alot of animations will bring alot of data, but splines I think will also reduce the amount alot than simple keyframes. However it let me think about creating a own file format to store all animations into it, due to this it might be necessary to create an own application for it... but blender with its exporting abilities (python) would do this at the beginning as well.
For the physics I think splines would be a good solution as well. For those who dont know what splines are: they are functions which are generated only from its extreme points like minima/maxima and turning-points with some extra values. Now my idea is that the physics engine is able to manipulate this spline construction points, to vary each animation in a specific range.
ok thats it at the moment... some more information soon.
[edit:] By the way I found some fantastic websites where you can download animated skeletons (which you can also load into blender) with a huge amount of different types. That will safe alot of time for this project. Here are the links:
http://freemotionfiles.blogspot.com/200 ... mocap.html
http://mocap.cs.cmu.edu/
-
- Posts: 758
- Joined: Mon Mar 31, 2008 3:32 pm
- Location: Bulgaria
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Just downloaded this. This look really nice! The animation blend very well on the demo, very nice work. Do you plan to add a crouch? Can it blend with pre-made animation? (As for example an arm that use a weapon and shot?)
Is there a document on how to build the skeleton on the model (as the orientation of the bones, lenght)
Once I have more time to check this I woud like to use your system and check it with a 3DS Biped.
Is there a document on how to build the skeleton on the model (as the orientation of the bones, lenght)
Once I have more time to check this I woud like to use your system and check it with a 3DS Biped.
Hey christian,
I don't plan to create more animations this way. But there are plans to recode the whole thing a way I described some posts above. The problem is that it is very restricted the way it is now. You are still able to create your own animations, and it is also able to blend from your newly created to the other animations, but anim's like holding a gun etc. are more difficult to create the exact cycled equation.
Sorry but there is no documentation for the skeleton, but you can open the blend file which comes with the download. There you can check how the skeleton is build and connected to the mesh.
I don't plan to create more animations this way. But there are plans to recode the whole thing a way I described some posts above. The problem is that it is very restricted the way it is now. You are still able to create your own animations, and it is also able to blend from your newly created to the other animations, but anim's like holding a gun etc. are more difficult to create the exact cycled equation.
Sorry but there is no documentation for the skeleton, but you can open the blend file which comes with the download. There you can check how the skeleton is build and connected to the mesh.
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
That's ok. I checked your .X mesh by importing it into 3DS Max and checked the skeleton. WAs able to play with the UV's and export it back keeping the functionnality. Your current code has some potential, and with it you could build some kind of tool that I've seen in poser for animation.
What is great about it is that it can create an animation directly in IRRlicht. We would only need some kind of tool to setup a custom bone hierachy to use it.
What is great about it is that it can create an animation directly in IRRlicht. We would only need some kind of tool to setup a custom bone hierachy to use it.
-
- Posts: 758
- Joined: Mon Mar 31, 2008 3:32 pm
- Location: Bulgaria
Sorry for the offtopic, but how did you manage to import .X properly in 3d Max? Which importer do you use? I`m using 3d Max 9 SP2.christianclavet wrote:That's ok. I checked your .X mesh by importing it into 3DS Max and checked the skeleton. WAs able to play with the UV's and export it back keeping the functionnality.
"Although we walk on the ground and step in the mud... our dreams and endeavors reach the immense skies..."
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
I'm using XPorter a plugins that can import and export .X meshes for MAX.
Link:
http://mofo.pns.to/wibs/#5
Link:
http://mofo.pns.to/wibs/#5
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Here is an example of what could be your animation library could be if being pushed to the extreme. (I really mean pushed to the extreme! )
But you still have the basic of it. No keyframing and the character walk by itself using the code. The example below is that they also added physic to it and specific AI for animation. (self preservation, hurt, fear of falling down)
http://www.naturalmotion.com/euphoria.htm
When I'll be accustomed to the SirrF Framework, I would really like to integrate part of your code into the editor and have each animation definition into a script file. For the bottom/top, a simple Boolean could be defined to have the leg walking/running while the arms do a specific animation. (Holding a weapon for example). In the long term, the arm could be positionned with a "aim target" position. So we could recall each script for different needs.
Seeing your demo working with Irrlicht is very inspirating, thanks!
But you still have the basic of it. No keyframing and the character walk by itself using the code. The example below is that they also added physic to it and specific AI for animation. (self preservation, hurt, fear of falling down)
http://www.naturalmotion.com/euphoria.htm
When I'll be accustomed to the SirrF Framework, I would really like to integrate part of your code into the editor and have each animation definition into a script file. For the bottom/top, a simple Boolean could be defined to have the leg walking/running while the arms do a specific animation. (Holding a weapon for example). In the long term, the arm could be positionned with a "aim target" position. So we could recall each script for different needs.
Seeing your demo working with Irrlicht is very inspirating, thanks!