Difference between revisions of "LlSetCameraAtOffset"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{LSL Function/position|offset|local=*}}
|func_id=244|func_sleep=0.0|func_energy=10.0
|func_id=244|func_sleep=0.0|func_energy=10.0
|func=llSetCameraAtOffset
|func=llSetCameraAtOffset
|p1_type=vector|p1_name=offset|p1_desc=offset relative to the object's center and expressed in [[Viewer_coordinate_frames#Local|local coordinates]]
|p1_type=vector|p1_name=offset
|func_desc=Sets the point the camera is looking at to '''offset''' for avatars that sit on the object.
|func_desc=Sets the point the camera is looking at to '''offset''' for avatars that sit on the object.
|func_footnote=This is the point the camera looks at, not the [[llSetCameraEyeOffset|position of the camera's eye]].
|func_footnote=This is the point the camera looks at, not the [[llSetCameraEyeOffset|position of the camera's eye]].

Revision as of 10:34, 15 May 2012

Summary

Function: llSetCameraAtOffset( vector offset );

Sets the point the camera is looking at to offset for avatars that sit on the object.

• vector offset offset relative to the prim's position and expressed in local coordinates

This is the point the camera looks at, not the position of the camera's eye.

Caveats

  • Setting this will not update the cameras of seated avatars, it will only effect avatars that subsequently sit down. The camera settings have to be prepared in advance.
  • The offset is locally relative to the object, if you want it relative to the seated avatar (which likely has a custom sit rotation and offset) or the region, you must do the computation yourself.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>// Set the seated avatar looking at an arbitrary direction // Look over the avatar's shoulders from behind once it sits down

back_view(float degrees) {

    rotation sitRot = llAxisAngle2Rot(<0, 0, 1>, degrees * DEG_TO_RAD);
   
    llSitTarget(<0, 0, 0.1>, sitRot);
       
    llSetCameraEyeOffset(<-2, 0, 1> * sitRot);
    llSetCameraAtOffset(<2, 0, 1> * sitRot);

}

default {

   state_entry()
   {
       back_view( 208 );
       llSay(0, "Please sit down");
   }
}</lsl>

See Also

Deep Notes

Search JIRA for related Issues

Signature

function void llSetCameraAtOffset( vector offset );