light_spot
Jump to navigation
Jump to search
Note: When using this entity it is often necessary to turn the brightness value up significantly for the effects of the light to be visible compared to other lighting entities. Values of 3000-4000 are sometimes necessary for light sources like streetlights.
AltNames:light, light_spot, light_glspot, and (in all games since
) light_directional are all tied to the same C++ class in game, and only differ in VRAD.
Important: Naming a static light radically changes its behavior. See Naming Lights for details.
Note: Values for _cone and _inner_cone larger than 90 are clamped to 90; this can be circumvented with a custom RAD compiler, but lighting on dynamically-lit models may behave unexpectedly.
Warning: On some modern drivers[Which?] this will degrade performance by causing frequent stutters. There is no workaround for this other than not using styled lights. The symptoms of this are high spikes in
Note: Brightness values below zero are clamped; this can be fixed by modifying VRAD.
Code Fix: In
Warning: The fourth digit must be positive. Otherwise all light will be sucked out of your map!
Note: Unlike
Bug:Using this setting will sometimes not work, which may or may not be related to using the light inside of an instance. Collapsing the instance and messing with the light's falloff values seems to help.
Note: This keyvalue is also in
VRAD++, but will only affect the map when loaded in third party engines such as
, or post-
engines (such as 
).
| CLight |

light_spot is a semi-internal point entity available in all
Source games. It is a cone-shaped, invisible light source. Can be turned on and off through inputs, though switchable lights may cause lightmap errors. This is a static spotlight that can be pointed at another entity.
Keyvalues
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentnameortarget).
Also displayed in Hammer's 2D views and Entity Report.
See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Entity to point at (target) <targetname>
- The name of a (non-internal) entity in the map that the spotlight will point at. This will override the spotlight's angles.
- Inner (bright) angle (_inner_cone) <integer>
- The angles of the inner spotlight beam.
- Outer (fading) angle (_cone) <integer>
- The angles of the outer spotlight beam.
- Focus (_exponent) <integer>
- Changes the distance between the umbra and penumbra cone. Higher values make the edge of the light more blurred.
Tip: When increasing the Focus value (to 5, for example), you can use the spotlight as a directional fill light.
- Maximum distance (_distance) <integer>
- This is the distance that light is allowed to cast, in inches. Non-functional in Source 2013 and later, use 50 and 0 percent falloff instead.
- Pitch Yaw Roll (Y Z X) (angles) <QAngle>
- This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
- Pitch (pitch) <integer>
- Used instead of
anglesvalue for reasons unknown.
- Appearance (lightstyle) (style) <integer choices>
- Various lightstyle presets. Cannot be used on named lights.
Dynamic Light Rendering when using +showbudget. When toggling r_dynamiclighting off, these spikes will disappear. DXVK is not affected by this problem. | Literal Value | Description | Sequence | Preview |
|---|---|---|---|
| 0 | Normal | m | |
| 10 | Fluorescent flicker | mmamammmmammamamaaamammma | |
| 2 | Slow, strong pulse | abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba | |
| 11 | Slow pulse, noblack | abcdefghijklmnopqrrqponmlkjihgfedcba | |
| 5 | Gentle pulse | jklmnopqrstuvwxyzyxwvutsrqponmlkj | |
| 1 | Flicker A | mmnmmommommnonmmonqnmmo | |
| 6 | Flicker B | nmonqnmomnmomomno | |
| 3 | Candle A | mmmmmaaaaammmmmaaaaaabcdefgabcdefg | |
| 7 | Candle B | mmmaaaabcdefgmmmmaaaammmaamm | |
| 8 | Candle C | mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa | |
| 4 | Fast strobe | mamamamamama | |
| 9 | Slow strobe | aaaaaaaazzzzzzzz | |
| 12 !FGD | Underwater light mutation | mmnnmmnnnmmnn |
- Custom Appearance (pattern) <string>
- A string of english letters, like a sequence of piano keys, that define a pattern of brightness. a is 0%, m is 100%, and z is 200%. Updates at 10 Hz. Requires light to have a targetname.
Internal keyvalues used only by VRAD:
- Brightness (_light) <color255 + int>
- The RGB color of the light, and a multiplicative scalar for brightness (applied after gamma correction). Colors should be between 0 and 255; brightness can be anything (even absent). If only one value is provided, light will be greyscale.
utils/vrad/lightmap.cpp, look for the comment saying "// make sure light is legal", then remove the following if statement, including all its contents.
- BrightnessHDR (_lightHDR) <color255 + int>
- RGB color and brightness override used in HDR mode. Default is
-1 -1 -1 1, which means no change.
- BrightnessScaleHDR (_lightHDRscale) <float>
- A simple intensity multiplier used when compiling HDR lighting.
_light and _lightHDR, negative values are supported. Negative brightness will suck out the amount of lighting that the equivalent positive brightness would cast. Use sparingly; set falloff to linear instead of quadratic to make it more like an ordinary shadow and less like a black hole. Since this only applies to HDR mode, it should be reserved for games that don't officially support disabling HDR.
- Constant (_constant_attn) <float>
- Linear (_linear_attn) <float>
- Quadratic (_quadratic_attn) <float>
- These three values determine how the intensity of the emitted light falls off over distance. See Constant-Linear-Quadratic Falloff.
- 50 percent falloff distance (_fifty_percent_distance) <float>
- 0 percent falloff distance (_zero_percent_distance) <float>
- Distances at which brightness should have fallen to 50% and (1/256)% respectively. Overrides Linear/Constant/Quadratic parameters if non-zero.
- Hard falloff (_hardfalloff) <boolean>
- Causes lights to fall to exactly zero beyond the 0% distance. May cause unrealistic lighting if not used carefully.
- Cast entity shadows (_castentityshadow) <boolean> (in all games since
) (also in
) - Allows the light to modify the direction of nearby render-to-texture shadows so that they always point away from its origin. See also shadow_control. !FGD in some games.
- Shadow cast offset (_shadoworiginoffset) <vector> (in all games since
) - A world-space offset that gets applied to the light origin when casting entity shadows. Useful for dealing with funny-looking shadows from very low lights: Just offset up the z axis. Default
0 0 0. !FGD in some games.
Flags
- Initially dark : [1]
- Spawns with the light turned off, so a light switch or similar can turn it on.
Inputs
- TurnOn
- Turn the light on (sets pattern to
m).
- TurnOff
- The the light off (sets pattern to
a).
- Toggle
- Toggle the light's current state.
Code: Uses the current state of the m_spawnflagsto determine whether to turn on or off. As such, if the light has been manually turned off (such as by setting pattern toainSetPatternorFadeToPattern), this input will appear to have no effect.
- SetPattern <string>
- Set a custom pattern of light brightness for this light. Flags the light to game code as being "on".
- FadeToPattern <string>
- Fades from first value in old pattern, to first value in the new given pattern.
Fade occurs 0.1 seconds per letter, the same speed as the pattern itself. Flags the light to game code as being "on".
Tip: This can be used to have a light turn on and off slowly (over the span of 1.3 seconds), by setting the pattern to mto turn on, andato turn off.
See also
- light and point_spotlight
- light_deferred
- Lighting
- Adding Light
- Intermediate Lighting
- Advanced Lighting
- Tool textures (for Block light)