1
|
- Michael Gleicher
- and the UW Graphics Group
- University of Wisconsin- Madison
- www.cs.wisc.edu/~gleicher
- www.cs.wisc.edu/graphics
|
2
|
- Animation is useful!
- Expressive, powerful, communicative, …
- Video, film, virtual environments, games, …
- Motion is hard!
- Subtle, difficult to characterize, …
- Lots of data, …
- Good motion is precious!
|
3
|
|
4
|
|
5
|
- How do you make a character sneak around?
- Start with some captured motion of a person sneaking around
- Synthesize a new motion of a character “sneaking” somewhere else
|
6
|
|
7
|
- Small amount of example motion
- Examples of what I want
- Character did something different
- Character did it the same way
- Preserves “style” and “quality”
|
8
|
- What is sneaking?
- Hard to define mathematically
- Abstract qualities matter
- Details matter
- Feet not sliding on the floor
- Subtle gestures
|
9
|
- Create it manually (keyframing)
- Common method used for film
- VERY talent and labor intensive
- Synthesize it by procedural methods
- Physical simulation, or ad-hoc methods
- Can’t get exactly what you want
- Capture it from a performer
- Motion Capture
- Animation from Observation
|
10
|
|
11
|
- It’s more than just pointing cameras at somebody!
- Getting the observations is just one part of the process
- All examples I will show are from optical motion capture
|
12
|
- Use markers and special cameras
- Tracking + Math
|
13
|
|
14
|
- What you get is not what you want!
- You get observations of the performance
- A specific performer
- A real human
- Doing whatever they did
- With the noise and “realism” of real sensors
- You want animation
- A character
- Doing something
- And maybe doing something else…
|
15
|
- Where does X live in the data?
- Where X Î {style,
personality, emotion, …}
- Small artifacts can destroy realism
- Eye is sensitive to certain details
- Amazing what you can’t get away with
- See Kovar, Schreiner and Gleicher, SCA ‘02
|
16
|
- Don’t know which details are important!
- Must preserve ALL details
- Since you don’t know what is important
- Need to understand artifacts better
|
17
|
- Get a specific motion
- From capture, keyframe, …
- Specific character, action, mood, …
- Want something else
- But need to preserve original
- But we don’t know what to preserve
- Can’t characterize motion well enough*
|
18
|
- Identify specific details in motions that must be preserved
- Constraints such as footplants
- Make conservative changes to motions
- Things that generally don’t cause problems
- Add low frequencies
- Blends with similar motions
- Re-establish constraints (solve)
- Avoid creating new artifacts
|
19
|
- Goal: one motion, a cast of characters
- Focus on similar structure
|
20
|
- 1. Define Constraints
- 2. Apply to new character
|
21
|
- 3. Approximate Answer
- 4. Solve constraints (band-limited adaptation)
|
22
|
- Can’t add snaps
- Can’t add pops or wobbles or …
- Need to look at durations of motion
|
23
|
- Spacetime (single, large, non-linear optimization)
- Gleicher ’97, Gleicher ’98, Popovic and Witkin ’99
- Hierarchical Splines
- IK + Filter
- Importance-Based
- Shin Lee Gleicher Shin ’01
- IK + Blending
- Kovar Schreiner Gleicher ’02
|
24
|
|
25
|
- Found motion + found character
- Overall quality of the motion preserved
- Makes interesting animation
- New characters move like performer
- Complete pipeline
|
26
|
- Character not considered
- How would the character do this?
- Simple mapping methods
- Non-linear optimization is a pain
- Results could be better
- Small details not right
- Some “big” details ignored
- Controls are too low level
- Clip in, Clip out
|
27
|
- Need a fast and easy way to deal with the most important constraints
- Need ways to deal with motion at a high-level
- Path Editing and Motion Tiles
- Synthesis-based on description
- Need to get beyond clips
|
28
|
- Address the most common constraint
- Footplants are the primary connection between character and world
- Problems are very noticeable
|
29
|
- Precise: Footplants enforced exactly
- Unobtrusive: Avoid adding noticeable new artifacts
- Simple and efficient: No nonlinear optimizations
- Local: Only a small neighborhood needed to solve each frame
- Fast and Reliable: closed form math
|
30
|
- Some things are noticeable
- Small amounts of footskate
- The addition of discontinuities
- Unnatural accelerations of limbs
- Some things are not noticeable
- Low frequencies added to motions
- Small amount of limb stretch
|
31
|
- Place foot to meet constraints
- Make sure body is close enough
- Need to be close enough to both feet
- Adjust leg angles
- Standard single-limb inverse kinematics
- Blend results onto free frames
- Avoid discontinuities at constraint switches
|
32
|
- Get geometric calculations right
- Continuity when there aren’t switches
- Careful when constraints switch
- Blend foot positions and orientations
- Blend root position, when possible
- Avoid unnatural accelerations
- Fast speeds look like discontinuity
- Just as unnatural
|
33
|
- Editing methods just need to get close
- Avoid nasty artifacts (high-frequencies)
- Footskate cleanup fixes many important details
- Makes editing methods easier to devise and implement
|
34
|
- How to change a straight motion into a curved one (or vice versa)
- Abstract control:
- Path as an abstraction of the motion
- Path as a control
- Fit low order polynomial curves (splines)
- Provides abstraction
- Provides easy control over large scale
- Factor into path and details
|
35
|
- Need to consider orientation
- Oriented coordinate system for factoring
- Need to avoid stretching
- Arc-length parameterization of path
- Easy to do
- Programming assignment in class!
|
36
|
|
37
|
- Paths are great for movement
- Fail for location dependent actions
- Can’t position them (arc-length pulls them)
- Details of movement connect to path (cusps and sharp turns)
- Solution: add rigid “Tiles”
- Annotate motions when path editing works
|
38
|
- Rigid tiles for “location specific” actions
- Non-stretchable paths to connect them
- Interactive editing paradigm
- Requires non-linear constraints to preserve arc-length
- Modular footskate cleanup implementation
- Allows us to have good motions from all of our systyems
|
39
|
|
40
|
- Want to generate a wider range
- Want more control
- Applications need streams of motion
- Applications need “long clips”
|
41
|
- New motions from pieces of old ones!
- Good news:
- Keeps the qualities of the original (with care)
- Can create long and novel “streams” (keep putting clips together)
- Challenges:
- How to connect clips?
- How to decide what clips to connect?
|
42
|
- Transitions between motions can be hard
- Simple method work sometimes
- Blends between aligned motions
- Cleanup footskate artifacts
- Just need to know when is “sometime”
|
43
|
|
44
|
|
45
|
|
46
|
- Any walk on the graph is a valid motion
- Generate walks to meet goals
- Random walks (screen savers)
- Search to meet constraints
- Other Motion Graph-like projects elsewhere
- Differ in details, and attention to detail
|
47
|
- Play pathFit.avi
- Play pathFit-MultiStyle.avi
|
48
|
- Better synthesis
- Self-awareness (what can you do?)
- Parameterized motions
- Better goal specifications
- Low-cost runtimes
- Multiple interacting characters
- Crowds
- Characters
|
49
|
- Low-cost/highly controllable runtimes
- Pre-compute all transitions
- Contrived graph structures
- Multi-way transitions are hub nodes
- User guided authoring process
|
50
|
- Aggregate behavior is important
- Individuals are not
- As long as they are plausible
- Real world example:
- Feeding of the hounds at Cheverny
- 90 dogs, kennel master knows them
|
51
|
- To the UW graphics gang.
- Animation research at UW is sponsored by the National Science
Foundation, Microsoft, and the Wisconsin University and Industrial
Relations program.
- IBM, Alias/Wavefront, Discreet and Intel have given us stuff.
- And to all our friends in the business who have given us data and
inspiration.
- Taylor Wilson at House of Moves for helping with this talk.
- Demian Gordon for data.
|