THE RIGHT FOOT IN THE WRONG PLACE

89
THE PREMIER CONFERENCE & EXHIBITION IN COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES CHARACTER LOCOMOTION IN HALF-LIFE: ALYX THE RIGHT FOOT IN THE WRONG PLACE © 2021 SIGGRAPH. ALL RIGHTS RESERVED.

Transcript of THE RIGHT FOOT IN THE WRONG PLACE

Page 1: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

CHARACTER

LOCOMOTION IN

HALF-LIFE: ALYX

THE RIGHT FOOT IN

THE WRONG PLACE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED.

Page 2: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MISSING THE BAR

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 2

• Gameplay animation started out

using traditional techniques

• AnimGraphs, state machines,

blends, etc

• Couldn’t meet our quality goals

• With ~1 year left of development,

needed to find a new approach…

Page 3: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 3

Goals

What we needed from a new gameplay animation system

Page 4: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

GOALS

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 4

QUALITY

• VR “Character Presence”

− Character version of VR ‘Presence’

− Easily broken by “gamey” movement

− Both challenge and opportunity!

• Goal:

− Reduce or remove foot slide

Page 5: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

GOALS

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 5

MOVEMENT

• Tight, dense virtual environments

− Frequent changes of direction

− Small window for attacks

• Goal:

− Character cannot leave navigation path

− Character must stop exactly at path goal

Page 6: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

GOALS

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 6

• Small gameplay animation team

• Large variety of characters

− Could not rely on mocap

• Goal:

− Work with limited content

− Work for bipeds, quadrupeds… all the -peds

CONTENT

Page 7: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

GOALS

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 7

PERFORMANCE

• VR Motion Sickness is a “big deal”

• Can’t let game make players feel nauseous

• Must maintain 90+ frames per second

− 0.011 seconds for entire frame

• Goal:

− Must be fast to calculate

Page 8: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 8

Options

Page 9: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MACHINE LEARNINGMOTION MATCHING

OPTIONS?

Pros:

• Shipped in other games

• Conceptually simple

• Debuggable

Cons:

• Content Quantity => Quality

• Not gonna mocap a headcrab

Pros:

• Lots of examples of good results

• Dynamic, adapts to environment

Cons:

• Requires lots of example content

• Hard to debug

• Slow iteration time (training large data sets)

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 9

How are others solving these problems?

Page 10: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

SEMI-PROCEDURAL LOCOMOTION

OPTIONS?

• 2009 Thesis paper by Rune Skovbo Johansen

• Change foot steps at runtime

• http://runevision.com/thesis/

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 10

Pros:

• Can remove foot slide

• Procedural: More variety, Less content

• Works with non-humanoids

Cons:

• Multi-step animations?

• Extracted motion?

• Transitions?

• Foot Rotations?

What we went with

Page 11: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 11

Creating Foot Motion

Data

Page 12: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 12

Position (Toe) + Direction (to Heel)

Always Touching Lowest Part of Foot

Page 13: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 13

STRIDES

For each animation:

• Segment into strides

• Stride start frame: “Stance Frame”

− Middle of time on ground

− Foot not moving

− Close to body

Page 14: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 14

STRIDES

For each Stance Frame:

• Calculate FootBase relative to character

• “Foot Cycle”: time between steps

Page 15: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 15

TRAJECTORIES

For each frame of each Foot Cycle:

• Calculate Footbase Position + Direction

• Project onto vector between steps (“Stride Vector”)

• Convert to offset from projected position

• Convert offset to be stride-relative

Page 16: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 16

STATIONARY ANIMATIONS

• Previous Step Position == Next Step Position

• All motion contained in Trajectory Offset

Page 17: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 17

ROTATION

Just like Translation:

• RotationReference = Lerp(Start, End, Cycle)

• Final Rotation = RotationReference + RotationOffset

• Must handle > 180 degree rotations!

Page 18: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOT CYCLE DEFINITION ( ONE FOR EACH STEP )

STRIDE DATA

Float3 stancePosition; // Starting Footbase position, in model space

Float stanceDirection; // Starting Footbase direction, in model space

Float stanceCycle; // Animation cycle (0-1) when foot cycle starts

Float3 middlePosition; // Footbase position halfway through the step

Float3 toStrideStartPos; // Vector from the end of the stride to the start

// Foot cycles (0-1) of when the foot lifts and lands

Float footLiftCycle, footOffCycle, footStrikeCycle, footLandCycle;

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 18

Page 19: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTBASE TRAJECTORY ( ONE FOR EACH FRAME )

STRIDE DATA

Float3 translationOffset; // Stride-relative offset from stride vector

Float rotationOffset; // Stride-relative offset from stride rotation

Float progression; // Location of projected pos as % along stride vector

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 19

Page 20: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 20

Stride Retargeting

Page 21: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 21

RUNTIME PLAYBACK

1. Predict next step position

2. Calc FootBase from Trajectories

3. Use FootBase as IK target

Page 22: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

Lowest point on foot must touch the FootBase

Calculate ankle position & rotation from FootBase

Use ankle as IK target for leg

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 22

Page 23: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 23

INVERSE KINEMATICS

Can’t use original ankle rotation

Page 24: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 24

INVERSE KINEMATICS

Bad things happen

Page 25: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 25

INVERSE KINEMATICS

1. Start by rotating the leg about the hip

Page 26: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 26

INVERSE KINEMATICS

1. Start by rotating the leg about the hip

− Preserves natural foot angle

Page 27: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 27

INVERSE KINEMATICS

1. Start by rotating the leg about the hip

2. Align Horizontally

− Align Foot to FootBase as it gets flat

− Otherwise, pop when lowest point changes

Page 28: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 28

INVERSE KINEMATICS

1. Start by rotating the leg about the hip

2. Align Horizontally

3. Align Vertically

− Align with sloped FootBase based on:

• How flat Foot is in original anim

• At beginning or end of stride

Page 29: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

STRIDE RETARGETING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 29

INVERSE KINEMATICS

1. Start by rotating the leg about the hip

2. Align Horizontally

3. Align Vertically

4. Solve Leg IK for Ankle Position

− Second pass to enforce Ankle limits

Page 30: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 30

Manipulating the Foot

Motion Data

Page 31: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MANIPULATING THE DATA

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 31

STEP LENGTH

• Scale distance traveled

• Affects foot step distance

Page 32: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MANIPULATING THE DATA

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 32

STEP HEIGHT

• Scale Trajectory Translation Offset

• Affects height/intensity of step

• Scale step height with distance for consistency

Page 33: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MANIPULATING THE DATA

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 33

STEP LOCATION

Change steps to go to new location

• Turning

• Uneven ground / stairs

Page 34: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MANIPULATING THE DATA

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 34

CURVED STRIDE PATHS

• Curve path through original midpoint to prevent leg

intersection

• Increase arch when walking up slopes

Page 35: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 35

Transitions & Blending

Page 36: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

All foot motion data can blend…

Except for Progression

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 36

Page 37: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

Blends

Transitions

Everything Else

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 37

Page 38: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 38

BLENDS

Match timing between animations

• Sync foot cycles between animations

− Force steps to start and end at same time

• Common practice in games

Can cheat!

• Fudge numbers on foot motion data

• System will move feet to right place

Page 39: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 39

TRANSITIONS

• Foot cycles are out of sync

• Can’t blend, must transition

Page 40: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 40

TRANSITIONS

Page 41: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 41

TRANSITIONS

• Can’t change End of new stride

• Can change Start

Page 42: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 42

TRANSITIONS

If foot is stationary on ground

• StartPos = CurrentPos

Else

• Move StartPos so reference points match

• Clamp length of stride to original length

Page 43: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 43

TRANSITIONS

• Calc remaining Offset between old and new foot

positions

• Blend out Offset over time

Page 44: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

TRANSITIONS AND BLENDING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 44

EVERYTHING ELSE

• Additive, per-bone blends, etc work

• But have to pick which source to pull foot motion

from

Page 45: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 45

Predicting the Next Step

Page 46: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 46

WHERE WILL THE NEXT STEP LAND?

?

Page 47: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 47

WHERE WILL THE NEXT STEP LAND?

• Foot Motion Data

− Offset from character at each step

− Animation frame of each step

• => Figure out where character will be at that time

Page 48: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 48

ROOT MOTION

• Add up root motion from now till next step

D

Page 49: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 49

PATHS

Given a navigation path…

Page 50: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 50

PATHS

… Move along the path by same distance as

animation

D

Page 51: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 51

ROTATION

• Need to know facing direction at future location

• 2 Modes:

− Target Look Mode

− Path Look Mode

?

Page 52: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 52

ROTATION

• Target look mode

− Always facing a target point in the world

− Assume stationary target

Page 53: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 53

ROTATION

• Path Look Mode:

− Always facing forward along the path

Page 54: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 54

PLACE FOOT

• Use FootBase offset to find foot position/rotation

Page 55: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 55

PLACE FOOT

• Update predicted foot position each frame

− Ideally, shouldn’t move

− Don’t change once foot lands

− Becomes the “Previous” position for next step

Page 56: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 56

TRANSITION BLENDING

• How to predict character position when cross-fading

animations?

Distance?

Anim 1

Anim 2

Blend In Over Time

Page 57: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 57

TRANSITION BLENDING

• Find Velocity Delta at start of transition

• Add Velocity Delta to root motion each frame

• Reduce Velocity Delta to 0 over time

Anim 2

Fade Out Over Time

Root Motion

Velocity

Delta

D

Page 58: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

FOOTSTEP PREDICTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 58

FIND TOTAL MOVEMENT FROM

VELOCITY DELTA

• Velocity added to Root Motion at time t:

V(t) = VelocityDelta * (1 - t / BlendTime)

• Integrate to get distance at time t:

D(t) = (K/2)*t^2 + VelocityDelta *t + C

Where K = -VelocityDelta / BlendTime

Total Delta Distance = 𝑡0𝑡1𝐷(𝑡)

Anim 2

Fade Out Over Time

Root Motion

Delta

Distance

D

Page 59: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 59

Animation Selection

Page 60: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

ANIMATION SELECTION

• Stride Retargeting can change animations

• Extreme changes look bad

• Need to pick closest animation…

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 60

Page 61: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

ANIMATION SELECTION

• Stride Retargeting can change animations

• Extreme changes look bad

• Need to pick closest animation…

• Motion Matching

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 61

Page 62: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

MOTION MATCHING

Why Now?

• Don’t need anim for every possibility

− Stride Retargeting fills the gaps

• Already calculating future “goal” state

• Leverage foot motion data

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 62

Page 63: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

Metric 2

Metric 3

Metric 4

Metric 1

MOTION MATCHING OVERVIEW

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 63

• Metrics = measurements about the state of an animation. Can be about current state or desired future state

• Eg: Current Velocity, Future Velocity

Page 64: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

Metric 2

Metric 3

Metric 4

Metric 1

MOTION MATCHING OVERVIEW

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 64

Value 1

Value 2

Value 3

Value 4

Sample 1

Value 1

Value 2

Value 3

Value 4

Sample 2

Value 1

Value 2

Value 3

Value 4

Sample 3

Value 1

Value 2

Value 3

Value 4

Sample 4

All Animations

Value 1

Value 2

Value 3

Value 4

Sample N…

Sample all the animations at a fixed interval and calculate the value for each Metric

Page 65: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

Metric 2

Metric 3

Metric 4

Metric 1

MOTION MATCHING OVERVIEW

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 65

Value 1

Value 2

Value 3

Value 4

Goal

State

Value 1

Value 2

Value 3

Value 4

Sample 1

Value 1

Value 2

Value 3

Value 4

Sample 2

Value 1

Value 2

Value 3

Value 4

Sample 3

Value 1

Value 2

Value 3

Value 4

Sample 4

All Animations

Value 1

Value 2

Value 3

Value 4

Sample N…

Define a Goal State, that represents the desired state of the character.

Calculate a ‘score’ for each sample based on how close it is to the Goal State

Page 66: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

Metric 2

Metric 3

Metric 4

Metric 1

MOTION MATCHING OVERVIEW

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 66

Value 1

Value 2

Value 3

Value 4

Goal

State

Value 1

Value 2

Value 3

Value 4

Sample 1

Value 1

Value 2

Value 3

Value 4

Sample 2

Value 1

Value 2

Value 3

Value 4

Sample 3

Value 1

Value 2

Value 3

Value 4

Sample 4

All Animations

Value 1

Value 2

Value 3

Value 4

Sample N…

Score = σ((𝑮𝒐𝒂𝒍𝑽𝒂𝒍𝒖𝒆𝒏 − 𝑻𝒆𝒔𝒕𝑽𝒂𝒍𝒖𝒆𝒏)𝟐∗ 𝑴𝒆𝒕𝒓𝒊𝒄𝑾𝒆𝒊𝒈𝒉𝒕𝒏)

Page 67: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

Metric 2

Metric 3

Metric 4

Metric 1

MOTION MATCHING OVERVIEW

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 67

Value 1

Value 2

Value 3

Value 4

Goal

State

Value 1

Value 2

Value 3

Value 4

Current

State

Value 1

Value 2

Value 3

Value 4

Sample 1

Value 1

Value 2

Value 3

Value 4

Sample 2

Value 1

Value 2

Value 3

Value 4

Sample 3

Value 1

Value 2

Value 3

Value 4

Sample 4

All Animations

Value 1

Value 2

Value 3

Value 4

Sample N…

Sample with lowest score becomes the current state.

Repeat process, but now the sample has to score better than the current state.

Page 68: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LIVING WITH MOTION MATCHING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 68

Using motion

matching is like

raising a child…

Page 69: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LIVING WITH MOTION MATCHING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 69

“Make

Good

Choices”

Page 70: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LIVING WITH MOTION MATCHING

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 70

“Don’t

Make

Bad

Choices”

Page 71: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 71

Avoiding Bad Choices

Page 72: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

AVOIDING BAD CHOICES

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 72

CLIP GROUPS

• Put anims in groups

• Only allowed to search in active groups

• Game logic determines active groups

Page 73: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

AVOIDING BAD CHOICES

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 73

FILTERS

• Method to exclude certain samples

• Define valid metric range (Min/Max)

• Skip samples that fail check

Value 1

Value 2

Value 3

Value 4

Sample 1

Value 1

Value 2

Value 3

Value 4

Sample 2

Value 1

Value 2

Value 3

Value 4

Sample 3

Value 1

Value 2

Value 3

Value 4

Sample N…

Page 74: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LEAST BAD CHOICE

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 74

WEIGHTS

• Eventually need to pick between imperfect options

• Add weight scales score for metric

• Larger weights => More important

• Zero weight => Metric ignored

• Best results when all weights close to 1

Weighted Score =

((𝐺𝑜𝑎𝑙𝑉𝑎𝑙𝑢𝑒𝑛 − 𝑇𝑒𝑠𝑡𝑉𝑎𝑙𝑢𝑒𝑛)2∗ 𝑴𝒆𝒕𝒓𝒊𝒄𝑾𝒆𝒊𝒈𝒉𝒕𝒏)

Page 75: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 75

Making Good Choices

Page 76: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

IMPROVING ACCURACY

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 76

PICKING PATH SAMPLES

• Time-based path sampling

− Use physics to estimate future position

− Guess at Acceleration/Jerk

− Doesn’t match all anims

.1.3.61

Time-Based Sampling

1 .6 .3 .1

Goal Position

Animation Position

Page 77: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

IMPROVING ACCURACY

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 77

PICKING PATH SAMPLES

• Distance-based path sampling

− Find Position after moving X distance

− Consistent for all animations

− Easy to find along path

Goal Position

Animation Position

5101520

20 15 10 5

Distance-Based Sampling

Page 78: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

IMPROVING ACCURACY

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 78

EXTRAPOLATING SAMPLES

• What if Animation doesn’t move far enough?

• Estimate position based on final speed

5101520

20 15 10 5

Page 79: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

IMPROVING ACCURACY

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 79

SLOPES / UNEVEN TERRAIN

• Goal samples at different heights/distances

• Anim samples flat

• => Flatten Goal samples

5

10

15

20

20 15 10 5

Page 80: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

IMPROVING ACCURACY

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 80

CORRECTIONS

• Match is never perfect

• Apply Correction for Position and Rotation

• Must include corrections in Score for Current

Choice

5101520

Page 81: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 81

Leveraging Foot Motion

Page 82: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LEVERAGING FOOT MOTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 82

FOOT POSITION METRIC

• X,Y,Z position of FootBase

• Character-relative

• More accurate than foot bone position metric

Page 83: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LEVERAGING FOOT MOTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 83

FOOT STEP PROGRESSION METRIC

• Metric for foot step progression

• Matches how far through a step samples are

• Convert Progression (0->1) to a 2D direction vector

− So start and end match

Page 84: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LEVERAGING FOOT MOTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 84

STEPS REMAINING FILTER

• On stopping anims, Root still moves after feet stop

• Don’t want to pick these for short steps

• Add “Steps Remaining” metric, use as filter

Page 85: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LEVERAGING FOOT MOTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 85

DISTANCE REMAINING FILTER

• Need to stop exactly at end of path

• MM was picking clips that stopped just short

• Add “Distance Remaining” metric

− Filter out samples that don’t reach goal

• Scale root motion to stop at goal

Page 86: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

LEVERAGING FOOT MOTION

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 86

SEARCH FREQUENCY

• Can perform new search at fixed intervals

• Looked slightly better if only searching when a foot is

planted

Page 87: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

METRICS

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 87

COMBINE SOLDIER

• Metrics used by the combine soldier

Page 88: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

ANIMATIONS

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 88

• Strafe Mode (77)

− Idle*

− Run Loop* x 8 directions

− Short Hops*, 8 distances x 8 directions

− Run Fwd then Bwd, Bwd then Fwd

− Run Left then Right, Right then Left

− Square Strafe Clockwise, Counter-Clockwise

• Face Path Mode (70)

− Running turns: Left/Right x Large/Small Radius

− Strafe then Face Path x 8 directions

− Face Path then Strafe x 8 directions

− Stand to Run x 8 directions

− Run to Stand x 8 directions

− Plant turns: 90/180 Left/Right

− All Strafe Mode Animations

* Created before MM implementation and re-used

117 Animations used for motion matching

Page 89: THE RIGHT FOOT IN THE WRONG PLACE

THE PREMIER CONFERENCE & EXHIBITION IN

COMPUTER GRAPHICS & INTERACTIVE TECHNIQUES

QUESTIONS?

LIVE Q & A ON DATE TBD

© 2021 SIGGRAPH. ALL RIGHTS RESERVED. 89