lightweight procedural animation with believable physical interaction ian horswill departments of eecs and radio/television/film northwestern university i ian@northwestern.edu @ th t d
twig twig • Library for y • Work in progress p g – Procedural animation – Simple physics • Open source – Runs under XNA • Intended for interactive – Ought to run on Xbox (not tested) narrative – Fast • Two applications – AI ‐ friendly – Supports scripting, running Supports scripting running – Simulation of Ainsworth s Simulation of Ainsworth’s as a server, or direct “safe home base” authoring of behaviors phenomenon – Webcomic Webcomic
demo 1 demo 1 Simulates “safe home base” behavior (Ainsworth) • Straightforward behavior ‐ based control g • Simple STM + attention system • No higher ‐ level cognitive component (yet)
physics physics • Based on Jakobsen’s (GDC, 2001) work on the Hitman engine • Mass aggregate system • Mass ‐ aggregate system – Objects modeled as point ‐ masses (nodes) + massless rods (links) – Effectively molecules – Effectively molecules • Position ‐ based update (Verlet 1967) – All dynamic information captured in ll d i i f i d i current + previous positions of nodes
constraint satisfaction constraint satisfaction Position ‐ based physics are good for • constraint satisfaction constraint satisfaction Just find the closest position that – satisfies the constraint And move it there – Ground plane • Force Y=0 when Y<0 – Distance constraints • View the distance constraint as a spring View the distance constraint as a spring – – Solve for the equilibrium position – Force the positions of the nodes – Collision handling • Compute penetration depth Compute penetration depth – Move both objects apart along contact – normal Knees • Force into the plane defined by foot, hip – and body ‐ forward direction
limb control limb control • Directly control endpoint ec y co o e dpo position, velocity, acceleration, or force • Constraint satisfaction ⇒ inverse kinematics • Cartesian coordinates – No joint angles! No joint angles! – Downside: implementing joint limits is a pain
limb control (partial) limb control (partial) walk hug swing swing reach reach grab grab feet arms
posture control posture control • Apply forces to – Base of spine to move it over the midpoint of the feet – Top of spine to • Move it over the base of the • Move it over the base of the spine • Move center of mass over midpoint of feet – Pelvis to turn it toward walk ‐ Pelvis to turn it toward walk vector – Shoulders to turn them toward gaze direction • NB: violates conservation of momentum/energy
posture control (partial) posture control (partial) target g sit up p stand up p Face Align Align Sit up Stand shoulders target pelvis head shoulders pelvis feet
gait generation gait generation • Based on Perlin (2003, ( , unpublished) • Move pelvis where you M l i h want it to go • Plant the feet Plant the feet • Fire a step when a leg gets stretched out too far • Potential ‐ field collision avoidance avoidance
sensing and attention sensing and attention Sensing • – Characters scan field of view each clock tick – Collision detection caches object contact • Registers pain when kinetic g p energy>threshold Attention • – All objects in field of view and STM appraised on each clock tick for appraised on each clock tick for • Valence • Salience • Monitoring priority – Highest salience object becomes focus Highest salience object becomes focus of attention Gaze control • – Shifts based on salience and monitoring g priority
props props 16 ton weight clipboard l b d paper pen • Easy: models can be imported via the XNA Content Pipeline Pipeline • Harder: have to write C# code to define – Collision volumes – Prop actions – Charts (task ‐ specific coordinate systems)
example: writing on a clipboard example: writing on a clipboard • Holding the clipboard – Paper attaches itself to character’s arm – Paper moves itself in front of character character – Paper drags arm along with it • Writing • Writing – Pen attaches itself to other arm – Pen moves itself to the correct location relative to clipboard – Pen moves around – Pen drags other arm with it Pen drags other arm with it
current behavioral repertoire current behavioral repertoire • Hold, hold ‐ for ‐ use , • Write • Walk, sit, standup • Gesture • Approach, fight, attach • Pain withdrawal reflex P i ithd l fl • Gaze control • Speak (w/ or w/o turn Speak (w/ or w/o turn taking) • Hug, reach, grapple, drag
server/scripting interface server/scripting interface • Simple text ‐ based RPC RPC protocol t l name : method args … • Support for durative actions Support for durative actions • A few system commands like new and pause • Can be run as a server or just read from a text file
demo 2 demo 2 webcomic episode 3 scripted behavior
Bryan: say " They're doing medical experiments on us? " Michael Bryan: hold script Bryan: goto camera 3.6 & script Bryan: say "You bastards!" camera Michael: goto Bryan 0.25 ( ‐ 1 0 0) & fragment fragment Thug: goto Bryan 0 5 (0 0 0) & Thug: goto Bryan 0.5 (0 0 0) & Michael: say "Quiet!" Bryan Michael: say "They'll hear you!" Bryan Bryan: say "I'm not some lab animal!" Michael Thug: say "I'm with AAAI.\nCome with me" Bryan Bryan: lookat Thug Bryan: say "I know my rights!" Thug Bryan: say "IRB would never sign off on this!" Michael Bryan: say IRB would never sign off on this! Michael Thug: hold Bryan Michael: say "It's run by Alberto Gonzales now." Bryan & Bryan: fight Thug pause 0.5 0 5 Bryan: say "Widgets of the world unite!" Thug Thug: goto offstage & Bryan: drop script y p p Bryan: " Soylent green!\nIt's made out of pixels! “ Bryan titles: fadetoblack 2
related work related work Position ‐ based physics • – Jakobsen (2001), Verlet (1967), PhysX (2005) Procedural character control Procedural character control • • – Jack (Badler et al. 1988 ‐ 1999) – Improv (Goldberg&Perlin 1996) – Smartbody (Theibaux et al. Smartbody (Theibaux et al. 2007) Gait simulation • – Bruderlin&Calvert (1989), Hodgins (1994), Hase et al. (2003)
conclusion conclusion What’s it bad at? What’s it good at? g – Accurate simulation – Rough ‐ and ‐ ready character behavior • Lots of violations of conservation conservation – Relatively expressive R l ti l i – Photorealism motion – Complicated collision – Believability (in the volumes, terrain, etc. l i Disney/Bates sense) – Path planning – Authoring – AI ‐ friendly AI friendly http://twigblog.wordpress.com
Recommend
More recommend