Func smokevolume: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Add internal names of keyval keys, Add MaxDrawDistance key)
(i had issues with this brush and had no idea whats wrong and nothing helped - tried chaning the size and it suddenly worked - then did some super simple tests in HL2:EP2 and it seems there is a minimum size (someone should do the tests more in-depth))
Line 11: Line 11:


{{note|The default [[material]] is <code>particle/smoke_grenade1</code>, which does not exist. However, <code>particle/particle_smokegrenade</code> does.}}
{{note|The default [[material]] is <code>particle/smoke_grenade1</code>, which does not exist. However, <code>particle/particle_smokegrenade</code> does.}}
{{note|There is a minimum size the brush has to meet - it seems to be 48x48 units. If any side is smaller than 48 units the particles do not spawn. This can be worked around by placing the larger than desired size into the ground}}


== Keyvalues ==
== Keyvalues ==

Revision as of 17:45, 17 December 2021

Template:Base brush

Smoke generated by func_smokevolume in Counter-Strike: Global Offensive

Entity description

A brush entity that spawns smoke particles within its volume, commonly used for large, localised areas of fog. Use the trigger texture or the fog texture.

Warning.pngWarning:Smoke volumes should be used sparingly as they can decrease performance in heavily detailed scenes, or scenes with high amounts of action. Particle systems may be cheaper to use, depending on CPU usage restraints.
Warning.pngWarning:Smoke volumes shouldn't be placed in the same volume as func_precipitation is. Otherwise engine may freeze at the end of loading the level. It is probably caused by some particle coding that do not accept this two types of sprites to render at once (in the same volume).
Note.pngNote:The default material is particle/smoke_grenade1, which does not exist. However, particle/particle_smokegrenade does.
Note.pngNote:There is a minimum size the brush has to meet - it seems to be 48x48 units. If any side is smaller than 48 units the particles do not spawn. This can be worked around by placing the larger than desired size into the ground

Keyvalues

Particle Color1 (R G B) (Color1) <color255>
How dim particles can be.
Particle Color2 (R G B) (Color2) <color255>
How bright particles can be.
Note.pngNote:Darker particle colors will appear nearly invisible without being close to a bright light source.
Material (material) <material>
The material to use for the particles
Particle Draw Width (units) (ParticleDrawWidth) <float>
The size of the particles, in units/inches. (Typical Values: 128,175,200,500,512)
Particle Spacing Distance (units) (ParticleSpacingDistance) <float>
The distance between the particles inside the volume. The lower the number, the denser the particles, and the more overdraw there will be. It is best to keep it as high as you can without it looking bad. (Typical Values: 125,150,200 and sometimes 80 or 480)
Density Ramp Speed (seconds) (DensityRampSpeed) <float>
Time to go from density 0 to density 1, in seconds.
Rotation Speed (degrees/sec) (RotationSpeed) <float>
The speed that the particles should rotate, in degrees per second. (Typical Values: 3,10)
Movement Speed (units/sec) (MovementSpeed) <float>
The speed that the particles should move around, in units/inches per second.
Density [0..1] (Density) <float>
Particle density, from 0 to 1. (Typical Values: .1-.5)
Max Draw Distance (0 is unlimited) (MaxDrawDistance) <float>
Name (targetname) <string>[ Edit ]
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

Flags

  • 1 : Emissive
Makes sprites render fullbright. Normally the brightness is affected by light nearby.

Inputs

SetRotationSpeed <floatRedirectInput/float>
Set the particle rotation speed (in degrees per second).
SetMovementSpeed <floatRedirectInput/float>
Set the particle movement speed (in inches per second).
SetDensity <floatRedirectInput/float>
Set the particle density. It should be a range from 0 to 1.


Outputs