Presentation is loading. Please wait.

Presentation is loading. Please wait.

How to Animate a Character Youve Never Seen Before Chris Hecker, Maxis

Similar presentations

Presentation on theme: "How to Animate a Character Youve Never Seen Before Chris Hecker, Maxis"— Presentation transcript:

1 How to Animate a Character Youve Never Seen Before Chris Hecker, Maxis


3 make pipeline create assets bake assets test assets ship game traditionalgame pipeline development

4 make pipeline create assets bake assets test assets ship game game pipeline development make pipeline ship game create assets bake assets ? spore

5 What can players make?

6 creatures skin paint parts bones

7 credits Kees van Prooijen Jordan Maynard Ryan W. Enslow Bernd Raabe John DeWeese Bob King Gal Roth John Cimino Tony Gialdini Steven Sadler Patrick Benjamin Steve Eng Steve Lim

8 how the animation system sees creatures skin, just for wysiwyg bodies xforms for mesh parts have capabilities parts, limbs, spine joints between bodies ik chains

9 very few limits on topology & morphology tree structure some socket constraints scale limits shader bone limits see Chaims talk on the editors Friday, 2:30pm 3:30pm

10 So, we have a problem. How do we make them move show intent & purpose convey emotions?

11 idea: describe the movement 1 st approach: classically procedural

12 Now, we have another problem. Do we hire animators who can program? programmers who can animate?

13 take a step back Want to hire animators who can animate! but how?

14 How? Show, dont tell. Example based, not descriptive. Animate on one creature, the software applies it to the others...somehow.

15 watch animators work select bone move bone

16 selecting Where is bone #57? images from

17 selecting Need to add semantics describe what youre selecting. we call this description a context. Id like to select the left topmost grasper, please.

18 selecting (demo)

19 selecting in code This is how the code reasons about the creature. The code needs to deal with the variable results. This is hard. Code performs a context query, can return 0, 1, or many bodies.

20 moving Move bone #57 to (3.14, 2.72, 1.62). How do you punch something?

21 moving How do you punch something? Again, we require semantics, describe the intent. this is the frame of the movement. Move fist to the target, please.

22 moving - madlibs move grasper to same creatures mouth. move grasper to other creatures grasper. move mouth to external target. move slasher to position relative to ground. move slasher to absolute position.

23 moving - scaling Is a given movement big because the creature is big? the movement is inherently big? the target is far away? The animator needs to tell the system. (demo)

24 moving - frame This description of the movement specifies the frame in which it is recorded. Even for multiple bodies on the same creature.

25 moving - space Generalized recorded in the frame of the movement mode. all keys are in generalized space. Specialized projected onto a single body on a creature. multiple projections for multiple bodies.

26 a spore animation file animation channel context descriptions (madlibs, scaling) keys channel channel...

27 the spore animation runtime loop for each creature, for each animation tick to time – interpolates generalized splines for each channel evaluate context query for each body specialize onto body compute gait and wiggles dump all goals into ik solver

28 gaits The game drives around an oriented particle. The gait system tries to keep up.

29 gaits cluster legs based on length move foot goals using parameters step height & length trigger & duty factor lots of other parameters toe curl, ankle angle hip rotation and translation (demo)

30 wiggles We want secondary animation tail bobbing, arm swaying, without manual keying.

31 wiggles Find wiggleable bodies that havent been selected. Add secondary with damped spring mass system. (demo)

32 the constant question: How well does an animation generalize across lots of creatures?

33 stochastic testing AVG – Animation Validation Grid

34 branching split up creature-space has feet has graspers upright spine

35 ik solver Decouple procedural systems from needing to think about creature topology. Just set goals on bodies.

36 ik solver Want it to be fast. accurate in workspace. fail gracefully if missing goal. decide not to hit goals for quality. path independent.

37 ik solver history 0.0 – linked rigid bodies, constraints, controllers slow, inaccurate, unstable, not posable 1.0 – multibranch 6DOF CCD complex, slow, more accurate, not tunable 2.0 – particle IK – control freak fast, accurate, more tunable, twitchy, fails poorly 2.5 – particle IK – laid back fast, accurate, tunable, smooth, fails better

38 useful takeaways? target relative curves ik solver experience semantics are valuable custom tool was worth it

39 (demo) thank you

40 How to Animate a Character Youve Never Seen Before Chris Hecker, Maxis

Download ppt "How to Animate a Character Youve Never Seen Before Chris Hecker, Maxis"

Similar presentations

Ads by Google