I think they use one of the first iterations of the Havok engine?
I know that in-game gravity in Source has always been tied to a value of '600' or '800', never tried what happens with higher values but the lower you go the floatier things get, that is, the slower they fall.
However objects don't seem to bounce so I assume the gravity is mostly tied to the Z-axis until the value gets so low that objects start to mainly move on the X- and Y-axes, depending on where the applied force is coming from.
I thought about picking up a crate and shooting it away with the gravity gun; so with gravity set to say... '100' it would fly in a direction it is shot and if given enough room would eventually slowly arc towards the floor, I don't think it would bounce anywhere.
Here's another however though. Depending on the force that the object is manipulated with it may bounce off walls and floors, this leads me to believe that the longer the object "flies" the more momentum it loses, thus the less it bounces when finally hitting something.
So to answer your questions:
How does gravity work in the Source engine?Gravity seems to work pretty on par with the real world gravity, save for the odd sizes in Source and a glitch every now and then.
Is it a simple acceleration formula down one axis?With prop_physics I'd say no; however there are entities that seem to just fall directly down the Z-axis when rendered in the engine.
How do models know how to orient themselves? Are they simply tied to an axis, which also happens to be the gravity axis, or are they tied to gravity itself?Well like I said it depends on the value of the in-engine gravity; with higher values the minus Z-axis pull gets stronger, with lower values it gets weaker, kinda like I'd expect the gravity to work in a real world situation
However, you can still manipulate how the object acts on the X- and Y-axes if the gravity or timescale is low enough.
I'd say they're tied to gravity itself?
https://developer.valvesoftware.com/wiki/Gravityhttps://developer.valvesoftware.com/wiki/Func_timescalehttps://developer.valvesoftware.com/wiki/SDK_Docs