You are previewing Computer Animation Complete.
O'Reilly logo
Computer Animation Complete

Book Description

A compilation of key chapters from the top MK computer animation books available today - in the areas of motion capture, facial features, solid spaces, fluids, gases, biology, point-based graphics, and Maya. The chapters provide CG Animators with an excellent sampling of essential techniques that every 3D artist needs to create stunning and versatile images. Animators will be able to master myriad modeling, rendering, and texturing procedures with advice from MK's best and brightest authors.

Divided into five parts (Introduction to Computer Animation and Technical Background, Motion Capture Techniques, Animating Substances, Alternate Methods, and Animating with MEL for MAYA), each one focusing on specific substances, tools, topics, and languages, this is a MUST-HAVE book for artists interested in proficiency with the top technology available today! Whether you're a programmer developing new animation functionality or an animator trying to get the most out of your current animation software, Computer Animation Complete: will help you work more efficiently and achieve better results. For programmers, this book provides a solid theoretical orientation and extensive practical instruction information you can put to work in any development or customization project. For animators, it provides crystal-clear guidance on determining which of your concepts can be realized using commercially available products, which demand custom programming, and what development strategies are likely to bring you the greatest success.



  • Expert instruction from a variety of pace-setting computer graphics researchers.
  • Provides in-depth coverage of established and emerging animation algorithms.
  • For readers who lack a strong scientific background, introduces the necessary concepts from mathematics, biology, and physics.
  • A variety of individual languages and substances are addressed, but addressed separately - enhancing your grasp of the field as a whole while providing you with the ability to identify and implement solutions by category.

Table of Contents

  1. Copyright
  2. Contributing Authors
  3. I. Introduction to Computer Animation
    1. 1. Introduction
      1. 1.1. Perception
      2. 1.2. The Heritage of Animation
        1. 1.2.1. Early Devices
        2. 1.2.2. The Early Days of Conventional Animation
        3. 1.2.3. Disney
        4. 1.2.4. Contributions of Others
        5. 1.2.5. Other Media for Animation
        6. 1.2.6. Principles of Animation
          1. 1.2.6.1. Simulating Physics
          2. 1.2.6.2. Designing Aesthetically Pleasing Actions
          3. 1.2.6.3. Effectively Presenting Action
          4. 1.2.6.4. Production Technique
        7. 1.2.7. Principles of Filmmaking
          1. 1.2.7.1. Three-Point Lighting
          2. 1.2.7.2. 180° Rule
          3. 1.2.7.3. Rule of Thirds
          4. 1.2.7.4. Types of Shots
          5. 1.2.7.5. Tilt
          6. 1.2.7.6. Framing
          7. 1.2.7.7. Focus the Viewer’s Attention
      3. 1.3. Animation Production
        1. 1.3.1. Sound
      4. 1.4. Computer Animation Production
        1. 1.4.1. Computer Animation Production Tasks
        2. 1.4.2. Digital Editing
          1. 1.4.2.1. In the Old Days…
          2. 1.4.2.2. Digital Online Nonlinear Editing
        3. 1.4.3. Digital Video
        4. 1.4.4. Digital Audio
          1. 1.4.4.1. Digital Musical Device Control
          2. 1.4.4.2. Digital Audio Sampling
      5. 1.5. A Brief History of Computer Animation
        1. 1.5.1. Early Activity (pre-1980)
        2. 1.5.2. The Middle Years (The 1980s)
        3. 1.5.3. Animation Comes of Age (The mid-1980s and beyond)
      6. 1.6. Chapter Summary
      7. References
    2. 2. Technical Background
      1. 2.1. Spaces and Transformations
        1. 2.1.1. The Display Pipeline
        2. 2.1.2. Homogeneous Coordinates and the Transformation Matrix
        3. 2.1.3. Compound Transformation: Concatenating Transformation Matrices
        4. 2.1.4. Basic Transformations
        5. 2.1.5. Representing an Arbitrary Orientation
          1. 2.1.5.1. Fixed-Angle Representation
        6. 2.1.6. Extracting Transformations from a Matrix
        7. 2.1.7. Description of Transformations in the Display Pipeline
          1. 2.1.7.1. Object Space to World Space Transformation
          2. 2.1.7.2. World Space to Eye Space Transformation
          3. 2.1.7.3. Perspective Matrix Multiply
          4. 2.1.7.4. Perspective Divide
          5. 2.1.7.5. Image to Screen Space Mapping
        8. 2.1.8. Error Considerations
          1. 2.1.8.1. Accumulated Round-Off Error
          2. 2.1.8.2. Orthonormalization
          3. 2.1.8.3. Considerations of Scale
      2. 2.2. Orientation Representation
        1. 2.2.1. Fixed-Angle Representation
        2. 2.2.2. Euler Angle Representation
        3. 2.2.3. Angle and Axis Representation
        4. 2.2.4. Quaternion Representation
          1. 2.2.4.1. Basic Quaternion Math
          2. 2.2.4.2. Representing Rotations Using Quaternions
          3. 2.2.4.3. Rotating Vectors Using Quaternions
        5. 2.2.5. Exponential Map Representation
      3. 2.3. Chapter Summary
      4. References
  4. II. Motion Capture Techniques
    1. 3. Motion Capture Primer
      1. 3.1. Motion Capture and Performance Animation
      2. 3.2. History of Performance Animation in the Entertainment Field
        1. 3.2.1. The Rotoscope
        2. 3.2.2. Brilliance
        3. 3.2.3. Pacific Data Images
          1. 3.2.3.1. The Jim Henson Hour
          2. 3.2.3.2. Exoskeleton
        4. 3.2.4. deGraf/Wahrman
        5. 3.2.5. Kleiser–Walczak Construction Company
        6. 3.2.6. Homer and Associates
          1. 3.2.6.1. Party Hardy
          2. 3.2.6.2. Steam
      3. 3.3. Types of Motion Capture
        1. 3.3.1. Optical Motion Capture Systems
          1. 3.3.1.1. Advantages of Optical Systems
          2. 3.3.1.2. Disadvantages of Optical Systems
        2. 3.3.2. Electromagnetic Trackers
          1. 3.3.2.1. Advantages of Magnetic Trackers
          2. 3.3.2.2. Disadvantages of Magnetic Trackers
        3. 3.3.3. Electromechanical Suits
          1. 3.3.3.1. Advantages of Electromechanical Body Suits
          2. 3.3.3.2. Disadvantages of Electromechanical Body Suits
        4. 3.3.4. Digital Armatures
          1. 3.3.4.1. Advantages of Digital Armatures
          2. 3.3.4.2. Disadvantages of Digital Armatures
        5. 3.3.5. Other Motion Capture Systems
          1. 3.3.5.1. The Waldo
          2. 3.3.5.2. Small Body Part Trackers
      4. 3.4. Applications of Motion Capture
        1. 3.4.1. Medicine
        2. 3.4.2. Sports
        3. 3.4.3. The Entertainment Industry
          1. 3.4.3.1. Video Games
          2. 3.4.3.2. Television
          3. 3.4.3.3. Feature Films
        4. 3.4.4. Law
    2. 4. The Motion Data
      1. 4.1. Motion Data Types and Formats
        1. 4.1.1. The Acclaim File Format
        2. 4.1.2. The .asf File
        3. 4.1.3. The .amc File
        4. 4.1.4. The .bva File Format
        5. 4.1.5. The .bvh File Format
        6. 4.1.6. The .trc File Format
        7. 4.1.7. The .htr File Format
      2. 4.2. Writing a Motion Capture Translator
  5. III. Animating Substances
    1. 5. Animating Facial Features
      1. 5.1. The Human Face
        1. 5.1.1. Anatomic Structure
        2. 5.1.2. The Facial Action Coding System (FACS)
      2. 5.2. Facial Models
        1. 5.2.1. Creating a Continuous Surface Model
        2. 5.2.2. Textures
      3. 5.3. Animating the Face
        1. 5.3.1. Parameterized Models
        2. 5.3.2. Blend Shapes
        3. 5.3.3. Muscle Models
        4. 5.3.4. Expressions
        5. 5.3.5. Summary
      4. 5.4. Lip-Sync Animation
        1. 5.4.1. Articulators of Speech
        2. 5.4.2. Phonemes
        3. 5.4.3. Coarticulation
        4. 5.4.4. Prosody
      5. 5.5. Chapter Summary
      6. References
    2. 6. Animating Solid Spaces
      1. 6.1. Animation Paths
      2. 6.2. Animating Solid Textures
        1. 6.2.1. Marble Forming
        2. 6.2.2. Marble Moving
        3. 6.2.3. Animating Solid-Textured Transparency
      3. 6.3. Animation of Gaseous Volumes
        1. 6.3.1. Helical Path Effects
          1. 6.3.1.1. Steam Rising from a Teacup
          2. 6.3.1.2. Fog Animation
          3. 6.3.1.3. Smoke Rising
      4. 6.4. Three-Dimensional Tables
        1. 6.4.1. Accessing the Table Entries
        2. 6.4.2. Functional Flow Field Tables
        3. 6.4.3. Functional Flow Field Functions
          1. 6.4.3.1. Attractors
          2. 6.4.3.2. Extensions of Spherical Attractors
          3. 6.4.3.3. Spiral Vortex Functions
        4. 6.4.4. Combinations of Functions
          1. 6.4.4.1. Wind Effects
          2. 6.4.4.2. Flow into a Hole in a Wall
      5. 6.5. Animating Hypertextures
        1. 6.5.1. Volumetric Marble Formation
      6. 6.6. Particle Systems: Another Procedural Animation Technique
      7. 6.7. Conclusion
      8. References
    3. 7. Animating Fluids and Gases
      1. 7.1. Specific Fluid Models
        1. 7.1.1. Models of Water
          1. 7.1.1.1. Still Waters and Small-Amplitude Waves
          2. 7.1.1.2. The Anatomy of Waves
          3. 7.1.1.3. Modeling Ocean Waves
          4. 7.1.1.4. Finding Its Way Downhill
          5. 7.1.1.5. Summary
        2. 7.1.2. Models of Clouds (by David Ebert)
          1. 7.1.2.1. Basic Cloud Types and Physics
          2. 7.1.2.2. Visual Characteristics of and Rendering Issues for Clouds
          3. 7.1.2.3. Early Approaches to Cloud Modeling
          4. 7.1.2.4. Volumetric Cloud Modeling
          5. 7.1.2.5. Example Volumetric Cloud Modeling System
          6. 7.1.2.6. Cumulus Clouds
          7. 7.1.2.7. Cirrus and Stratus Clouds
          8. 7.1.2.8. Animating Volumetric Procedural Clouds
          9. 7.1.2.9. Summary
        3. 7.1.3. Models of Fire
          1. 7.1.3.1. Procedurally Generated Image
          2. 7.1.3.2. Particle System Approach
          3. 7.1.3.3. Other Approaches
          4. 7.1.3.4. Summary
      2. 7.2. Computational Fluid Dynamics
        1. 7.2.1. General Approaches to Modeling Fluids
          1. 7.2.1.1. Grid-Based Method
          2. 7.2.1.2. Particle-Based Method
          3. 7.2.1.3. Hybrid Method
        2. 7.2.2. CFD Equations
          1. 7.2.2.1. Conservation of Mass
          2. 7.2.2.2. Conservation of Momentum
          3. 7.2.2.3. Solving the Equations
          4. 7.2.2.4. Stable Fluids
          5. 7.2.2.5. Density Update
          6. 7.2.2.6. The Velocity Update
          7. 7.2.2.7. The Simulation
      3. 7.3. Chapter Summary
      4. References
    4. 8. Animating Biology
      1. 8.1. Introduction
      2. 8.2. Animation and Film Perception
        1. 8.2.1. Seeing, in Brief
        2. 8.2.2. Seeing Motion and Animation
      3. 8.3. The Animator’s Workflow
        1. 8.3.1. Story: The Workflow’s Driving Force
      4. 8.4. The Three-Stage Workflow
        1. 8.4.1. Workflow Stage 1: Preproduction
          1. 8.4.1.1. The Animation’s “Look”
            1. 8.4.1.1.1. The Photorealistic Look
            2. 8.4.1.1.2. The Micrographic Look
            3. 8.4.1.1.3. Nonphotorealistic Looks
          2. 8.4.1.2. The Treatment and the Script
          3. 8.4.1.3. The Storyboard
          4. 8.4.1.4. The 2D Animatic
        2. 8.4.2. Workflow Stage 2: Production
          1. 8.4.2.1. The 3D Scene: Your Digital Stage
          2. 8.4.2.2. Geometry Modeling
          3. 8.4.2.3. Volumetric Modeling
          4. 8.4.2.4. Procedural Modeling
          5. 8.4.2.5. The Frame Rate
          6. 8.4.2.6. Animation
          7. 8.4.2.7. Dynamics
          8. 8.4.2.8. Lights
          9. 8.4.2.9. Cameras
          10. 8.4.2.10. Shading
          11. 8.4.2.11. Rendering
          12. 8.4.2.12. The 3D Animatic or Layout
        3. 8.4.3. Workflow Stage 3: Postproduction
        4. 8.4.4. Putting It All Together
      5. 8.5. Animation
      6. 8.6. Maya
        1. 8.6.1. Procedural versus Keyframe Animation
        2. 8.6.2. Keyframes and Memory
        3. 8.6.3. The Animation Menu Set
        4. 8.6.4. Setting Keys
        5. 8.6.5. Auto Keyframe
        6. 8.6.6. Graphing Animation
        7. 8.6.7. Deleting Keys
        8. 8.6.8. Time Units
        9. 8.6.9. Playback Settings
      7. 8.7. Tutorial 08.01: A Keyframe Animation
        1. 8.7.1. Preparation
        2. 8.7.2. Set the Keyframes
        3. 8.7.3. Play, Scrub, and Stop the Animation
        4. 8.7.4. Edit the Animation Curves
        5. 8.7.5. The Graph Editor Outliner
        6. 8.7.6. The Graph Editor Graph View
        7. 8.7.7. The Graph Editor Toolbar
        8. 8.7.8. Moving Keys
      8. 8.8. Animation Nodes in the Hypergraph and Attribute Editor
      9. 8.9. Tutorial 08.02: A Simple Procedural Animation
        1. 8.9.1. Animation Expressions in Brief
        2. 8.9.2. Create an Animation Expression
        3. 8.9.3. Animation Expression Nodes
      10. 8.10. Summary
      11. References
  6. IV. Other Methods
    1. 9. Point-Based Animation
      1. 9.1. Introduction
      2. 9.2. Meshless Finite Elements
        1. 9.2.1. Overview
        2. 9.2.2. Continuum Elasticity
        3. 9.2.3. Meshless Discretization
        4. 9.2.4. Moving Least Squares Interpolation
        5. 9.2.5. Updating Strains and Stresses
        6. 9.2.6. Computation of Forces via Strain Energy
        7. 9.2.7. Animation of Elastic Objects
        8. 9.2.8. Plasticity
        9. 9.2.9. Passive Surfel Advection
        10. 9.2.10. Conclusion
      3. 9.3. Animation of Fracturing Material
        1. 9.3.1. Overview
        2. 9.3.2. Historical Background
        3. 9.3.3. Modeling of Discontinuities
        4. 9.3.4. Surface Model
        5. 9.3.5. Crack Initiation and Propagation
        6. 9.3.6. Topology Control
        7. 9.3.7. Volumetric Sampling
        8. 9.3.8. Fracture Control
        9. 9.3.9. Simulation Pipeline
        10. 9.3.10. Conclusion
      4. 9.4. Fluid Simulation
        1. 9.4.1. Overview
        2. 9.4.2. Simulation Methods
        3. 9.4.3. Smoothed Particle Hydrodynamics
          1. 9.4.3.1. Approximations of Differential Operators in SPH
          2. 9.4.3.2. Stability
          3. 9.4.3.3. Fluid Simulation Using SPH
          4. 9.4.3.4. Algorithmic Summary
        4. 9.4.4. Surface Representation
        5. 9.4.5. Surface Tracking Using Point Samples
          1. 9.4.5.1. Surface Potentials
            1. 9.4.5.1.1. Guiding Potential
            2. 9.4.5.1.2. Smoothing Potential
            3. 9.4.5.1.3. Attracting Potential
            4. 9.4.5.1.4. Repulsion Potential
          2. 9.4.5.2. Topological Changes
        6. 9.4.6. Conclusion
      5. References
  7. V. Animating with MEL for MAYA
    1. 10. Maya Under the Hood
      1. 10.1. Why Look Under the Hood?
      2. 10.2. The Dependency Graph, Attributes, and Connections
      3. 10.3. Example 1: Using the Hypergraph to Explore the Dependency Graph
      4. 10.4. Transform Hierarchy and Parent/Child Relationships
      5. 10.5. Examining the Hierarchy
      6. 10.6. Transform and Shape Nodes
      7. 10.7. Example 2: Exploring Transform and Shape Nodes, Instancing, and History
      8. 10.8. Mel and Maya’s User Interface
      9. 10.9. What to Remember About How Maya Works Behind the Scenes
    2. 11. MEL Animation
      1. 11.1. Animation
        1. 11.1.1. Time
        2. 11.1.2. Playback
        3. 11.1.3. Animation Curves
          1. 11.1.3.1. Functions
          2. 11.1.3.2. Keyframing
          3. 11.1.3.3. Evaluation
          4. 11.1.3.4. Infinity
          5. 11.1.3.5. Keys
            1. 11.1.3.5.1. Creating
            2. 11.1.3.5.2. Editing
          6. 11.1.3.6. Breakdown Keys
          7. 11.1.3.7. Tangents
          8. 11.1.3.8. Key Clipboard
          9. 11.1.3.9. Examples
            1. 11.1.3.9.1. PrintAnim Script
            2. 11.1.3.9.2. PrintTangentPositions Script
        4. 11.1.4. Skeletons
          1. 11.1.4.1. Outputjoints Script
          2. 11.1.4.2. Scaleskeleton Script
          3. 11.1.4.3. Copyskeletonmotion Script
        5. 11.1.5. Motion Paths
    3. 12. Examples Using MEL with Solid Body Dynamics
      1. 12.1. Example 1: Particle Collisions
        1. 12.1.1. Create the Scene
        2. 12.1.2. Collide the Particles
        3. 12.1.3. Setting Controls for Collisions
        4. 12.1.4. Using Other Controls in geoConnector Node
        5. 12.1.5. Finish Scene Using MEL
      2. 12.2. Example 2: Collision Events
        1. 12.2.1. Overview
        2. 12.2.2. Add Emitter and Particles
        3. 12.2.3. Dynamic Relationships
        4. 12.2.4. Limit Number of Particles and Add Gravity
        5. 12.2.5. Add Other Collisions
        6. 12.2.6. Events
        7. 12.2.7. Expression for Buckets
        8. 12.2.8. Edit Settings to Fix Problems
        9. 12.2.9. Speed
      3. 12.3. Example 3: Collisions Between Objects in Solid Dynamics
        1. 12.3.1. Write Small Duplicate and Position Script
        2. 12.3.2. Common Mistakes in Assembling String Variables
        3. 12.3.3. Create Collision Box
        4. 12.3.4. Flip Normals on collisionBox
        5. 12.3.5. Active and Passive Rigid Bodies
        6. 12.3.6. Make Each Grid a Passive Collision Object
        7. 12.3.7. Turn On Collision Data Options
        8. 12.3.8. Change Color of Grids with Collisions
      4. 12.4. Example 4: Solid Dynamics and Particles
        1. 12.4.1. Create Interface Window for Aim Control Using MEL
        2. 12.4.2. Add New Window Control to Shelf
        3. 12.4.3. Convert Panel to Polygons and Break Up into Pieces
        4. 12.4.4. Add Dynamics and Expressions to Pieces
        5. 12.4.5. Create Full MEL Script
        6. 12.4.6. Load in Scene and Run Script
        7. 12.4.7. Pass a Float into panelBreakup
    4. 13. Examples Using MEL in Character Rigging
      1. 13.1. Example 1: Character Controls
        1. 13.1.1. Load Scene
        2. 13.1.2. Overview of Scene
        3. 13.1.3. Overview of mrBlah’s Controls
        4. 13.1.4. Locking Attributes
        5. 13.1.5. Arm Controls
        6. 13.1.6. Set Up mrBlah’s Backbone Controls
        7. 13.1.7. Create Sway Effect When Picking Up Feet
      2. 13.2. Example 2: Building a Character User Interface
        1. 13.2.1. Load Saved mrBlah Scene
        2. 13.2.2. Organize Controls for Users
        3. 13.2.3. Create mrBlahControls.mel
        4. 13.2.4. Create Sliders to Control spinCtrl Attributes
        5. 13.2.5. Create Layout for Window Controls
        6. 13.2.6. Test Window
        7. 13.2.7. Display Only What You Want User to See
        8. 13.2.8. Create Script Node for Window
        9. 13.2.9. Create Shelf Icon to Reopen Window When Closed
        10. 13.2.10. Full Text of mrBlahControls.mel
    5. 14. Setting Up Your Character
      1. 14.1. Setting Up a Character with Rotational Data
      2. 14.2. Setting Up a Character with Translational Data
        1. 14.2.1. Creating the Internal Skeleton
          1. 14.2.1.1. Center of Gravity
          2. 14.2.1.2. Vertebral Column
            1. 14.2.1.2.1. LUMBAR
            2. 14.2.1.2.2. THORAX
            3. 14.2.1.2.3. LONECK
            4. 14.2.1.2.4. UPNECK
            5. 14.2.1.2.5. HEAD
          3. 4.2.1.3. Torso
          4. 14.2.1.4. Shoulder and Arm
          5. 14.2.1.5. Leg and Foot
          6. 14.2.1.6. Orientation of the Bones
      3. 14.3. Tips and Tricks
        1. 14.3.1. Switching the Order of Rotations
        2. 14.3.2. Distribution of Rotations
          1. 14.3.2.1. About the Longitudinal Axis
          2. 14.3.2.2. With Shifting Pivot Point
        3. 14.3.3. Using Parametric Cubic Curves
        4. 14.3.4. Interpolation
          1. 14.3.4.1. Quaternions
        5. 14.3.5. Keyframe Reduction
        6. 14.3.6. Readaptation of Captured Data
    6. 15. The Basics of MEL Commands
      1. 15.1. Can I Use MEL Without Scripting?
      2. 15.2. Command Line and Command Feedback Line
      3. 15.3. Command Shell
      4. 15.4. Script Editor
      5. 15.5. Script Editor Versus Command Shell
      6. 15.6. Script Editor’s Messages as MEL Code
      7. 15.7. Making a Shelf Button for a MEL Script
      8. 15.8. Saving a MEL Script
      9. 15.9. Seductive Dangers of the Status Message Area
      10. 15.10. The whatIs Command
      11. 15.11. Basic Structure of MEL Commands
      12. 15.12. Where to Find Information About Maya and MEL on the Internet
        1. 15.12.1. Web Sites
        2. 15.12.1. Newsgroups
      13. 15.13. How to Use MEL Scripts Found on the Internet
      14. 15.14. What to Remember About How to Use MEL Without Writing Scripts