Control Point (particles)
Jump to navigation
Jump to search
In particles, a Control Point is a Vector variable that enables external values, like locations or colours, to be passed into a particle system.
- Each system can have up to 64 CPs, but the first, 0, is reserved as the system's origin.
- CP 0 (
vecOrigin
) and 1 (vecStart
) are defined when dispatching from the server. Be aware of this when choosing which CPs to use in your system. - Children inherit the CPs of their parent, but can override them internally.
Defining
Within a particle system
Use one of these Operator functions:
- Set Control Point Positions
- Simple hard-coding function that allows you to define the position and movement parent of each CP.
- Todo: The final value is "Control Point to offset positions from"...
- Set Control Point To Particles' Center
- [Todo]
- Set Control Point To Player
- Moves the CP by the local player's world origin. Todo: Behaviour in multiplayer.
- Set child control points from particle positions
- Allows a system to directly modify the CPs of its children. Sets the child CPs to the locations of certain particles.
In a map
Fill in the fields of the info_particle_system used to spawn the system.
In code
See Particles In Code#Control points.
In a QC

However, see the Position on Model Random initializer.
Mapping to other values
Functions
- Operators
- Remap Control Point to Scalar
- Remap Distance to Control Point to Scalar
- Remap Distance Between Two Control Points to Scalar
- Initializers
- Remap Control Point to Vector
Note:There is no 'CP to Vector' operator, just this initializer. The reasons for this omission are not clear.
- Remap Control Point to Scalar
- Remap Initial Distance to Control Point to Scalar
Targets
- Scalar
- Lifespan
- Creation time
- Radius
- Roll speed
- Alpha
- Alpha alternate
- Sequence number
- Sequence number 1
- Trail length
- Particle ID
- Yaw
- Vector
- Position
- Roll
- RGB Colour (normalised)
Other
These sample values from CPs rather than remapping their literal values:
Spawning children at control points
By default, child systems spawn at their parent's origin. To change this, use one of the "Position" Initializers with a reference to the appropriate CP number.