[sldev] Request for help with modifying client camera behavior
kelly at lindenlab.com
Fri Aug 29 08:53:37 PDT 2008
Argent Stonecutter wrote:
> On 2008-08-28, at 06:41, Tofu Linden wrote:
>> That's actually a server-side issue (the camera ray collision is mostly
>> handled by the physics engine). It's recently been fixed internally,
>> though I'm fuzzy on when it will roll-out.
> I have often wondered why SL does that ... keeping the camera on the
> same side as "big enough" prims ... instead of doing what many other
> games do and leaving the camera free to move but hiding the objects
> that would obscure the avatar.
I've seen games that do both. Most games that come to my mind that hide
objects between the camera and the avatar are isometric top down games
where there isn't a whole lot of camera freedom. Most first or third
person games I'm familiar with move the camera. I am admittedly not
familiar with a whole lot of games at this point (I was at one point, I
SL's camera system is really not great and makes indoor spaces usually
unpleasant (unless they are really large indoor spaces). I would be
very interested in seeing a test implementation that hid the objects as
you describe. The server side part of camera collision is handled by
the server telling the viewer a plane that it should stay in front of.
llviewermessage.cpp, process_camera_constraint around line 3657 is where
the viewer receives that message. Simply commenting out the
gAgent.setCameraCollidePlane call should be enough to disable the server
side hint completely.
More information about the SLDev