This article's documentation is for anything that uses the Source engine. Click here for more information.

Beam spotlight: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (cat)
m (Substituted IO templates)
 
(21 intermediate revisions by 12 users not shown)
Line 1: Line 1:
==Entity Description==
{{LanguageBar}}
{{this is a|point entity|name=beam_spotlight|sprite=1|engine=Source|since=Left 4 Dead}}
{{CD|CBeamSpotlight|file1=beamspotlight.cpp}}


[[Image:{{PAGENAME}}.png|left]]The '''Beam_spotlight''' [[entity]] creates a cone shaped light "glow" of light reflecting off of fog.  Does not provide any illumination on objects itself, but makes other lightsources, such as a [[light_spot]] look more realistic (treated as an overlay?). Cone is slightly parabolic, with the apex slightly behind the entity and unrendered.
It is used to draw a spotlight. Will draw a beam when the player views it side on, and a halo when it's facing towards the player. It will also create a dynamic light wherever the end of the spotlight rests. Other than its ability to rotate, this entity is functionally identical to {{ent|point_spotlight}}.


Can be set to rotate for a lighthouse search beam effect.
{{note|This spotlight is entirely client side, and rotation may be desynchronized between clients.}}
{{note|This entity is also available in {{game link|Garry's Mod}}.}}


Creates a glare effect when looking directly into the source (not visible from behind, as one would expect).
{{tip|Can be set to rotate for a lighthouse search beam effect.}}


==Flags==
{{fl|1|Start On|}}
{{fl|2|No Dynamic Light - Do not create any actual light.|}}
{{fl|4|Start with Rotation On|}}
{{fl|8|Reverse Direction|}}
{{fl|16|X Axis|}}
{{fl|32|Y Axis|}}
({{clarify}} are these axes relative to the world or to the entity?)


==Keyvalues==
==Keyvalues==
* {{KV Targetname}}
{{KV|Max Rotation Speed|intn=maxspeed|integer|The maximum rotation speed of the spotlight, in degrees per second.}}
{{KV|Spotlight Length|intn=SpotlightLength|integer|Length of the spotlight beam.}}
{{KV|Spotlight Width|intn=SpotlightWidth|integer|Width of the spotlight beam.}}
{{KV|HDR color scale|intn=HDRColorScale|float|Multiplier for sprite color by when running in HDR mode.}}
{{KV|Halo Sprite|intn=HaloSprite|sprite|The material that should be used for the halo.|only={{l4d}}}}
{{KV|Beam Sprite|intn=BeamSprite|sprite|The material that should be used for the beam.|only={{l4d}}}}
{{KV RenderFields}}


* {{KV Angles}}
==Inputs==
{{I|LightOn|Turn the spotlight on.}}
{{I|LightOff|Turn the spotlight off}}
{{I|Start|Start rotating.}}
{{I|Stop|Stop rotating.}}
{{I|Reverse|Reverse the direction of rotation.}}
{{I RenderFields}}


* {{KV Parentname}}
==Outputs==
{{O|OnLightOn|Fires when light turns on.}}
{{O|OnLightOff|Fires when light turns off.}}


* '''Color'''
[[Category:Lighting]]
:The color of the beam.  Black makes the beam invisible, so no "Shadow Beams."
 
* '''Disable Receiving Shadows'''
:''Default No''
 
* '''Start Fade Distance'''
:Distance at which the overlay starts to fade (<0 = subtract from fademaxdist).
 
* '''End Fade Distance'''
:Maximum distance at which the overlay is visible (0= don't fade out).
 
* '''Fade Scale'''
:If you specify a fade in the worldspawn, or if the engine is running under low end/medium end/XBox360, then the engine will forcibly fade out the props even if fademindist/fademaxdist isn't specified.  This scale factor gives you some control over the fade.  Using 0 here turns off the forcible fades.  Numbers smaller than 1 cause the prop to fade out at further distances, and greater than 1 cause it to fade out at closer distances.
 
* '''Max Rotation Speed'''
:The maximum rotation speed of the spotlight in degrees per second.  Rotates counter-clockwise (seen from above) if speed is >0.
 
* '''Spotlight Length'''
Length of the spotlight beam.
 
* '''Spotlight Width'''
Width of the spotlight beam at the far end of the cone.  Appears to be the diameter.  Appears to have a maximum width of about 128 units.  How wide the beam actually appears is dependent on the distance to the nearest object (or spotlight length, which ever is closer).  The end of the cone is always the same size, regardless of how far away it is from the source, rather than realistic cone of light being truncated upon meeting a closer object.  Likewise the linear fade from source to end is scaled to fit inside the distance.
 
* '''HDR color scale'''
Float value to multiply the sprite color by when running in HDR mode.
 
== Flags ==
 
* 1:Start On'''
 
* 2:No Dynamic Light'''
 
* 4:Start Rotation On'''
 
* 8:Reverse Direction
 
* 16:X Axis
:Causes the light to rotate about the X Axis instead of the Z.
 
* 32:Y Axis
:Causes the light to rotate about the Y Axis instead of the Z.
 
== Inputs ==
 
* {{I Targetname}}
 
* {{I Parentname}}
 
* '''Color'''
<byte> <byte> <byte> Changes the color of the beam.
 
* '''Alpha'''
<byte> Change the alpha.
 
* '''TurnOn'''
: Turn the light off.
 
* '''TurnOff'''
: Turn the light on.
 
* '''Start'''
:Start the rotator rotating.
 
* '''Stop'''
:Stop the rotator from rotating.
 
* '''Reverse'''
:Reverse the direction of the rotation.
 
== Outputs ==
 
* {{O Targetname}}
 
* '''OnLightOn'''
:Fires when the light turns on.
 
* '''OnLightOff'''
:Fires when the light turns off.
 
[[Category:Entities]]

Latest revision as of 23:04, 20 April 2025

English (en)Русский (ru)Translate (Translate)
Beam spotlight.png

beam_spotlight is a point entity available in all Source Source games since Left 4 Dead Left 4 Dead.

C++ Class hierarchy
CBeamSpotlight
CBaseEntity
C++ beamspotlight.cpp

It is used to draw a spotlight. Will draw a beam when the player views it side on, and a halo when it's facing towards the player. It will also create a dynamic light wherever the end of the spotlight rests. Other than its ability to rotate, this entity is functionally identical to point_spotlight.

Note.pngNote:This spotlight is entirely client side, and rotation may be desynchronized between clients.
Note.pngNote:This entity is also available in Garry's Mod Garry's Mod .
Tip.pngTip:Can be set to rotate for a lighthouse search beam effect.

Flags

Start On : [1]
No Dynamic Light - Do not create any actual light. : [2]
Start with Rotation On : [4]
Reverse Direction : [8]
X Axis : [16]
Y Axis : [32]

([Clarify] are these axes relative to the world or to the entity?)

Keyvalues

Max Rotation Speed (maxspeed) <integer>
The maximum rotation speed of the spotlight, in degrees per second.
Spotlight Length (SpotlightLength) <integer>
Length of the spotlight beam.
Spotlight Width (SpotlightWidth) <integer>
Width of the spotlight beam.
HDR color scale (HDRColorScale) <float>
Multiplier for sprite color by when running in HDR mode.
Halo Sprite (HaloSprite) <sprite> (only in Left 4 Dead)
The material that should be used for the halo.
Beam Sprite (BeamSprite) <sprite> (only in Left 4 Dead)
The material that should be used for the beam.

RenderFields:


Render Mode (rendermode) <byte choices>
Set a non-standard rendering mode on this entity.
Render Modes
  • 0: Normal
  • 1: Color
  • 2: Texture
  • 3: Glow
  • 4: Solid/Alphatest Obsolete
  • 5: Additive
  • 6: Removed, does nothing Obsolete
  • 7: Additive Fractional Frame
  • 8: Alpha Add
  • 9: World Space Glow
  • 10: Don't Render
Render FX (renderfx) <byte choices>
Various somewhat legacy alpha effects. See render effects.
Render Amount / Transparency (renderamt) <byte>
Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
Render Color (R G B) (rendercolor) <color255>
Color tint.

Inputs

LightOn
Turn the spotlight on.
LightOff
Turn the spotlight off
Start
Start rotating.
Stop
Stop rotating.
Reverse
Reverse the direction of rotation.

RenderFields:

Alpha <integer 0–255>
Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its rendermode set to a number other than 0.
Color <color255RedirectInput/color32>
Sets an RGB color for the entity.

Outputs

OnLightOn
Fires when light turns on.
OnLightOff
Fires when light turns off.