Class ControlPoint
Namespace: ValveResourceFormat.Particles
Assembly: ValveResourceFormat.dll
Control point used in Valve particle systems. System 0 is the default spawn position. These are used in numerous different ways, for many different effects. We only support a few of them.
public class ControlPointInheritance
Properties
AttachType
Different attachment styles.
public ParticleAttachment AttachType { get; set; }Property Value
Orientation
The orientation/direction of this control point.
public Vector3 Orientation { get; set; }Property Value
OrientationPrevious
The orientation this control point had on the previous simulation step.
public Vector3 OrientationPrevious { get; }Property Value
Position
The position of this control point. Sometimes this is used for things other than position.
public Vector3 Position { get; set; }Property Value
PositionPrevious
The position this control point had on the previous simulation step, used to derive the control point's velocity.
public Vector3 PositionPrevious { get; set; }Property Value
PreviousStepTime
Real time the move recorded in took, in seconds.
public float PreviousStepTime { get; }Property Value
Rotation
The full rotation of this control point, when the source supplies one (e.g. a map entity's angles). Consumers fall back to synthesizing a frame from when unset, since most operators only drive the forward direction.
public Quaternion? Rotation { get; set; }Property Value
RotationPrevious
The full rotation this control point had on the previous simulation step, when one was recorded.
public Quaternion? RotationPrevious { get; }Property Value
StepDelta
How far the control point moved over the last recorded step.
public Vector3 StepDelta { get; }Property Value
Velocity
The control point's velocity in units per second, derived from over the real time that move took. Zero until a step has been recorded.
public Vector3 Velocity { get; }Property Value
Remarks
The move is timed by the root system's frame, not by the simulation step of whichever system is asking - a child running finer substeps would otherwise divide a whole frame of movement by a fraction of it and read a velocity several times too high.
Methods
GetPreviousRotation()
The control point's full rotation on the previous simulation step, derived the same way as
.public Quaternion GetPreviousRotation()Returns
GetRotation()
The control point's full rotation, using when present and otherwise synthesizing a frame from the forward direction.
public Quaternion GetRotation()Returns
SetComponent(int, float)
Write potentially non positional data to the control point, for the particle to read.
public void SetComponent(int component, float value)Parameters
component int
0, 1, 2
value float
Number

