good tutorials about animation

Discussion about everything. New games, 3d math, development tips...
Post Reply
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

good tutorials about animation

Post by REDDemon »

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
CuteAlien
Admin
Posts: 9651
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: good tutorials about animation

Post by CuteAlien »

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
Virion
Competition winner
Posts: 2148
Joined: Mon Dec 18, 2006 5:04 am

Re: good tutorials about animation

Post by Virion »

hmm i dont remember seeing anything like this. i'll post links here if i found any.
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: good tutorials about animation

Post by Mel »

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?
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Re: good tutorials about animation

Post by REDDemon »

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 !)
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
fmx

Re: good tutorials about animation

Post by fmx »

CuteAlien wrote:No idea about tutorials, but very glad someone in the community works on animation :-) Good luck!
NOOOOOOOO! I thought I was part of the irrlicht community too!!! :lol:


@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? :wink:
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 :)
CuteAlien
Admin
Posts: 9651
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: good tutorials about animation

Post by CuteAlien »

fmx wrote:
CuteAlien wrote:No idea about tutorials, but very glad someone in the community works on animation :-) Good luck!
NOOOOOOOO! I thought I was part of the irrlicht community too!!! :lol:
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 ...).

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
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Re: good tutorials about animation

Post by REDDemon »

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?
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
fmx

Re: good tutorials about animation

Post by fmx »

@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
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Re: good tutorials about animation

Post by REDDemon »

@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.
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
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: good tutorials about animation

Post by mongoose7 »

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 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.

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.
Post Reply