Page 2 of 6

Re: League of legends model problems....

Posted: Fri Aug 08, 2014 12:03 am
by krolik
Hi all,

This forum gave me a huge hint when they change the .skn format, but now they implemented this new 5 version for animation. And I have already stuck in back engineering using my poor amount of knowledge.

Regarding the new model importer, I have made some changes in Maya plugin and everything works fine. But I could not find how to fix animation imported for version 5.
And all latest models will have this version of animations.

I have uploaded the new aatrox .skn+.skl and 2 .anm files (one with 4 version, another with 5 version).

I will not start the discussion of version 4 format as it is somewhere on the forum, but 5 version seems totally different compare to the 4.
What I have found is: that the new format bones' indexes(names) are located in one row begging from 00002e24 address and total amount is 99 as it mentioned in header.
But still can't understand where to get pos and rotation values =\
aatrox.7z

Re: League of legends model problems....

Posted: Fri Aug 08, 2014 6:46 am
by Wobble
[out]

Re: League of legends model problems....

Posted: Fri Aug 08, 2014 7:14 pm
by Wobble
[out]

Re: League of legends model problems....

Posted: Fri Aug 08, 2014 7:45 pm
by krolik
what do you mean under the completely idle? Maybe I have got your wrong, but all of them have some moves. Sorry, English is not my native.
I honestly can be not the best guy to discuss all this reverse engineering stuff as have no knowledge in this =(
But I am trying my best to understand what is going on here

Re: League of legends model problems....

Posted: Fri Aug 08, 2014 8:35 pm
by krolik
maybe this archive (skn+skl+anm) will help.
gnar.7z

Re: League of legends model problems....

Posted: Sat Aug 09, 2014 2:24 am
by Wobble
[out]

Re: League of legends model problems....

Posted: Sat Aug 09, 2014 8:54 am
by Wobble
[out]

Re: League of legends model problems....

Posted: Sat Aug 09, 2014 4:20 pm
by shakotay2
Wobble wrote:The position and rotation values are the same, but the lists are sorted and indexed differently.
(BFFF, DFFF, 6FFF) is definitely zero rotation, but I don't know how to unpack it.
not sure whether I understood you correctly. How you know the values in both anm files are the same?

For aatrox_run.anm the index list starts at 0x794C with 1904 entries.
with these max indices for pos: 1116 and rot: 1099.

First entry's indices are: pos= 619 (26Bh), rot= 921 (399h)

From the quaternion section: rot[921]: [0.134571,-0.0432734,0.0153366,0.98984]
This rotation should be compared to the compressed values the first entry's rot index (of the below mentioned index list) points to, correct?

Does Aatrox_Skin02_Run.anm have the same entry counts for pos and rot (1116/1099)?

Did you create the index list for this anm?

The list at 0x2FB0 with a max index of 1049 seems a little bit strange to me:
1 0 0
2 0 1
3 0 2
4 0 3
5 0 4
6 0 5
7 0 6
7 0 6
8 0 7
9 0 8
...

81 0 66
7 0 11
82 0 67
83 0 68
84 0 68
85 0 68
84 0 68
86 0 68
87 0 69
88 0 70
89 0 11
90 0 11
91 0 11

btw: "compressed", wouldn't it make more sense if the 3 WORDs for rotation just were yaw, pitch, roll in radians for example (*2PI/65536)?

Re: League of legends model problems....

Posted: Sat Aug 09, 2014 8:50 pm
by krolik
Wobble wrote:not a problem.

idle = little or no movement

Some of these "_idle" animations are not actually idle. They might contain a lot of movement.

Here's a good site to view character animation online:
http://www.lolking.net/models

Although, character models can be complex with many bones. Here is a better candidate:

SightWard_Futbol.skn
SightWard_Futbol.skl
Sightward_Futbol_Idle1.anm

Very simple model, non-character, only 5 bones.
Animation only has 3 rotation values.

Code: Select all

[ 0] rot: BFFF, DFFF, 6FFF	-> zero rotation?
[ 1] rot: 458E, 27F1, 28A8 
[ 2] rot: 5D5E, 980E, 5163
I don't know how to convert these values into a quaternion rotation.
Thx Wobble for your explanations. It have sense to do the research for the simplest models.
How do we know that animation has only 3 rotations? I checked sightward_mecha_idle1.anm and found this values between position block and bones block

Code: Select all

bfff dfff 6fff 
bfff 9fff 7140 
bfff dfff 0fff
Using your logic these values refer to rotation.
But if we compare the header block for both sightward_mecha_idle1.anm and Sightward_Futbol_Idle1.anm, we see difference there, so I didn't get where we find this number 3 =\

Re: League of legends model problems....

Posted: Sun Aug 10, 2014 3:22 am
by Wobble
[out]

Re: League of legends model problems....

Posted: Sun Aug 10, 2014 1:53 pm
by shakotay2
the WORD/radians solution doesn't work:

Code: Select all

v4: rot [921] radians (Yaw,Pitch,Roll) 0.269453 -0.092406 0.018171

v5: rot  [0]   C15F, 5DFB, 730B    ->    49503    24059     29451
-----------------------

v4: pos[461] [0,7.2594,-0.150847]  rot[903] [0.0920504,0.000548487,0.00319343,0.995749]
   			                                0.184364 0.000504 0.006461   radians (Yaw,Pitch,Roll)
 
v5:    pos[2] [0,7.2594,-0.15085]    rot[1] [49225,     8197,   29205]
Especially when it comes to "zero rotation"
v4:
257 511 [257] [-16.9732,-2.48539e-007,0] [511] [0,0,0,1]
262 512 [262] [-16.9732,-2.54371e-007,0] [512] [0,0,0,1]

v5:
70 23 [70] [-16.9732,0,0] [23] [49151,57343,28671]
102 23 [102] [-16.9732,0,0] [23] [49151,57343,28671]

it seems you'll need a "number expert" to solve this

Re: League of legends model problems....

Posted: Sun Aug 10, 2014 3:34 pm
by fatduck
dose it make more sense if you break that 48-bits in 3-15-15-15(high to low) format!?
eg: R_Thumb2
6F FF DF FF BF FF -> 011 011111111111111 011111111111111 011111111111111 -compare to-> quat 0 0 0 1 (eulerAngles 0 0 0)

and C_Buffbone_Glb_Layout_Loc
2F FF DF FF BF FF -> 001 011111111111111 011111111111111 011111111111111 -compare to-> quat 0 1 0 0 (eulerAngles 180 0 180)

for Buffbone_Glb_Weapon_1
2F FF DF FF FF FF -> 001 011111111111111 011111111111111 111111111111111 -compare to-> quat 0 0.707107 0 0.707107 (eulerAngles 0 -90 0)

Re: League of legends model problems....

Posted: Sun Aug 10, 2014 7:11 pm
by Wobble
[out]

Re: League of legends model problems....

Posted: Sun Aug 10, 2014 8:15 pm
by fatduck
Sorry, I didn't figure it out yet!

The arrow -> just mean compare to to value! :P
I simplely compared the 1st frame of aatrox_skin02_run.anm and aatrox_run.anm.

Re: League of legends model problems....

Posted: Sun Aug 10, 2014 11:51 pm
by Wobble
[out]