On Fri, 2006-03-31 at 18:19 -0800, Jay Stelly wrote:
> So reconciliation could mean that the vphysics data is copied over to
> the game - which means the original game simulation is replaced with the
> physics simulation.  It could also mean that the vphysics data is thrown
> away, or blended into the result.  It's much more correct to say that
> the players are always simulated in game code AND vphysics code.  Then
> the results are selected or blended based on heuristics.  Gravity runs
> in both simulations - the output position of the game physics provides
> the input direction for the vphysics simulator.

Perhaps I should have clarified.  As I see it, the CGameMovement code
computes an end position, given a start position, and feeds that target
into the VPhysics system.  The VPhysics system then does its best to
reach that target.  The difference between the VPhysics position and the
CGameMovement position is then heuristically reconciled.

> The shadow is updated once, but the resulting output target is reached
> over some amount of future ticks.

That's what I meant; perhaps I should have said that explicitly.

> Player and shadow controllers are nearly identical.  The idea is to
> solve an overdetermined system for impulses that will cause the physics
> object to arrive at the target position & orientation at some point in
> the future (usually the beginning of the next tick).  Vehicle
> controllers include a vehicle suspension, steering, and engine model -
> and are generally forward controllers (you give them input and they
> generate physics, they don't solve for impulses).
>
> Motion controllers are just generic hooks to let you introduce your own
> impulses to the object at the time that it is integrated.  You implement
> IMotionEvent and add velocity to the object to "steer" it.  A shadow
> controller is a motion controller with some specific behavior that
> chases targets.

Those two paragraphs are worth their weight in gold.  Thanks Jay :)

John Sheu


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to