ParticleCurve class Particles

A scalar curve over normalized time [0, 1], authored as keyframes and baked once into a lookup table so per-particle, per-frame sample calls are a cheap clamped table lerp rather than a keyframe search.

Particle properties that vary over a particle's life (size, rotation, alpha, drag) read a curve keyed on age / lifetime; system parameters that vary over the emitter's run (emit rate) read one keyed on system age. The curve is piecewise-linear between keyframes and clamped to the first/last value outside their range.

Constructors

ParticleCurve(List<ParticleKeyframe> keyframes, {int resolution = 64})
Builds a curve from keyframes, baked into a resolution-entry table.
ParticleCurve.constant(double value)
A curve that is value everywhere.
ParticleCurve.linear({double from = 0.0, double to = 1.0})
A straight ramp from from at t = 0 to to at t = 1.

Properties

hashCode → int
The hash code for this object.
no setterinherited
keyframes → List<ParticleKeyframe>
The source control points, sorted by time, retained so the curve can be serialized and edited (the sample path uses the baked table).
final
resolution → int
The number of baked lookup-table entries.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sample(double t) → double
Samples the curve at normalized time t (clamped into [0, 1]).
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited