llSetEnvironment

From Second Life Wiki
Revision as of 15:56, 9 August 2022 by Maestro Linden (talk | contribs) (Explained sky track selection or this function)
Jump to navigation Jump to search

Summary

Function: Integer llSetEnvironment( vector position, list params );

This function overrides the environmental settings for a region or a parcel. The new settings apply across all frames of a day cycle and at all altitudes of the parcel or region. The owner of the script must have permission to modify the environment on the parcel or be an estate manager to change the entire region.

An override for a given parameter can be set at the region scope or parcel scope. It can also be set for a single sky track (selected by elevation), all sky tracks (selected by an elevation of -1.0), or both. If an override of a given parameter is specified for both an individual track and all tracks, the individual track's override takes priority.

Note that the list of valid parameters differs from those available for llGetEnvironment.
Returns an Integer

• vector position The location on the region of the parcel to be changed. Use <-1, -1, -1> for the entire region. Use <X, Y, -1&gt to set an override within a parcel, for all sky tracks.
• list params A list of parameters to change for the parcel or region. Passing an empty list will remove any modifications from previous calls to llSetEnvironment.

Return Values
Value Constant Description
1 The parcel or region will attempt to change the applied environment.
ENV_NO_ENVIRONMENT -3 There is no environment on this parcel to modify.
ENV_INVALID_RULE -5 There was an issue with one of the rules.
ENV_VALIDATION_FAIL -6 Unable to validate values passed.
ENV_THROTTLE -8 The scripts have exceeded the throttle. Wait and retry the request.
ENV_NO_PERMISSIONS -9 The script does not have rights to modify this parcel or region.

Parameters

parameter integer value values to set description
SKY_CLOUDS 2 vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail Environmental cloud information:
  • color: The color used for the clouds.
    range = [<0,0,0>, <1,1,1>]
  • coverage: The coverage percentage.
    range = [0, 1]
  • scale: The scaling applied to the cloud textures.
    range = (0 - 3]
  • variance: A randomizing factor applied to the main cloud layer.
    range = [0, 1]
  • scroll: The scroll speed of the clouds. X is east/west, Y is north/south, and Z is unused.
    range = [<-50,-50>, <50,50>]
  • density: The X/Y and D parameter used to generate cloud density.
    range = [<0,0,0>, <1,1,3>]
  • detail: The X/Y and D parameter used to generate cloud details.
    range = [<0,0,0>, <1,1,1>]
SKY_CLOUD_TEXTURE 19 string texture_ident Name of item in inventory or UUID for texture to be used for the clouds.
SKY_DOME 4 float offset, float radius, float max_altitude Sky dome information.
  • offset: offset applied to the sky dome.
    range = [0,1]
  • radius: radius of the sky dome.
    range = [1000,2000]
  • max_altitude: altitude of the sky dome.
    range = [0,10000]
SKY_GAMMA 5 float gamma The gamma value applied to the scene.
range = [0,20]
SKY_GLOW 6 float glow_size, float glow_focus Glow applied to the sun and moon.
  • glow_size: size of glow effect.
    range = [0.2, 40]
  • glow_focus: focus of glow effect.
    Range [-10, 10]
SKY_MOON 9 rotation rot, float scale, float brightness Detailed moon information:
  • rot: The current rotation applied to the moon.
    Normalized rotation.
  • scale: The current scale applied to the moon's texture.
    range = [0.25, 20]
  • brightness: The moon's brightness.
    range = [0,1]
SKY_MOON_TEXTURE 20 string texture_ident Name of texture in inventory or UUID for texture to be used for the moon.
SKY_STAR_BRIGHTNESS 13 float brightness Brightness value applied to stars.
range = [0,500]
SKY_SUN 14 rotation rot, float scale, vector sun_color Detailed sun information:
  • rot: The current rotation applied to the sun.
    Normalized rotation.
  • scale: The current scale applied to the sun's texture.
    range = [0.25, 20]
  • sun_color: The sun's color.
    range = [<0,0,0>, <1,1,1>]
SKY_SUN_TEXTURE 21 string texture_ident Name of texture in inventory or UUID for texture to be used for the sun.
SKY_PLANET 10 float planet_radius, float sky_bottom_radius, float sky_top_radius Planet information used in rendering the sky.
  • 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 Sky refraction parameters for rainbows and optical effects.
  • moisture_level: range = [0, 1]
  • droplet_radius: range = [5, 1000]
  • ice_level: range = [0, 1]
WATER_BLUR_MULTIPLIER 100 float multiplier Multiplier applied to blur the scene when under water.

range = [-0.5, 0.5]

WATER_FOG 101 vector color, float density, fload modulation Fog parameters applied when underwater:
  • color: The color of the underwater fog.
    range = [<0,0,0>, <1,1,1>]
  • density: Density exponent applied to the fog.
    range = [-10, 10]
  • modulation:
    range = [0, 20]
WATER_FRESNEL 102 float offset, float scale Fresnel scattering applied to the surface of the water.
  • offset: range = [0,1]

scale: range = [0,1]

WATER_NORMAL_TEXTURE 107 string texture_ident Name of texture in inventory or UUID of texture to be used for the water normal.
WATER_NORMAL_SCALE 104 vector scale Scaling applied to the water normal map.

range = [<0,0,0>, <10,10,10>]

WATER_REFRACTION 105 float scale_above, float scale_below Refraction factors when looking through the surface of the water.
  • scale_above: range = [0, 3]
  • scale_below: range = [0, 3]
WATER_WAVE_DIRECTION 106 vector large_wave, vector small_wave Vector for the directions of the waves Y represents north/south and X represents movement east/west.
  • large_wave: Large wave speed and direction.
    range = [<-20, -20>, <20, 20>]
  • small_wave: Small wave speed and direction.
    range = [<-20, -20>, <20, 20>]
SKY_AMBIENT 0 vector color Ambient color used in the scene.
SKY_BLUE 22 vector blue_density, vector blue_horizon Change the colors used to calculate blue density and blue horizon in the environment.
SKY_HAZE 23 float density, float horizon, float density_multiplier, float distance_multiplier Values used to calculate the impact of blue_density and blue_horizon on the scene lighting.
SKY_REFLECTION_PROBE_AMBIANCE 24 float ambiance Minimum ambiance value for all reflection probes.

range = [0.0, 10.0]

Caveat: This feature will be supported in the upcoming GLTF Materials project. Currently it will only work in supported testing areas with a supported test viewer.

Caveats

  • An environment set locally on the viewer will override any environment set from this function.
  • When changing a parcel's environment it must first have had an environment set.

Examples

See Also

Deep Notes

Signature

function Integer llSetEnvironment( vector position, list params );