LlSetCameraParams

From Second Life Wiki

(Redirected from LSL llSetCameraParams)
Jump to: navigation, search

Contents

Description

Function: llSetCameraParams( list rules );
313 Function ID
0.0 Delay
10.0 Energy

Sets multiple camera parameters at once.

• list rules Format is [ rule1, data1, rule2, data2 . . . rulen, datan ]


Requires the PERMISSION_CONTROL_CAMERA permission to run.

Rule Parameter Default Value Range Description
CAMERA_ACTIVE 12   integer isActive FALSE TRUE or FALSE Turns on or off scripted control of the camera.
CAMERA_BEHINDNESS_ANGLE 8 float degrees 10.0 0 to 180 Sets the angle in degrees within which the camera is not constrained by changes in target rotation.
CAMERA_BEHINDNESS_LAG 9 float seconds 0.0 0 to 3 Sets how strongly the camera is forced to stay behind the target if outside of behindness angle.
CAMERA_DISTANCE 7 float meters 3.0 0.5 to 10 Sets how far away the camera wants to be from its target.
CAMERA_FOCUS 17 vector position n/a n/a Sets camera focus (target position) in region coordinates.
CAMERA_FOCUS_LAG 6 float seconds 0.1 0 to 3 How much the camera lags as it tries to aim towards the target.
CAMERA_FOCUS_LOCKED 22 integer isLocked FALSE TRUE or FALSE Locks the camera focus so it will not move.
CAMERA_FOCUS_OFFSET 1 vector meters <0.0,0.0,0.0> <-10,-10,-10> to <10,10,10> Adjusts the camera focus position relative to the target.
CAMERA_FOCUS_THRESHOLD 11 float meters 1.0 0 to 4 Sets the radius of a sphere around the camera's target position within which its focus is not affected by target motion.
CAMERA_PITCH 0 float degrees 0.0 -45 to 80 Adjusts the angular amount that the camera aims straight ahead vs. straight down, maintaining the same distance; analogous to 'incidence'."
CAMERA_POSITION 13 vector position n/a n/a Sets camera position in region coordinates.
CAMERA_POSITION_LAG 5 float seconds 0.1 0 to 3 How much the camera lags as it tries to move towards its 'ideal' position.
CAMERA_POSITION_LOCKED 21 integer isLocked FALSE TRUE or FALSE Locks the camera position so it will not move.
CAMERA_POSITION_THRESHOLD 10 float meters 1.0 0 to 4 Sets the radius of a sphere around the camera's ideal position within which it is not affected by target motion.

Caveats

  • Do not depend upon the auto-grant status of permissions. Always use the run_time_permissions event.
  • If the script lacks the permission PERMISSION_CONTROL_CAMERA, the script will shout an error on DEBUG_CHANNEL and the operation fails (but the script continues to run).
  • Once the PERMISSION_CONTROL_CAMERA permission is granted there is no way to revoke it. The script will only loose the permission if it is reset or the object derezzed (deleted, detached, or taken).

Examples

 
llSetCameraParams([
        CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive
        CAMERA_BEHINDNESS_ANGLE, 10.0, // (0 to 180) degrees
        CAMERA_BEHINDNESS_LAG, 0.0, // (0 to 3) seconds
        CAMERA_DISTANCE, 3.0, // ( 0.5 to 10) meters
        // CAMERA_FOCUS, <0,0,0>, // region-relative position
        CAMERA_FOCUS_LAG, 0.1 , // (0 to 3) seconds
        CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE)
        CAMERA_FOCUS_THRESHOLD, 1.0, // (0 to 4) meters
        CAMERA_PITCH, 0.0, // (-45 to 80) degrees
        // CAMERA_POSITION, <0,0,0>, // region-relative position
        CAMERA_POSITION_LAG, 0.1, // (0 to 3) seconds
        CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE)
        CAMERA_POSITION_THRESHOLD, 1.0, // (0 to 4) meters
        CAMERA_FOCUS_OFFSET, ZERO_VECTOR // <-10,-10,-10> to <10,10,10> meters
    ]);
 

See Also

Events

•  run_time_permissions Permission receiving event

Functions

•  llGetPermissions Get the permissions granted
•  llGetPermissionsKey Get the agent who granted permissions
•  llRequestPermissions Request permissions
•  llClearCameraParams
•  llGetCameraPos
•  llGetCameraRot

Articles

•  Script permissions
•  FollowCam
Personal tools