[Opensim-dev] clients, agents, avatars, ODE

Stefan Andersson stefan at tribalmedia.se
Thu Sep 20 04:23:55 UTC 2007


Of course that sounds reasonable, I was just reflecting over the fact that PhysicalScene.AddAvatar( pos ) creates a _new_ physActor everytime; but PhysicalScene.RemoveAvatar( physActor ) just detaches it.
 
On one hand, I don't think you have to 'know the inner works' but on the other hand, you shouldn't be afraid to 'follow the code' and muck about in the core;
 
we will have very slap-on physics if you don't, which would be bad. The Physics interaction and wireup is one of the big white spots on the chart, and a very important such.
 
But in the end, you do what you think is fun/worthwile. :-D
 
/Stefan



> Date: Wed, 19 Sep 2007 15:17:38 -0700> From: danbmil99 at yahoo.com> To: opensim-dev at lists.berlios.de> Subject: Re: [Opensim-dev] clients, agents, avatars, ODE> > from my narrow POV as physics guy, what should happen is this:> > when a client *really* enters a region, thru logon or across a border,> AddAvatar() should be called, so the avatar can interact with the> environment (walk on terrain, bump into prims/other avs...)> > when the client leaves the region, RemoveAvatar() is called to remove it> from the physics for that region.> > How the code got into the state it's in, I have no idea. Some of this was> inherited from pre-sugilite days, when things were mighty different.> > I'm willing to get into the logistics of the rest of the codebase to some> degree, but frankly I think my energies are better spent staying focused on> physics issues. While not ideal, the physics engine plugin API is a> reasonable first pass, and is a good point of interaction between physics> and the rest of the project.> > What I think might be helpful would be for me to add debug messages along> the lines of:> > [PHYSICS] AddAvatar called; avatar count for this scene is now X> [PHYSICS] RemoveAvatar called; avatar count for this scene is now X> > or something along those lines. Then you geniuses can mull over the code> and mangle it into something that makes sense from the physics angle.> > Does this sound reasonable?> > -dan> > > --- Stefan Andersson <stefan at tribalmedia.se> wrote:> > > I guess you noticed by now, but I have done extensive restructuring in> > these areas yesterday and today; still, I suspect there is something odd> > (from looking at the code) with the chain of events. Also, we're> > re-creating physActors everytime we move into a region, but we just detach> > it from the physScene, we don't explicitly destroy (close) the old one> > when we leave; which I would suspect a native-wrapper would very much like> > us to.> > > > /Stefan> > > > > > > > > Date: Tue, 18 Sep 2007 23:00:53 -0700> From: danbmil99 at yahoo.com> To:> > opensim-dev at lists.berlios.de> Subject: Re: [Opensim-dev] clients, agents,> > avatars, ODE> > followup to chat with lbsa71:> > in ClientView.cs, we> > have:> > this.m_scene.AddNewClient(this, false);> > so it's always passing> > child=false. But InitNewClient is called by> AuthUser, which is spawned as> > a thread by ClientView, and... climbing up the> stack of calls, we get> > OnReceivedData creating a new client thread when it> gets a> > UseCircuitCode. This seems to happen once for each region, and I> have no> > idea how to tell what is a child and what is the 'real' client, to>> > hopefully pass it down the call stack or something of that nature.> >> > -dan> > > _______________________________________________> Opensim-dev> > mailing list> Opensim-dev at lists.berlios.de>> https://lists.berlios.de/mailman/listinfo/opensim-dev> > _______________________________________________> Opensim-dev mailing list> Opensim-dev at lists.berlios.de> https://lists.berlios.de/mailman/listinfo/opensim-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20070920/a9c759ba/attachment-0001.html>


More information about the Opensim-dev mailing list