Synched gist at Tue Jun 18 01:09:01 PDT 2024
This commit is contained in:
parent
54c8672212
commit
3c45008b43
1 changed files with 98 additions and 0 deletions
98
Lighting:_Best_Practices.md
Normal file
98
Lighting:_Best_Practices.md
Normal file
|
@ -0,0 +1,98 @@
|
|||
Here we'll run down the practices of lighting your map using
|
||||
[WorldSpawn](/WorldSpawn "wikilink") and [vmap](/vmap "wikilink").
|
||||
|
||||
## Basic Rules {#basic_rules}
|
||||
|
||||
- Point lights are hard to maintain, use surface lights (either
|
||||
[vmap_surfaceLight (Material
|
||||
Command)](/vmap_surfaceLight_(Material_Command) "wikilink") or
|
||||
[light_surface](/light_surface "wikilink"))
|
||||
- [light_environment](/light_environment "wikilink") will do a bulk of
|
||||
the world lighting, it should even be used in afternoon and dark
|
||||
settings
|
||||
- Avoid ambient lighting, unless you know exactly what you want, or
|
||||
you're in a completely interior-only map
|
||||
|
||||
## Global settings {#global_settings}
|
||||
|
||||
[light_environment](/light_environment "wikilink") will do the bulk
|
||||
work. It emits light from any sky surface, such as `common/skyportal`.
|
||||
The amount of samples specify how many **passes** are done. This will be
|
||||
~evened~ out to match the desired **intensity**, so increasing samples
|
||||
does **not** make the map brighter.
|
||||
|
||||
Using more than 1 sample is useful if you want less harsh-shadows. Even
|
||||
a value of 4 with a `sunspreadangle` of e.g. 5-10 degrees is sensible
|
||||
for day-time maps. It makes them look less artifacting too. The theory
|
||||
is, the cloudier the world is, the softer the shadows are - so we need
|
||||
more **samples** and a `sunspreadangle` that's wider to accommodate
|
||||
that.
|
||||
|
||||
The `sunspreadangle` will determine how far apart the different samples
|
||||
will be spread. E.g. if you set it to '0' it will do nothing. Every
|
||||
light_environment sample will take place on the exact same spot, from
|
||||
the same angle. However if you set it to 360 (the maximum amount), each
|
||||
sample will spread out to get a full 360 coverage of the map. Resulting
|
||||
in a lightmap without any real contrasting shadows.
|
||||
|
||||
## Which light_environment color to use? {#which_light_environment_color_to_use}
|
||||
|
||||
99% of the time it's going to be white. Let `_ambient` inside your
|
||||
light_environment tint the shadows the color of the sky, let radiosity
|
||||
do its job. Radiosity can't do its job if the sun color is non-white.
|
||||
|
||||
**The effects of radiosity will be barely visible using a non-white
|
||||
light_environment color.**
|
||||
|
||||
## Ambient color? {#ambient_color}
|
||||
|
||||
Set `_ambient` in your light_environment to whatever the color of the
|
||||
sky is set to. This determines the color of the shadows cast by the
|
||||
light_environment. **This does not create a minimum ambient intensity in
|
||||
the process**
|
||||
|
||||
## Minimum light intensity {#minimum_light_intensity}
|
||||
|
||||
A really ugly hack, only use it in the worst case scenario.
|
||||
|
||||
In your [worldspawn (Entity)](/worldspawn_(Entity) "wikilink") keys, you
|
||||
can add a `_minlight` intensity value, as well as a `_minlight_color`
|
||||
value. This is not something you want to use for anything looking good.
|
||||
|
||||
It raises the lighting level-wise, but keeps the light values of each
|
||||
entity/sky/shader intact. A much worse alternative is the worldspawn
|
||||
`_ambient` key.
|
||||
|
||||
**You will never achieve truly black areas in your map after this. Be
|
||||
warned.**
|
||||
|
||||
## What about the worldspawn **_ambient** key? {#what_about_the_worldspawn__ambient_key}
|
||||
|
||||
The overall lighting level of the map is raised. This has the tendency
|
||||
to flatten the difference between light and shadow. The dynamic range is
|
||||
utterly destroyed.
|
||||
|
||||
## What about the worldspawn **_floodlight** key? {#what_about_the_worldspawn__floodlight_key}
|
||||
|
||||
With floodlight, light becomes darker in closed spaces and brighter in
|
||||
wide open spaces.
|
||||
|
||||
The worldspawn key for that is `_floodlight`, with you specifying:
|
||||
|
||||
` `**<red color>` `<blue color>` `<green color>` `<travel distance>` `<intensity>**
|
||||
|
||||
The side effect is that it'll obviously act as a contrasting knob. It
|
||||
**does not fix spaces where light wasn't present to begin with**!
|
||||
|
||||
There are very few artistic use cases for this. However, if your map is
|
||||
looking very dull/flat, it could help a lot.
|
||||
|
||||
## Should I use radiosity? How many bounces? {#should_i_use_radiosity_how_many_bounces}
|
||||
|
||||
Half-Life 2 compiled with a maximum of 8 bounces, that is sensible. You
|
||||
can even set it to 100 and it'll stop once photons lose their energy.
|
||||
|
||||
**And of course yes you should use radiosity... Damn it, that fixes most
|
||||
lighting problems!**
|
||||
|
||||
[Category: Level Design](/Category:_Level_Design "wikilink")
|
Loading…
Reference in a new issue