Environment panel

Revision as of 23:52, 5 January 2010 by SIMU-NOVA (Talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


See also the Creating an environment scheme tutorial.


The Environment panel allows for the creation and modification of environment schemes and lighting.


Scheme pane.PNG

Add - Adds a new scheme to the area.

Delete - Deletes the selected scheme.

Rename - Renames the selected scheme.

Apply - Applies the selected scheme to the current room or to all visible rooms.

Select Active - Selects the scheme that's applied to the current room.

Add Global - loads a global environment scheme from the Repository.

Make Global - makes a normal, local environment scheme into a global environment scheme, saving it into the repository.

Make Local - makes a local copy of a global environment scheme.

Read-Only - allows you to make a global scheme editable, if you are in the area where it was created (see below).

Use Dynamic Sky - toggles whether dynamic sky is on.

Simulate Moon (dynamic sky only) - When selected, causes the light direction to "flip" at sunset, to simulate that the scene is being lit by moonlight instead of the sun. However, this will cause a sudden lighting shift at sunrise and sunset.


You can drag items on the Scheme tree view onto other items to establish their inheritance. In this example image, the "Wilds" scheme inherits from the default "Area" scheme. Items can be dragged to the end of the list to remove their inheritance.

When a scheme inherits from another scheme, many of its sections -- for example, Light -- feature checkboxes which, if checked, indicate that the scheme overrides its parent. Otherwise, the scheme inherits its parent's properties. If "Light Direction" is unchecked for instance, the parent scheme's light direction is used.

Global Environment Schemes

Global Environment Schemes are stored in the Repository, and can be loaded into any area. Except for its inheritance, a global scheme can only be edited in the area where it was created.

When you have a local scheme selected and click "Make Global", you are prompted for an FQN. If that FQN already exists in the Repository, you are asked whether you wish to overwrite the file. If you do, be aware that any areas which use this global scheme will now use the new scheme you have just overwritten it with.

Global schemes that inherit from another global scheme will save that inheritance in their repository file. For example, in the screenshot here "Gloomy" inherits from "Dungeon." If you load the scheme "Gloomy" in another area, "Dungeon" will automatically be loaded as well. (If there is already a scheme named "Dungeon" in that second area, you will be prompted about replacing it.)

Global schemes that inherit from local schemes, however, do not save their inheritance; when loaded into another area they will be at the root level.

Regardless of the inheritance when added, global schemes can be dragged to inherit from any other scheme.

Global schemes can be converted to local copies, which can be edited in any way without affecting other areas.

Otherwise, global schemes can only be edited in the area in which they were created. To do so, uncheck the "Read-Only" check box.

Global Environment Schemes can also be loaded and unloaded via HSL scripts, for use in weather systems or special effects. For example, you could create a scheme called "SeeingRed" where the fog is red, dense and close to the camera, load it with a script, and set it to blend in when the player is seriously injured.

function LoadGlobalEnvironmentScheme(fqn as String)

Loads an existing global scheme, without adding it to the active area. Its name will have the prefix "~" to distinguish it from schemes belonging to the active area. When it is ready, $ENVIRONMENT._OnGlobalEnviroSchemeLoaded will be called with the prefixed name.

function UnloadGlobalEnvironmentScheme(name as String)

Unloads a scheme loaded with LoadGlobalEnvironmentScheme.

Time of Day

Timeofday pane.PNG

Time of Day Slider - sets the current time of day.

Speed of Day - sets the rate at which the game day advances. This number is the multiple of real time used to calculate game time, i.e., 1.0 means one game day will pass in one real day, while 4.0 means four game days will pass in one real day (and so one game day passes in 6 real hours). Also, you can use the following formula:

speed_of_day = (1440.0 / number_of_real_minutes)

So if you want the game day to last 35 minutes, then set the speed of day to (1440.0 / 35.0), or 41.14285.


Skydome pane.PNG

The title of this pane is highlighted in orange if you have a skydome set for the area, but have environment schemes that are using a dynamic sky. This acts as a reminder that, if all schemes in an area either use a dynamic sky or are used only in rooms where the sky is not visible, you should clear the skydome asset because there is no need to load it.

Skydome/Skybox - displays the currently selected skydome asset for the area.

Library - opens the Asset_Library, where you can select a different skydome asset.

Clear - removes the skydome asset from the area.


Blend pane.png

Multiple environment schemes can be blended together, performing a weighted average of each property in a scheme.

The "Active" blend weight represents whichever environment scheme is active for each rendered object. (Note, this means that "Active" is not necessarily the same as the scheme applied to the current room (which is highlighted in bold on the panel), but can vary throughout a frame if multiple schemes happen to be visible.)

Sliders for schemes loaded by LoadGlobalEnvironmentScheme will also appear on this panel, but with their labels in gray.

The sliders on this panel correspond to these HSL functions:

external function GetEnviroSchemeBlend(schemeName as String) as Float

Returns the current blend value of the given environment scheme.

external function GetActiveEnviroSchemeBlend() as Float

Returns the current value of the active blend weight.

external function SetEnviroSchemeBlend(schemeName as String, value as Float, time as Float, blend as Enum InterpolationCurve)

Sets the blend weight of the given environment scheme. If time is nonzero, the blend weight is gradually interpolated to the given blend weight. For example, SetEnviroSchemeBlend("Rain",100,30,SMOOTH) would increase the blend weight to 100 smoothly over the next 30 seconds.

external function SetActiveEnviroSchemeBlend(value as Float, time as Float, blend as Enum InterpolationCurve)

As above, but applied to the active blend weight.


Main page: lighting
Light pane static.PNG
Light pane dynamic.PNG

Light Direction - Azimuth - Sets the horizontal angle of the sunlight.

Light Direction - Polar - Sets the vertical angle of the sunlight.

Light Model - Sets whether the light model should be the 3-Point Model or the Ambient-Diffuse Model.

Light Color - Sets the colors of the light model. Clicking on one of the color swatches will activate the Color Picker GUI

Light Intensity - Sets the sunlight's brightness.


Atmosphere pane static.PNG
Atmosphere pane dynamic.PNG

Override the Sky's Color - Replaces the color of the sky with the color specified. Useful to make a sky very overcast. The alpha of the color controls how much of the sky color is replaced.

Tint the Sky's Color - Multiplies the sky's color with double the color specified. (Multiplying by double the specified color allows you to 'blow out' the sky colors by specifying a color more intense than 50% gray.)

Tint Each Cloud's Color - Multiplies the color of each cloud by the specified color.

The lower left diagonal of each square represents the amount of alpha (transparency) for each setting. Seeing the checkerboard pattern represents a translucent color (low alpha value).

See Fog on this page for a note about interaction between the color of the horizon and the fog color.


Bloom pane.PNG
Main page: Bloom

Amount - The amount of scene bloom.

Strength - The intensity of scene bloom.

Sky Bloom - The intensity of bloom that affects sky.

Maximum Scene Contrast - When Dynamic Gamma is on, this controls how much contrast there is in the scene.


Fog pane static.PNG
Fog pane dynamic.PNG

Fog Attenuation - Min Density - The minimum density of fog at any point in the scene.

Fog Attenuation - Max Density - The maximum density of fog at any point in the scene.

Fog Attenuation - Distance From Camera - The distance from the camera the fog begins to transition from "min density" to "max density"

Fog Attenuation - Distance Between Min Density and Max Density - The distance over which the fog transitions from "min density" to "max density".

Fog Color

This allows setting the color of the fog in a particular area. Note that the alpha value of the fog color, when using dynamic sky, controls the interaction between the fog color and the color of the sky's horizon.

As of this writing (October 2008), because intermediate values crossfade between these two interactions, it is not possible to make the fog color and the horizon color completely independent. However, at 0.5, both colors influence each other to a small degree, which looks quite natural regardless of the fog color.

Cloud Layers

Cloud layers pane dynamic.PNG

Layer Selector Buttons - Selects which cloud layer to edit.

Add Layer - Adds a new cloud layer.

Delete Layer - Deletes the selected cloud layer.

Creation - Number of Clouds - The number of clouds in the selected cloud layer.

Creation - Distance That Each Cloud Travels - The maximum distance a cloud travels before being respawned.

Creation - Each Cloud's Size - The size of each spawned cloud in the selected cloud layer.

Creation - Each Cloud's Center - The point in the scene that clouds will be respawned around.

Creation - Each Cloud's Texture - The texture applied to each cloud in the cloud layer.

Movement - Each Cloud's Speed - The rate at which each cloud in the cloud layer travels.

Global Heading - The heading of all clouds in the scene.

Blending Effect - Determines whether clouds "roll in" or fade in when the active scheme is blended into the scene.


Wind pane.PNG

Strength - Base Strength - The constant strength of the wind in the scene.

Strength - Gust Frequency - The frequency at which the gust strength is applied to the base wind strength.

Strength - Gust Strength - The intensity of wind gusts.

Direction - Azimuth / Polar - Sets the angle of the wind.


Precipitation pane.PNG

Rain Strength - Sets the intensity of the rain in the scene. Note that rain is also affected by the wind.

FX Triggers

FX triggers pane.png
FX triggers enable and disable FX as the blend weight of the environment scheme changes.

A typical usage is for weather effects with varying levels of intensity. For example, an in-game event might call SetEnviroSchemeBlend() to gradually increase the blend weight of an environment scheme called "Thunderstorm." Initially, an FX meant to represent a distant thunderstorm would be enabled. As the blend weight increases, the distant FX would be disabled and a more intense thunderstorm FX would take its place. All FX are automatically stopped if the blend weight reaches 0, or the client enters an area that no longer contains the scheme.

Sliders represent the minimum and maximum blend weights which will engage the specified FX. The "Add Trigger" link pops up an FX Spec selector interface, from which you can choose any FX known to the FX Spec Oracle.


Textures pane dynamic.PNG

Environment Map - The cube map that's applied to reflective objects in the scene.

See also

Personal tools