Difference between revisions of "LlGetEnvironment"

From Second Life Wiki
Jump to navigation Jump to search
(Added a caveat about SKY_LIGHT's fade_color param.)
(Add JIRA link to new issue.)
 
Line 37: Line 37:
{{LSL DefineRow||[[llGetRegionTimeOfDay]]|}}
{{LSL DefineRow||[[llGetRegionTimeOfDay]]|}}
|notes
|notes
|inject-2={{Issues|BUG-232461|llGetEnvironment - SKY_LIGHT fade_color param returns an unclamped value|type=bug}}
}}
}}

Latest revision as of 03:48, 9 August 2022

Summary

Function: list llGetEnvironment( vector pos, list params );

Returns a list containing the current environment values for the parcel or region as a list of attributes. Takes a list of attributes to retrieve in params and returns them in the order requested.

• vector pos A position in region coordinates. X and Y are in region coordinates and determine the parcel. If X and Y are both -1, the environment for the region is inspected. Z is the altitude in the region and determines which sky track is accessed.
• list params A list of parameters to retrieve from the current environment.

If an unknown rule is encountered in the parameter list an error is sent to the debug channel.

Parameters

parameter integer value return values description
SKY_TRACKS 15 float sky2, float sky3, float sky4 Altitudes for sky transitions in the region.
SKY_AMBIENT 0 vector ambient_color The ambient color of the environment.
SKY_TEXTURE_DEFAULTS 1 integer bloom_is_default, integer halo_is_default, integer rainbow_is_default Checks if the textures are currently set to use the default. For default values, the returned integer is 1. If the texture uses something other than the default, the returned value is 0.
SKY_CLOUDS 2 vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail, integer is_default Environmental cloud information.
  • color: The color used for the clouds.
  • coverage: The coverage percentage.
  • scale: The scaling applied to the cloud textures.
  • variance: A randomizing factor applied to the main cloud layer
  • scroll: The scroll speed of the clouds.
  • X is east/west
  • Y is north/south
  • Z is unused
  • density: The X/Y and D parameter used to generate cloud density
  • detail: The X/Y and D parameter used to generate cloud details.
  • is_default: 1 if the clouds are using the default texture.
SKY_DOME 4 float offset, float radius, float max_altitude Sky dome information.
  • offset
  • radius
  • maximum altitude
SKY_GAMMA 5 float gamma The gamma value applied to the scene.

In viewer versions 7.0+, this value has been repurposed into the "HDR Scale" value in the EEP editor. (Thus, this will return the value of the HDR Scale slider).

SKY_GLOW 6 float glow_size, float glow_focus Glow applied to the sun and moon.
  • size of glow effect
  • focus of glow effect
SKY_MOON 9 rotation rot, float scale, float brightness, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color Detailed moon information
  • rot: The current rotation applied to the moon.
  • scale: The current scale applied to the moon's texture
  • brightness: The moon's brightness
  • is_default_texture: 1 if the moon texture is set to the default. 0 otherwise
  • direction: A unit vector pointing at the moon.
  • ambient_color: The ambient color of the moon
  • diffuse_color: The diffuse color applied to the moon.
SKY_STAR_BRIGHTNESS 13 float brightness
SKY_SUN 14 rotation rot, float scale, vector sun_color, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color Detailed sun information
  • rot: The current rotation applied to the sun.
  • scale: The current scale applied to the sun's texture
  • sun_color:
  • is_default_texture: 1 if the sun texture is set to the default. 0 otherwise
  • direction: A unit vector pointing at the sun.
  • ambient_color: The ambient color of the sun.
  • diffuse_color: The diffuse color applied to 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
  • sky_bottom_radius
  • sky_top_radius
SKY_REFRACTION 11 float moisture_level, float droplet_radius, float ice_level Sky refraction parameters for rainbows and optical effects.
  • moisture_level
  • droplet_radius
  • ice_level
SKY_LIGHT 8 vector light_direction, vector fade_color, vector total_ambient Miscellaneous lighting values
  • light_direction: A unit vector indicating the direction of the dominant light source.
  • fade_color: A color vector representing the current color of the light emitted from the dominant light source (in sRGB space).
  • total_ambient: A color vector representing the current ambient color in use in the scene (in sRGB space).
SKY_REFLECTION_PROBE_AMBIANCE 24 float ambiance Minimum ambiance value for all reflection probes.

range = [0.0, 10.0]

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

WATER_BLUR_MULTIPLIER 100 float multiplier Multiplier applied to blur the scene when under water.
WATER_FOG 101 vector , float density, float modulation Fog parameters applied when underwater
  • color: The color of the underwater fog
  • density: Density exponent applied to the fog
  • modulation:
WATER_FRESNEL 102 float offset, float scale Fresnel scattering applied to the surface of the water.
  • offset
  • scale
WATER_TEXTURE_DEFAULTS 103 integer normal_is_default, integer transparent_is_default Checks if the textures are currently set to use the default. For default values the returned integer is 1, if the texture uses something other than the default this value is 0.
WATER_NORMAL_SCALE 104 vector scale Scaling applied to the water normal map.
WATER_REFRACTION 105 float scale_above, float scale_below Refraction factors when looking through the surface of the water.
  • scale_above
  • scale_below
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.
  • small_wave: Small wave speed and direction.
ENVIRONMENT_DAYINFO 200 integer day_length, integer day_offset, float secs_since_midnight Current time and day information
  • day_length: Number of seconds in the environments day cycle.
  • day_offset: Number of seconds day cycle is offset from GMT.
  • secs_since_midnight: Number of seconds elapsed since the last day cycle midnight.

Caveats

  • If the script can not run in the requested parcel, this function returns an empty list and issues a warning in the debug channel.
  • SKY_LIGHT's param fade_color does not return a clamped value, meaning an unusually bright scene will cause it to return an out-of-bounds color. (This can be fixed by clamping the value manually, but this should really return a clamped value).

Examples

default
{
    touch_start(integer total_number)
    {
        list environment = llGetEnvironment(llGetPos(), [SKY_TRACKS, SKY_AMBIENT, SKY_CLOUDS]);
        llOwnerSay(llDumpList2String(environment, ", "));
    }
}

Deep Notes

Signature

function list llGetEnvironment( vector pos, list params );