Important information: this site is currently scheduled to go offline indefinitely by December 1st 2023.
If you wish to donate to attempt the preservation of tools and software somewhere else before it goes down, check the GoFundMe

Decoding a bone-based animation file (LOL ver4 .ANM file)

Post questions about game models here, or help out others!
User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 584
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Wobble »

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:15 pm, edited 1 time in total.
Ahmadi
n00b
Posts: 17
Joined: Tue Oct 26, 2010 2:36 pm
Has thanked: 3 times
Been thanked: 1 time

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Ahmadi »

Wobble wrote:Thanks.

Are these diana .skl files being used in the public game? Not beta/development?
All game .skl files start with "r3d2sklt". These are different than what I expected.
There is no such header here. I hope they are not corrupt.
League of legends is a live game(Always under development), that mean each time that Riot company developers detect that need new thing or features they make new format or the features without worry about old formats, because they stored version of each file in header of that files.
however if we do reverse engineering perfectly , then we also don't have problem with loading of correct version of LOL models.
Its normal that one file of game with same extension is different with other with same extension. because the game is live.
I'm sure that the files is used in the public game, because i copied them from a playable instance.
User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 584
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Wobble »

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:15 pm, edited 1 time in total.
Ahmadi
n00b
Posts: 17
Joined: Tue Oct 26, 2010 2:36 pm
Has thanked: 3 times
Been thanked: 1 time

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Ahmadi »

Wobble wrote:That's what I get here too. Skeleton has 75 bones. Two animations have 86. Too many.
Just ignore them?
But the problem is that the 2 animations(with 86 bones) don't contain 75 main bone animations!
Then when i load idle1 on my skeleton with ignoring algorithm for unknown bones, result is incorrect, because some of main 75 bones don't have any keyframes! if you compare idle1 with other animations, you can see that more than 10 bones of 75 bones does not exists in idle1 file!
in other word, 86 bones don't contain all of 75 bones.
User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 584
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Wobble »

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:14 pm, edited 1 time in total.
Ahmadi
n00b
Posts: 17
Joined: Tue Oct 26, 2010 2:36 pm
Has thanked: 3 times
Been thanked: 1 time

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Ahmadi »

Wobble wrote: I don't think they have to exist.
.anm files may only contain "animated" bones. If a bone isn't animated, then it would be a waste of space writing
out zero position, and zero rotation for every frame. This is why they use bone_ids to match up skeleton bones to animated bones,
as it is not a 1-to-1 mapping.
Ok, but "weapon" bone does not exists in both diana_idle1.anm and diana_crit.anm and then it don't have keyframes(As you said this may mean that the bone don't need animating).
Please consider what happen, when i load the animations, weapon is dangling in air same as design time! without any key-frames! it can't be correct(diana_crit is some type of attack! weapon also need animating). I'm sure that one of 86 bones of the files is for "weapon" bone with different hashID from what the bone have in 75 bones file. Please note that ignoring all of invalid HashIDs cause incorrect animation result.
If you are with my opinion that the "weapon" bone need animating and the diana_idle1.anm and diana_crit.anm must contain it, then we are both in same boat, we need to found it, at any cost ;)

Sorry for the joke and thank you for any help.
User avatar
Wobble
ultra-veteran
ultra-veteran
Posts: 584
Joined: Tue Jan 04, 2005 9:47 pm
Has thanked: 43 times
Been thanked: 112 times

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Wobble »

[out]
Last edited by Wobble on Sun Mar 12, 2017 12:14 pm, edited 1 time in total.
Ahmadi
n00b
Posts: 17
Joined: Tue Oct 26, 2010 2:36 pm
Has thanked: 3 times
Been thanked: 1 time

Re: Decoding a bone-based animation file (LOL ver4 .ANM file

Post by Ahmadi »

Wobble wrote:Ok, so there are 10 animated bones with missing names.
Do you know the bone names for these missing ids?
Unfortunately no.I didn't success to found any files that contain information about them.
Wobble wrote: All 75 bones exist for me, including "Weapon". See above for snippet from frame 0, idle1 animation.
The problem solved. it caused by a bug in my duplicator remover for hashIDs.I did mistake.
Thank you very much :)
Post Reply