Talk:LlSetCameraParams

From Second Life Wiki
Jump to navigation Jump to search

Params not setting

I am finding that params are not setting if the last controls used before sitting on the scripted object were the camera controls (LL 1.23) although they set as expected if the movement controls were the last touched before sitting. Is this a caveat or am I missing something? Here are the settings that produce the results. <lsl>run_time_permissions(integer perm) {

   if(perm & PERMISSION_CONTROL_CAMERA) // This is returning TRUE
   {
       llClearCameraParams();
       llSetCameraParams([CAMERA_ACTIVE, TRUE,
                          CAMERA_FOCUS, pos + <8.0,4.0,-6.0>,
                          CAMERA_FOCUS_LOCKED, TRUE,
                          CAMERA_POSITION, pos - <8.0,4.0,1.0>,
                          CAMERA_POSITION_LOCKED, TRUE]);
   }

}</lsl> -- Fred Gandt (talk|contribs) 18:10, 27 April 2010 (UTC)

The scripted camera only overrides the default camera mode, not user mode. I suspect it's intentional (otherwise you could have the script pound on the camera controls to keep the user from looking elsewhere). Try using sit cam first, I think they can steal from user, then use follow cam. -- Strife (talk|contribs) 05:24, 29 April 2010 (UTC)
Hmm. So would we call that a caveat Strife? I'm not sure what you mean by a "sit cam". I tried llForceMouselook but it wasn't overriden by llSetCameraParams so, that was a washout. It does make sense I suppose that we should be able to manually override set params but it would be nice if I could force them to set for the user without a stipulation that they must use their movement controls for the params to take effect. I'll add this as a caveat for now. See what you think? -- Fred Gandt (talk|contribs) 14:52, 29 April 2010 (UTC)
The thing is I remember when they added the llSetCameraParams, the project was called FollowCam. The old camera functions were for vehicles and locked it to a fixed local position, so I call them Sit Cam. Maybe Rigid Cam is a better name. The two functions are llSetCameraAtOffset & llSetCameraEyeOffset.
Now that I really look at the article it is pretty spartan; there is a bunch of missing information. I'll put it on my todo list. -- Strife (talk|contribs) 04:31, 30 April 2010 (UTC)
Before HUDs (and FollowCam) people would use llSetCameraAtOffset & llSetCameraEyeOffset for game terminals. You would sit down and it would put the camera in a position where there was a very tiny display just in front of it. An inworld HUD. I should probably contribute to the HUD article as well, there is some good info rattling around my brain that should be placed in Deep Notes.-- Strife (talk|contribs) 04:35, 30 April 2010 (UTC)