Difference between revisions of "LlSetCameraEyeOffset"

From Second Life Wiki
Jump to navigation Jump to search
m
(How to Undo)
Line 10: Line 10:
* 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.
* 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 {{LSLP|offset}} is [[Viewer_coordinate_frames#Local|locally relative]] to the object, if you want it relative to the seated [[Viewer_coordinate_frames#Agent|avatar]] (which likely has a custom sit rotation and offset) or the [[Viewer_coordinate_frames#Region|region]], you must do the computation yourself.
* The {{LSLP|offset}} is [[Viewer_coordinate_frames#Local|locally relative]] to the object, if you want it relative to the seated [[Viewer_coordinate_frames#Agent|avatar]] (which likely has a custom sit rotation and offset) or the [[Viewer_coordinate_frames#Region|region]], you must do the computation yourself.
* ZERO_VECTOR offset will cancel any eye offset.
|constants
|constants
|examples=<lsl>// Sit the avatar looking at an arbitrary direction
|examples=<lsl>// Sit the avatar looking at an arbitrary direction

Revision as of 07:56, 4 October 2012

Summary

Function: llSetCameraEyeOffset( vector offset );
0.0 Forced Delay
10.0 Energy

Sets the camera eye offset for avatars that sit on the object.

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

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

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.
  • ZERO_VECTOR offset will cancel any eye offset.

Examples

<lsl>// Sit the 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

Signature

function void llSetCameraEyeOffset( vector offset );