Source 2 Particle System Properties
Particle System Properties (referred to as Base Properties within the Source 2 Particle Editor Tool) are default properties that all particle systems have. Source 2's PET offers a large range of particle properties, some of which are altered/modified versions of Source 1 versions, or are new and non-existent in previous versions of the Source engine.
Below are a list of all the base properties and their functions. Note that not all properties have official help documentation/descriptions within the tools (in which case an estimate of their usage is temporarily put in place). Some properties may potentially be deprecated or legacy functions ported from previous Source engine versions, or new/under development and may be noted as such.
Base Properties
- Initial Particles
<int>
- Number of additional particles that should be emitted the moment the effect is created, independent of any emitter operators. Default value is set to 0.
- Maximum Particles
<int>
- The maximum number of individual particles that can exist at any time for this system. Any attempts to emit additional particles beyond this maximum will fail. The particle engine reserves memory for this maximum, so set this as low as you can once you've finished working on your effect. Default value is set to 1000.
- Bounding Box Min
<vector3>
- The bounding box for the particle system. Default value is set to -10 -10 -10.
- Bounding Box Max
<vector3>
- The bounding box for the particle system. Default value is set to 10 10 10.
- Snapshot Control Point
<int>
- The control point used by the snapshot that has been assigned to the particle system. The snapshot control point is utilized by initializers such as "Init from CP snapshot" and "Position skin to bones from CP snapshot" to send/read data sent to/from the specified control point (such as position, color, life duration, radius, etc.). Default value is set to 0.
- Snapshot
<string>
- A .vsnap (valve particle snapshot file) that is used by the particle system as a reference for control point data. Generally a .vsnap is a collection of vectors such as vertices from a model, and can be used - for example - to position particles in a certain manner. The .vsnap directory path should be included in the field (ie. particles/particle_snapshots/good_barracks_melee002_lvl1.vsnap). A .vsnap can be generated in the model editor tool after importing a model and specifying a "fx" version of that model (usually a .obj file). Default value is set to blank.
- Target Layer ID For Rendering
<string>
- Defines the target layer ID for rendering the particle on. Default value is set to blank.
- Topology
<int>
- Defines the topology of the particles in the particle system. May affect different renderers according to the topology selected (Points, Line Segments, Triangles, Quadrilaterals, Cubes). Default value is set to "Points". Currently can be used by the Render Sprite Trails and Render Rope renderers to change how each of these renderers utilize different topology methods in their effect rendering.
- Reference Replacement Definition
<string>
- Defines the particle's reference replacement. Default value is set to blank.
- Cull Replacement Definition
<string>
- Defines the particle's cull replacement. Default value is set to blank.
- Cull Radius
<float>
- Any other value is hardcoded; 0 uses particle bounding box; -1 disables fog of war and is always on; -2 do not shrink bounds. Default value is set to 0.
- Cull Cost
<float>
- The fill cost/how much of the particle's bounds must be obscured for a particle to be culled. 1 being fully obscured. Default value is set to 1.
- Cull Control Point
<int>
- The control point that's used as a reference for culling the particle. Default value is set to 0.
- Time to recreate
<float>
- Defines the time it takes to recreate the particle. Default value is set to 0.
- Fallback Replacement Definition
<string>
- Depending on a user's settings, the replacement defined here will be used as a fallback to render. Takes a .vpcf and its directory as a value (ie. particles/example.vpcf). Default value is set to blank.
- Fallback Max Count
<int>
- The max amount of the fallback particle allowed to be rendered at once. Default value is set to -1.
- Low Violence Definition
<string>
- Used to replace a particle with a "low violence" equivalent if a user has a low violence setting enabled for their client. Takes a .vpcf and its directory as a value (ie. particles/example.vpcf). Default value is set to blank.
- Color
<vector4>
- Base color tint for each particle. Has an alpha range that can affect the transparency value of the particle. Default value is set to 255 255 255 255 (White - Fully Opaque).
- Normal
<vector3>
- Particle normal alignment. Values range between 0 and 1. For most effects this should remain unchanged from its default (0,0,1). This field is ignored unless the orientation type property in the effect's renderer is set to "Particle Normal Align" or "Screen & Particle Normal Align".
- Radius
<float>
- Radius for each particle, in world units. Default value is set to 5.
- Rotation
<float>
- Defines the rotation of a particle. Default value is set to 0.
- Rotation Speed
<float>
- Defines the rotation speed of a particle. Default value is set to 0.
- Lifetime
<float>
- The amount of time, in seconds, that each particle will exist before being destroyed. Default value is set to 1.
- Sequence Number
<int>
- Defines which part of the sequence a particle starts with, if that particle's renderer(s) uses sprite sheets or if using a sequence number as input/output through a control point. Default value is set to 0.
- Sequence Number 1
<int>
- Defines which part of the sequence a particle can end with if, that particle's renderer(s) uses sprite sheets or if using a sequence number as input/output through a control point. Default value is set to 0.
- Group ID
<int>
- Defines the Group ID of the particle. Particles with the same ID will be grouped together when emitted and can be affected by functions which require or reference a Group ID. Default value is set to 0.
- Maximum Time Step
<float>
- Defines the maximum time step for the simulation of the particle. Default value is set to 0.1.
- Maximum Sim Tick Rate
<float>
- Defines the maximum rate at which the particle is simulated in real time. Default value is set to 0.
- Minimum Sim Tick Rate
<float>
- Defines the minimum rate at which the particle is simulated in real time. Default value is set to 0.
- Minimum Simulation Time Step
<float>
- Defines the minimum time step for the simulation of the particle. Default value is set to 0.
- Minimum Rendered Frames
<float>
- Defines the minimum amount of frames rendered by the particle. Default value is set to 0.
- Minimum CPU Level
<int>
- This property relies on settings in a game config file, and is best left alone. Default value is set to 0.
- Minimum GPU Level
<int>
- This property relies on settings in a game config file, and is best left alone. Default value is set to 0.
- View Model Effect
<bool>
- Used for effects that are attached to player weapons/hands in first-person games. Default value is set to false.
- Screen Space Effect
<bool>
- Tells the effect to render in screen space (2d; on the length/width of the screen) rather than in world space (3d; within the confines of the map). Default value is set to false.
- Time To Sleep When Not Drawn
<float>
- Defines the time, after not being drawn, before the particle goes to sleep. Default value is set to 8.
- Maximum Draw Distance
<float>
- Defines the maximum distance (in game units) at which the particle will draw. Default value is set to 100000.
- Start Fade Distance
<float>
- Defines the distance (in game units) at which the particle will start to fade. Default value is set to 200000.
- Control Point To Disable Rendering If It Is The Camera
<int>
- Defines which control point is used to skip rendering, if it is assigned to the camera. Default value is set to -1.
- Control Point To Only Enable Rendering If It Is The Camera
<int>
- Defines which control point is used to allow rendering, if it is assigned to the camera. Default value is set to -1.
- Minimum Free Particles To Aggregate
<int>
- Defines the minimum amount of free particles to aggregate. Default value is set to 0.
- Aggregation Radius
<float>
- Defines the radius in which to aggregate the minimum particle amount set in the minimum free particles to aggregate value. Default value is set to 0.
- Freeze Simulation After Time
<float>
- Sets the maximum amount of time until the particle cease to simulate. Default value is set to 1e+09 (999999999).