Difference between revisions of "LlSetCameraEyeOffset"

From Second Life Wiki
Jump to navigation Jump to search
m
(Reverting the part I estimate wrong)
Line 3: Line 3:
|func=llSetCameraEyeOffset|p1_type=vector|p1_name=offset|p1_desc=offset relative to the object's center and expressed in [[Viewer_coordinate_frames#Local|local coordinates]]
|func=llSetCameraEyeOffset|p1_type=vector|p1_name=offset|p1_desc=offset relative to the object's center and expressed in [[Viewer_coordinate_frames#Local|local coordinates]]
|func_desc=Sets the camera eye '''offset''' for avatars that sit on the object.
|func_desc=Sets the camera eye '''offset''' for avatars that sit on the object.
|func_footnote=This is the position of the camera's eye, not the [[llSetCameraAtOffset|point it looks at]].<br/>This function has been superseded by [[llSetCameraParams]].
|func_footnote=This is the position of the camera's eye, not the [[llSetCameraAtOffset|point it looks at]].
|return_text
|return_text
|spec
|spec
|caveats=
|caveats=
* Setting this will not update the cameras of seated avatars, it will only effect avatars that subsequently sit down. In this situation it may be beneficial to use the more powerful [[llSetCameraParams]] instead.
* 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 [[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 calculation yourself.
* The '''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 compute the '''offset''' accordingly.
|constants
|constants
|examples=<lsl>// Sit the avatar looking at an arbitrary direction
|examples=<lsl>// Sit the avatar looking at an arbitrary direction
Line 34: Line 34:
|also_functions=
|also_functions=
{{LSL DefineRow||[[llSetCameraAtOffset]]|}}
{{LSL DefineRow||[[llSetCameraAtOffset]]|}}
{{LSL DefineRow||[[llSetCameraParams]]|}}
{{LSL DefineRow||[[llForceMouselook]]|}}
{{LSL DefineRow||[[llForceMouselook]]|}}
|also_events
|also_events

Revision as of 09:58, 2 June 2008

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 center 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 compute the offset accordingly.

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

Functions

•  llSetCameraAtOffset
•  llForceMouselook

Deep Notes

Signature

function void llSetCameraEyeOffset( vector offset );