Implementing physical simulations for real-time games is a complex task that requires a solid understanding of a wide range of concepts from the fields of mathematics, physics, and software engineering. This book is a gems-like collection of practical articles in the area of game physics. Each provides hands-on detail that can be used in practical applications.
The chapters cover topics such as collision detection, particle-based simulations, constraint solving, and soft-body simulation. An introductory section provides the mathematical foundations and offers some background for the problems inherent in successful physics simulation. The contributors write based on their experience in developing tools and runtime libraries either in game companies or middleware houses that produce physics software for games on PCs and consoles.
GAME PHYSICS 101
Mathematical Background
Introduction
Vectors and Points
Lines and Planes
Matrices and Transformations
Quaternions
Rigid-Body Dynamics
Numerical Integration
Further Reading
Understanding Game Physics Artifacts
Introduction
Discretizalion and Linearization
Time Stepping and the Well of Despair
The Curse of Rotations
Solver
Collision Detection
Joints
Direct Animation
Artifact Reference
COLLISION DETECTION
Broad Phase and Constraint Optimization for PlayStation 3
Introduction
Overview of CellBE
Optimization of the Broad Phase
Optimization of the Constraint Solver
Conclusion
SAT in Narrow Phase and Contact-Manifold Generation
Introduction
Contact Manifold
Physics Engine Pipeline
SAT Basics
Intuitive Gauss Map
Computing Full Contact Manifolds
SAT Optimizations
Smooth Mesh Contacts with GJK
Introduction
Configuration Space
Support Mappings
Overview of GJK
Johnson’s Algorithm
Continuous Collision Detection
Contacts
Conclusion
PARTICLES
Optimized SPH
Introduction
The SPH Equations
An Algorithm for SPH Simulation
The Choice of Data Structure
Collapsing the SPH Algorithm
Stability and Behavior
Performance
Conclusion
Appendix: Scaling the Pressure Force
Parallelizing Particle-Based Simulation on Multiple Processors
Introduction
Dividing Computation
Data Management without Duplication
Choosing an Acceleration Structure
Data Transfer Using Grids
Results
Conclusion
CONSTRAINT SOLVING
Ropes as Constraints
Introduction
Free-Hanging Ropes
Strained Ropes
Quaternion-Based Constraints
Introduction
Notation and Definitions
The Problem
Constraint Definitions
Matrix-Based Quaternion Algebra
A New Tale on Quaternion-Based Constraints
Why It Works
More General Frames
Limits and Drivers
Examples
Conclusion
SOFT BODY
Soft Bodies Using Finite Elements
Introduction
Continuum Mechanics
Linear FEM
Solving the Linear System
Surface-Mesh Update
Particle-Based Simulation Using Verlet Integration
Introduction
Techniques for Numerical Integration
Using Relaxation to Solve Systems of Equations
Rigid Bodies
Articulated Bodies
Miscellaneous
Conclusion
Keep Yer Shirt On
Introduction
Stable Real-Time Cloth
Modeling Real Fabrics
Performance
Order of Cloth Update Stages
Conclusion, Results, and Future
SKINNING
Layered Skin Simulation
Introduction
Layered Deformation Architecture
Smooth Skinning
Anatomical Collisions
Relaxalion
Jiggle
Conclusion
Dynamic Secondary Skin Deformations
Introduction
The Interaction Model
Neighborhood Interaction
Volumetric Effects
Final Remarks
Index
A Bibliography appears at the end of each chapter.
Biography
Gino van den Bergen is an experienced 3D graphics and geometry developer working at DTECTA, which offers middleware for collision detection and custom 3D software development. He has over 15 years of experience programming 3D applications in C++ and 5 years of programming experience in the game industry. He earned a Ph.D. in computing science from Eindhoven University of Technology.
Dirk Gregorius is a contractor for game studios, middleware vendors, and publishers. He has extensive experience in the computer game industry, having worked at Havok and Factor 5, where he was responsible for cloth and rigid body physics.
A fine, technical guide for any computer programmer or gamer interested in knowing more about the physics behind sports and games.
—The Midwest Book Review, February 2012