You can think of light in Simmetri as originating from 3 possible sources:
- Ambient Light
- Directional Light
- Point Lights
Let's look at each type of light:
Ambient light is considered a global Space light source. It's light that effectively exists uniformly everywhere in the space and is generally used to ensure we can always see geometry a little even in a completely unlit area.
Ambient light can also be baked (Edit/Tool/Bake Light Maps) for a scene. In this case, the surrounding sky (around the origin point of a space) will be baked into a special texture that will be sampled to determine the ambient light of a surface facing a particular region of the sky.
Directional light, like Ambient light, is also a global Space light source. There is one directional light per space. This light represents light from a very far always light source, like the sun, where parallel light rays arrive at a surface. Let's look at some of the Directional Light properties:
The shadows for a directional light are calculated out from a distance from the viewer. You can control this distance via the Shadow Distance property of the Directional Light. The larger the shadow distance you set, the further out you'll see the shadows but the foreground shadowing will be less detailed.
Shadow Penumbra Size
The shadow penumbra size determines how much to blur the shadow edges. Note that more blur tends to be more expensive to render.
Ambient Light Bleed
Ambient light bleed determines how much ambient light is indirectly contributed by the directional light. It's a rough approximation of a more complex global illumination model. 0 means no ambient light added in.
Horizon Spaces And Light Inheritance
When working with OpenSpaces and TerrainSpaces, the directional and ambient light of these spaces will be inherited from the horizon space. For example, the default TerrainSpace you start a new universe with has a SkySpace as its horizon space. As such, the TerrainSpace's directional light (along with other atmospheric properties) will be defined by the SkySpace's sun location (e.g. time of day).
Points lights are local light sources than illuminate a local region of a Space. You can create as many point lights as needed though only the nearest light to the viewer will be used to calculate shadows. Point Lights also have a Spot property allowing you to restrict the point light to a single direction. Let's look at some of Point Lights properties:
This property determines the intensity of the emitting light and thus how far it reaches.
This defines a radius around the light source where light remains at maximum intensity. After the radius, the light drops off given its intensity.
Shadow Penumbra Size
Like the Directional Light, the shadow penumbra size determines how much to blur the shadow edges. Note that more blur tends to be more expensive to render.
If true, causes lens flares to appear in cameras that look directly at the light source.
When enabled, causes the Point Light to behave as a spot light with only one direction illuminated. The Size property determines the spot radius while the Harness property determines how blurry the edges of the spot are. Projection Texture allows you to project a texture as the light source. Be sure to set the light's Color to black when projecting a texture to ensure only the texture is projected and not an additional spot light color.
Another important consideration in understanding how light works in Simmetri is exposure. Reflected light off of objects in the Space consequently makes its way into a Camera and through the ViewPort. By default, ViewPorts are configured with an Exposure Layer. Much like the exposure controls of a real camera, this layer ultimately adjusts the incoming light to balance the brightness so it can be viewed correctly on a display. A dark scene will be brightened while a bright scene will be darkened to arrive at a comfortable middle. You can adjust the exposure settings by clicking on the Exposure Layer of the ViewPort and viewing its properties.