Control Point (particles): Difference between revisions
Jump to navigation
Jump to search
Confirm:It is not possible to configure control points when compiling a model.
TomEdwards (talk | contribs) |
TomEdwards (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{toc-right}} | |||
In [[:Category:Particle System|particles]], a '''Control Point''' is a [[Vector]] [[variable]] that enables external values, like locations or colours, to be passed into a particle system. | In [[:Category:Particle System|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]]. | * Each system can have up to 64 CPs, but the first, 0, is reserved as the system's [[origin]]. | ||
* CP 0 (<code>vecOrigin</code>) and 1 (<code>vecStart</code>) 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 [[GetAbsOrigin()|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 == | |||
<div style="display:inline-block;width:49%;vertical-align:top;"> | |||
=== Functions === | |||
; Operators | ; Operators | ||
: [[Remap Control Point to Scalar]] | : [[Remap Control Point to Scalar]] | ||
Line 31: | Line 47: | ||
: [[Remap Control Point to Scalar]] | : [[Remap Control Point to Scalar]] | ||
: [[Remap Initial Distance to Control Point to Scalar]] | : [[Remap Initial Distance to Control Point to Scalar]] | ||
</div> | |||
<div style="display:inline-block;width:49%;vertical-align:top;"> | |||
=== Targets === | |||
<div style="display:inline-block;width:49%;vertical-align:top;"> | |||
; Scalar | ; Scalar | ||
: Lifespan | : Lifespan | ||
: Creation time | : Creation time | ||
: Radius | : Radius | ||
: Roll speed | : Roll speed | ||
: Alpha | : Alpha | ||
: Alpha alternate | : Alpha alternate | ||
: Sequence number | : Sequence number | ||
: Sequence number 1 | : Sequence number 1 | ||
: Trail length | : Trail length | ||
: Particle ID | : Particle ID | ||
: Yaw | : Yaw | ||
</div> | |||
<div style="display:inline-block;width:49%;vertical-align:top;"> | |||
; Vector | ; Vector | ||
: Position | : Position | ||
: Roll | : Roll | ||
: RGB Colour ([[normal]]ised) | : RGB Colour ([[normal]]ised) | ||
</div> | |||
</div> | |||
== Other == | |||
These sample values from CPs rather than remapping their literal values: | |||
* [[Color Light from Control Point]] | |||
* [[Velocity Inherit from Control Point]] | |||
== 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. | |||
[[Category:Particle System]] | [[Category:Particle System]] | ||
[[Category:Glossary]] | [[Category:Glossary]] |
Revision as of 15:00, 27 January 2010
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.