Finger info for marco@icculus.org...


light_surface

Update 10:18 AM:
This is the final editor definition, for now:

/*QUAKED light_surface (1 0 0) (-8 -8 -8) (8 8 8)
Material property modifier related to lighting.

-------- KEYS --------
"targetname" : Name
"surfacename" : Material to make a light emitting surface.
"light" : Light intensity value.
"color" : floating RGB color value. E.g. '1.0 1.0 1.0'
"color255" : RGB255 color value. E.g. '255 255 255'
"subdivisions" : Defines how many surfacelights are spawned for this surface.
"bouncescale" : How strong photons will bounce for radiosity operations. Default is 1.0.
"backsplash_fraction" : When > 0, creates a backsplash light that illuminates our material. Default is 5 (percent).
"backsplash_distance" : How many units away from the surface the backsplash light will be placed. Default is 23 (units).
"style" : What lightstyle group the emitted light will belong to.

-------- NOTES --------
Instead of having hundreds of off-shoot materials for your level, you can use
this to quickly make sure an existing material is adjusted for your level.

The backsplash_fraction key can be set to 100 (percent) to ensure it's mostly
illuminated, however since the lights are round you might have some slightly
darker parts in the corners of a perfectly square surface. Keep this in mind.

If you have round surfaces, especially patches, you should definitely adjust the
backsplash_distance key to make sure the light is spawning out far enough.
One giant, half circle patch surface might see issues otherwise. Not tested
though.

-------- TRIVIA --------
This entity was introduced in Nuclide (2021).
*/

In vmap there's a new map entity coming that will help the constant issue
of having to create off-shoot materials. It's titled "light_surface".
So far I have it implemented to respect the following keys:

"surfacename" "textures/foobar" < material to apply the light flags to
"light" "100" < light intensity on the material
"subdivisions" "1" < how many lights will be placed per surface
"color" "1.0 1.0 1.0" < sRGB color value
"color255" "255 255 255" < (alternative) RGB255 color value

Technically all of the above keys are optional. I figured that some
level designers may only want to override a single material's properties.

For example you've got one light texture designed for small rooms, but you want
to use it in a big, big room. Now you can change the intensity and leave
the color values alone.

This solves SO many problems, so much clutter in your VCS... you have no idea.
It'll go up later today, but additions/changes may need to be made to the spec
but the implementation seems very solid on our testing.

- Marco

When this .plan was written: 2021-07-13 02:17:26
.plan archives for this user are here (RSS here).
Powered by IcculusFinger v2.1.27
Stick it in the camel and go.