1 / 13

Optimizing Collision Detection in 3D Game Physics Using Spatial Partitioning Techniques

This guide explores advanced techniques for collision detection in three-dimensional game physics, focusing on optimizing interactions between moving objects and a stationary environment. It details the use of recursive dimensional clustering, bounding volumes, and spatial partitioning methods such as quad/oct-trees and BSP trees. Furthermore, the document discusses various object models, including spheres, boxes, and planes, and provides insights into kinematics and dynamics, helping developers efficiently calculate the time and location of collisions.

haamid
Télécharger la présentation

Optimizing Collision Detection in 3D Game Physics Using Spatial Partitioning Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EECE 478 Game Physics

  2. Collision Detection Object/Environment Object/Object Optimization Recursive dimensional clustering Chap. 8 Math for 3D… Dynamic Simulation Eqns of motion Differential eqns Projectiles Friction Rotational forces Chap. 10&11 Game Physics

  3. Collision Detection Determine time and location of collisions, given: • Moving objects • Stationary environment

  4. Object Models Objects are collections of primitives • Spheres • Boxes • Planes Objects are articulated and hierarchical • Nested bounding volumes • Transform chains

  5. Environment Model Terrain and static elements • 2D+ spatial organization • Only small changes Therefore: • Can preprocess for optimization • Use quad/oct-trees or BSP trees • Object volumes compared to tree to determine possible collisions

  6. Object/EnvironmentCollisions • Use spatial partitioning to simplify • Identify possible collisions of dynamic object with static environment • Dynamic sphere vs. static plane • Dynamic box vs. static plane

  7. Sphere vs plane Plane = any surface with constant normal • Move plane by r and intersect w/point

  8. Box vs plane Determine effective radius reff of box • Box defined by vectors R, S and T

  9. Object vs Object Two moving objects with V1 and V2 • Stationary object • Moving object with V = V1-V2 • Only need moving + stationary

  10. Sphere vs Sphere Two spheres (P1,r1,V1) and (P2,r2,V2) • Find t where |P1(t)-P2(t)|= r1+ r2

  11. Rigid Body Motion Math for 3D Game Programming Chap. 10 & 11 Game Programming Gems Chap. 2.2

  12. Kinematics: T and R Kinematics models the motion of objects Objects have • Center of massrcm • Principle axesR0, R1, R2 • Velocityv = dr/dt • Acceleration a= dv/dt • Angular velocity  = d/dt

  13. Dynamics: F and A Dynamics models the actions created by application of forces • Momentum p = mv • Force Fnet = m(dv/dt) • Angular momentumL = r  p • Torque Nnet = r  dp/dt

More Related