Difference between revisions of "LlSetCameraEyeOffset"

From Second Life Wiki
Jump to navigation Jump to search
m (Hopefully better phrasing)
m (Added example)
Line 11: Line 11:
* If you rotate the object and want to set the camera relatively to the region, you have to do calculations too.
* If you rotate the object and want to set the camera relatively to the region, you have to do calculations too.
|constants
|constants
|examples
|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>
|helpers
|helpers
|also_functions=
|also_functions=

Revision as of 02:32, 30 May 2008

Summary

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

Sets the camera eye offset if an avatar sits on the object.

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

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

Caveats

  • The change will only take effect next time the avatar sits on the prim. You can't change the offset once it has already sit down.
  • If you use a sit pose rotation and want to set the camera relatively to your avatar, you must do calculations.
  • If you rotate the object and want to set the camera relatively to the region, you have to do calculations too.

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 );