This document aims to break down all of the animation states used in Rivals of Aether 2 and explain their uses/caveats for their creation.
Animation Should be authored at 60 FPS
Characters should be animated facing Forward (-Y in Blender)
Be sure to use the appropriate Animation Export Settings
States are listed in alphabetical order, while some states are grouped together not all are categorized this way.
List of States
AirDodge
- Has 4 distinct windows
- Startup window
- Lasts 2 frames
- Is not invincible
- Instantly moves at full speed in the direction of the joystick
- Active window
- Lasts 16 frames
- Fully invincible
- Keeps moving while decelerating quickly
- Stalled recovery
- Lasts 10 frames
- Stays completely still (no gravity)
- Falling recovery
- Lasts 10 frames
- Begins to fall downward
- Transitions into Fall
- Supports IASA if the animation is longer
- Startup window
Attack
- State for all attacks, including the Intro at the beginning of the match
- Frame data is defined in the attack data
Crouch
- Looping crouch animation
CrouchStand
- Transitions from Crouch to Idle
- Lasts 6 frames
CrouchStart
- Transitions from Idle to Crouch
- Lasts 6 frames
Dash
- Initial dash animation (does not loop)
- Transitions into Run or DashStop
- Animation is stretched to match the value defined in the character data
- Starts moving quickly on the very first frame, so should have a VERY quick (1-2 frame) transition from Idle
- Should usually look like a long, lunging step
DashStop
- Quick transition from Dash to Idle
- Lasts 16 frames
- Actionable on frame 6
Dead
- Invisible state for right when a player dies
- Does not have an animation
DoubleJump
- Animation for the character’s mid-air jump
- Transitions directly into Fall
- Animation duration can be whatever feels good for the character’s gravity
DoubleJumpBackward
- Uses the DoubleJump animation unless otherwise specified in the character data
- Transitions directly into Fall
- Animation duration can be whatever feels good for the character’s gravity
Fall
- Looping fall animation
- This animation will play after almost any airborne action
FallStart
- This animation will play when a character runs off of a ledge or the floor disappears beneath them
- Transitions into Fall
Fidget1/Fidget2
- This animation plays after the character is idle for too long
- Randomly chooses between Fidget1 and Fidget2
FlinchLight
- Animation for getting hit by a light attack that doesn’t lift you off the ground
- Transitions into Idle
- Animation is 24 frames – IASA at the halfway point, time scaled to match hitstun
FlinchHeavy
- Animation for getting hit by a medium attack that doesn’t lift you off the ground
- Transitions into Idle
- Animation is 46 frames – IASA at the halfway point, time scaled to match hitstun
FullHop
- The animation for jumping off of the ground
- FullHop and ShortHop both use this animation by default, but ShortHop can override it
- Transitions directly into Fall
- Animation duration can be whatever feels good
- Animation should be labelled “Jump”
FullHopBackward
- Backward variant of the fullhop animation
- Defaults to the FullHop animation if this is not defined
- Animation should be labelled “Jump_Backward”
GetupNeutral
- Animation for standing up from the knockdown position
- Transitions into Idle
- Lasts 30 frames
- 22 invulnerable, 8 vulnerable
- Animation can continue past the actionable frame
GetupRollBackward
- Animation for rolling backward during the knockdown state
- Ends up facing forward, just like RollBackward
- Transitions into Idle
- Lasts 36 frames
- 6 stationary, 14 moving, 16 vulnerable
- Animation can continue past the actionable frame
- Animation can be extremely similar to TechRollBackward
GetupRollForward
- Animation for rolling forward during the knockdown state
- Ends up facing forward, unlike RollForward
- Transitions into Idle
- Lasts 36 frames
- 6 stationary, 14 moving, 16 vulnerable
- Animation can continue past the actionable frame
- Animation can be extremely similar to TechRollForward
Grabbed
- Lasts 120 frames
- 20 frames of transition into the grabbed pose
- 100 frames of the grabbed pose (similar to an idle loop, but doesn’t actually need to loop)
- The first frame should look like the character is in the air, so that it works whether you got grabbed in the air or on the ground
- Has an aerial version defined in the character data (AerialGrabbedAnimations)
GrabbedEscape
- Animation for escaping a throw, whether from a failed pummel by the opponent, from the opponent waiting too long to throw you, or from the ground disappearing from under the opponent
- Actionable on frame 30
- Transitions from Grabbed into Idle
- Has backward momentum starting on the first frame
- Has an aerial version defined in the character data (AerialGrabbedAnimations)
GrabbedEscapeJump
- Animation for escaping a throw while holding up on the joystick
- Jumps up and backward away from the grabber on the first frame
- Actionable on frame 30
- Transitions from Grabbed into Fall
GrabbedHurt
- Animation for getting pummeled while you are grabbed
- Also plays when you’re hit by a weak attack while grabbed
- Lasts 20 frames
- Frame 1 should be a hit reaction and transition back to frame 40 of Grabbed
- Has an aerial version defined in the character data (AerialGrabbedAnimations)
HitstunBounce
- Animation for when the character is hit downward by a strong attack while on the ground
- Also plays if a character is launched into the ground extremely fast
- Also plays after a character’s shield gets broken, but with lowered gravity
- Transitions into Tumble
- Animation is stretched to fit the hitstun duration
HitstunBounceLight
- Animation for when the character bounces off the ground with low velocity
- Uses the HitstunUp animation by default
- Transitions into Tumble
- Duration can be any value above 30 and below 60
HitstunDown
- Animation for when the character is hit downward by a strong attack
- Transitions into Tumble
- Animation is stretched to fit the hitstun duration
HitstunHeavy
- Animation for when the character is hit horizontally by a strong attack
- Transitions into Tumble
- Animation is stretched to fit the hitstun duration
HitstunLand
- Landing animation for medium hitstun states
- Transitions into Idle
- Animation is 24 frames – IASA at the halfway point, time scaled to match hitstun
- Because this state is usually so short, the pose shouldn’t be too dramatic. It should be relatively close to idle, so that this animation doesn’t dodge attacks by deforming too much
HitstunLandLight
- Landing animation for very short hitstun states
- Transitions into Idle
- Animation is 12 frames – IASA at the halfway point, time scaled to match hitstun
- Because this state is usually so short, the pose shouldn’t be too dramatic. It should be relatively close to idle, so that this animation doesn’t dodge attacks by deforming too much
HitstunLight
- Animation for when the character is hit by a very weak attack
- Transitions directly into Fall
- If the character lands, they go into HitstunLandLight
- Animation is stretched to fit the hitstun duration
- Maximum duration of 15 frames
HitstunMedium
- Animation for when the character is hit by a medium strength attack
- Is considered a weak hitstun state, so it transitions directly into Fall
- If the character lands, they go into HitstunLand or HitstunLandLight, depending on how many hitstun frames are remaining
- Animation is stretched to fit the hitstun duration
- Duration can be anywhere between 16 and 30
- This animation can look very different depending on the character
- Larger characters usually have simpler animations, while smaller characters can get more complicated
HitstunUp
- Animation for when the character is hit upward by a strong attack
- Transitions into Tumble
- Animation is stretched to fit the hitstun duration
Idle
- Looping Idle Animation
Item States
ItemThrowDash
- Throwing an item while dashing/running
- 3 startup, 1 active, 17 recovery
- Supports IASA
ItemThrowDown
- Throwing an item downward
- 6 startup, 1 active, 12 recovery (same for all item throws except ItemThrowDash)
- Supports IASA
ItemThrowDownHard
- Throwing an item downward with a hard press input
- 6 startup, 1 active, 12 recovery (same for all item throws except ItemThrowDash)
- Supports IASA
ItemPickup
- Animation for quickly picking up a nearby item
- 1 startup, 1 active, 5 recovery
- Supports IASA
ItemThrowForward
- Throwing an item forward
- 6 startup, 1 active, 12 recovery (same for all item throws except ItemThrowDash)
- Supports IASA
ItemThrowForwardHard
- Throwing an item forward with a hard press input
- 6 startup, 1 active, 12 recovery (same for all item throws except ItemThrowDash)
- Supports IASA
ItemThrowUp
- Throwing an item upward
- 6 startup, 1 active, 12 recovery (same for all item throws except ItemThrowDash)
- Supports IASA
ItemThrowUpHard
- Throwing an item upward with a hard press input
- 6 startup, 1 active, 12 recovery (same for all item throws except ItemThrowDash)
- Supports IASA
ItemToss
- Tossing an item backward by pressing the Grab button
- 6 startup, 1 active, 12 recovery
- Supports IASA
JumpSquat
- Transitions directly into Jump or ShortHop
- Lasts 4 frames for all characters
- Should be fully crouched on frame 1
Knockdown
- Looping animation for being knocked down on the ground
- Should lie down face up on their back, not face down on their stomach
- So that quadrupedal characters’ knockdown animations are easily distinguishable from their idle or crouch animations
KnockdownHurt
- Animation for getting hit by a weak attack while knocked down
- Transitions into Knockdown
- Lasts 14 frames
KnockdownStart
- Animation for landing during strong hitstun states or tumble
- Should bounce upward a bit before settling down on their back
- Transitions into Knockdown
Land
- Played when landing from any non-attacking aerial state
- Animation is cancellable into any other action after 4 frames
- The full animation length will depend on the weight of the character, but should generally be around 20-30 frames
- Naturally transitions into Idle
- Can transition directly into Crouch by holding Down as soon as the animation is cancellable, skipping CrouchStart
LandingLag
- Animation for landing during an aerial attack
- Animation can be overridden in the attack data
- When using the character’s default landing lag animation, it will be stretched to double the landing lag frames defined in the attack data. Otherwise, it will not be stretched at all.
- Transitions into Idle
LedgeGrab
- Animation for grabbing the ledge
- Transitions into LedgeHang
- Lasts 7 frames
LedgeHang
- Looping animation for holding on to the ledge
LedgeJump
- Animation transition from LedgeJumpStart to Fall
- Ledge jump velocity is applied on the first frame of this animation
- Animation duration can be whatever feels good with the character’s jump gravity
LedgeJumpStart
- Animation for jumping up from the ledge
- Transitions into LedgeJump
- Lasts 14 frames
- Should end up standing directly on top of the origin so that it transitions well into LedgeJump
- LedgeJump will start exactly at the ledge’s position, so no movement in code is necessary
LedgeRoll
- Animation for rolling up from the ledge
- Lasts 48 frames (15 startup, 15 moving, 18 vulnerable)
- The forward movement in the 2nd window is handled in code
- The first 15 frames should be identical to LedgeStand
- Should end up standing directly on top of the origin so that it transitions well into Idle
LedgeSlip
- Animation for when you’re pushed backward off a ledge
- Actionable on frame 6
- Animation can continue past the actionable frame
- Transitions into Tumble
- The motion should mostly come from the limbs, rather than the head/body
LedgeStand
- Animation for standing up from the ledge
- Lasts 35 frames (15 startup, 15 moving, 5 vulnerable)
- The forward movement in the 2nd window is handled in code
- The first 15 frames should be identical to LedgeRoll
- Should end up standing directly on top of the origin so that it transitions well into Idle
Parry
- Lasts 35 frames: 5 frames of startup, 8 active frames, and 20 recovery frames
- Animation can continue past the actionable frame
- Transitions from Shield to Idle
- The shield visual goes away instantly when you start the parry
ParryFall
- Looping animation for falling after you get parried
- Transitions into ParryStun when you land
- Should look similar to Fall, except they should look vulnerable or off-balance
- Has a 5 frame transition from Fall before the loop starts
ParryStun
- Animation for the stun after you get parried
- Actionable after 40 to 100 frames, depending on the distance of the parry
- Animation can continue past the actionable frame
- Character should not get too low in this animation, or else the parrying player will have a hard time punishing them
- Transitions into Idle
PlatDrop
- Animation for dropping through a platform by pressing down
- Usually lasts 30 frames
- Actionable on frame 3
- Transitions into Fall
- Can be activated during any noncommitted grounded state (Idle, Walk, Dash, Run, etc)
Respawn
- The animation that plays when the character is on the respawn platform
- Defaults to the idle animation
RollBackward
- Animation for rolling backward when you’re in shield
- Transitions from Shield (facing right) to Idle (facing right)
- Movement starts on the first frame
- All movement is handled with code
- Lasts 32 frames: 3 frames of startup, 16 active frames, 13 recovery frames
- Animation can continue past the actionable frame
RollForward
- Animation for rolling forward when you’re in shield
- Transitions from Shield (facing left) to Idle (facing right)
- The animation should start off facing backward and turn to face forward
- Movement starts on the first frame
- All movement is handled with code
- Lasts 32 frames: 3 frames of startup, 16 active frames, 13 recovery frames
- Animation can continue past the actionable frame
Run
- Looping run animation
- Always follows Dash or RunTurn
RunStop
- Transition from Run to Idle
- Usually lasts around 16 frames
- Actionable on frame 6
RunTurn
- Transition from the first frame of RunStop (facing left) to Run (facing right)
- The animation should start off facing backward and turn to face forward
- The direction of the turn depends on which hand the character grabs with
- If they grab with their right hand (when facing right), then RunTurn should turn toward the foreground
- If they grab with their left hand (when facing right), then RunTurn should turn toward the background
- Animation will be stretched to fit the run turn duration defined in the character data (usually between 15-30 frames)
Shield States
Shield
- Looping animation for blocking
ShieldBreak
- A single dramatic frame of animation for when your shield gets broken
- Afterwards, you are launched into the air in HitstunBounce
- No transition necessary
ShieldRelease
- Animation transition from Shield to Idle
- Should be more dramatic than a simple transition.
- The character “pushes off” the shield by frame 10
- Actionable on frame 12
ShieldStart
- Very quick animation that transitions into Shield
- Lasts 4 frames
- The character should be in a defensive position on the first frame, since the shield is active instantly
- The shield visual will appear instantly and grow to full size within ~2 frames, since the player is considered blocking on frame 1
ShieldStun
- Animation for when an opponent hits your shield, stunning you in place for a moment before returning to Shield
- Basically Shield pose but looks like getting hit/blocking on frame 1
- Duration depends on the strength of the attack that hits your shield but:
- Animation is usually 20 frames
ShortHop
- Uses the Jump animation unless otherwise specified in the character data
- Transitions directly into Fall
- Animation duration can be whatever feels good
ShortHopBackward
- Backward variant of the ShortHop animation
- Defaults to the ShortHop animation if this is not defined
SpotDodge
- Animation for a dodge in place
- Lasts 28 frames: 1 frame of startup, 17 active frames, and 10 recovery frames
- Animation can continue past the actionable frame
- Transitions from Shield to Idle
Tech States
TechCeiling
- Animation for teching when knocked into a ceiling
- Does not fall at all during the entire animation
- Transitions into Fall
- Lasts 27 frames
- The location of the ceiling depends on the character’s current ECB, so may take some experimenting to place correctly.
- A good starting point might be around the character’s forehead in their Fall pose.
TechGround
- Animation for teching when landing during strong hitstun states or tumble
- Activated by pressing shield right before landing in hitstun, otherwise you go into KnockdownStart
- Transitions into Idle
- Lasts 26 frames. IASA after that.
- 20 invulnerable, 6 vulnerable
- First 6 frames should be identical to TechRollForward and TechRollBackward
TechRollBackward
- Animation for teching while holding backward
- Ends up facing forward, just like RollBackward
- Transitions into Idle
- Lasts 40 frames. IASA after that.
- 6 stationary, 14 moving, 20 vulnerable
- First 6 frames should be identical to TechGround and TechRollForward
TechRollForward
- Animation for teching while holding forward
- Ends up facing forward, unlike RollForward
- Transitions into Idle
- Lasts 40 frames. IASA after that.
- 6 stationary, 14 moving, 20 vulnerable
- First 6 frames should be identical to TechGround and TechRollBackward
TechWall
- Animation for teching when knocked into the wall
- Does not fall at all during the entire animation
- Transitions into Fall
- Animation duration can be whatever looks good
- The wall should be treated as if it is half the character’s ECB width away from the center, as defined in the character data
Teeter
- Looping animation for when the character is standing too close to a ledge
TeeterStart
- Animation that plays when a character approaches a ledge without holding forward.
- Transitions into Teeter
- Animation duration can be whatever looks good
Thrown States
- Animation for being thrown before being released
- During this state, the thrown character’s origin is attached to the attacker’s GrabBone (defined in the attacker’s character data)
- This allows you to move the Thrown animation to match different characters’ throw motions
- Throw and thrown states are authored in the same scene
- Does not need to transition into anything, as the character is manually teleported to the release location and put into hitstun
- Thrown Animation Reactions:
- Chest First
- Character’s chest is on the root, looking and facing forward, legs behind them
- Back First
- Character’s back is on the root, looking forward. Arms and legs also facing forward in front the character
- Stumble Forward
- Take 2-3 steps as in stumbling forward
- Grabbed Land
- Transition from aerial grab to land while remaining in the “Thrown” state
- Spin
- Spin to the character’s right once, ending in the Grabbed pose (like Pummel)
- Pulled Forward
- Character stays in place but the chest gets pulled forward so it looks like they are about to fall forward or transition into a Chest First
- Launched Upward
- Quick transition animation, usually into Hitstun Up
- Slam Front
- Character falls on their chest, bounces, and stays on the ground to be attacked
- Slam Back
- Same as Slam Front. This can use Knockdown Start
- Grounded Resist
- Character holds out arms trying to push against the opponent. Used often while waiting to get hit by the throw
- Aerial Resist
- Same as Grounded Resist but for the high grabs
- Grounded Hurt
- Reaction used mainly for getting hit by Pummel during a grounded grab
- Aerial Hurt
- Reaction used mainly for getting hit by Pummel during a high grab
- Bubbled
- Single pose reaction where the character must fit inside a Ranno bubble
- Wrapped
- Single pose reaction where the character must fit inside a Maypul wrap
- Cubed
- Single pose reaction where the character must fit in a Kragg rock
- Slam Hurt
- Character reacts to getting hit during the Slam Front animation and remains in that downed pose
- Chest First
Tumble
- Looping animation of the character spinning in the air
- Centered on the spin point so the character doesn’t wobble in and out of their location
Walk
- Looping walk animation
WalkStop
- Transitions from Walk to Idle
- Lasts 6 frames
WalkTurn
- Transition from Walk/Idle (left) to Walk/Idle (right)
- The animation should start off facing backward and turn to face forward
- Lasts 10 frames
WallBounce
- Animation for missing a wall tech during medium strength knockback
- At high enough launch speeds, you will stay in HitstunHeavy while bouncing instead of going into WallBounce
- At low enough launch speeds, you won’t bounce off the wall at all
- Lasts anywhere from 25 to 50 frames
- Depends on how much hitstun is remaining when you hit the wall
- Transitions into Tumble, facing away from the wall
WallJump
- Transitions directly into Fall
- Walljump momentum is applied on frame 1, so the animation should not be holding onto the wall anymore
- Animation duration can be whatever feels good
WallJumpSquat
- Animation for grabbing onto the wall before a wall jump
- Transitions directly into WallJump
- Momentum is completely halted during this state
- Lasts 5 frames, or 60 frames if the character has a wall cling
- The wall should be treated as if it is half the character’s ECB width away from the center, as defined in the character data
WaveLand
- Played when landing during any window of an AirDodge
- Actionable on frame 8
- Animation length can be whatever looks good
- Transitions into Idle
- Should look good when spammed repeatedly
- Should look good when moving forward, backward, or neutral
Movement – Ledge
Notes:
- Some characters will hang on with both hands, while others will hold on with only one
- Usually depends on the character’s body type
- Consider which hand is holding an item or weapon.
- Treat the ledge as if it’s directly at the origin
- When the character is hanging from the ledge, they should be underneath the floor like the picture below
Hurt
- When a character is hit by an attack, they go into hitstun
- There are 2 types of hitstun: weak and strong (sometimes called “non-tumble hitstun” and “tumble hitstun”)
- The type of hitstun is dependent on the strength of the attack that hits you
- The duration of hitstun is directly linked to the knockback speed
- Weak hitstun has a maximum duration of 30 frames. Anything that lasts longer than that is considered strong
- Strong hitstun will transition into KnockdownStart if you hit the ground, while weak hitstun will go into HitstunLand or HitstunLandLight before transitioning into Idle
- If strong hitstun ends while airborne, it will transition into Tumble, while weak hitstun will transition into Fall
- There are 2 types of hitstun: weak and strong (sometimes called “non-tumble hitstun” and “tumble hitstun”)
- Right when the character is hit, both the attacker and the defender will freeze in place for a few frames. This is called hitpause
- The defender will be frozen in the first frame of the hitstun state’s animation, so the first frame of all hitstun states should be clear and look good as a freeze frame
Universal Attacks
Grab
- Has the same frame data for every character (unless they have a tether grab)
- 8f Startup
- 2f Active
- 26f Recovery (IASA)
- 60f Hold
- 32f Release
DashGrab
- Has the same frame data for every character (unless they have a tether grab)
- 9f Startup
- 2f Active
- 27f Recovery (IASA)
PivotGrab
- Has the same frame data for every character (unless they have a tether grab)
- The animation should start off facing backward and turn to face forward
- 9f Startup
- 2f Active
- 30f Recovery (IASA)
Pummel
- Transitions out from frame 73 of Grab (the holding opponent pose), into the Pummel itself, and back to frame 73 of Grab
PummelSpecial
- Transitions out from frame 73 of Grab (the holding opponent pose), into the Pummel itself, and back to frame 73 of Grab
GetupAttack
- Transitions from Knockdown
- Usually has between 15-19 startup, with some as low as 10 if their tech rolls are bad enough
- Will always have IASA on frame 50 for every character
- Loses intangibility right after the active frames
- Should be ForceRooted
GetupSpecial
- Transitions from Knockdown
- Frame data and ledge occupancy vary greatly
- Should be ForceRooted
LedgeAttack
- Transitions from LedgeHang
- Usually has between 21-28 startup, some characters have 15-20, very rarely 6-9
- Active frames vary greatly
- Will always have iasa on frame 55 for every character
- Releases ledge on frame 30
- Loses intangibility right after the first set of active frames
- Should be ForceRooted
LedgeSpecial
- Transitions from LedgeHang
- Frame data and ledge occupancy vary greatly
- Should usually be ForceRooted