This is the slides I used in Siggraph 2019 Talks. Many people asked me to share the slides but PPT file size was too big to upload here as it was including many videos so I converted it to PDF. Unfortunately the animations used in slides and videos are removed. I uploaded an compilation of videos used in this slides here.
https://youtu.be/XN3H6vmmooA
6. /ACTIVE RAGDOLL ?
Just Cause 2 Uncharted 4
GDC 2010: Physics Meets Animation : Character Stunts in Just Cause 2 GDC 2017 : Physics Animation in 'Uncharted 4: A Thief's End'
7. /COMPLICATIONS
A bunch of vehicles
— Need to be stable with few animations
Complicated setups
— Ragdoll setups / many gains
Seen through car window
— Need to be exaggerated
Characters inside vehicle is not
high priority
— Computing cost
8. /GOALS
Unconditionally Stable
Intuitive and Less control parameters
— No ragdoll setup
— Understandable Range ( i.e. > 0.0 ~ 1.0 , 0 ~ 100 )
Independent of frameworks
— Should be easy to port to other game engines
Computing Cost
— Should be cheap considering even for Mobile Platforms
12. /FIRST STEP
Simplify spine movement
Apply Position-Based Dynamics
to only spine chain
Post-process After Vehicle Simulation
IK for hands
13. /PARTICLE DYNAMICS
Consider each bone as a particle
Each particle moves independently
Fix the root bone to a vehicle
— Root bone completely follows the target
28. /VELOCITY COMPUTATION
Added Damping Coefficient
𝛼 : stiffness parameter
If 𝛼 is 1.0, completely solid
If 𝛼 is 0.0, no recovery impulse
𝒗𝑖(𝑡 + ℎ) = 𝛼
𝒈𝑖 𝑡 − 𝒙𝑖 𝑡
ℎ
+ 1 − 𝛼 𝒗𝑖(𝑡)
29. /INTUITIVE PARAMETERS
Stiffness : 0.0 ~ 1.0
Component-based Stiffness
— Forward-Backward direction
— Left-Right direction
— Up-Down direction
Regardless of a value,
It ends up following the reference pose
52. /COMBINE WITH BALANCE CONDITION
Consider COM ( Center Of Mass )
Construct Jacobian with COM condition
ሶ𝑟
𝑀𝑉
=
𝐽𝑣
𝐽 𝑚
ሶ𝜃 = 𝐽 ሶ𝜃
𝑃 = 𝑀𝑉 = 𝐽 𝑚
ሶ𝜃
フルボディIKエンジンの作り方(How to make Full-body IK Engne) – Tsuda, CEDEC 2011
58. /MIX WITH PHYSICS - MOVEMENT ON A BOAT
This character has only one key-pose
59. /CLINGING ON THE SIDE OF A TRUCK
This character has only one idle animation
60. /STANDING ON A TRUCK
This character has only one idle animation
61. /CONCLUSIONS
Works with few poses
Not focusing on high quality but More efficient
— Intuitive and less parameters
Robust and stable
— Imagine you need to check up hundreds of vehicles
Computing cost is cheap
Engine agnostic