[vos-d] Physics Braindump
Peter Amstutz
tetron at interreality.org
Tue Feb 27 17:18:14 EST 2007
On Tue, Feb 27, 2007 at 10:14:51PM +0100, Benjamin Mesing wrote:
> On Tue, 2007-02-27 at 11:03 -0500, Peter Amstutz wrote:
> > On Tue, Feb 27, 2007 at 09:03:44AM -0500, Reed Hedges wrote:
> >
> > > Each object should be internally responsible for deciding how it
> > > responds to physical forces (messages requesting movement), I think.
> > > This would be ideal, at least. It allows you to distribute physics
> > > computation load by just distributing objects on different sites
> > > (servers). Will this work? Will it work when an object a on Site A
> > > is moved, detects its collision with object b on site B, sends it a
> > > force message, etc.?
> >
> > There's two problems with that: [..] the second is basic
> > Newtonian physics, that for each action there is an opposite reaction,
> > so if I push on a box, the box also "pushes back"
>
> I do not see the problem here. Reed was saying, that the object should
> decide how it *responds* to force. If e.g. a humanoid object wants to
> push a box, it sends a force message to itself and the object.
The problem is network lag between when I start to push on the box and
it actually responds. Is a "force" message an instantaneous impulse, or
a force vector applied over time? If it's an instantaneous impulse then
I'm going to bump objects along rather than pushing them smoothly, but
if it's applied over time, then you might find that lag has caused you
to push that box right over a cliff.
What *might* work is publishing the position, velocity and mass of each
object and doing full collision detection and resolution on each site,
but only actually committing changes to local objects. So rather than
telling the box, "I'm applying force to you", you tell the other
simulator "I weigh 100 kilos and am traveling at 3 m/s" and it figures
out that the box that's in your path should be pushed out of the way.
Unfortunately this doesn't distribute the actual physics simulation load
much, since every site that wants to host dynamic objects are required
to effectively replicate the entire simulation -- although spatial
partitioning can limit the scope of each simulation.
--
[ Peter Amstutz ][ tetron at interreality.org ][ peter.amstutz at gdit.com ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey: pgpkeys.mit.edu 18C21DF7 ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.interreality.org/pipermail/vos-d/attachments/20070227/03910ac5/attachment.pgp
More information about the vos-d
mailing list