查看“LlSetCameraParams”的源代码
←
LlSetCameraParams
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llSetCameraParams( list rules ); |参数= 参数:• list rules – Format is [ rule1, data1, rule2, data2 . . . rulen, datan ] |返回值= 返回值:一次设置多个相机参数。 要运行这个函数,脚本必须使用[[llRequestPermissions]]请求[[PERMISSION_CONTROL_CAMERA]]权限。 |注意事项= 摄像头控制目前(服务器1.38)只支持附件和你坐的对象。否则将导致在[[DEBUG_CHANNEL]]上显示错误。 如果代理最后使用的控件是脚本化的摄像机控件,则脚本化的摄像机参数将不会为代理设置。手动相机控制也会覆盖设置的参数。 '''Permission''' 不要依赖于权限的自动授予状态。始终使用[[run_time_permissions]]事件。 如果脚本缺少权限[[PERMISSION_CONTROL_CAMERA]],该脚本将在[[DEBUG_CHANNEL]]上大叫一个错误,操作失败(但脚本继续运行)。 当化身从对象上站起或分离对象时,[[PERMISSION_CONTROL_CAMERA]]权限将自动撤销,并且任何脚本化的摄像机参数将自动清除。 |示例= 你可以在区域相对坐标中设置摄像机,也可以让摄像机跟随你的化身。 '''Region relative coordinates, an example:''' <pre> lookAtMe( integer perms ) { if ( perms & PERMISSION_CONTROL_CAMERA ) { vector camPos = llGetPos() + (relCamP * llGetRot() * turnOnChair) ; vector camFocus = llGetPos() ; llClearCameraParams(); // 将摄像头设置为默认 llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_FOCUS, camFocus, // 地区的相对位置 CAMERA_FOCUS_LOCKED, TRUE, // (TRUE or FALSE) CAMERA_POSITION, camPos, // 地区的相对位置 CAMERA_POSITION_LOCKED, TRUE // (TRUE or FALSE) ]); } } </pre> 注意焦点和位置都是锁定的。第一个例子使相机从camPos看camFocus。 '''Camera follow avatar, an example:''' <pre> lookAtMe( integer perms ) { if ( perms & PERMISSION_CONTROL_CAMERA ) { llClearCameraParams(); // reset camera to default llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_BEHINDNESS_ANGLE, 30.0, // (0 to 180) degrees CAMERA_BEHINDNESS_LAG, 0.0, // (0 to 3) seconds CAMERA_DISTANCE, 10.0, // ( 0.5 to 10) meters //CAMERA_FOCUS, <0,0,5>, // region relative position CAMERA_FOCUS_LAG, 0.05 , // (0 to 3) seconds CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_FOCUS_THRESHOLD, 0.0, // (0 to 4) meters CAMERA_PITCH, 10.0, // (-45 to 80) degrees //CAMERA_POSITION, <0,0,0>, // region relative position CAMERA_POSITION_LAG, 0.0, // (0 to 3) seconds CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_POSITION_THRESHOLD, 0.0, // (0 to 4) meters CAMERA_FOCUS_OFFSET, <2.0, 0.0, 0.0> // <-10,-10,-10> to <10,10,10> meters ]); } } </pre> 请注意,在第二个例子中,焦点和位置没有锁定,甚至没有设置。这是适合让相机跟随车辆上的飞行员。 |相关函数= [[llGetPermissions]] - 获得已授予的权限 [[llGetPermissionsKey]] - 获取授予权限的代理 [[llRequestPermissions]] - 请求的权限 [[llClearCameraParams]] [[llGetCameraPos]] [[llGetCameraRot]] |相关事件= [[run_time_permissions]] - 允许接收事件 }} 附录:(表格) {| class="wikitable" border="1" |- ! Rule ! ! Parameter ! Default ! Value Range ! Description |- | [[CAMERA_ACTIVE]] | 12 | [[integer]] isActive | [[FALSE]] | [[TRUE]] or [[FALSE]] | 打开或关闭相机的脚本控制。 |- | [[CAMERA_BEHINDNESS_ANGLE]] | 8 | [[float]] degrees | 10.0 | 0 to 180 | 设置相机不受目标旋转变化约束的角度。 |- | [[CAMERA_BEHINDNESS_LAG]] | 9 | [[float]] seconds | 0.0 | 0 to 3 | 设置在不考虑落后角的情况下,相机被迫停留在目标物体后面的强度。 |- | [[CAMERA_DISTANCE]] | 7 | [[float]] meters | 3.0 | 0.5 to 50 | 设置相机与目标的距离。 |- | [[CAMERA_FOCUS]] | 17 | [[vector]] position | n/a | n/a | 以区域坐标设置相机焦距(目标位置)。 |- | [[CAMERA_FOCUS_LAG]] | 6 | [[float]] seconds | 0.1 | 0 to 3 | 当相机试图瞄准目标时的滞后程度。 |- | [[CAMERA_FOCUS_LOCKED]] | 22 | [[integer]] isLocked | [[FALSE]] | [[TRUE]] or [[FALSE]] | 锁定相机焦点,使其不会移动。 |- | [[CAMERA_FOCUS_OFFSET]] | 1 | [[vector]] meters | <0.0,0.0,0.0> | <-10,-10,-10> to <10,10,10> | 调整相对于目标的相机对焦位置。 |- | [[CAMERA_FOCUS_THRESHOLD]] | 11 | [[float]] meters | 1.0 | 0 to 4 | 设置围绕摄像机目标位置的一个球体的半径,该球体的焦点不受目标运动的影响。 |- | [[CAMERA_PITCH]] | 0 | [[float]] degrees | 0.0 | -45 to 80 | 调整相机向前瞄准和向下瞄准的角度量,保持相同的距离;类似于‘事件’。” |- | [[CAMERA_POSITION]] | 13 | [[vector]] position | n/a | n/a | 以区域坐标设置摄像机位置。 |- | [[CAMERA_POSITION_LAG]] | 5 | [[float]] seconds | 0.1 | 0 to 3 | 当相机试图移动到它的“理想”位置时,它滞后了多少。 |- | [[CAMERA_POSITION_LOCKED]] | 21 | [[integer]] isLocked | [[FALSE]] | [[TRUE]] or [[FALSE]] | 锁定相机位置,使其不会移动。 |- | [[CAMERA_POSITION_THRESHOLD]] | 10 | [[float]] meters | 1.0 | 0 to 4 | 设置不受目标运动影响的摄像机理想位置周围的球体半径。 |}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlSetCameraParams
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息