VPhysics: Difference between revisions
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
'''VPhysics''' is Source's built-in 3D physics simulation engine. VPhysics objects move and collide believably thanks to the system's simulation of [[Wikipedia:Mass|mass]], [[Wikipedia:Gravitation|gravity]], [[Wikipedia:Friction|friction]], [[Wikipedia:Drag (physics)|air resistance]], [[Wikipedia:Inertia|inertia]] and [[Wikipedia:Buoyancy|buoyancy]]. | '''VPhysics''' is Source's built-in 3D physics simulation engine. VPhysics objects move and collide believably thanks to the system's simulation of [[Wikipedia:Mass|mass]], [[Wikipedia:Gravitation|gravity]], [[Wikipedia:Friction|friction]], [[Wikipedia:Drag (physics)|air resistance]], [[Wikipedia:Inertia|inertia]] and [[Wikipedia:Buoyancy|buoyancy]]. | ||
VPhysics was | VPhysics was originally created by modifying the commercial [[Wikipedia:Havok (software)|Havok 1 and 2 physics engines]]. | ||
== Collision models == | == Collision models == |
Revision as of 19:53, 13 January 2010
VPhysics is Source's built-in 3D physics simulation engine. VPhysics objects move and collide believably thanks to the system's simulation of mass, gravity, friction, air resistance, inertia and buoyancy.
VPhysics was originally created by modifying the commercial Havok 1 and 2 physics engines.
Collision models

VPhysics objects ("collision models") are invisible, because in order for the simulation to be efficient they must be extremely simple. The visible part of an entity will obviously be a close match to the shape of the VPhysics object, but it is entirely ignored by the simulator.
Collision models are typically loaded from a collision mesh embedded inside an entity's assigned model, but they can also generated from, for instance, a bounding box.

vcollide_wireframe 1
.QPhysics
VPhysics co-exists with QPhysics (a retroactive name - it's only ever referred to in the codebase as "game physics"), an older and far less sophisticated simulator that Source inherits from Quake. QPhysics is still used for players and walking NPCs because full VPhysics would lead to situations too complex for either AI or players to handle. Vehicles and flying NPCs do use VPhysics, however.
QPhysics entities are given a VPhysics "shadow" that allows them to interact with VPhysics entities in a limited way.