Character Animation States

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

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

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
  • 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


Next Article

Shadows