 BModels |
Surface lighting with entity brush models
The original Qrad3 prevents entity brush models (bmodels) like func_wall,
func_door, etc. from casting light from their surfaces. ArghRad allows
them to emit light, opening up many new options to control the properties of
surface light. The surface lighting is set up normally on these brushes,
and the modifying options are added as entity keys.
Generally, this looks best with unmoving entities, or entities that do not
move much. As with all Qrad3 lighting, bmodel lighting is static. It will
not move or turn with the entity, only be cast from its starting position.
If the entity moves too far from where it cast its light, it can look pretty
strange.
"light" "#"
Normally for bmodels, the surface light value is individually set for any
faces. Giving the entity a "light" key will override the light value on all
its light-emitting surfaces. For example, suppose two surfaces of a bmodel
are lit with values 500 and 700. Setting "light" "1000" would make both of
those surfaces emit light with a value of 1000.
Example:
{
"classname" "func_wall"
"light" "800"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1 0 1 500
...
}
}
"_color" "# # #"
This option can be used to change the color of all the bmodel's
light-emitting surfaces. The color of surface lights are normally computed
by averaging all the colors in the texture. This option overrides that
color and uses the specified RGB value instead. This looks most natural
when using a texture that already is a similar color.
Example:
{
"classname" "func_wall"
"_color" "1 .5 0"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1 0 1 500
...
}
}
"style" "#"
Normally all surface lights are made style 0 (normal). This key can be used
to change the style emitted by all of the bmodel's surface lights.
Example:
{
"classname" "func_wall"
"style" "1"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1 0 1 500
...
}
}
"_focus" "#"
The "_focus" key modifies the spread of light relative to the direction that
the surface faces. A value greater than 1 makes the light spread out less,
while a value less than 1 makes it spread out more. The effect is easier
seen than explained. Also, due to the nature of surface lights, the results
may not always be what you predict.
Example:
{
"classname" "func_wall"
"focus" "2.5"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1 0 1 500
...
}
}
"_lightmin" "#"
This option can be used to make all of the bmodel's light-emitting surfaces
have a minimim brightness. This can be used to make a dim light-emitting
surface appear to glow brighter.
Example:
{
"classname" "func_wall"
"_lightmin" "250"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1 0 1 150
...
}
}
-nobmodlight
This command line option is provided for backward compatability with the
original Qrad3. It disables bmodel surface lighting, which turns off all
of the above features. The options below are unaffected, as they
deal with the appearance of all the bmodel's surfaces, and not with
emitting light.
Example:
arghrad.exe -nobmodlight mymap.bsp
"_minlighta" "#"
Qrad3 has a "_minlight" key which applies a mottled light pattern to
brighten up all dark areas on the bmodel's surfaces. This workes on the
same confusing 0-2 scale as -ambient. ArghRad adds new "_minlighta" which
does the same thing, but works on an absolute scale. For example, to set
the bmodel minlighting to 20, you simply use the value 20.
Example:
{
"classname" "func_wall"
"_minlighta" "15"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1
...
}
}
"_ambient" "#"
Sometimes you may want a minimum light value on a bmodel, but the mottled
pattern is undesirable. ArghRad adds an "_ambient" option that works like
the global ambient settings, but just on the bmodel. The specified ambient
brightness is added evenly to all the bmodel's surfaces.
Example:
{
"classname" "func_wall"
"_ambient" "20"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1
...
}
}
"_ambient" "# # #"
This alternate form of "_ambient" lets you specify the color of the ambient
light to add. The value is specified as three separate brightnesses: red,
green, and blue, respectively. It is NOT an RGB color value, it is three
separate brightness values. This option also has the side-effect of
colorizing the mottled minlight pattern if that is also present.
Example:
{
"classname" "func_wall"
"_ambient" "10 15 20"
{
(0 0 8)(8 0 8)(8 0 0) e1u1/white 0 0 0 1 1
...
}
}
|