LlSetAgentEnvironment

来自人工智能助力教育知识百科
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: llSetAgentEnvironment( key agent_id, float transition, list params );
参数: key agent_id –该地区代理商的钥匙。代理必须在该地区,必须参与到体验中。

• float transition – 转换到新设置的秒数。

• list params – 要从当前环境检索的参数列表。详见附录。

返回值:此函数为体验中的单个代理设置环境值。对环境的更改一直持续到代理移动到一个新的区域,或者对一个空列表的代理调用llSetAgentEnvironment。在参数中传递一个空列表将删除应用于该代理的所有环境设置(作为体验的一部分)
注意事项
有效参数列表与llGetEnvironment可用的参数列表不同。

代理的查看器可以选择忽略此命令。

在查看器上本地设置的环境将覆盖从该函数设置的任何环境。

示例
float gTransitionTime = 3.0;
list gListEnvironmentParams = [
    SKY_CLOUD_TEXTURE, TEXTURE_PLYWOOD,
    SKY_GAMMA, 10.0,
    WATER_NORMAL_SCALE, <5.0, 5.0, 5.0>
];
 
default
{
    touch_start(integer total_number)
    {
        key person = llDetectedKey(0);
        if (llGetAgentSize(person) != ZERO_VECTOR)
        {
            llRequestExperiencePermissions(person, "");
        }
        else
        {
            llInstantMessage(person, "You need to be in the same region to change environment");
        }
    }
 
    experience_permissions(key agent_id)
    {
        integer envTest = llSetAgentEnvironment(agent_id, gTransitionTime, gListEnvironmentParams);
        if (envTest == 1)
        {
            llRegionSayTo(agent_id, 0, "Applying environment for " + (string)agent_id);
        }
        else
        {
            llRegionSayTo(agent_id, 0, "Cannot apply environment for " + (string)agent_id + " due to reason id: " + (string)envTest);
        }
    }
 
    experience_permissions_denied(key agent_id, integer reason)
    {
        llRegionSayTo(agent_id, 0, "Denied experience permissions for " + (string)agent_id + " due to reason id: " + (string)reason);
    }
}
相关函数
llReplaceAgentEnvironment

llGetEnvironment

相关事件

附录:(表格)

Value Constant Description
1 代理已经被指示改变他们的环境。
ENV_INVALID_AGENT -4 无法找到指定的代理。
ENV_INVALID_RULE -5 有一条规定出了问题。
ENV_NO_ENVIRONMENT -3 找不到环境目录对象。
ENV_NO_EXPERIENCE_LAND -7 经验没有被启用或不能在土地上运行。
ENV_NO_EXPERIENCE_PERMISSION -2 The agent has not granted permission.
ENV_NOT_EXPERIENCE -1 脚本没有作为具有有效体验键的体验的一部分运行。
ENV_THROTTLE -8 脚本已经超出了限制。等待并重试请求。
ENV_VALIDATION_FAIL -6 无法验证传递的值。


Parameters

Parameter Constant Return values Description
SKY_CLOUD_TEXTURE 19 string texture_ident 物品清单中的物品名称或用于云的纹理的UUID。
SKY_CLOUDS 2 vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail 云环境信息:

颜色:用于云彩的颜色。 range = [<0,0,0>, <1,1,1>]

覆盖率:覆盖率百分比。 range = [0,1]

缩放:应用于云纹理的缩放。 range = (0 - 3)

方差:应用于主云层的随机因子。 range = [0,1]

滚动:云的滚动速度。X为东/西,Y为北/南,Z未使用。 range = [<-50,-50>, <50,50>]

密度:用于生成云密度的X/Y和D参数。 range = [<0,0,0>, <1,1,3>]

detail:用于生成云细节的X/Y和D参数。 range = [<0,0,0>, <1,1,1>]

SKY_DOME 4 float offset, float radius, float max_altitude 天空穹顶的信息。

偏移:应用于天空穹顶的偏移。 范围= [0,1]

半径:天空穹顶的半径。 范围=(1000、2000)

max_altitude:天空穹顶的高度。 范围= [0,10000)

SKY_GAMMA 5 float gamma 应用于场景的伽马值。

范围= [0,20)

SKY_GLOW 6 float glow_size, float glow_focus 太阳和月亮的光芒。

glow_size:发光效果的大小。 range = [0.2, 40]

glow_focus:聚焦辉光效果。 范围(-10,10)

SKY_MOON 9 rotation rot, float scale, float brightness 详细的月球信息:

rot:当前对月球的旋转。 规范化的旋转。

缩放:当前应用于月球纹理的缩放。 range = [0.25, 20]

亮度:月亮的亮度。 范围= [0,1]

SKY_MOON_TEXTURE 20 string texture_ident 目录中的纹理名称或用于月球的纹理的UUID。
SKY_PLANET 10 float planet_radius, float sky_bottom_radius, float sky_top_radius 用于渲染天空的行星信息。

planet_radius: range = [1000, 32768] sky_bottom_radius: range = [1000, 32768] sky_top_radius: range = [1000, 32768]

SKY_REFRACTION 11 float moisture_level, float droplet_radius, float ice_level 彩虹和光学效果的天空折射参数。

湿度等级:范围= [0,1] droplet_radius: range = [5,1000] ice_level: range = [0,1]

SKY_STAR_BRIGHTNESS 13 float brightness 亮度值适用于恒星。

范围= [0500]

SKY_SUN 14 rotation rot, float scale, vector sun_color 太阳的详细信息:

rot:当前对太阳的旋转。 规范化的旋转。

缩放:当前应用于太阳纹理的缩放。 range = [0.25, 20]

太阳的颜色:太阳的颜色。 range = [<0,0,0>, <1,1,1>]

SKY_SUN_TEXTURE 21 string texture_ident 目录中的纹理名称或用于太阳的纹理的UUID。
WATER_BLUR_MULTIPLIER 100 float multiplier 在水下使用倍增器模糊场景。

range = [-0.5, 0.5]

WATER_FOG 101 vector color, float density, fload modulation 水下应用雾参数:

颜色:水下雾的颜色。 range = [<0,0,0>, <1,1,1>] 密度:雾的密度指数。 range = [- 10,10] 调制: range = [0,20]

WATER_FRESNEL 102 float offset, float scale 菲涅耳散射作用于水面。

偏移量:range = [0,1] 范围:range = [0,1]

WATER_NORMAL_SCALE 104 float offset, float scale 施加在水面上的snel散射。

偏移量:range = [0,1] 范围:range = [0,1]

WATER_NORMAL_TEXTURE 107 string texture_ident 在目录中的纹理名称或用于水法线的纹理UUID。
WATER_REFRACTION 105 float scale_above, float scale_below 透过水面观察时的折射因子。

scale_above: range = [0,3] scale_below: range = [0,3]

WATER_WAVE_DIRECTION 106 vector large_wave, vector small_wave 矢量表示波的方向,Y代表北/南,X代表东西运动。

大波:大波的速度和方向。 range = [<-20, -20>, <20, 20>] 小波:小波的速度和方向。 range = [<-20, -20>, <20, 20>]