Control Point (particles)

From Valve Developer Community
Revision as of 15:00, 27 January 2010 by TomEdwards (talk | contribs)
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

Confirm:It is not possible to configure control points when compiling a model.

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