Difference between revisions of "LSL Protocol/Restrained Love Open Relay Group/camera"

From Second Life Wiki
Jump to navigation Jump to search
Line 8: Line 8:
RECOMMENDED WITH: '''''[[LSL Protocol/Restrained Love Open Relay Group/vision|vision]]'''''
RECOMMENDED WITH: '''''[[LSL Protocol/Restrained Love Open Relay Group/vision|vision]]'''''


*!x-thirdview, synonym of the Susan's relay command @thirdview=add and @thirdview=n
*!x-camera with three subcommands
*!x-thirdview/clear, synonym of the Susan's relay command @thirdview=rem and @thirdview=y
!x-camera/mouselook
*!x-setcamera
!x-camera/control
*!x-setcamera/clear
!x-camera/track
*!x-poscamera
*!x-poscamera/clear


The purpose of this x-tension is to enable the relay to control the camera of the wearer. The following commands summarize the use of the camera generally used by RLV controllers (at least the use we are aware of).
The purpose of this x-tension is to enable the relay to control the camera of the wearer. The following commands summarize the use of the camera generally used by RLV controllers (at least the use we are aware of).


==Description of !x-thirdview and !x-thirdview/clear==
==Description of !x-camera/mouselook and !x-camera/mouselook/clear==


!x-thirdview forces the wearer of the relay to use mouselook mode. The interest of this command is to be able to force the wearer to use mouselook mode even in grid-wide mode.  
!x-camera/mouselook forces the wearer of the relay to use mouselook mode. !x-camera/mouselook is a synonym of the Susan's relay command @thirdview=add and @thirdview=n. !x-camera/mouselook/clear cancels the previous order. It is synonym to the Susan's relay command @thirdview=rem and @thirdview=y.  


*The acknowledgment for !x-thirdview is either !x-thirdview,ok or !x-thirdview,ko, not @thirdview=add,ok or @thirdview=add,ko.
*The acknowledgment for !x-camera/mouselook is either !x-camera/mouselook,ok or !x-camera/mouselook,ko, not @thirdview=add,ok or @thirdview=add,ko.
*The acknowledgment for !x-thirdview/clear is either !x-thirdview/clear,ok or !x-thirdview/clear,ko, not @thirdview=add,ok or @thirdview=add,ko.
*The acknowledgment for !x-thirdview/mouselook/clear is either !x-thirdview/mouselook/clear,ok or !x-thirdview/mouselook/clear,ko, not @thirdview=add,ok or @thirdview=add,ko.


==Interaction of !x-thirdview with !x-vision==
This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send !x-thirdview, a stack of restrictions is created and the last one is used. When the stack is empty, the wearer's camera goes back to the default setting.
 
==Interaction of !x-camera/mouselook with !x-vision==


When the wearer does not want to switch to mouselook mode, a blind command like !x-vision/<0'0'0>/1.0/TEXTURE_BLANK/1.0'1.0/0.0'0.0/0.0 will be executed by the relay itself until the wearer changes the mode.
When the wearer does not want to switch to mouselook mode, a blind command like !x-vision/<0'0'0>/1.0/TEXTURE_BLANK/1.0'1.0/0.0'0.0/0.0 will be executed by the relay itself until the wearer changes the mode.


==Description of !x-setcamera and !x-setcamera/clear==
==Description of !x-camera/control and !x-camera/control/clear==


This command requires for the script in the relay to have the PERMISSION_CONTROL_CAMERA. The syntax of !x-setcamera follows the syntax of the LSL command llSetCameraParams(). So the syntax is  
This command requires for the script in the relay to have the PERMISSION_CONTROL_CAMERA. The syntax of !x-camera/control follows the syntax of the LSL command llSetCameraParams(). So the syntax is  


  !x-setcamera/INTEGER/FLOAT/FLOAT/FLOAT/FLOAT/INTEGER/VECTOR/FLOAT/FLOAT/VECTOR/FLOAT/INTEGER/FLOAT
  !x-camera/control/INTEGER/FLOAT/FLOAT/FLOAT/FLOAT/INTEGER/VECTOR/FLOAT/FLOAT/VECTOR/FLOAT/INTEGER/FLOAT


See http://lslwiki.net/lslwiki/wakka.php?wakka=llSetCameraParams for further details. When a parameter is the empty string, the default value must be used. So !x-setcamera/clear is equivalent to !x-setcamera/////////////. This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send camera settings, a stack of settings is created and the last one is used. When the stack is empty, the wearer's camera goes back to default settings, i.e. llClearCameraParams() is executed.
See http://lslwiki.net/lslwiki/wakka.php?wakka=llSetCameraParams for further details. When a parameter is the empty string, the default value must be used. So !x-camera/control/clear is equivalent to !x-camera/control/////////////. This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send camera settings, a stack of settings is created and the last one is used. When the stack is empty, the wearer's camera goes back to default settings, i.e. llClearCameraParams() is executed.


==Description of !x-poscamera and !x-poscamera/clear==
==Description of !x-camera/track and !x-camera/track/clear==


This command requires for the script in the relay to have the PERMISSION_TRACK_CAMERA. The syntax of !x-poscamera is  
This command requires for the script in the relay to have the PERMISSION_TRACK_CAMERA. The syntax of !x-camera/track is  
  !x-poscamera/FLOAT
  !x-poscamera/track/FLOAT
It forces the wearer to keep the camera close to the avatar, the distance must not be greater than the float number given in parameter. The command !x-poscamera/0 is equivalent to !x-poscamera/clear. This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send !x-poscamera, a stack of distances is created and the last one is used. When the stack is empty, the wearer's camera goes back to the default setting.
It forces the wearer to keep the camera close to the avatar, the distance must not be greater than the float number given in parameter. The command !x-camera/track/0 is equivalent to !x-camera/track/clear. This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send !x-camera/track, a stack of distances is created and the last one is used. When the stack is empty, the wearer's camera goes back to the default setting.


==Interaction of !x-poscamera with !x-vision==
==Interaction of !x-camera/track with !x-vision==


When the wearer keeps the camera too far, a blind command like !x-vision/<0'0'0>/1.0/TEXTURE_BLANK/1.0'1.0/0.0'0.0/0.0 will be executed by the relay itself until the wearer puts the camera closer.
When the wearer keeps the camera too far, a blind command like !x-vision/<0'0'0>/1.0/TEXTURE_BLANK/1.0'1.0/0.0'0.0/0.0 will be executed by the relay itself until the wearer puts the camera closer.

Revision as of 02:53, 22 July 2011

camera

STATUS: proposal

version: 000

RECOMMENDED WITH: vision

  • !x-camera with three subcommands
!x-camera/mouselook
!x-camera/control
!x-camera/track

The purpose of this x-tension is to enable the relay to control the camera of the wearer. The following commands summarize the use of the camera generally used by RLV controllers (at least the use we are aware of).

Description of !x-camera/mouselook and !x-camera/mouselook/clear

!x-camera/mouselook forces the wearer of the relay to use mouselook mode. !x-camera/mouselook is a synonym of the Susan's relay command @thirdview=add and @thirdview=n. !x-camera/mouselook/clear cancels the previous order. It is synonym to the Susan's relay command @thirdview=rem and @thirdview=y.

  • The acknowledgment for !x-camera/mouselook is either !x-camera/mouselook,ok or !x-camera/mouselook,ko, not @thirdview=add,ok or @thirdview=add,ko.
  • The acknowledgment for !x-thirdview/mouselook/clear is either !x-thirdview/mouselook/clear,ok or !x-thirdview/mouselook/clear,ko, not @thirdview=add,ok or @thirdview=add,ko.

This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send !x-thirdview, a stack of restrictions is created and the last one is used. When the stack is empty, the wearer's camera goes back to the default setting.

Interaction of !x-camera/mouselook with !x-vision

When the wearer does not want to switch to mouselook mode, a blind command like !x-vision/<0'0'0>/1.0/TEXTURE_BLANK/1.0'1.0/0.0'0.0/0.0 will be executed by the relay itself until the wearer changes the mode.

Description of !x-camera/control and !x-camera/control/clear

This command requires for the script in the relay to have the PERMISSION_CONTROL_CAMERA. The syntax of !x-camera/control follows the syntax of the LSL command llSetCameraParams(). So the syntax is

!x-camera/control/INTEGER/FLOAT/FLOAT/FLOAT/FLOAT/INTEGER/VECTOR/FLOAT/FLOAT/VECTOR/FLOAT/INTEGER/FLOAT

See http://lslwiki.net/lslwiki/wakka.php?wakka=llSetCameraParams for further details. When a parameter is the empty string, the default value must be used. So !x-camera/control/clear is equivalent to !x-camera/control/////////////. This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send camera settings, a stack of settings is created and the last one is used. When the stack is empty, the wearer's camera goes back to default settings, i.e. llClearCameraParams() is executed.

Description of !x-camera/track and !x-camera/track/clear

This command requires for the script in the relay to have the PERMISSION_TRACK_CAMERA. The syntax of !x-camera/track is

!x-poscamera/track/FLOAT

It forces the wearer to keep the camera close to the avatar, the distance must not be greater than the float number given in parameter. The command !x-camera/track/0 is equivalent to !x-camera/track/clear. This command is a restriction, i.e. in ask mode, a permission must be granted. When several controllers send !x-camera/track, a stack of distances is created and the last one is used. When the stack is empty, the wearer's camera goes back to the default setting.

Interaction of !x-camera/track with !x-vision

When the wearer keeps the camera too far, a blind command like !x-vision/<0'0'0>/1.0/TEXTURE_BLANK/1.0'1.0/0.0'0.0/0.0 will be executed by the relay itself until the wearer puts the camera closer.