newLight_Spot

From Valve Developer Community
Jump to navigation Jump to search
Black Mesa Level Creation
NewLight_Spot in bm_c4a1b (used for the floodlight).
NewLight Dir-Icon-Small.png

newLight_Spot is a point entity available in Black Mesa Black Mesa. It is a cone-shaped, invisible deferred light source, includes lightcookies with animations for them. The animations is based on row and column atlases or scroll mode.

Note.pngNote:You can have only 256 spot light entities placed in the map editor.

Represented by class CNewLightSpot.

Todo: Update issues, rework page.

Keyvalues

Name (targetname) <string>
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

ReverseDir (ReverseDir) <choices>
By default, the Y angle for a spot light is inverted, which causes the light to point upward when pointed downwards. This option allows you to fix this problem.
  • 0: No
  • 1: Yes
Icon-Important.pngImportant:This additionally impacts performance, use it in rare cases (for moving with NPC flashlight, etc), It is much better to invert required Y angle value (make it from 90 to -90 for example).
Examples
Use old Falloff ? (bUseOldFallOff) <choices> !FGD Obsolete
Deprecated.
Sets old falloff state, disabled or enabled. This feature is disabled in the code, so you can't use old falloff (although it is still used for the flashlight).
  • 0: Disabled
  • 1: Enabled
Light Color (LightColor) <color255>
The RGB color of the light. Colors must be between 0 and 255.
Light Intensity (Intensity) <float>
Intensity/brightness of the light. It's RGB * intensity.
Note.pngNote:With 0 it will make the light disabled, including the effects. Doesn't affect shadows.
Range (Range) <float>
Range of the light, or how far the light source can illuminate. Measured in Hammer Units.
Warning.pngWarning:This is one of the parameters that affects performance in the game. Smaller values ​​allow you to process less geometry and save performance.
Note.pngNote:Shadows from objects that are at a great distance look noticeably worse than shadows from objects that are near to the light source.
Icon-Important.pngImportant:Range is limited, the limit depends on intensity value. Do not use values ​​bigger than the intensity value allows.
Examples
Enabled (Enabled) <choices>
Sets light state on spawn, enabled or disabled.
  • 0: Enabled
  • 1: Disabled
Appearance (style) <integer choices>
Appearance presets.
Lightstyle presets (epilepsy warning)
Literal Value Description Sequence Preview
0 Normal m Lightstyle 0.png
10 Fluorescent flicker mmamammmmammamamaaamammma Lightstyle 10.gif
2 Slow, strong pulse abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba Lightstyle 2.gif
11 Slow pulse, noblack abcdefghijklmnopqrrqponmlkjihgfedcba Lightstyle 11.gif
5 Gentle pulse jklmnopqrstuvwxyzyxwvutsrqponmlkj Lightstyle 5.gif
1 Flicker A mmnmmommommnonmmonqnmmo Lightstyle 1.gif
6 Flicker B nmonqnmomnmomomno Lightstyle 6.gif
3 Candle A mmmmmaaaaammmmmaaaaaabcdefgabcdefg Lightstyle 3.gif
7 Candle B mmmaaaabcdefgmmmmaaaammmaamm Lightstyle 7.gif
8 Candle C mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa Lightstyle 8.gif
4 Fast strobe mamamamamama Lightstyle 4.gif
9 Slow strobe aaaaaaaazzzzzzzz Lightstyle 9.gif
12 Underwater light mutation mmnnmmnnnmmnn Lightstyle 12.gif
Tip.pngTip:Use new lights instead for lights with custom appearance, because static lightmapped lights reduces performance with this feature (especially near displacements).
Note.pngNote:Custom light styles are not possible.
Light Ambient Color (LightColorAmbient) <color255>
The RGB color of the shadows. Colors must be between 0 and 255.
Examples
SpecularMultiplier (SpecMultiplier) <float>
Specular multiplier. Sets intensity of new specular shader from this light source. It's RGB * Intensity * SpecularMultiplier. 0 means disabled.
Examples


falloffConstant (falloffConstant) <integer> !FGD Obsolete
Deprecated.
Constant value (can work only if old falloff is enabled).
falloffLinear (falloffLinear) <integer> !FGD Obsolete
Deprecated.
Linear value (can work only if old falloff is enabled).
falloffQuadratic (falloffQuadratic) <integer> !FGD Obsolete
Deprecated.
Quadratic value (can work only if old falloff is enabled).
OuterAngle (phi) <float>
Outer angle for spot light.
Warning.pngWarning:This affect shadow quality, less is better.
Icon-Important.pngImportant:Don't use values 180 and higher, this will make shadows and lighting broken.
InnerAngle (theta) <float>
Inner angle value for spot light.
Warning.pngWarning:Using values higher than in OuterAngle will not make ShadowFOV value higher. This will result in broken shadows.
AngularFallOff (angularFallOff) <float>
Angular falloff value.
Examples
Note.pngNote:Results depend on values of OuterAngle and InnerAngle.
Light Type (LightType) <choices>
Type of the light. This affects the behavior of the light source with parent, enable/disable dynamic models in shadowmaps, enable/disable static shadowmaps.
  • 0: Static - used only static shadowmaps, this means that shadows are cast only by static objects (prop_static, geometry, etc). Cannot move with parent.
Icon-Important.pngImportant:Brush entities and bmodels are also included in static shadowmaps and they never update (including func_physbox).
Note.pngNote:Static shadowmaps will update after save reload (only once).
  • 1: Stationary - the same as Static, but with dynamic shadows for dynamic models.
  • 2: Dynamic - lighting don't use static shadowmaps at all. It uses dynamic shadows for static objects and dynamic models. This type also can move with parent. This type is expensive, usually used for moving lights, but also can be used if you're getting issues due to static shadowmaps.
Examples
Note.pngNote:Note that shadow from metal box and grate box are flying on first and second pictures, that's because both was placed in air on map spawn. Doesn't happen on third picture, because the light updated shadow for both.
HasShadow (HasShadow) <choices>
Sets shadows state for the light, enabled or disabled. Remember that the default choices is No.
  • 0: No
  • 1: Yes
Examples
ShadowMapLOD (ShadowLod) <choices>
Resolution of shadowmap used by this light. This affects the quality of the shadows.
  • 0: 256
  • 1: 512
  • 2: 1024
Examples
Icon-Important.pngImportant:You cannot use any value from here an unlimited number of times. More information below.
ShadowRadius (ShadowRadius) <float>
Radius of shadow edges for soft shadows. If its value is negative, code will auto assign a value depending on ShadowLod. These code based values can be adjusted via convars nr_shadow_rad_High, nr_shadow_rad_Med and nr_shadow_rad_Low.
Examples
Tip.pngTip:Don't use very low values, because the shadows will look like stairs. Also don't use very high values, because the noise will spoil them a lot, or you'll see only noise.
NearZ (NearZ) <float>
NearZ used by shadowmap camera for this light. This is the distance at which the light source will start cast shadows.
DepthBias (DepthBias) <float>
DepthBias is offset added to depth values in shadowmaps.
Examples


SlopeDepthBias (SlopeDepthBias) <float>
Slope Depth Bias used for surfaces having aliasing due to steep angles with light.
Examples
NormalBias (NormalBias) <float>
While rendering objects into shadowmaps, each vertex will be moved along -ve Normal direction, giving it an appearance of shrinking while rendering to shadowmaps. This property determines the amount of Units to be moved. Helps with shadow aliasing.
Examples
Note.pngNote:You will not see any changes if your material doesn't not provide bumpmap.
Icon-Important.pngImportant:Increasing this value will make shadows between different surfaces less accurate, greate example is third picture in examples, there you can see "two" shadows from railing.
Icon-Bug.pngBug:Numbers lower than 0.8 can cause huge graphics issues. Example.
Tip.pngTip:Increase this value if you are getting aliasing issues like this.
ShadowFOV (ShadowFOV) <float>
Fov used by shadowmap camera for this light. Keep it 0 to use Outer angle as the fov.
Icon-Bug.pngBug:If value lower than OuterAngle value, the lights will have visual issues.
Example
Enable Texture Light (bTexLight) <choices>
Sets lightcookie (texture lights) state, enabled or disabled. For NewLight_Point, you need static cubemap texture. For NewLight_Spot, you can use any texture with No Mipmap and No Level Of Detail flags.
  • 0: Disabled
  • 1: Enabled
Examples
Tip.pngTip:Follow these steps to create your own lightcookie texture for point light.
Warning.pngWarning:This is one of the most expensive features, use wisely.
Texture name for TexLight (texName) <string>
Determines which texture will use the light source. Lightcookies are using .vtf (not .vmt) texture from files (just like env_projectedtexture).
.Enable Prop Only Mode (bNegLight) <choices> Obsolete
Deprecated.
Sets prop only mode, which supposed to disable shadows for world geometry. Doesn't work. The same effect can be achieved with shadow pass settings.
  • 0: Disabled
  • 1: Enabled
TexCookieFramesX (TexCookieFramesX) <integer>
Number of frames in 1 row of atlas.
Note.pngNote:If value lower than 1 - you'll get message in the developer console:

TexCookieFramesX for LightSpot - class C_NewLightSpot CookieName - TEXTURENAME.vtf is 0. Are you sure this light is using texcookie? If yes then set this property to at least 1.

TexCookieFramesY (TexCookieFramesY) <integer>
Number of frames in 1 column of atlas. Also sets scale for texture, with 2 and higher it allows TexCookieFps to animate texture.
Note.pngNote:If value lower than 1 - you'll get message in the developer console:

TexCookieFramesY for LightSpot - class C_NewLightSpot CookieName - TEXTURENAME.vtf is 0. Are you sure this light is using texcookie? If yes then set this property to at least 1.

Examples
TexCookieFps (TexCookieFps) <float>
Frame rate for animation. This entity divides texture into several parts (their count is indicated in TexCookieFramesY) and changes them in a specific sequence.
Tex Cookie Scroll Mode (bTexCookieScrollMode) <choices>
Sets texture scrolling function state, enabled or disabled. ScrollSpeedU and ScrollSpeedV sets scrolling speed and direction.
  • 0: Disabled
  • 1: Enabled
ScrollSpeedU (fScrollSpeedU) <float>
Scrolling speed along Y axis.
ScrollSpeedV (fScrollSpeedV) <float>
Scrolling speed along X axis.
ShadowPass_Brush (m_bSRO_Brush) <choices>
Do we want to render world geometry in shadow passes for this light ? Doesn't affect bmodels.
  • 0: YES
  • 1: NO
ShadowPass_StaticProp (m_bSRO_StaticProp) <choices>
Do we want to render prop_static in shadow passes for this light ? This also affect bmodels.
  • 0: YES
  • 1: NO
ShadowPass_DynProp (m_bSRO_DynProp) <choices>
Do we want to render dynamic models in shadow passes for this light ?
  • 0: YES
  • 1: NO
ShadowPass_AlphaTest (m_bSRO__Trans) <choices>
Do we want to render models with transparency materials in shadow passes for this light ? Objects with transparency can cast shadows if your model includes a material without transparency.
  • 0: YES
  • 1: NO

Inputs

SetColorLight <color255>
Change light's color value.
SetIntensityForLight <float>
Change light's intensity value.
TurnOn <void>
Turn the light on.
TurnOff <void>
Turn the light off.
Toggle <void>
Toggle the light's current state.
InputFixRotBugDueToTram <void>
This is an unused input. Doesn't seem to do anything. Perhaps it initially should enable the direction reversing.

Bugs/Limitations

See /Bugs and limitations

See also