Difference between revisions of "Lighting"
Silverfish (talk | contribs) (added more info to todo) |
Silverfish (talk | contribs) (Improved code formatting of all video embeds and added descriptions to them) |
||
Line 10: | Line 10: | ||
<br clear=all> | <br clear=all> | ||
[[Image:Sun_editor.jpg|left|thumb|The sun editor]] | [[Image:Sun_editor.jpg|left|thumb|The sun editor]] | ||
− | {{#ev:youtube| | + | {{#ev:youtube |
+ | |DUaBoNEUcVI | ||
+ | | | ||
+ | |right | ||
+ | |Editing the sun and sky | ||
+ | |frame | ||
+ | |start=267 | ||
+ | }} | ||
<br clear=all> | <br clear=all> | ||
Line 30: | Line 37: | ||
== Point lights == | == Point lights == | ||
Point lights allow you to cast omni-directional light from a point in the level. | Point lights allow you to cast omni-directional light from a point in the level. | ||
− | {{#ev:youtube| | + | {{#ev:youtube |
+ | |wOL0LJBRcas | ||
+ | | | ||
+ | |right | ||
+ | |Adding and editing point lights | ||
+ | |frame | ||
+ | |start=64 | ||
+ | }} | ||
==== Adding a dynamic light: ==== | ==== Adding a dynamic light: ==== | ||
Line 73: | Line 87: | ||
<br clear=all> | <br clear=all> | ||
− | {{#ev:youtube| | + | {{#ev:youtube |
+ | |wOL0LJBRcas | ||
+ | | | ||
+ | |right | ||
+ | |Adding and editing ambient shadows | ||
+ | |frame | ||
+ | |start=15 | ||
+ | }} | ||
+ | |||
[[File:Ambient shadow decals.png|600px|Ambient Shadow Decals's effect on light]] | [[File:Ambient shadow decals.png|600px|Ambient Shadow Decals's effect on light]] | ||
Revision as of 07:12, 7 April 2018
This article is a stub. You should help Wolfire by expanding it.
TODO: Cover other level parameters, such as HDR points, saturation, and sky brightness. These parameters are covered in the Script Parameters page, so might want to take care to not duplicate too much of the information and maybe include a link to that page
TODO: Expand sun section to say how to get a "sun" and a "moon" effect
Sunlight
The sun allows you to cast dynamic, single-directional light throughout a level.
You can use it to simulate either a sun (more direct light) or a moon (more ambient light)
How to adjust the sun
- Select the sun in the sky (double click it)
- Move it by clicking on the middle and dragging it around
- Change the color by dragging the dot around the outer ring
- Change the intensity by clicking just outside the outer ring and dragging it
To deselect the sun, double click well outside of the sun editor (Note: the normal Q for "deselect all" isn't working right now)
How to edit the parameters directly
If you have problems clicking it, or would prefer a numeric editor:
- Press the Y key to open the Scenegraph
- Expand level to find the Sun parameters
Point lights
Point lights allow you to cast omni-directional light from a point in the level.
Adding a dynamic light:
- Top Bar -> Load -> Lighting -> Dynamic Light
- The cursor will turn into a plus symbol
- Click in level to place the dynamic light
Changing the size of a dynamic light
- Select the light -
double click
- Hold
E
while clicking and dragging on its bounding box.
Note that this only changes the light's area of influence, not how much light it outputs.
Making a dynamic light brighter
- Select the light -
double click
- Open the color picker -
Ctrl + P
(Command + P
on mac) - Change the
Overbright
setting
Adjusting dynamic light color:
- Select the light
- Hit
CTRL + P
(command + P
on mac) to open the Color Picker. - Adjust the color with the color selector, or RGB at the bottom.
Shaping the dynamic light
Dynamic lights are always spherical right now. If you need an "area light" effect that isn't a sphere, there are a few options:
- Use Shadow Decals to shape the light (you have to enable this in the level first. See this section below)
- Place multiple dynamic light objects
- Some combination of both of the above
Be careful to both look at how the lights affect static objects in the scene, and how they affect characters that walk through them.
Shadow decals
Shadows from sunlight are taken care of automatically.
However this only allows one level of shadowing. This doesn't handle ambient occlusion (shadowing of indirect light reflections).
Shadow decals ("Ambient Shadows") allow you to manually place decals which simulate this ambient occlusion effect.
This can help you visually anchor objects more realistically in the scene, and replicate effects like darkening around corners, and inside cubbyholes.
Adding a shadow decal:
- Top Bar -> Load -> Lighting -> Ambient Shadow.
- The cursor will turn into a plus symbol.
- Now click in level to place the ambient shadow decal.
Resizing a shadow decal:
Double click the ambient shadow decal, and hold E while clicking and dragging on its bounding box (or while shift + right-clicking and dragging on a side to only stretch in that direction).
This will let you increase the spread of its effect.
Note: Ambient shadow decals will not create shadows if they in direct light. This is because they're for simulating indirect shadowing. Direct shadowing is already handled by placing objects in the world.
Dynamic lights and shadows
By default, no objects cast shadows from dynamic point lights (besides the sun). This is for performance reasons.
Normally ambient shadow decals also will not create shadow from dynamic point lights, because that would be shading direct light, and they don't work that way.
However you can use the #SHADOW_POINT_LIGHTS
level Custom Shader to make it so shadow decals can shape point lights, so you can manually simulate this shadowing.
Making shadow decals affect dynamic lights:
- Hit Y to open the level's scenegraph
- Expand Script Params
- Add a
Custom Shader
param - Hit
Enter
(nottab
!) - Type
#SHADOW_POINT_LIGHTS
in the value column and hit enter
This will make ambient shadows affect the direct light from dynamic lights, an let you sculpt the light they cast, or let you create manual shadows.