<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Teravus,<BR>
<BR>
would it be possible to re-structure (no, this is not refactoring) the internals of the physics engines so you could change or re-load those parameters in real time? Or at least a sub-set of the parameters?<BR>
<BR>
Not knowing what efforts would have to go into that, it might have a short ROI from what I understand, especially since you state that the same ardous work has to be duplicated over various environments.<BR>
<BR>
It would also have the added bonus of us slowly inching towards a situation where we don't have to re-start the region for every environment change, something that has become more and more of a problem for us lately when testing and debugging applications.<BR>
<BR>Best regards,<BR>Stefan Andersson<BR>Tribal Media AB<BR> <BR>Join the 3d web revolution : <A href="http://tribalnet.se/" target=_blank>http://tribalnet.se/</A><BR> <BR><BR><BR><BR>
<HR id=stopSpelling>
<BR>
> Date: Tue, 7 Oct 2008 10:11:00 -0400<BR>> From: teravus@gmail.com<BR>> To: opensim-dev@lists.berlios.de<BR>> Subject: Re: [Opensim-dev] Update libode, or work towards better physics handling in this libode revision?<BR>> <BR>> No worries on the burden<BR>> <BR>> To answer the question on tests/calibration.. I guess the purpose is<BR>> to set the variety of settings (and there are a plurality of them) to<BR>> produce reasonable physics results while using the least resources<BR>> possible in doing so. It might be easy to configure in double<BR>> floating point mode, but we'd use twice to three times the CPU to<BR>> accomplish that. Usually what I do is get it in a usable state with<BR>> high resource usage and scale the resource usage back until a balance<BR>> is acchieved. This usually requires a lot of trial and error,<BR>> additionally, in the past, it has required the same process for each<BR>> platform (win/*nix/mac).<BR>> <BR>> The first thing that I do is get collisions stable. Avatar shouldn't<BR>> fall through the ground or shoot millions of meters into the air when<BR>> they log-in.<BR>> <BR>> Next, I tune the avatar PID controller so it moves the avatar's<BR>> physics proxy effectively. (un-tuned, you might see a result where<BR>> pressing a button causes you to go in the direction you want but with<BR>> a slow, curving direction change from from what seems like some random<BR>> direction)<BR>> <BR>> After that, I find the best balance of frame frequency, collision<BR>> testing, contacts and contact friction.. and CPU usage while<BR>> testing against a very thin object in multiple directions. (tests to<BR>> ensure that I don't pass through a thin object at reasonable<BR>> velocities).<BR>> <BR>> After that, I usually patch the libode library with some fixes that<BR>> apply to our use case. In the past, superfluous asserts in the<BR>> library have caused random crashes. (Yes, I've tried to beat it over<BR>> the head of the ode developers and they insist on having them). Also,<BR>> in the past, the heightfield collider needed a few patches to work<BR>> properly. Without the patches, the ode library is very unstable.<BR>> <BR>> After that, I usually work on more fine grained details, like llMove2Target.<BR>> <BR>> This process needs to be done for windows platforms and usually also<BR>> has to be done for *nix platforms. Furthermore, Mac platforms often<BR>> need a few small tweaks after that, but most of the *nix platform<BR>> settings apply.<BR>> <BR>> This is a relatively long process of starting the simulator, fixing<BR>> something, stopping it.. starting it over again.. tweaking<BR>> something, stopping it.. over and over until it's right. There's<BR>> some math involved in finding what fps/collision detection settings<BR>> /could possibly/ be good, but a lot of it is just, trial and error.<BR>> <BR>> Best Regards<BR>> <BR>> Teravus<BR>> <BR>> <BR>> On 10/7/08, Dr Scofield <DrScofield@xyzzyxyzzy.net> wrote:<BR>> > Teravus Ovares wrote:<BR>> > > ok, so far, 2 for update, 0 for current lib.<BR>> ><BR>> > +1 for update --- but i'm kind of feeling bad saying that because that places a<BR>> > tremendous burden on you...<BR>> ><BR>> > --<BR>> > dr dirk husemann ---- virtual worlds research ---- ibm zurich research lab<BR>> > SL: dr scofield ---- drscofield@xyzzyxyzzy.net ---- http://xyzzyxyzzy.net/<BR>> > RL: hud@zurich.ibm.com - +41 44 724 8573 - http://www.zurich.ibm.com/~hud/<BR>> > _______________________________________________<BR>> > Opensim-dev mailing list<BR>> > Opensim-dev@lists.berlios.de<BR>> > https://lists.berlios.de/mailman/listinfo/opensim-dev<BR>> ><BR>> _______________________________________________<BR>> Opensim-dev mailing list<BR>> Opensim-dev@lists.berlios.de<BR>> https://lists.berlios.de/mailman/listinfo/opensim-dev<BR><BR></body>
</html>