Lights should almost always be placed at the light source or very near it.
Here's an example of what not to do:
There's a couple of things wrong here:
two lights for a single source, very far apart from the actual source of the light
the top of the lantern is lit, some bounce lighting in a smaller area could be lighting it, but it does not make sense here
And here we can see another issue with the light placement; if the player goes under the light object, they're clearly being lit by something from above, but there is no light source there.
Here's what you should do instead:
Be mindful of how you place shadow casting lights as well, the following examples are examples of what not to do:
This ends up making the shadows look stretched and weird, even though the light is where it's supposed to be.
This is also wrong. This makes the lanterns bottom unnaturally lit.
The very first thing you need to do, when lighting for a cell, is to make sure the lighting template and image space are set correctly in the cell data.
Right click the cell in the cell window, choose "Edit", and make sure the following all check out:
Under ‘Common data’ choose the correct image space with the prefix "_IS_" ("_IS_InteriorGenericAncestralTomb" for example)
Under ‘Lighting’ choose the correct lighting template with the prefix “_LT_” (For example "_LT_InteriorAncestralTomb")
Make sure the cell inherits all the properties of the lighting template by checking these boxes:
Skywind has had it's own bespoke lights made for it that use the prefix "_STLT_", which stands for "Standard Light". Any and all lights you use in your cells should have this prefix. Do not use any other lights.
If you find a light source missing a light, make a request for one in the Weather and Lighting channel on Discord.
Lights come in a few different types that are differentiated by the suffix they use. Our suffixes are as follow:
"_NS" stands for "no shadows," just a regular omnidirectional light
"_S" stands for a shadow casting omnidirectional light
And in some cases, we may have lights with a "_H" or "_B" suffix
"_H" stands for shadow casting hemisphere
"_B" stands for a bounce light
Our lights usually follow a naming convention that matches with what light source (an asset, such as a lantern) it should be used with. As an example _FX_Fire_Embers_Heavy uses _STLT_FireHeavy_NS or _S, _Prop_PaperLantern05_GreenYellow should be used with _STLT_PaperLanternGreenYellow_NS and so on.
It is important you use the correct light for a light source, not only because of the color or radius, but because the flicker settings (if the light moves, or pulses) will differ between different lights. As an example, the flicker settings, that is, how much the light moves around, between_STLT_FireGiant_NS and _STLT_FireLight_NS are very different.
Our lights have been designed to be as plug 'n' play as possible and in a vacuum, the lights radius and fade does match the light source, but as we are not in a vacuum, radius and fade adjustments are still often needed.
An example of where a radius adjustment is needed, is when the light is bleeding to areas it shouldn't:
Here you can see the lantern light at it's default radius of 512. It is bleeding through walls into other rooms where it wouldn't realistically reach, so it needs to be scaled down.
Fade Adjustments
Alongside radius adjustments, sometimes adjusting fade (intensity) is necessary. One such case would when you're scaling a light source up or down in size (bigger light source would mean bigger radius and bigger fade, as an example). Same would apply if you're stacking multiple light sources next to each other.
The key with any light adjustments, be it fade or radius, is to keep your edits as small as possible. And remember that we are aiming for consistency, not perfection.
To see the current fade and radius values of a placed light, double click the light to open the 'Reference' window:
Scaling down the light removes excess bleeding. Scaling down too much however, would make the radius look too small for it's source.
The previous radius adjustment does still leave a bit of light bleeding as seen here:
But thankfully, that can be covered with the lantern in the dining room, it'll mask it pretty well.
If too many lights hit a single object, the object will flicker in game. We have to keep this in mind from the start when we choose our light placements. Luckily there’s a debugger to check this, which can be accessed from choosing 'Preferences' from the Creation Kit toolbar:
Preferences window.
Here's a small test setup to showcase the light limit and the use of the debug tool:
Here's 4 identical areas each with 4, 5, 6 and 7 lights.
Here, each area except the one with 7 lights will get flicker, when the player draws out a torch or a lantern.
Render window with the debug view.
- Greens and blues indicate the surface is below the light limit
- Purple and pink mean you are getting close
- Red indicates the surface is at or above the limit. It will not guarantee there is flickering, but care should be taken to lower the number of lights hitting a red surface
The debugger is generally correct, but can be erroneous, so be sure to test in game with a torch, if you do have any red surfaces, then fix them if needed.
Be mindful that the imagespace that the cell uses will have a slight effect on the colors and will be most noticeable on the purple and pink.
A note on Roombounds.
Roombounds have a strict limit of 7 lights inside them at any time. This means, if you're doing the roombounds yourself, you can, in the Creation Kit, place at most 6 lights inside a roombound, because we need to reserve a light for the player torch/lantern/magelight. If you're over the limit, your player character will start flickering with the torch out.
Separate from the per-object limit, the game can only render 4 shadow casting lights at a time. If there are too many shadow casters, the game will randomly disable some of them at certain viewing angles. This might make it seem like you should aim for at most 4 shadow casting lights in a given interior cells, but again, the game can only render 4 at a time. And there are plenty of ways to control, when lights are being rendered.
These include:
Roombounds
Distance
With roombounds, you'll have the easiest time getting more than 4 shadow casters in your cell.
Another way to go over the limit would be to use a trigger box (fbmwPlayerEnableDisableLinkRefToggle) that would only enable lights, when you're inside the box. Regardless of what method you'd use, going over 4 shadow caster in a cell is easy. Not strictly required though, but good to keep in mind. Larger the cell is or the more space you have between areas of the cell, the easier it is to get more shadow casters.
Example usage is on the right.
Usage of fbmwPlayerEnableDisableLinkRefToggle
In some very rare cases, you may want to rely on a trigger box to disable / enable shadowcaster lights to increase the amount. This is done through the use of a triggerbox called 'fbmwPlayerEnableDisableLinkRefToggle'. The triggerbox has an xMarker as a linked reference that it enables, when the player enters the trigger and disables it, when they leave it. The xMarker is the enable parent of any lights you want to control.
Do not use this method, unless you absolutely have to and know what you are doing!
An important thing to note is that you do not place these triggers so that there is a load door inside it. If you do so, the player, upon loading the cell, will see the lights turn on.
An example of 'fbmwPlayerEnableDisableLinkRefToggle' trigger being used in the cell 'VasTower'. It controls 4 shadowcasters, marked with blue circles. The trigger is positioned and scaled in a way that the player does not ever see the lights turn on or off.
Artifacts:
Shadow casters in the Creation Kit are actually just two hemisphere casters slapped together. Because of this, when the two lights move in their animations they can create a visible ‘seam’ of light that bleeds through objects. This seam can be thought of as a plane that extends around the caster.
Sometimes hiding the seam can be impossible due to an issue with the nif (underside of a table for example). In these cases a github ticket should be created.
Other cases where a github ticket is warranted:
an object does not cast shadows
the shadows it casts look strange
Seam example 1.
Seam example 2.
Rotate the light to get rid of the seam.
Shadow Depth Bias:
Shadow casters can also create weird artifacting, especially when placed near curved corners.
This artifacting can be fixed by increasing the lights 'Shadow Depth Bias' with the shortcut Alt + B + mouse drag or in the 'Light Data' section of the reference:
Note that editing the fade or radius will reset the Shadow Depth Bias to it's default.
Artifacting example 1.
Increase shadow depth bias to fix it.
Artifacting example 2.
Increase shadow depth bias to fix it.
When lighting your cell, be careful to not make it too colorful. Since we have a variety of colored light sources (lanterns, magic effects etc) that cast colored lighting, a good rule of thumb to keep in mind, is to keep lights at two colors per room/scene, and we generally don't want to exceed three colors per level/cell as a whole. Natural lights would count as single "color", so things like candles, fires and the sun would count as just one color.
Also consider the 'vibe' that a colored lantern, for example, gives a room or an area. Blue/purple can evoke a magical feeling, best for locations with mages.
Red is an aggressive color, fits well in Daedric Ruins.
Additionally, all of our candles now emit normal orange fire color, regardless of the color of the candle wax. The only exception to this is Sixth House red candles. Please do not mix and match _STLT_ colored lights on candles. For example, please do not use a blue lantern light for a candle with blue wax. Always use the proper candle light _STLT_.
In general this goes back to what was stated earlier, each light source has it's own _STLT_ and should only use that light.
Dust Beams
We have a wide variety of different dust beams available, you can find them all quickly by searching "fx*amb*beam" in the Object Window.
Use what looks the best, but as a rule of thumb, use "_dim" variants for any windows and non-dim beams for skylights.
Dust beams also need their emittances set correctly, depending on where they are used.
Set their emittance to _Fx*REGIONNAME*Sunlight (for example, if the cell is located in the Ascadian Isles, use _FxACSunlight).
Glow fills
Glow fills are much more rarely used than dust beams, but they do have their use cases.
Glow fills are almost always used with skylights. Another use is placing a glow fill, usually a dim variant, on top of light sources in dungeons, specifically damp or dusty locations.
Something to keep in mind with glow fills; They should generally not be used in clear air. What that means is, if the air in a given area does not have a thick amount of dust or fog in it, you would never see the effect of a glow fill. Glow fills are simulating particles being illuminated. They are NOT meant to simulate bloom, which is a camera glow effect. Bloom is handled in the imagespace entirely and we don't want to use glow fills for this purpose. So in very dusty or foggy areas or even underwater, there they make the most sense. If you're unsure about using them in an area of your level, feel free to ask.
Correctly set emittance for a dust beam.
Windows, both interior and exterior, need to have their emittance set correctly, so that they dim and brighten depending the time of day.
The correct emittances are as follows:
Velothi and Hlaalu windows:
Interior:
_FXIntWindowsGreen
Exterior:
_FXWindowsGreen
There are also red, blue and yellow variants of the Velothi windows. The emittances for these are almost the same, but the color in the ID changes appropriately. Yellow windows use _FXIntWindowsYellow for the interior window, for example.
Common and Imperial windows
(or any non-tinted glass windows).
Interior:
_Fx*REGIONNAME*Sunlight (for example, if the exterior is in the Ascadian Isles, use _FxACSunlight).
Exterior:
_FXWindowsGeneric
For any questions when it comes to lighting, ask in the Weather and Lighting channel on discord! Same goes if you have a light source that is missing a light.
Scale Radius - (S + mouse drag)
Scale Fade (intensity) - (Ctrl + Alt + S + mouse drag)
Shadow Depth Bias - (Alt + B + mouse drag)
Show/hide Radii - (L)