HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

how do bone transformations work ?

05-04-2003, 09:33 PM#1
Guest
hello people.

im writing an editor, with wich one can directly change mld-models. you can already load stuff (see screenshot)
but i have problems with the bonebased animations.

currently i do following: to render a frame of an animation i

1) first interpolate for each bone and helper scaling,rotation and translation (only linear..).

2) now i calculate for every bone/helper a transformation matrix (4x4): i copy the (already calculated) matrix of the parent bone/helper or take a fresh identy matrix if there are no parents. than i multiply the matrix with a scaling, translation and rotation matrix (in this order. is it the right order?) for the frame. for the rotation matrix i first convert the quaternion y,x,z,w values to axis values.

3) i multiply every vertex with the matrix of the korresponding bone (if there are more than 1 bone i take average of the results).

yep it kinda works, the animations dont looks completely wrong but somewhere i must make a mistake cause the animations also dont looks completely right. :|

if somebody can explain how this bone transformations correctly work, plz help.
05-05-2003, 08:57 AM#2
MidNightPaladin
OMG :...:

You made this program ?
Wow, *opens his mouth* I *starts to drool* can't belive you did this *finally manages to close his mouth*.

It so great !

Wow !

P.S.

Have nothing more to say ! 0_o
05-05-2003, 05:48 PM#3
Starcraftfreak
Not bad (I don't want to make the same posts as MidNightPaladin).
Programmed in Java, eh?:D
05-05-2003, 06:08 PM#4
Guest
thanks for your comments. yep, its written in java. 4lyf.

after another comment i changed the calculus abit: before vertex-matrix multiplication in step 3 i substract the korresponding pivot-point, after the operation i add the pivot point, so there is now relative rotation.

something is still wrong with the algorithm, so further comments are appreciated . :D