[opensource-dev] client-side physics and general relativity

Dzonatas Sol dzonatas at gmail.com
Fri Apr 16 14:09:58 PDT 2010


This thread isn't about a mere box as you suggest. There thread is about 
how to take physics beyond that and allow the client to do part of the 
simulation, given a single use-case.

Tigro Spottystripes wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> currently attachments don't bump on anything, and animations do not
> affect what the avatar collides with, avatars got a static bounding box
> and that is it
>
> On 16/4/2010 10:45, Dzonatas Sol wrote:
>   
>> That's true for the case of non-static objects. We could, however, 
>> predict how fast an object changes and negotiate that limit, and that's 
>> basically what there is to agree upon for what is relative.
>>
>> For example, let's  say an avatar moves around a sim of mostly static 
>> objects. It can do most of the work for client-side physics, so those 
>> updates are lowered traffic. When the avatar touches a non-static 
>> object, it could just send a signal to the sim that it touched the 
>> object. The sim then decides if it needs to send an update back to the 
>> client. If the object acts like a static object even if it is set 
>> non-static, then no update is needed from sim to client.
>>
>> Another example, lets say the avatar has lots of animated attachments. 
>> The avatar also moves around a sim of mostly static object, but the 
>> attachments are obvious non-static since they animate. Since the 
>> attachments are all within the avatar's relative space, the client-side 
>> physics can handle all the motion of the attachments. The sim may not 
>> need to know anything about the attachments unless they bump into 
>> something non-static.
>>
>> Soft body physics in mind...
>>
>>
>> Tateru Nino wrote:
>>     
>>> Hmm. However, with virtual objects the physical properties aren't fixed.
>>> Unlike regular matter, the physical properties of an SL object can
>>> change at any time. In fact - and I grant I only have anecdotal
>>> information to support this - I think it is less likely for an object's
>>> physical properties to remain constant than it is for them to change.
>>>
>>> On 16/04/2010 2:57 PM, Dzonatas Sol wrote:
>>>   
>>>       
>>>> I want to share a use-case/concept for physic simulation where the 
>>>> client and sever wouldn't have to send object updates, or at least there 
>>>> wouldn't be as many updates needed to send from the sim to the client.
>>>>
>>>> Given we can use general relativity more as a mutual agreement rather 
>>>> than assume it is the only way reality changes; we could further expend 
>>>> such mutual agreement between a server and client as they simulate 
>>>> physics. Now don't expect FTL changes for this, yet we can use the same 
>>>> analogy and define a limit. Let's use one that LL has already defined as 
>>>> max velocity an object moves through a sim.
>>>>
>>>> Now, let's say we have two objects. Object (A) is within 10m to an 
>>>> avatar. Another object (B) is 50m away for that avatar. Now, since 
>>>> object (A) is within a distance an object can move within a second of 
>>>> max velocity, the client can be given rights to simulate object (A), and 
>>>> the simulator wouldn't send any updates to the client if the client does 
>>>> such. Since object (B) is outside the distance of an object can move 
>>>> within a second at max velocity, the simulator would continue to send 
>>>> updates to the client about object (b) only if in view (as it does now).
>>>>
>>>> If object (A) and object (B) are static, as in they never move, then the 
>>>> client would fully control its position within that relative second of 
>>>> space and all physics. If the avatar bounces off the static object, the 
>>>> client doesn't need to send updates to the sim unless the object needs 
>>>> to know if it was touched.
>>>>
>>>> If the objects aren't static or if there are more avatars, then there 
>>>> are several negotiation and scenarios that could happen, yet let's not 
>>>> digress immediately away from the basic use-case/concept stated above.
>>>>
>>>> Bottomline, this should be negotiable. The sim may not allow it at all 
>>>> if if the sim needs full physics control. The avatar may want to only be 
>>>> in sims that don't take full control of physics. If the client simulates 
>>>> some objects then the sim is expect to simulate the same objects. The 
>>>> two simulations should be basically in sync, yet accuracy of being in 
>>>> sync should be negotiable also.
>>>>
>>>> Relative second of space can be quickly calculated, for example, ( max 
>>>> diameter of avatar + 1 second distance of max velocity ) * 3.333...  
>>>> (basically like pi r squared)
>>>>
>>>> =)
>>>>
>>>>
>>>> _______________________________________________
>>>> Policies and (un)subscribe information available here:
>>>> http://wiki.secondlife.com/wiki/OpenSource-Dev
>>>> Please read the policies before posting to keep unmoderated posting privileges
>>>>
>>>>   
>>>>     
>>>>         
>>>   
>>>       
>> _______________________________________________
>> Policies and (un)subscribe information available here:
>> http://wiki.secondlife.com/wiki/OpenSource-Dev
>> Please read the policies before posting to keep unmoderated posting privileges
>>
>>     
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.12 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkvIzFQACgkQ8ZFfSrFHsmUmAQCfXphZ/Dp7U0x6rQGMT3IQrq/U
> hngAn1zDWr/DlqH/v94I/2UIPjbTBbzU
> =prc1
> -----END PGP SIGNATURE-----
> _______________________________________________
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/OpenSource-Dev
> Please read the policies before posting to keep unmoderated posting privileges
>
>   



More information about the opensource-dev mailing list