Particle movement

From Valve Developer Community
Revision as of 13:57, 27 July 2011 by Artfunkel (talk | contribs) (all movement ops from Alien Swarm)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Particle movement operators refer specifically to translation. Rotation is kept separate, since many particle systems don't want it.

Movement Basic

Moves particles with their internal velocities.

A global force which accumulates over each particle's lifetime.
How resistant the particles are to motion. 1 means almost total resistance. Anything above 1 flings the particles off into outer space!
max constraint passes
To do: Unknown. Similar to the value on phys_constraintsystem?

Movement Dampen Relative to Control Point

Drains a particle's internal velocity as it approaches the specified control point. If no other forces are acting on it, the particle will eventually stop.

This can be used with Movement Lock to Control Point (and its distance fade property) to have a control point "capture" particles near it then draw them along. It can also lock endpoints of a line of particles while allowing the middle section to move freely.

control point number
The control point to dampen near.
falloff range
The distance over which the dampening effect will fade out to nothing.
dampen scale
The strength of movement dampening. This is not a maximum value; the effect will continue for as long as a particle is within range. To do: What is the units/second equivalent of 1?

Movement Lerp to Hitbox

To do: Smoothly move to a hitbox location? Something to do with the interpolation of remote players?

control point number
lifetime lerp start
lifetime lerp end

Movement Lock to Bone

Works like Movement Lock to Control Point, but is designed for use in conjunction with Position on Model Random initializer. Locks all particles emitted from a given control point to their associated bone.

control point number
The control point that references the model in question.
lifetime start/end fade
The time at which to start/end fading the lock relative to particle lifespan (0-1).

Movement Lock to Control Point

Causes particles to inherit the movement and optionally rotation of a control point.

control point number
The control point to lock to.
distance fade range
The maximum distance at which the CP will scoop up particles. A gentle falloff gradient is used.
Note.png Note: Using both distance fade range and lock rotation will result in particles spiralling in towards the CP until they stop moving.
lock rotation
Makes the particles respond to CP rotation as well as translation. Starts disabled.
Defines when particles start and stop being affected by the movement lock, as a proportion of their lifespan. The exponent values are normals which bias which result from the fade in/out range is most likely to be picked.
Bug.png Bug: If there is a wide gap between the min and max fadeout times, some particles will continue to judder after they should have stopped.

Movement Maintain Offset

Positions particles in a straight line relative to one another.

Desired Offset
The gap between each particle in units (but see Scale by Radius).
Local Space CP
To do
Scale by Radius
Multiplies Desired Offset by the radius of the particle.

Movement Maintain Position Along Path

Arranges particles into a line between two control points, accounting for the movement of either.

maximum distance
How far away either end of the path can trail from its control point. See also cohesion strength.
use existing particle count
Map the current number of particles in the system to the path, overriding the manual value. Recommended, as getting the number wrong leads to flickering.
cohesion strength
How strong the attachment to each control point is. At 0, the path will have to be dragged. At 1, it will never stray from the CPs.
start control point number
end control point number
bulge control
mid point position
maximum distance
particles to map from start to end
See Position Along Path Sequential.

Movement Match Particle Velocities

Forces particles to inherit the velocity of the first one emitted. Can copy the recorded value to a control point.

Control Point to Broadcast Speed and Direction To
The given CP is moved to a position that represents the current velocity.
Direction Matching Strength
Speed Matching Strength
Two normals which determine the degree to which emitted particles match the first. Can both be set to 0 if you just want the CP output.

Movement Max Velocity

Limits the speed of all particles in this system.

Maximum Velocity
Limit to this value.
Override Max Velocity from this CP
Limit to the first value of this control point's position vector.

Movement Place On Ground

Tries to ensure particles float above a surface somewhere beneath them. See also the Position Modify Place On Ground initializer.

collision group
What to consider solid. To do: Values? NONE seems to mean everything.
CP movement tolerance
To do
include water
Consider water a valid ground surface?
kill on no collision
Remove the particle if it can't find the ground.
max trace length
How far down to search for the ground.
Height above ground to float.
reference CP 1
reference CP 2
To do
trace offset
To do