Animation: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (link fixes)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Oni has a very complex animation system (500 anims per character on the average). Without a little bit of organization, it would have been an awful mess (I mean, even more awful than it is now).
Oni has a very complex animation system (500 anims per character on the average). Without a little bit of organization, it would have been an awful mess (I mean, even more awful than it is now).


----
==Animation==
==Animation==
===Body===
===Body===
The great majority of animations define the relative orientations of the 19 bones at keyframes (keyframes for different bones are not simultaneous).
The great majority of animations define the relative orientations of the 19 bones at keyframes (keyframes for different bones are not simultaneous).
===Overlay===
===Overlay===
A few animations define orientations in "another way". Instead of 6 bytes (3 quantized Euler angles), 16 bytes are used (4 quantized somethings).
A few animations define orientations in "another way". Instead of 6 bytes (3 quantized Euler angles), 16 bytes are used (a quaternion).
 


----
==State==
==State==
*[http://geyser.oni2.net/anim/state.txt Overview table of the 70 states] (TXT)
[[XML:StNA#Animation_states|Overview table of the 70 states]]
===Transitions===


: The XML version of the states can also be looked up at ''onisplit -help enums''


----
==Type==
==Type==
*[http://geyser.oni2.net/anim/type.txt Overview table of the 233 types] (TXT)
[[XML:StNA#Animation_types|Overview table of the 233 types]]
 
: The XML version of those types can also be looked up at ''onisplit -help enums''


A few anim types are not used in Oni.
A few anim types are not used in Oni.


There are much more types then states : they define transitions at a finer level.
There are much more types than states : they define transitions at a finer level.
 


----
==Collections==
==Collections==
A lot of animations (basic movement) is shared between many characters. To avoid duplicating anim links, anims are organized in collections called TRAC (Totoro Animation Collection). For information about the binary storage of a TRAC, see [[OBD:TRAC|HERE]]
A lot of animations (basic movement) is shared between many characters. To avoid duplicating anim links, anims are organized in collections called TRAC (Totoro Animation Collection). For information about the binary storage of a TRAC, see [[OBD:TRAC|HERE]]
Line 34: Line 30:


===Inheritance===
===Inheritance===
Oni's TRACs are organized along the folloving unary trees :
Oni's TRACs are organized along the following trees :


;Notes
;Notes
:append '''_animations.TRAC''' to everything to get the filename
:append '''_animations.TRAC''' to everything to get the filename
:click on the collection name to see an overview of the animations
:click on the collection name to see an overview of the animations
:in general, overlay anims are not included in a TRAC
:(I'll be updating those with states and types etc)
 


'''konokocore''' : 536 anims
'''konokocore''' : 536 anims
Line 61: Line 56:
**[http://geyser.oni2.net/anim/griffin.txt griffin] : 3 anims (GRIFIN...) with tag 0x34 '''(6)'''
**[http://geyser.oni2.net/anim/griffin.txt griffin] : 3 anims (GRIFIN...) with tag 0x34 '''(6)'''
**[http://geyser.oni2.net/anim/thug.txt thug] : 22 anims (THUG..., THUCOM..., THUPIS...) with tag 0x14
**[http://geyser.oni2.net/anim/thug.txt thug] : 22 anims (THUG..., THUCOM..., THUPIS...) with tag 0x14
**'''Tanker''' : 237 anims (TANKER..., TANCOM..., TANPIS..., TANRIF...) with tag 0x64 or 0x384 '''(7)'''
**[http://geyser.oni2.net/anim/Tanker.txt Tanker] : 237 anims (TANKER..., TANCOM..., TANPIS..., TANRIF...) with tag 0x64 or 0x384 '''(7)'''
**[http://geyser.oni2.net/anim/muro.txt muro] : 55 anims (MURO..., MURCOM..., MURPIS...) with tag 0x64 or 0x32 '''(8)'''
**[http://geyser.oni2.net/anim/muro.txt muro] : 55 anims (MURO..., MURCOM..., MURPIS...) with tag 0x64 or 0x32 '''(8)'''
***'''mutantmuro''' : 38 anims (MUTCOM...) with tag 0x64 or 0x32 '''(9)'''
***'''mutantmuro''' : 38 anims (MUTCOM...) with tag 0x64 or 0x32 '''(9)'''


;Notes
;Anims omitted from the TRAC
#The 6 anims included are SHINZOMidle1, SHINZONlev18_Free, SHINZOMwalk1, SHINZOMwalk_bk1, SHINZOMshot, SHINZOMfallen_front
:[http://geyser.oni2.net/anim/overlay.txt overlay anims] (116)
#'''REDCOMsuper_punch''' and '''REDCOMsuper_kick''' are not included
:[http://geyser.oni2.net/anim/misc.txt miscellaneous anims] (this list will get bigger because of level 0)
#'''ELITEjump_fw_kick''' is not included
 
#The 8 anims included are BARABnorth, BARABsouth, BARABeast, BARABwest, BARABpowerup, BARABpowerup_start, BARABlev3_rocket, BARABkick_heavy
[[Category:Engine docs]]
#*(BARABstunned and BARABrocket are not included : they're in level 0)
#NINCOMtaunt2 has tag 0x05, the 384 others have tag 0x64. The following 9 are not included :
#*NINCOMcrouch_idle, NINCOMcrouch_turn_lt, NINCOMcrouch_turn_rt, NINCOMcrouch_walk, NINCOMcrouch_walk_backwards
#*NINCOMsuper_kick, NINCOMsuper_punch, NINJAwalk_run_left, NINJAwalk_run_right
#The 3 anims included are GRIFINlev18_ZomAim, GRIFINlev18_ZomUp, GRIFINlev18_ZomStand
#*(GRIFINtalk1, GRIFINtalk2, GRIFINtalk3 and GRIFIN18_IntroStand are not included : they're in level 0)
#'''TANCOMidle1''' has tag 0x384, the 236 others have tag 0x64
#*TANCOMcrouch_idle, TANCOMcrouch_walk, TANCOMcrouch_walk_backwards, TANCOMcrouch_turn_lt and TANCOMcrouch_turn_lt are not included
#All of Muro's anims have tag 0x64 except the following 19 (tag 0x32) :
#*MUROlev4_intro, MUROtransform, MURCOMhit_head1, MURCOMhit_body1, MURCOMhit_foot1, MURCOMidle2, MURCOMidle3, MURCOMturn_lt, MURCOMturn_rt, MURCOMrun1stepb, MURCOMrun_bk_1stepb, MURCOMcrouch2idlea, MURCOMcrouch2idleb, MURCOMidle2croucha, MURCOMidle2crouchb, MURCOMrunstop, MURCOMrun_bk_stop, MURCOMss_lt_stop, MURCOMss_rt_stop
#MUTCOMidle2 has tag 0x32, the 37 others have tag 0x64

Latest revision as of 01:38, 5 April 2021

Oni has a very complex animation system (500 anims per character on the average). Without a little bit of organization, it would have been an awful mess (I mean, even more awful than it is now).

Animation

Body

The great majority of animations define the relative orientations of the 19 bones at keyframes (keyframes for different bones are not simultaneous).

Overlay

A few animations define orientations in "another way". Instead of 6 bytes (3 quantized Euler angles), 16 bytes are used (a quaternion).

State

Overview table of the 70 states

The XML version of the states can also be looked up at onisplit -help enums

Type

Overview table of the 233 types

The XML version of those types can also be looked up at onisplit -help enums

A few anim types are not used in Oni.

There are much more types than states : they define transitions at a finer level.

Collections

A lot of animations (basic movement) is shared between many characters. To avoid duplicating anim links, anims are organized in collections called TRAC (Totoro Animation Collection). For information about the binary storage of a TRAC, see HERE

A TRAC does two things
it can inherit another TRAC
it can specify new anims (either replacing anims of the parent TRAC, or complementing it)

Inheritance

Oni's TRACs are organized along the following trees :

Notes
append _animations.TRAC to everything to get the filename
click on the collection name to see an overview of the animations
(I'll be updating those with states and types etc)

konokocore : 536 anims

  • Shinzom : 6 anims (SHINZOM...) with tag 0x64 (1)
  • shinatama : 12 anims (SHINAT...) with tag 0x64
  • red : 100 anims (RED..., REDCOM..., RED..) with tag 0x64 (2)
  • konokolev1 : 70 anims (KONOKO..., KONCOM..., KONPIS...) with tag 0x64
    • konoko : 105 anims
      • gen_f : 7 anims (SECRET...) with tag 0x1E

strikercore : 400 anims

  • striker : 96 anims
    • TCTFswat : 23 anims (TCTF..., TCTCOM...) with tag 0x64
  • elite : 102 anims (ELITE..., ELICOM..., ELIPIS..., ELIRIF...) with tag 0x64 (3)
    • barabus : 8 anims (BARAB) with tag 0x64 (4)
  • ninja : 385 anims (NINJA..., NINCOM..., NINPIS..., NINRIF...) with tag 0x64 or 0x05 (5)
  • comguy : 312 anims
    • gen_m : no anims
    • doctor : 1 anim (DOClev14_Ambush01) with tag 0x32
    • security : 2 anims (SECURIlev11_intro, SECURIlev14_IntroTurn) with tag 0x32
    • griffin : 3 anims (GRIFIN...) with tag 0x34 (6)
    • thug : 22 anims (THUG..., THUCOM..., THUPIS...) with tag 0x14
    • Tanker : 237 anims (TANKER..., TANCOM..., TANPIS..., TANRIF...) with tag 0x64 or 0x384 (7)
    • muro : 55 anims (MURO..., MURCOM..., MURPIS...) with tag 0x64 or 0x32 (8)
      • mutantmuro : 38 anims (MUTCOM...) with tag 0x64 or 0x32 (9)
Anims omitted from the TRAC
overlay anims (116)
miscellaneous anims (this list will get bigger because of level 0)