Contributing Authors |
|
xiii | |
PART I INTRODUCTION TO COMPUTER ANIMATION |
|
|
|
3 | |
|
|
4 | |
|
1.2 The Heritage of Animation |
|
|
6 | |
|
|
7 | |
|
1.2.2 The Early Days of Conventional Animation |
|
|
9 | |
|
|
10 | |
|
1.2.4 Contributions of Others |
|
|
12 | |
|
1.2.5 Other Media for Animation |
|
|
12 | |
|
1.2.6 Principles of Animation |
|
|
13 | |
|
1.2.7 Principles of Filmmaking |
|
|
14 | |
|
|
16 | |
|
|
18 | |
|
1.4 Computer Animation Production |
|
|
19 | |
|
1.4.1 Computer Animation Production Tasks |
|
|
21 | |
|
|
22 | |
|
|
25 | |
|
|
26 | |
|
1.5 A Brief History of Computer Animation |
|
|
27 | |
|
1.5.1 Early Activity (pre-1980) |
|
|
27 | |
|
1.5.2 The Middle Years (The 1980's) |
|
|
30 | |
|
1.5.3 Animation Comes of Age (The mid-1980's and beyond) |
|
|
32 | |
|
|
35 | |
|
|
36 | |
|
CHAPTER 2 Technical Background |
|
|
39 | |
|
2.1 Spaces and Transformations |
|
|
40 | |
|
2.1.1 The Display Pipeline |
|
|
41 | |
|
2.1.2 Homogeneous Coordinates and the Transformation Matrix |
|
|
45 | |
|
2.1.3 Compound Transformation: Concatenating Transformation Matrices |
|
|
46 | |
|
2.1.4 Basic Transformations |
|
|
47 | |
|
2.1.5 Representing an Arbitrary Orientation |
|
|
49 | |
|
2.1.6 Extracting Transformations from a Matrix |
|
|
53 | |
|
2.1.7 Description of Transformations in the Display Pipeline |
|
|
54 | |
|
2.1.8 Error Considerations |
|
|
56 | |
|
2.2 Orientation Representation |
|
|
60 | |
|
2.2.1 Fixed-Angle Representation |
|
|
61 | |
|
2.2.2 Euler Angle Representation |
|
|
63 | |
|
2.2.3 Angle and Axis Representation |
|
|
64 | |
|
2.2.4 Quaternion Representation |
|
|
65 | |
|
2.2.5 Exponential Map Representation |
|
|
67 | |
|
|
68 | |
|
|
68 | |
PART II MOTION CAPTURE TECHNIQUES |
|
|
CHAPTER 3 Motion Capture Primer |
|
|
71 | |
|
3.1 Motion Capture and Performance Animation |
|
|
72 | |
|
3.2 History of Performance Animation in the Entertainment Field |
|
|
72 | |
|
|
72 | |
|
|
73 | |
|
3.2.3 Pacific Data Images |
|
|
75 | |
|
|
80 | |
|
3.2.5 Kleiser-Walczak Construction Company |
|
|
80 | |
|
3.2.6 Homer and Associates |
|
|
81 | |
|
3.3 Types of Motion Capture |
|
|
84 | |
|
3.3.1 Optical Motion Capture Systems |
|
|
84 | |
|
3.3.2 Electromagnetic Trackers |
|
|
89 | |
|
3.3.3 Electromechanical Suits |
|
|
92 | |
|
|
94 | |
|
3.3.5 Other Motion Capture Systems |
|
|
97 | |
|
3.4 Applications of Motion Capture |
|
|
100 | |
|
|
100 | |
|
|
102 | |
|
3.4.3 The Entertainment Industry |
|
|
102 | |
|
|
104 | |
|
CHAPTER 4 The Motion Data |
|
|
105 | |
|
4.1 Motion Data Types and Formats |
|
|
105 | |
|
4.1.1 The Acclaim File Format |
|
|
107 | |
|
|
108 | |
|
|
111 | |
|
4.1.4 The .bva File Format |
|
|
112 | |
|
4.1.5 The .bvh File Format |
|
|
113 | |
|
4.1.6 The .trc File Format |
|
|
117 | |
|
4.1.7 The .htr File Format |
|
|
119 | |
|
4.2 Writing a Motion Capture Translator |
|
|
128 | |
PART III ANIMATING SUBSTANCES |
|
|
CHAPTER 5 Animating Facial Features |
|
|
167 | |
|
|
168 | |
|
|
168 | |
|
5.1.2 The Facial Action Coding System (FACS) |
|
|
169 | |
|
|
170 | |
|
5.2.1 Creating a Continuous Surface Model |
|
|
172 | |
|
|
178 | |
|
|
178 | |
|
5.3.1 Parameterized Models |
|
|
178 | |
|
|
179 | |
|
|
180 | |
|
|
184 | |
|
|
184 | |
|
|
185 | |
|
5.4.1 Articulators of Speech |
|
|
185 | |
|
|
186 | |
|
|
187 | |
|
|
188 | |
|
|
188 | |
|
|
188 | |
|
CHAPTER 6 Animating Solid Spaces |
|
|
191 | |
|
|
192 | |
|
6.2 Animating Solid Textures |
|
|
193 | |
|
|
194 | |
|
|
196 | |
|
6.2.3 Animating Solid-Textured Transparency |
|
|
197 | |
|
6.3 Animation of Gaseous Volumes |
|
|
200 | |
|
6.3.1 Helical Path Effects |
|
|
200 | |
|
6.4 Three-Dimensional Tables |
|
|
208 | |
|
6.4.1 Accessing the Table Entries |
|
|
209 | |
|
6.4.2 Functional Flow Field Tables |
|
|
209 | |
|
6.4.3 Functional Flow Field Functions |
|
|
210 | |
|
6.4.4 Combinations of Functions |
|
|
215 | |
|
6.5 Animating Hypertext tires |
|
|
218 | |
|
6.5.1 Volumetric Marble Formation |
|
|
218 | |
|
6.6 Particle Systems: Another Procedural Animation Technique |
|
|
219 | |
|
|
223 | |
|
|
223 | |
|
CHAPTER 7 Animating Fluids and Gases |
|
|
225 | |
|
7.1 Specific Fluid Models |
|
|
226 | |
|
|
226 | |
|
7.1.2 Models of Clouds by David Ebert |
|
|
238 | |
|
|
249 | |
|
7.2 Computational Fluid Dynamics |
|
|
252 | |
|
7.2.1 General Approaches to Modeling Fluids |
|
|
252 | |
|
|
254 | |
|
|
259 | |
|
|
259 | |
|
CHAPTER 8 Animating Biology |
|
|
263 | |
|
|
264 | |
|
8.2 Animation and Film Perception |
|
|
265 | |
|
|
265 | |
|
8.2.2 Seeing Motion and Animation |
|
|
267 | |
|
8.3 The Animator's Workflow |
|
|
268 | |
|
8.3.1 Story: The Workflow's Driving Force |
|
|
268 | |
|
8.4 The Three-Stage Workflow |
|
|
270 | |
|
8.4.1 Workflow Stage 1: Preproduction |
|
|
271 | |
|
8.4.2 Workflow Stage 2: Production |
|
|
278 | |
|
8.4.3 Workflow Stage 3: Postproduction |
|
|
288 | |
|
8.4.4 Putting It All Together |
|
|
288 | |
|
|
289 | |
|
|
289 | |
|
8.6.1 Procedural versus Keyframe Animation |
|
|
289 | |
|
8.6.2 Keyframes and Memory |
|
|
290 | |
|
8.6.3 The Animation Menu Set |
|
|
291 | |
|
|
291 | |
|
|
292 | |
|
|
293 | |
|
|
295 | |
|
|
295 | |
|
|
296 | |
|
8.7 Tutorial 08.01: A Keyframe Animation |
|
|
296 | |
|
|
297 | |
|
|
298 | |
|
8.7.3 Play, Scrub, and Stop the Animation |
|
|
298 | |
|
8.7.4 Edit the Animation Curves |
|
|
299 | |
|
8.7.5 The Graph Editor Outliner |
|
|
300 | |
|
8.7.6 The Graph Editor Graph View |
|
|
300 | |
|
8.7.7 The Graph Editor Toolbar |
|
|
302 | |
|
|
302 | |
|
8.8 Animation Nodes in the Hypergraph and Attribute Editor |
|
|
303 | |
|
8.9 Tutorial 08.02: A Simple Procedural Animation |
|
|
303 | |
|
8.9.1 Animation Expressions in Brief |
|
|
304 | |
|
8.9.2 Create an Animation Expression |
|
|
304 | |
|
8.9.3 Animation Expression Nodes |
|
|
306 | |
|
|
307 | |
|
|
308 | |
PART IV OTHER METHODS |
|
|
CHAPTER 9 Point-Based Animation |
|
|
311 | |
|
|
312 | |
|
9.2 Meshless Finite Elements |
|
|
312 | |
|
|
312 | |
|
9.2.2 Continuum Elasticity |
|
|
313 | |
|
9.2.3 Meshless Discretization |
|
|
318 | |
|
9.2.4 Moving Least Squares Interpolation |
|
|
319 | |
|
9.2.5 Updating Strains and Stresses |
|
|
321 | |
|
9.2.6 Computation of Forces via Strain Energy |
|
|
321 | |
|
9.2.7 Animation of Elastic Objects |
|
|
323 | |
|
|
325 | |
|
9.2.9 Passive Surfel Advection |
|
|
326 | |
|
|
327 | |
|
9.3 Animation of Fracturing Material |
|
|
327 | |
|
|
327 | |
|
9.3.2 Historical Background |
|
|
329 | |
|
9.3.3 Modeling of Discontinuities |
|
|
330 | |
|
|
331 | |
|
9.3.5 Crack Initiation and Propagation |
|
|
333 | |
|
|
334 | |
|
9.3.7 Volumetric Sampling |
|
|
336 | |
|
|
338 | |
|
9.3.9 Simulation Pipeline |
|
|
339 | |
|
|
340 | |
|
|
340 | |
|
|
340 | |
|
|
341 | |
|
9.4.3 Smoothed Particle Hydrodynantics |
|
|
342 | |
|
9.4.4 Surface Representation |
|
|
348 | |
|
9.4.5 Surface Tracking Using Point Samples |
|
|
350 | |
|
|
353 | |
|
|
354 | |
PART V ANIMATING WITH MEL FOR MAYA |
|
|
CHAPTER 10 Maya Under the Hood |
|
|
361 | |
|
10.1 Why Look Under the Hood? |
|
|
362 | |
|
10.2 The Dependency Graph, Attributes, and Connections |
|
|
362 | |
|
10.3 Example 1: Using the Hypergraph to Explore the Dependency Graph |
|
|
368 | |
|
10.4 Transform Hierarchy and Parent/Child Relationships |
|
|
372 | |
|
10.5 Examining the Hierarchy |
|
|
373 | |
|
10.6 Transform and Shape Nodes |
|
|
374 | |
|
10.7 Example 2: Exploring Transform and Shape Nodes, Instancing, and History |
|
|
375 | |
|
10.8 Mel and Maya's User Interface |
|
|
377 | |
|
10.9 What to Remember About How Maya Works Behind the Scenes |
|
|
378 | |
|
|
379 | |
|
|
379 | |
|
|
379 | |
|
|
382 | |
|
|
384 | |
|
|
403 | |
|
|
419 | |
|
CHAPTER 12 Examples Using MEL with Solid Body Dynamics |
|
|
423 | |
|
12.1 Example 1: Particle Collisions |
|
|
424 | |
|
|
425 | |
|
12.1.2 Collide the Particles |
|
|
428 | |
|
12.1.3 Setting Controls for Collisions |
|
|
429 | |
|
12.1.4 Using Other Controls in geoConnector Node |
|
|
430 | |
|
12.1.5 Finish Scene Using MEL |
|
|
431 | |
|
12.2 Example 2: Collision Events |
|
|
433 | |
|
|
434 | |
|
12.2.2 Add Emitter and Particles |
|
|
434 | |
|
12.2.3 Dynamic Relationships |
|
|
436 | |
|
12.2.4 Limit Number of Particles and Add Gravity |
|
|
437 | |
|
12.2.5 Add Other Collisions |
|
|
438 | |
|
|
439 | |
|
12.2.7 Expression for Buckets |
|
|
442 | |
|
12.2.8 Edit Settings to Fix Problems |
|
|
444 | |
|
|
445 | |
|
12.3 Example 3: Collisions Between Objects in Solid Dynamics |
|
|
445 | |
|
12.3.1 Write Small Duplicate and Position Script |
|
|
446 | |
|
12.3.2 Common Mistakes in Assembling String Variables |
|
|
448 | |
|
12.3.3 Create Collision Box |
|
|
449 | |
|
12.3.4 Flip Normals on collisionBox |
|
|
450 | |
|
12.3.5 Active and Passive Rigid Bodies |
|
|
453 | |
|
12.3.6 Make Each Grid a Passive Collision Object |
|
|
456 | |
|
12.3.7 Turn On Collision Data Options |
|
|
457 | |
|
12.3.8 Change Color of Grids with Collisions |
|
|
459 | |
|
12.4 Example 4: Solid Dynamics and Particles |
|
|
464 | |
|
12.4.1 Create Interface Window for Aim Control Using MEL |
|
|
465 | |
|
12.4.2 Add New Window Control to Shelf |
|
|
466 | |
|
12.4.3 Convert Panel to Polygons and Break Up into Pieces |
|
|
466 | |
|
12.4.4 Add Dynamics and Expressions to Pieces |
|
|
470 | |
|
12.4.5 Create Full MEL Script |
|
|
472 | |
|
12.4.6 Load in Scene and Run Script |
|
|
474 | |
|
12.4.7 Pass a Float into panelBreakup |
|
|
474 | |
|
CHAPTER 13 Examples Using MEL in Character Rigging |
|
|
475 | |
|
13.1 Example 1: Character Controls |
|
|
476 | |
|
|
476 | |
|
|
477 | |
|
13.1.3 Overview of mrBlah's Controls |
|
|
477 | |
|
13.1.4 Locking Attributes |
|
|
481 | |
|
|
481 | |
|
13.1.6 Set Up mrBlah's Backbone Controls |
|
|
481 | |
|
13.1.7 Create Sway Effect When Picking Up Feet |
|
|
487 | |
|
13.2 Example 2: Building a Character User Interface |
|
|
488 | |
|
13.2.1 Load Saved mrBlah Scene |
|
|
488 | |
|
13.2.2 Organize Controls for Users |
|
|
489 | |
|
13.2.3 Create mrBlahControls.mel |
|
|
491 | |
|
13.2.4 Create Sliders to Control spinCtrl Attributes |
|
|
495 | |
|
13.2.5 Create Layout for Window Controls |
|
|
496 | |
|
|
497 | |
|
13.2.7 Display Only What You Want User to See |
|
|
498 | |
|
13.2.8 Create Script Node Ibr Window |
|
|
498 | |
|
13.2.9 Create Shelf Icon to Reopen Window When Closed |
|
|
500 | |
|
13.2.10 Full Text of mrBlahControls.mel |
|
|
500 | |
Index |
|
507 | |