Post on 17-Oct-2021
1
CNM 190CNM 190Advanced Digital AnimationAdvanced Digital Animation
Lec Lec 12 : Walk Cycles & Autonomous Motion12 : Walk Cycles & Autonomous MotionDan GarciaDan Garcia, EECS (co-instructor), EECS (co-instructor)
Greg Niemeyer, Art (co-instructor)Greg Niemeyer, Art (co-instructor)Jeremy HuddlestonJeremy Huddleston,, EECS (TA) EECS (TA)
John John Cleese Cleese ““Silly WalkSilly Walk”” animated using SPAM softwareanimated using SPAM software
2/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
OverviewOverview
Walk CyclesWalk Cycles Definition, HistoryDefinition, History ReferencesReferences What makes aWhat makes a
great walk cycle?great walk cycle? ExamplesExamples SPAM demoSPAM demo UCB ResearchUCB Research
Autonomous MotionAutonomous Motion DefinitionDefinition Flow ChartFlow Chart Finite State MachinesFinite State Machines Brian Brian Mirtich Mirtich DemoDemo
3/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Walk Cycles : Definition & HistoryWalk Cycles : Definition & History
DefinitionDefinition A sequence of frames capturing a walk movementA sequence of frames capturing a walk movement
HistoryHistory Since the early days of hand-drawn animation,Since the early days of hand-drawn animation,
these have been used to get characters from A to Bthese have been used to get characters from A to Band, most importantly, to and, most importantly, to capture & convey emotioncapture & convey emotion
www.idleworm.com/how/anm/02w/walk1.shtml
4/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
References (1)References (1)
The Illusion of LifeThe Illusion of Life : :Disney AnimationDisney Animation by Frankby Frank Thomas & OllieThomas & Ollie
JohnstonJohnston Two of DisneyTwo of Disney’’ss
““Nine Old MenNine Old Men”” “…“… gives many glimpses gives many glimpses
into the workings of theinto the workings of theanimation masters atanimation masters atDisney's during theDisney's during theGolden Age of animationGolden Age of animation””
On every professionalOn every professionalanimatoranimator’’s bookshelfs bookshelf
576 Pages576 Pages Disney Editions, 1995Disney Editions, 1995 Out-of-print! ~$40Out-of-print! ~$40
en.wikipedia.org/wiki/The_Illusion_Of_Life
5/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
References (2)References (2) The AnimatorThe Animator’’s Survival Kits Survival Kit
by Richard Williamsby Richard Williams 352 pages352 pages Faber & Faber, 2002Faber & Faber, 2002 ~$20 new, ~$15 used~$20 new, ~$15 used
Cartoon AnimationCartoon Animation by Preston Blairby Preston Blair 144 pages144 pages Walter Foster, 1994Walter Foster, 1994 ~$15 new, ~$10 used~$15 new, ~$10 used
www.amazon.com
6/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
References (3)References (3)
Principles of TraditionalPrinciples of TraditionalAnimation Applied toAnimation Applied to3D Computer3D ComputerAnimationAnimation, Computer, ComputerGraphics, pp. 35-44,Graphics, pp. 35-44,21:4, July 198721:4, July 1987(SIGGRAPH 87).(SIGGRAPH 87). by John by John LasseterLasseter He shared the secrets of theHe shared the secrets of the
kingdom with 3D animatorskingdom with 3D animators ThereThere’’s an abridged versions an abridged version
online (URL above)online (URL above)
www.siggraph.org/education/materials/HyperGraph/animation/character_animation/principles/prin_trad_anim.htm
2
7/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
What makes a great walk cycle? (1)What makes a great walk cycle? (1)
Four distinct posesFour distinct poses Contact Contact –– feet at furthest extension of walk (start here) feet at furthest extension of walk (start here) Recoil Recoil –– where the character impacts the ground where the character impacts the ground Passing Passing –– an an ‘‘in-betweenin-between’’ of of Recoil and High PointRecoil and High Point High PointHigh Point –– character character’’s body stretched to maxs body stretched to max
www.idleworm.com/how/anm/02w/walk1.shtml
8/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
What makes a great walk cycle? (2)What makes a great walk cycle? (2)
Depending on theDepending on theemotion to convey,emotion to convey,these four basicthese four basicposesposes may changemay change No 2-pt contact poseNo 2-pt contact pose
for run cyclesfor run cycles E.g., skipping requiresE.g., skipping requires
more thanmore than 4 poses4 poses
Note several thingsNote several things Path of headPath of head Lean ofLean of body, headbody, head ArmsArms & hands matter!& hands matter!
minyos.its.rmit.edu.au/~rpyjp/a_notes/walk_reference_01.html
Preston Blair’s Walk Cycles
9/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
What makes a great walk cycle? (3)What makes a great walk cycle? (3)
Four-legged figuresFour-legged figuresare similar, but moreare similar, but morecomplicatedcomplicated Are legs in phase?Are legs in phase? Horses have vastlyHorses have vastly
different cyclesdifferent cyclesdepending on speeddepending on speed
This is relevant forThis is relevant forboth teamsboth teams Elephants, GiraffesElephants, Giraffes Robot DogRobot Dog
minyos.its.rmit.edu.au/~rpyjp/a_notes/walk_reference_02.html
Preston Blair’s Walk Cycles10/24Walk Cycles & Autonomous Motion
http://inst.eecs.berkeley.edu/~selfpace/CNM190
What makes a great walk cycle? (4)What makes a great walk cycle? (4)
Red line shows off-Red line shows off-balance leanbalance lean for afor atypical walk cycletypical walk cycle
Happy charactersHappy characters Bouncy, more time upBouncy, more time up
in the air than downin the air than down
Sad charactersSad characters Plod along, drag feetPlod along, drag feet
Step distance alsoStep distance alsosignals emotion, agesignals emotion, age Older, shy Older, shy shuffle shuffle
minyos.its.rmit.edu.au/~rpyjp/a_notes/04_walkcycle_project.html
11/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
What makes a great walk cycle? (5)What makes a great walk cycle? (5)
The walk cycleThe walk cycleshould have good,should have good,consistent transverseconsistent transversemotions (L-R)motions (L-R) E.g., Note arms; theyE.g., Note arms; they
dondon’’t just rotate int just rotate indirection of walkdirection of walk
minyos.its.rmit.edu.au/aim/a_notes/walk_reference_03.html
12/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Examples of WalksExamples of Walks
Fortunately, itFortunately, it’’s easy tos easy toact out a walk & film itact out a walk & film itfor analysisfor analysis
Humans good atHumans good at reading impossiblereading impossible andand
bad walksbad walks reading emotion fromreading emotion from
walkswalks
Make sure to conveyMake sure to conveyweight, balanceweight, balance
Practice, practicePractice, practice LetLet’’s see some exampless see some examples
minyos.its.rmit.edu.au/~rpyjp/a_notes/04_walkcycle_project.htmlwww.anticz.com/Walks.htm
Monty Python’s Ministry of Silly Walks
3
13/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
SPAMSPAM –– FK Walk EditorFK Walk Editor
I wrote a I wrote a forward-kinematicforward-kinematicwalk editorwalk editor back in 1994back in 1994
It uses a cubic It uses a cubic BBézier splineézier splineto interpolate:to interpolate: Q(t) = Q(t) = VV00 (1-t) (1-t)33 + + VV11 3t (1-t)3t (1-t)22
+ + VV22 3t 3t22 (1-t) + (1-t) + VV33 t t33
I start at forward footI start at forward foot asasroot and work up & downroot and work up & down
digitalassets.lib.berkeley.edu/techreports/ucb/text/CSD-94-860.pdf
14/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Walk Generation Walk Generation –– Use Use MoCapMoCap!!
We sawWe saw a a MoCapMoCapdemo last weekdemo last week
With a talented actor,With a talented actor,you can create anyyou can create anyhuman motionhuman motion E.g., E.g., LoTR LoTR ““GollumGollum”” You can also use theYou can also use the
data as a startingdata as a startingpoint for editingpoint for editing
Might be lots of rawMight be lots of rawdata cleaning updata cleaning up
Purists donPurists don’’t use itt use it
en.wikipedia.org/wiki/Motion_capture
15/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Walk Cycle SummaryWalk Cycle Summary……PersonalityPersonality
““The objective of the [Animation]The objective of the [Animation]principles previously discussed [inprinciples previously discussed [inhis SIGGRAPH paper] are to givehis SIGGRAPH paper] are to givethe characters in an animation the characters in an animation aapersonality that appeals to thepersonality that appeals to theviewersviewers..””
““The different principles should beThe different principles should beapplied in a fashion to produce aapplied in a fashion to produce aconsistent personality.consistent personality.””
““This means that This means that the animatorthe animatormust have a good idea of themust have a good idea of thedesired personality desired personality beforebeforebeginning the animationbeginning the animation..””
www.siggraph.org/education/materials/HyperGraph/animation/character_animation/principles/personality.htm
16/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
UCB Walk-Related ResearchUCB Walk-Related Research
There has been a lot ofThere has been a lot ofresearch done hereresearch done hererelating to walk cycles &relating to walk cycles &MoCap MoCap databasesdatabases Electronic Arts gave usElectronic Arts gave us
some of their some of their MoCap MoCap datadata Okan Arikan Okan Arikan (now a Prof(now a Prof
at U Texas) led charge,at U Texas) led charge,with Profs Owith Profs O’’Brien, ForsythBrien, Forsyth
Knowing When to PutKnowing When to PutYour Food DownYour Food Down
Pushing people aroundPushing people around Motion Synthesis fromMotion Synthesis from
AnnotationsAnnotations Motion Synthesis &Motion Synthesis &
RetargetingRetargeting3 UCB MooVs
www.cs.berkeley.edu/b-cam/www.cs.utexas.edu/~okan/
17/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Autonomous MotionAutonomous Motion
More than simplyMore than simplyspacetime spacetime constraintsconstraints
This fieldThis field is VAST, foris VAST, forsome the Holy Grail!some the Holy Grail! Artificial intelligenceArtificial intelligence Artificial lifeArtificial life RoboticsRobotics Video gamesVideo games Crowd, herd & flockingCrowd, herd & flocking
simulationssimulations
Real-time >> BatchReal-time >> Batch In terms of $, interestIn terms of $, interest
18/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Autonomous Animated CharactersAutonomous Animated Characters
HereHere’’s a general frameworks a general framework……
www.kuffner.org/james/anim/framework.php
WhyWhyWhereWhere
HowHow
4
19/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Lots of questions ; this is hard!Lots of questions ; this is hard!
Why / Where,Why / Where,often in real timeoften in real time…… What behavior isWhat behavior is
generated /generated / issued?issued? Where do we go?Where do we go? What is the emotion?What is the emotion? WhatWhat’’s our motivation?s our motivation? What is our mood asWhat is our mood as
the result of the newthe result of the newmotion / location?motion / location?
When do we haveWhen do we havebirths / deaths?births / deaths?
How do we,How do we,often in real timeoften in real time…… select the animationsselect the animations
from DB? Orfrom DB? Or…… auto-generate theauto-generate the
animation?animation? blend the animationsblend the animations
we have with what iswe have with what isrequested?requested?
retarget animationsretarget animationsto capture request?to capture request?
scale pre-setscale pre-set motionsmotionsfor new characters?for new characters?
20/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Intelligence : Finite State Machines (1)Intelligence : Finite State Machines (1)
VERY powerful ideaVERY powerful idea Model of behaviorModel of behavior
composed of composed of statesstates,,transitionstransitions & & actionsactions
State (1 must be a start)State (1 must be a start) Past informationPast information
TransitionTransition Condition that triggersCondition that triggers
state changestate change
ActionAction Activity performed at aActivity performed at a
given momentgiven moment
en.wikipedia.org/wiki/Finite_state_machine
FSM for gum machine
21/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Intelligence : Finite State Machines (2)Intelligence : Finite State Machines (2)
4 Kinds of Actions. For4 Kinds of Actions. Foreach, each, ““Execute action _Execute action _”” EntryEntry : : ……when ENTERINGwhen ENTERING
statestate ExitExit : : ……when EXITINGwhen EXITING
statestate InputInput : : ……dependent ondependent on
present state and inputpresent state and inputconditionsconditions
TransitionTransition : :……whenwhenperforming a transitionperforming a transition
en.wikipedia.org/wiki/Finite_state_machine
22/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Brian Brian MirtichMirtich, 1996 UCB Ph.D., 1996 UCB Ph.D.
Thesis: Thesis: ““ImpulseImpulse - -based Dynamicbased DynamicSimulation of RigidSimulation of RigidBody SystemsBody Systems”” He focused onHe focused on
dynamic constraintsdynamic constraints Very cool work!Very cool work!
““Creature WarCreature War”” demo demo His purpose: show offHis purpose: show off
his simulatorhis simulator Great exampleGreat example ofof
FSM-based AI!FSM-based AI!Mirtich’s Creature War
www.kuffner.org/james/software/dynamics/mirtich/
23/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
Boids Boids –– Distributed Behavior Distributed Behavior
Big idea : Give manyBig idea : Give manycharacters their own FSMcharacters their own FSM
Craig ReynoldsCraig Reynolds ““foundedfounded””first first Boids Boids in 1986; A-Lifein 1986; A-Life SeparationSeparation –– steer to avoid steer to avoid
crowding local crowding local flockmatesflockmates AlignmentAlignment –– steer towards steer towards
the average heading ofthe average heading oflocal local flockmatesflockmates
CohesionCohesion –– steer to move steer to movetoward the averagetoward the averageposition of local position of local flockmatesflockmates
Emergent Emergent behavoirbehavoir!! CrowdsCrowds just another just another
example of same ideaexample of same idea……
www.red3d.com/cwr/boids
Boids Applet, Movie, It’s a Big Ad
24/24Walk Cycles & Autonomous Motionhttp://inst.eecs.berkeley.edu/~selfpace/
CNM190
ConclusionConclusion
Autonomous Motion (Autonomous Motion (inclinclWalking) is theWalking) is the goal ofgoal ofmany (many (esp esp games!!)games!!)
Imagine virtual actorsImagine virtual actorsinteracting in real timeinteracting in real time What do they want to doWhat do they want to do
and when?and when? How do they generateHow do they generate
smooth motion to do it?smooth motion to do it? Can actors die? Be born?Can actors die? Be born?
FSM key to it all!FSM key to it all! Strong Strong vs vs Weak AIWeak AI
Strong: An amazing FSMStrong: An amazing FSMcan have can have ““sentiencesentience””!! Commander Data from Star Trek
en.wikipedia.org/wiki/Strong_AI