Difference between revisions of "LlSetCameraEyeOffset"

From Second Life Wiki
Jump to navigation Jump to search
m
m (Replaced old <LSL> block with <source lang="lsl2">)
 
Line 13: Line 13:
* Camera position set by this function is a '''Prim Property'''. '''It will survive the script''' and it will survive prim taking and prim rezzing
* Camera position set by this function is a '''Prim Property'''. '''It will survive the script''' and it will survive prim taking and prim rezzing
|constants
|constants
|examples=<lsl>// Sit the avatar looking at an arbitrary direction
|examples=<source lang="lsl2">// Sit the avatar looking at an arbitrary direction
// Look over the avatar's shoulders from behind once it sits down
// Look over the avatar's shoulders from behind once it sits down


Line 33: Line 33:
         llSay(0, "Please sit down");
         llSay(0, "Please sit down");
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_functions=
|also_functions=

Latest revision as of 15:01, 22 January 2015

Summary

Function: llSetCameraEyeOffset( vector offset );

Sets the camera eye 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 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.
  • Camera position set by this function is a Prim Property. It will survive the script and it will survive prim taking and prim rezzing
All Issues ~ Search JIRA for related Bugs

Examples

// 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");
    }
}

See Also

Deep Notes

Search JIRA for related Issues

Signature

function void llSetCameraEyeOffset( vector offset );