Computer Game Design and Development Mathematics, Collision, and Physics Havok Destruction
Overlap Bisection
Limitations of Overlap Testing
Intersection Testing
Collision Approximations Minkowski Sum – sweep origin of X across Y
Bounding Volumes AABBOBB
Performance Possible collision between R and B since overlap in all axis (2 in this case) Subdivide such that on average one object in each cell.
Terrain Collision Heightmap information Look up terrain height 3 LERPs – Linear Interpretation between points – X – Z – Between x and z
Resolving Collision Gross collision & subdivide if needed Three phases – Prologue – ignore or trigger other events – Collision – point of impact, new velocities – Epilogue – destroy object, effects, damage
Particle Physics Basics Use consistent units (SI) Particles – Position (p) in 3-space, vector3 (x,y,z) = p(t) – Velocity (v) = change in position over time, V(t) – Acceleration (a) = change in velocity over time, a(t) – Force (f) = results in change in acceleration over time, F(t) = ma(t) Calculus – Derivatives and integrals go from one to another
Collision Response (frictionless)
Springs & Damping
Friction
Center of Mass
Rigid Body Collision Center of Mass Consideration
Physics Engines Commercial – Game Dynamics SDK (Havok) – Renderware Physcis – NovodeX SDK Free/Shareware – Open Dynamics Engine (ODE) – Tokamak Game Physics SDK – Newton Game Dynamics SDK
Demo