Synched gist at Tue Jun 18 01:09:01 PDT 2024

This commit is contained in:
Marco Cawthorne 2024-06-18 01:09:01 -07:00
parent 54c8672212
commit 3c45008b43
Signed by: eukara
GPG key ID: CE2032F0A2882A22

View 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")