Spawns on a disc in the XZ plane and heads up within angle degrees of +Y
angle
The workhorse for fire, smoke plumes, exhaust and sprays.
const plume = new ParticleSystem3D({ shape: new ConeShape({ angle: 12, radius: 0.3 }), speed: 2 }); Copy
const plume = new ParticleSystem3D({ shape: new ConeShape({ angle: 12, radius: 0.3 }), speed: 2 });
Half-angle of the spray, in degrees
nozzle.angle = 40; Copy
nozzle.angle = 40;
Radius of the spawn disc
nozzle.radius = 0.1; Copy
nozzle.radius = 0.1;
Static
Defaults for every new ConeShape; an option passed as undefined keeps its default
ConeShape
undefined
ConeShape.defaultOptions.angle = 15; Copy
ConeShape.defaultOptions.angle = 15;
Advanced
Draws a point on the spawn disc, heading up within the cone; both spread evenly
The system's random source
Receives the spawn offset, relative to the emitter
Receives a unit direction
class MyTwinJetShape implements EmitterShape { private readonly _cone = new ConeShape({ angle: 10 }); public sample(rng: () => number, outPos: Vector3, outDir: Vector3): void { this._cone.sample(rng, outPos, outDir); if (rng() < 0.5) outDir.y = -outDir.y; }} Copy
class MyTwinJetShape implements EmitterShape { private readonly _cone = new ConeShape({ angle: 10 }); public sample(rng: () => number, outPos: Vector3, outDir: Vector3): void { this._cone.sample(rng, outPos, outDir); if (rng() < 0.5) outDir.y = -outDir.y; }}
Spawns on a disc in the XZ plane and heads up within
angledegrees of +YThe workhorse for fire, smoke plumes, exhaust and sprays.
Example