good tutorials about animation
good tutorials about animation
Hi I want to write an opensource animation tool for irrlicht, I know math basics, but I don't know wich are the standards used in other animations format. Anyone know good tutorials to start with?
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Re: good tutorials about animation
No idea about tutorials, but very glad someone in the community works on animation :-) Good luck!
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Re: good tutorials about animation
hmm i dont remember seeing anything like this. i'll post links here if i found any.
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
Re: good tutorials about animation
Exactly what kind of "standards" are you looking for? The animations of models normally is very related to the application they are tied to, so maybe taking a peek to how animations work in Irrlicht would help you to start.
You have the animators, in Irrlicht they are automatic ways to perform a motion so the objects aren't always static. They work on object level.
Hierarchical animations move objects which are related with a parent-son link. If the father moves, the son moves, this is basic, but allows to perform more complicated motions. Irrlicht skeletons work like that, using the information stored on the keyframes of the loaded models.
Animations can use forward or inverse kinematics, which mean each that the animation is stored as keyframes (which can be a matrix, or a set of position/rotation/scale values at a given time), or calculated using inverse kinematic solvers, The good thing is that these are very fast, but somewhat complex to understand, and tedous to set
Animations can be interpolated, which mean for instance that you can blend two keyframes to create another frame. Many engines use this to create on the fly animations that otherwise would be too complex to have or simply, adapted to each moment.
But the point is: What do you want to achieve with your animation tool?
You have the animators, in Irrlicht they are automatic ways to perform a motion so the objects aren't always static. They work on object level.
Hierarchical animations move objects which are related with a parent-son link. If the father moves, the son moves, this is basic, but allows to perform more complicated motions. Irrlicht skeletons work like that, using the information stored on the keyframes of the loaded models.
Animations can use forward or inverse kinematics, which mean each that the animation is stored as keyframes (which can be a matrix, or a set of position/rotation/scale values at a given time), or calculated using inverse kinematic solvers, The good thing is that these are very fast, but somewhat complex to understand, and tedous to set
Animations can be interpolated, which mean for instance that you can blend two keyframes to create another frame. Many engines use this to create on the fly animations that otherwise would be too complex to have or simply, adapted to each moment.
But the point is: What do you want to achieve with your animation tool?
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Re: good tutorials about animation
thx.
I want to take a static mesh like obj or ply and then load into editor (already working, and there are also irrlicht loaders), then creates bones and apply them with auto/manual weighting.
bones are stored as a separate format to be reusable with more than 1 models.
I need info on how about to build transformation matrices after I did IK (actually I understand 2 different IK tecniques, but are based on trigonometry so no matrices in them, 1 tecnique is recursive and not good for real-time, but the other one is pretty fast and works nice also in realtime, for example for taking a item with the hand realistically)
particulary I need to convert bones to matrices using correct hierarchy.
that's the simplest editor I can figure.
EDIT: ok found someting new to play with basically I was missing the inverse bindpose matrix, and every bone has its axis origin in one of the joints. that should be enough for now....ok also some idea on about to build a bindpose matrix from bones.. (without scaling !)
I want to take a static mesh like obj or ply and then load into editor (already working, and there are also irrlicht loaders), then creates bones and apply them with auto/manual weighting.
bones are stored as a separate format to be reusable with more than 1 models.
I need info on how about to build transformation matrices after I did IK (actually I understand 2 different IK tecniques, but are based on trigonometry so no matrices in them, 1 tecnique is recursive and not good for real-time, but the other one is pretty fast and works nice also in realtime, for example for taking a item with the hand realistically)
particulary I need to convert bones to matrices using correct hierarchy.
that's the simplest editor I can figure.
EDIT: ok found someting new to play with basically I was missing the inverse bindpose matrix, and every bone has its axis origin in one of the joints. that should be enough for now....ok also some idea on about to build a bindpose matrix from bones.. (without scaling !)
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Re: good tutorials about animation
NOOOOOOOO! I thought I was part of the irrlicht community too!!!CuteAlien wrote:No idea about tutorials, but very glad someone in the community works on animation Good luck!
@REDDemon
I cant remember any tutorials from the top of my head, just the usual GPU-Gems stuff (skinning in the dawn demo was one of the ones I remember looking at)
But you know you are reinventing the wheel right?
There's already lots of animation tools and editors out there, I guess it will help you as a learning excercise more than it will help other people
IMO it would be more beneficial for the community if you started with a specific tool and format (for example Blender and COLLADA, or Max and FBX) to see what you can do in irrlicht's side of things, such as loading and manipulating joints from the precreated data.
Also dont forget to keep in mind what effect the inclusion of FVFs will have once they get properly incorporated into irrlicht.
Good with luck whatever you do
Re: good tutorials about animation
Haha, sorry - I certainly mean _more_ people working on animation ;-) It's just that since Luke isn't that active anymore I have the feeling that the animation system isn't advancing that much recently in Irrlicht. That's why I like seeing people getting deep into the Irrlicht animation system, maybe someone can take it over some day (or well, maybe Luke comes back to work on it more - he never really quit ...).fmx wrote:NOOOOOOOO! I thought I was part of the irrlicht community too!!! :lol:CuteAlien wrote:No idea about tutorials, but very glad someone in the community works on animation :-) Good luck!
But I have to admit, I didn't really realize that your project is also so much about animation. With so many threads going on in the forum I missed how much your characters system advanced.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Re: good tutorials about animation
yes the only usefull article I found was the one on GPU gems thx
I need to find relative rotation between joints, any idea where to start with?
I need to find relative rotation between joints, any idea where to start with?
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Re: good tutorials about animation
@CuteAlien
lol its cool, I haven't contributed anything meaningful to irrlicht yet so nobody really knows what I can actually do.
I've done a ton of work since that Miku demo and I used the same animation system in my commercial ios games too.
Until FVFs become standard feature in irrlicht, I dont believe it is worth even considering to replace the current system because shaders (GPU skinning) are such a huge part of animation now.
I'm waiting for Irrlicht1.9 (or 2.0) to go gold before I kick off the discussion properly
@REDDemon (and others)
google for the term "skeletal animation" because I dont think you even know what you're looking for
Check these out, they look really awesome
http://www.wazim.com/Collada_Tutorial_1.htm
http://content.gpwiki.org/index.php/Ope ... nes_System
to calculate the relative rotation of a bone is same as matrix maths with irrlicht parent/child node hierarchies:
multiply a bones absolute transformation by its parents Inverse absolute transformation matrix to get the Local transformation
lol its cool, I haven't contributed anything meaningful to irrlicht yet so nobody really knows what I can actually do.
I've done a ton of work since that Miku demo and I used the same animation system in my commercial ios games too.
Until FVFs become standard feature in irrlicht, I dont believe it is worth even considering to replace the current system because shaders (GPU skinning) are such a huge part of animation now.
I'm waiting for Irrlicht1.9 (or 2.0) to go gold before I kick off the discussion properly
@REDDemon (and others)
google for the term "skeletal animation" because I dont think you even know what you're looking for
Check these out, they look really awesome
http://www.wazim.com/Collada_Tutorial_1.htm
http://content.gpwiki.org/index.php/Ope ... nes_System
to calculate the relative rotation of a bone is same as matrix maths with irrlicht parent/child node hierarchies:
multiply a bones absolute transformation by its parents Inverse absolute transformation matrix to get the Local transformation
Re: good tutorials about animation
@fmx:
yes I know what I'm looking for, animating a character from already existing matrices is quite simple, I already have working a Software skinning
scene node wich computes Position of each vertex on CPU (a bit slow but very portable). but
but what i'm trying to achieve is a bit more complex, is building matrices by drawing by drag n'drop bones of the skeleton. so an animation tool
second tutorial is nice, gives some hint. would be very usefull few days ago.
Anyway I solved my initial problem
the original formula is
V ' = M * inv(M0) * V
V is bindpose position of a vertex
M0 is bindpose matrix
M is current animation matrix
I came to conclusion that every bone need at least
3 vector3df:
StartPoint
EndPoint
UpVector
with those 3 elements I can build a transform matrix wich has rotation around Start Point.. I still need to face scaling of bones etc. but one problem at time.
I finally dropped euler angles in favor of quaternions for that. I just need to rotate from one vector to another.
yes I know what I'm looking for, animating a character from already existing matrices is quite simple, I already have working a Software skinning
scene node wich computes Position of each vertex on CPU (a bit slow but very portable). but
but what i'm trying to achieve is a bit more complex, is building matrices by drawing by drag n'drop bones of the skeleton. so an animation tool
second tutorial is nice, gives some hint. would be very usefull few days ago.
Anyway I solved my initial problem
the original formula is
V ' = M * inv(M0) * V
V is bindpose position of a vertex
M0 is bindpose matrix
M is current animation matrix
I came to conclusion that every bone need at least
3 vector3df:
StartPoint
EndPoint
UpVector
with those 3 elements I can build a transform matrix wich has rotation around Start Point.. I still need to face scaling of bones etc. but one problem at time.
I finally dropped euler angles in favor of quaternions for that. I just need to rotate from one vector to another.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Re: good tutorials about animation
I didn't bother to answer because there may be more to it than that, there may be a twist in the bone. Just placing the bones using simple rotations may give you a transformed model that looks as if it has broken bones.fmx wrote: to calculate the relative rotation of a bone is same as matrix maths with irrlicht parent/child node hierarchies:
multiply a bones absolute transformation by its parents Inverse absolute transformation matrix to get the Local transformation
I'm thinking of the kinect and I think you have to know, and use, the fact that some joints only allow motion in one relative direction.