Source 2 Particle System Properties: Difference between revisions
Jump to navigation
Jump to search
Note: Both min and max are required for the bounding box to encompass the particle(s) completely and for the particle to be culled correctly.
Note: Actual use is unknown, but is presumed to be used for rendering particles under/over certain parts of the GUI. Possibly Legacy. Generally unused by most particles.
Note: Relatively new function, may not be fully functional
Note: Actual use is unknown, but is presumed to be for if the particle's reference (content source) is lost, then the assigned definition can be used as a replacement. Takes a .vpcf and its directory as a value (ie. particles/example.vpcf).
Note: Actual use is unknown, but is presumed to be for if the particle is culled, then the assigned definition can be used as a replacement. Takes a .vpcf and its directory as a value (ie. particles/example.vpcf).
Note: Low-level engine property. Rarely changed, possibly for performance reasons.
Note: Possibly also used if the current particle cannot load.
Note: Can be overridden and be used as input by/for operators and initializers.
Note: Can be overridden and be used as input by/for operators and initializers.
Note: Can be overridden and be used as input by/for operators and initializers.
Note: Low-level engine property. Mostly unused since values input into this property are not using standard 360 degrees rotation format. Most particle systems override this base property instead of using it directly. Can be overridden and be used as input by/for operators and initializers.
Note: Low-level engine property. Doesn't seem to do anything on its own when the value is changed. Most particle systems override this base property instead of using it directly. Can be overridden and be used as input by/for operators and initializers.
Note: Can be overridden and be used as input by/for operators and initializers.
Note: If a particle uses a sprite sheet with sequences, all renderers within the particle system that use sprite sheets will use this sequence number, even though only the top-most listed renderer in the Renderer area of the Functions panel will show its sprite sheet when selecting a sequence from the dropdown menu (no sheet will show if the top-most renderer does not contain a sprite sheet, but a value can still be input). Can be affected and overridden by operators and initializers.
Note: If a particle uses a sprite sheet with sequences, all renderers within the particle system that use sprite sheets will use this sequence number, even though only the top-most listed renderer in the Renderer area of the Functions panel will show its sprite sheet when selecting a sequence from the dropdown menu (no sheet will show if the top-most renderer does not contain a sprite sheet, but a value can still be input). Selecting a value different from "Sequence Number" can randomize which sequence is chosen between the two values (ie. if 1 and 3 are chosen, chosen sequence can be 1, 2 or 3). Can be affected and overridden by operators and initializers.
Note: Low-level engine property. Rarely used, possibly for performance reasons.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Deprecated/Legacy attribute.
Note: Enabling a particle for screen space effects changes its behavior and how initalizers and operators (such as gravity) affect it. Particle normals, rotations, positions and other properties behave differently for screen space particles compared to regular world space particles (for example, a particle with a gravity of 0 0 10 in a "Movement Basic" operator will move towards the player's screen, rather than float upwards in 3d world space).
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value.
Note: Low-level engine property. Usually untouched and left at default value, possibly for performance reasons.
Note: This setting is local to the particle effect - any child particles attached to this (or parent particles that this particle effect is a child of) will use their own max particles setting.
No edit summary |
|||
Line 79: | Line 79: | ||
; Color <code><[[vector4]]></code> | ; Color <code><[[vector4]]></code> | ||
*Base color tint for each particle. Has an alpha range that can affect the | *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). | ||
{{Note| Can be overridden and be used as input by/for operators and initializers.}} | {{Note| Can be overridden and be used as input by/for operators and initializers.}} | ||
Line 109: | Line 109: | ||
; Sequence Number <code><[[int]]></code> | ; Sequence Number <code><[[int]]></code> | ||
*Defines which part of the sequence a particle starts | *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'''. | ||
{{Note| If a particle uses a sprite sheet with sequences, all renderers that use sprite sheets will use this sequence number, even though only the top-most listed renderer in the ''Renderer'' area of the ''Functions'' panel will show its sprite sheet when selecting a sequence from the dropdown menu (no sheet will show if the top-most renderer does not contain a sprite sheet, but a value can still be | {{Note| If a particle uses a sprite sheet with sequences, all renderers within the particle system that use sprite sheets will use this sequence number, even though only the top-most listed renderer in the ''Renderer'' area of the ''Functions'' panel will show its sprite sheet when selecting a sequence from the dropdown menu (no sheet will show if the top-most renderer does not contain a sprite sheet, but a value can still be input). Can be affected and overridden by operators and initializers.}} | ||
; Sequence Number 1 <code><[[int]]></code> | ; Sequence Number 1 <code><[[int]]></code> | ||
*Defines which part of the sequence a particle can end | *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'''. | ||
{{Note| If a particle uses a sprite sheet with sequences, all renderers that use sprite sheets will use this sequence number, even though only the top-most listed renderer in the ''Renderer'' area of the ''Functions'' panel will show its sprite sheet when selecting a sequence from the dropdown menu (no sheet will show if the top-most renderer does not contain a sprite sheet, but a value can still be | {{Note| If a particle uses a sprite sheet with sequences, all renderers within the particle system that use sprite sheets will use this sequence number, even though only the top-most listed renderer in the ''Renderer'' area of the ''Functions'' panel will show its sprite sheet when selecting a sequence from the dropdown menu (no sheet will show if the top-most renderer does not contain a sprite sheet, but a value can still be input). Selecting a value different from "Sequence Number" can randomize which sequence is chosen between the two values (ie. if 1 and 3 are chosen, chosen sequence can be 1, 2 or 3). Can be affected and overridden by operators and initializers.}} | ||
;[[File:Hidden attribute.png|This attribute is hidden by default]] Group ID <code><[[int]]></code> | ;[[File:Hidden attribute.png|This attribute is hidden by default]] Group ID <code><[[int]]></code> | ||
*Defines the Group ID of the particle. Particles with the same ID will be grouped together. Default value is set to '''0'''. | *Defines the Group ID of the particle. Particles with the same ID will be grouped together when emitted. Default value is set to '''0'''. | ||
{{Note| Low-level engine property. Rarely used, possibly for performance reasons.}} | {{Note| Low-level engine property. Rarely used, possibly for performance reasons.}} | ||
Line 160: | Line 160: | ||
;[[File:Hidden attribute.png|This attribute is hidden by default]] View Model Effect <code><[[bool]]></code> | ;[[File:Hidden attribute.png|This attribute is hidden by default]] View Model Effect <code><[[bool]]></code> | ||
*Used for effects that are attached to player weapons/hands in first-person games. Default value is set to '''false'''. | *Used for effects that are attached to player weapons/hands in first-person games. Default value is set to '''false'''. | ||
{{Note| Deprecated.}} | {{Note| Deprecated/Legacy attribute.}} | ||
;[[File:Hidden attribute.png|This attribute is hidden by default]] Screen Space Effect <code><[[bool]]></code> | ;[[File:Hidden attribute.png|This attribute is hidden by default]] Screen Space Effect <code><[[bool]]></code> | ||
*Tells the effect to render in screen space (on the | *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'''. | ||
{{Note| Enabling a particle for screen space effects changes its behavior and how initalizers and operators affect it. Particle normals, rotations, positions and other properties behave differently for screen space particles compared to regular world space particles | {{Note| Enabling a particle for screen space effects changes its behavior and how initalizers and operators (such as gravity) affect it. Particle normals, rotations, positions and other properties behave differently for screen space particles compared to regular world space particles (for example, a particle with a gravity of 0 0 10 in a ''"Movement Basic"'' operator will move towards the player's screen, rather than float upwards in 3d world space). }} | ||
Line 185: | Line 185: | ||
; Maximum Particles <code><[[int]]></code> | ; Maximum Particles <code><[[int]]></code> | ||
*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. | *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. | ||
{{Note| This setting is | {{Note| This setting is local to the particle effect - any child particles attached to this (or parent particles that this particle effect is a child of) will use their own max particles setting.}} |
Revision as of 12:35, 21 August 2017
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. Some properties may potentially be deprecated or are legacy functions ported from previous Source engine versions 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.
- 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 .psf (particle snapshot file) that is used by the particle system as a reference for control point data. Generally a .psf 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 .psf's directory path should be included in the field (ie. particles/particle_snapshots/good_barracks_melee002_lvl1.psf). Default value is set to blank.
- Target Layer ID For Rendering
<string>
- Defines the target later 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". Can be used by the Render Sprite Trails renderer to change how it renders sprite trails from the particle system.

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. 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.

- 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.

- 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 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.
