reckfellENGINE

CpuParticles3D

A CPU-based 3D particle emitter.

On this page
class CpuParticles3DReckfellSharpInherits GeometryInstance3D

A CPU-based 3D particle emitter.

CPU-based 3D particle node used to create a variety of particle systems and effects. See also GpuParticles3D, which provides the same functionality with hardware acceleration, but may not run on older devices.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

CpuParticles3DConstructor
# CpuParticles3D
C#
public CpuParticles3D();

Properties77

AmountProperty
# Amount
C#
public int Amount { get; set; }

Number of particles emitted in one emission cycle.

AngleCurveProperty
# AngleCurve
C#
public Curve AngleCurve { get; set; }

Each particle's rotation will be animated along this Curve. Should be a unit Curve.

AngleMaxProperty
# AngleMax
C#
public float AngleMax { get; set; }

Maximum angle.

AngleMinProperty
# AngleMin
C#
public float AngleMin { get; set; }

Minimum angle.

AngularVelocityCurveProperty
# AngularVelocityCurve
C#
public Curve AngularVelocityCurve { get; set; }

Each particle's angular velocity (rotation speed) will vary along this Curve over its lifetime. Should be a unit Curve.

AngularVelocityMaxProperty
# AngularVelocityMax
C#
public float AngularVelocityMax { get; set; }

Maximum initial angular velocity (rotation speed) applied to each particle in degrees per second.

AngularVelocityMinProperty
# AngularVelocityMin
C#
public float AngularVelocityMin { get; set; }

Minimum initial angular velocity (rotation speed) applied to each particle in degrees per second.

AnimOffsetCurveProperty
# AnimOffsetCurve
C#
public Curve AnimOffsetCurve { get; set; }

Each particle's animation offset will vary along this Curve. Should be a unit Curve.

AnimOffsetMaxProperty
# AnimOffsetMax
C#
public float AnimOffsetMax { get; set; }

Maximum animation offset.

AnimOffsetMinProperty
# AnimOffsetMin
C#
public float AnimOffsetMin { get; set; }

Minimum animation offset.

AnimSpeedCurveProperty
# AnimSpeedCurve
C#
public Curve AnimSpeedCurve { get; set; }

Each particle's animation speed will vary along this Curve. Should be a unit Curve.

AnimSpeedMaxProperty
# AnimSpeedMax
C#
public float AnimSpeedMax { get; set; }

Maximum particle animation speed.

AnimSpeedMinProperty
# AnimSpeedMin
C#
public float AnimSpeedMin { get; set; }

Minimum particle animation speed.

ColorProperty
# Color
C#
public Color Color { get; set; }

Each particle's initial color. Note: CpuParticles3D.Color multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, CpuParticles3D.Color will have no visible effect.

ColorInitialRampProperty
# ColorInitialRamp
C#
public Gradient ColorInitialRamp { get; set; }

Each particle's initial color will vary along this Gradient (multiplied with CpuParticles3D.Color). Note: CpuParticles3D.ColorInitialRamp multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, CpuParticles3D.ColorInitialRamp will have no visible effect.

ColorRampProperty
# ColorRamp
C#
public Gradient ColorRamp { get; set; }

Each particle's color will vary along this Gradient over its lifetime (multiplied with CpuParticles3D.Color). Note: CpuParticles3D.ColorRamp multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, CpuParticles3D.ColorRamp will have no visible effect.

DampingCurveProperty
# DampingCurve
C#
public Curve DampingCurve { get; set; }

Damping will vary along this Curve. Should be a unit Curve.

DampingMaxProperty
# DampingMax
C#
public float DampingMax { get; set; }

Maximum damping.

DampingMinProperty
# DampingMin
C#
public float DampingMin { get; set; }

Minimum damping.

DirectionProperty
# Direction
C#
public Vector3 Direction { get; set; }

Unit vector specifying the particles' emission direction.

DrawOrderProperty
# DrawOrder
C#
public CpuParticles3D.DrawOrderEnum DrawOrder { get; set; }

Particle draw order.

EmissionBoxExtentsProperty
# EmissionBoxExtents
C#
public Vector3 EmissionBoxExtents { get; set; }

The rectangle's extents if CpuParticles3D.EmissionShape is set to CpuParticles3D.EmissionShapeEnum.Box.

EmissionColorsProperty
# EmissionColors
C#
public Color[] EmissionColors { get; set; }

Sets the Colors to modulate particles by when using CpuParticles3D.EmissionShapeEnum.Points or CpuParticles3D.EmissionShapeEnum.DirectedPoints. Note: CpuParticles3D.EmissionColors multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, CpuParticles3D.EmissionColors will have no visible effect.

EmissionNormalsProperty
# EmissionNormals
C#
public Vector3[] EmissionNormals { get; set; }

Sets the direction the particles will be emitted in when using CpuParticles3D.EmissionShapeEnum.DirectedPoints.

EmissionPointsProperty
# EmissionPoints
C#
public Vector3[] EmissionPoints { get; set; }

Sets the initial positions to spawn particles when using CpuParticles3D.EmissionShapeEnum.Points or CpuParticles3D.EmissionShapeEnum.DirectedPoints.

EmissionRingAxisProperty
# EmissionRingAxis
C#
public Vector3 EmissionRingAxis { get; set; }

The axis of the ring when using the emitter CpuParticles3D.EmissionShapeEnum.Ring.

EmissionRingConeAngleProperty
# EmissionRingConeAngle
C#
public float EmissionRingConeAngle { get; set; }

The angle of the cone when using the emitter CpuParticles3D.EmissionShapeEnum.Ring. The default angle of 90 degrees results in a ring, while an angle of 0 degrees results in a cone. Intermediate values will result in a ring where one end is larger than the other. Note: Depending on CpuParticles3D.EmissionRingHeight, the angle may be clamped if the ring's end is reached to form a perfect cone.

EmissionRingHeightProperty
# EmissionRingHeight
C#
public float EmissionRingHeight { get; set; }

The height of the ring when using the emitter CpuParticles3D.EmissionShapeEnum.Ring.

EmissionRingInnerRadiusProperty
# EmissionRingInnerRadius
C#
public float EmissionRingInnerRadius { get; set; }

The inner radius of the ring when using the emitter CpuParticles3D.EmissionShapeEnum.Ring.

EmissionRingRadiusProperty
# EmissionRingRadius
C#
public float EmissionRingRadius { get; set; }

The radius of the ring when using the emitter CpuParticles3D.EmissionShapeEnum.Ring.

EmissionShapeProperty
# EmissionShape
C#
public CpuParticles3D.EmissionShapeEnum EmissionShape { get; set; }

Particles will be emitted inside this region.

EmissionSphereRadiusProperty
# EmissionSphereRadius
C#
public float EmissionSphereRadius { get; set; }

The sphere's radius if CpuParticles3D.EmissionShapeEnum is set to CpuParticles3D.EmissionShapeEnum.Sphere.

EmittingProperty
# Emitting
C#
public bool Emitting { get; set; }

If true, particles are being emitted. CpuParticles3D.Emitting can be used to start and stop particles from emitting. However, if CpuParticles3D.OneShot is true setting CpuParticles3D.Emitting to true will not restart the emission cycle until after all active particles finish processing. You can use the CpuParticles3D.Finished signal to be notified once all active particles finish processing.

ExplosivenessProperty
# Explosiveness
C#
public float Explosiveness { get; set; }

How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins.

FixedFpsProperty
# FixedFps
C#
public int FixedFps { get; set; }

The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.

FlatnessProperty
# Flatness
C#
public float Flatness { get; set; }

Amount of CpuParticles3D.Spread in Y/Z plane. A value of 1 restricts particles to X/Z plane.

FractDeltaProperty
# FractDelta
C#
public bool FractDelta { get; set; }

If true, results in fractional delta calculation which has a smoother particles display effect.

GravityProperty
# Gravity
C#
public Vector3 Gravity { get; set; }

Gravity applied to every particle.

HueVariationCurveProperty
# HueVariationCurve
C#
public Curve HueVariationCurve { get; set; }

Each particle's hue will vary along this Curve. Should be a unit Curve.

HueVariationMaxProperty
# HueVariationMax
C#
public float HueVariationMax { get; set; }

Maximum hue variation.

HueVariationMinProperty
# HueVariationMin
C#
public float HueVariationMin { get; set; }

Minimum hue variation.

InitialVelocityMaxProperty
# InitialVelocityMax
C#
public float InitialVelocityMax { get; set; }

Maximum value of the initial velocity.

InitialVelocityMinProperty
# InitialVelocityMin
C#
public float InitialVelocityMin { get; set; }

Minimum value of the initial velocity.

LifetimeProperty
# Lifetime
C#
public double Lifetime { get; set; }

Amount of time each particle will exist.

LifetimeRandomnessProperty
# LifetimeRandomness
C#
public double LifetimeRandomness { get; set; }

Particle lifetime randomness ratio.

LinearAccelCurveProperty
# LinearAccelCurve
C#
public Curve LinearAccelCurve { get; set; }

Each particle's linear acceleration will vary along this Curve. Should be a unit Curve.

LinearAccelMaxProperty
# LinearAccelMax
C#
public float LinearAccelMax { get; set; }

Maximum linear acceleration.

LinearAccelMinProperty
# LinearAccelMin
C#
public float LinearAccelMin { get; set; }

Minimum linear acceleration.

LocalCoordsProperty
# LocalCoords
C#
public bool LocalCoords { get; set; }

If true, particles use the parent node's coordinate space (known as local coordinates). This will cause particles to move and rotate along the CpuParticles3D node (and its parents) when it is moved or rotated. If false, particles use global coordinates; they will not move or rotate along the CpuParticles3D node (and its parents) when it is moved or rotated.

MeshProperty
# Mesh
C#
public Mesh Mesh { get; set; }

The Mesh used for each particle. If null, particles will be spheres.

OneShotProperty
# OneShot
C#
public bool OneShot { get; set; }

If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle's end.

OrbitVelocityCurveProperty
# OrbitVelocityCurve
C#
public Curve OrbitVelocityCurve { get; set; }

Each particle's orbital velocity will vary along this Curve. Should be a unit Curve.

OrbitVelocityMaxProperty
# OrbitVelocityMax
C#
public float OrbitVelocityMax { get; set; }

Maximum orbit velocity.

OrbitVelocityMinProperty
# OrbitVelocityMin
C#
public float OrbitVelocityMin { get; set; }

Minimum orbit velocity.

ParticleFlagAlignYProperty
# ParticleFlagAlignY
C#
public bool ParticleFlagAlignY { get; set; }

Align Y axis of particle with the direction of its velocity.

ParticleFlagDisableZProperty
# ParticleFlagDisableZ
C#
public bool ParticleFlagDisableZ { get; set; }

If true, particles will not move on the Z axis.

ParticleFlagRotateYProperty
# ParticleFlagRotateY
C#
public bool ParticleFlagRotateY { get; set; }

If true, particles rotate around Y axis by CpuParticles3D.AngleMin.

PreprocessProperty
# Preprocess
C#
public double Preprocess { get; set; }

Particle system starts as if it had already run for this many seconds.

RadialAccelCurveProperty
# RadialAccelCurve
C#
public Curve RadialAccelCurve { get; set; }

Each particle's radial acceleration will vary along this Curve. Should be a unit Curve.

RadialAccelMaxProperty
# RadialAccelMax
C#
public float RadialAccelMax { get; set; }

Maximum radial acceleration.

RadialAccelMinProperty
# RadialAccelMin
C#
public float RadialAccelMin { get; set; }

Minimum radial acceleration.

RandomnessProperty
# Randomness
C#
public float Randomness { get; set; }

Emission lifetime randomness ratio.

ScaleAmountCurveProperty
# ScaleAmountCurve
C#
public Curve ScaleAmountCurve { get; set; }

Each particle's scale will vary along this Curve. Should be a unit Curve.

ScaleAmountMaxProperty
# ScaleAmountMax
C#
public float ScaleAmountMax { get; set; }

Maximum scale.

ScaleAmountMinProperty
# ScaleAmountMin
C#
public float ScaleAmountMin { get; set; }

Minimum scale.

ScaleCurveXProperty
# ScaleCurveX
C#
public Curve ScaleCurveX { get; set; }

Curve for the scale over life, along the x axis.

ScaleCurveYProperty
# ScaleCurveY
C#
public Curve ScaleCurveY { get; set; }

Curve for the scale over life, along the y axis.

ScaleCurveZProperty
# ScaleCurveZ
C#
public Curve ScaleCurveZ { get; set; }

Curve for the scale over life, along the z axis.

SeedProperty
# Seed
C#
public uint Seed { get; set; }

Sets the random seed used by the particle system. Only effective if CpuParticles3D.UseFixedSeed is true.

SpeedScaleProperty
# SpeedScale
C#
public double SpeedScale { get; set; }

Particle system's running speed scaling ratio. A value of 0 can be used to pause the particles.

SplitScaleProperty
# SplitScale
C#
public bool SplitScale { get; set; }

If set to true, three different scale curves can be specified, one per scale axis.

SpreadProperty
# Spread
C#
public float Spread { get; set; }

Each particle's initial direction range from +spread to -spread degrees. Applied to X/Z plane and Y/Z planes.

TangentialAccelCurveProperty
# TangentialAccelCurve
C#
public Curve TangentialAccelCurve { get; set; }

Each particle's tangential acceleration will vary along this Curve. Should be a unit Curve.

TangentialAccelMaxProperty
# TangentialAccelMax
C#
public float TangentialAccelMax { get; set; }

Maximum tangent acceleration.

TangentialAccelMinProperty
# TangentialAccelMin
C#
public float TangentialAccelMin { get; set; }

Minimum tangent acceleration.

UseFixedSeedProperty
# UseFixedSeed
C#
public bool UseFixedSeed { get; set; }

If true, particles will use the same seed for every simulation using the seed defined in CpuParticles3D.Seed. This is useful for situations where the visual outcome should be consistent across replays, for example when using Movie Maker mode.

VisibilityAabbProperty
# VisibilityAabb
C#
public Aabb VisibilityAabb { get; set; }

The Aabb that determines the node's region which needs to be visible on screen for the particle system to be active. Grow the box if particles suddenly appear/disappear when the node enters/exits the screen. The Aabb can be grown via code or with the Particles → Generate AABB editor tool.

Methods95

CaptureAabbAabb
# CaptureAabb
C#
public Aabb CaptureAabb();

Returns the axis-aligned bounding box that contains all the particles that are active in the current frame.

Returns Aabb
ConvertFromParticlesvoid
# ConvertFromParticles
C#
public void ConvertFromParticles(Entity particles);

Sets this node's properties to match a given GpuParticles3D node with an assigned ParticleProcessMaterial.

Parameters
NameTypeDefault
particlesEntity—
GetAmountint
# GetAmount
C#
public int GetAmount();
Returns int
GetColorColor
# GetColor
C#
public Color GetColor();
Returns Color
GetColorInitialRampGradient
# GetColorInitialRamp
C#
public Gradient GetColorInitialRamp();
Returns Gradient
GetColorRampGradient
# GetColorRamp
C#
public Gradient GetColorRamp();
Returns Gradient
GetDirectionVector3
# GetDirection
C#
public Vector3 GetDirection();
Returns Vector3
GetDrawOrderCpuParticles3D.DrawOrderEnum
# GetDrawOrder
C#
public CpuParticles3D.DrawOrderEnum GetDrawOrder();
Returns CpuParticles3D.DrawOrderEnum
GetEmissionBoxExtentsVector3
# GetEmissionBoxExtents
C#
public Vector3 GetEmissionBoxExtents();
Returns Vector3
GetEmissionColorsColor[]
# GetEmissionColors
C#
public Color[] GetEmissionColors();
Returns Color[]
GetEmissionNormalsVector3[]
# GetEmissionNormals
C#
public Vector3[] GetEmissionNormals();
Returns Vector3[]
GetEmissionPointsVector3[]
# GetEmissionPoints
C#
public Vector3[] GetEmissionPoints();
Returns Vector3[]
GetEmissionRingAxisVector3
# GetEmissionRingAxis
C#
public Vector3 GetEmissionRingAxis();
Returns Vector3
GetEmissionRingConeAnglefloat
# GetEmissionRingConeAngle
C#
public float GetEmissionRingConeAngle();
Returns float
GetEmissionRingHeightfloat
# GetEmissionRingHeight
C#
public float GetEmissionRingHeight();
Returns float
GetEmissionRingInnerRadiusfloat
# GetEmissionRingInnerRadius
C#
public float GetEmissionRingInnerRadius();
Returns float
GetEmissionRingRadiusfloat
# GetEmissionRingRadius
C#
public float GetEmissionRingRadius();
Returns float
GetEmissionShapeCpuParticles3D.EmissionShapeEnum
# GetEmissionShape
C#
public CpuParticles3D.EmissionShapeEnum GetEmissionShape();
Returns CpuParticles3D.EmissionShapeEnum
GetEmissionSphereRadiusfloat
# GetEmissionSphereRadius
C#
public float GetEmissionSphereRadius();
Returns float
GetExplosivenessRatiofloat
# GetExplosivenessRatio
C#
public float GetExplosivenessRatio();
Returns float
GetFixedFpsint
# GetFixedFps
C#
public int GetFixedFps();
Returns int
GetFlatnessfloat
# GetFlatness
C#
public float GetFlatness();
Returns float
GetFractionalDeltabool
# GetFractionalDelta
C#
public bool GetFractionalDelta();
Returns bool
GetGravityVector3
# GetGravity
C#
public Vector3 GetGravity();
Returns Vector3
GetLifetimedouble
# GetLifetime
C#
public double GetLifetime();
Returns double
GetLifetimeRandomnessdouble
# GetLifetimeRandomness
C#
public double GetLifetimeRandomness();
Returns double
GetMeshMesh
# GetMesh
C#
public Mesh GetMesh();
Returns Mesh
GetOneShotbool
# GetOneShot
C#
public bool GetOneShot();
Returns bool
GetParamCurveCurve
# GetParamCurve
C#
public Curve GetParamCurve(CpuParticles3D.Parameter param);

Returns the Curve of the parameter specified by CpuParticles3D.Parameter.

Parameters
NameTypeDefault
paramCpuParticles3D.Parameter—
Returns Curve
GetParamMaxfloat
# GetParamMax
C#
public float GetParamMax(CpuParticles3D.Parameter param);

Returns the maximum value range for the given parameter.

Parameters
NameTypeDefault
paramCpuParticles3D.Parameter—
Returns float
GetParamMinfloat
# GetParamMin
C#
public float GetParamMin(CpuParticles3D.Parameter param);

Returns the minimum value range for the given parameter.

Parameters
NameTypeDefault
paramCpuParticles3D.Parameter—
Returns float
GetParticleFlagbool
# GetParticleFlag
C#
public bool GetParticleFlag(CpuParticles3D.ParticleFlags particleFlag);

Returns the enabled state of the given particle flag.

Parameters
NameTypeDefault
particleFlagCpuParticles3D.ParticleFlags—
Returns bool
GetPreProcessTimedouble
# GetPreProcessTime
C#
public double GetPreProcessTime();
Returns double
GetRandomnessRatiofloat
# GetRandomnessRatio
C#
public float GetRandomnessRatio();
Returns float
GetScaleCurveXCurve
# GetScaleCurveX
C#
public Curve GetScaleCurveX();
Returns Curve
GetScaleCurveYCurve
# GetScaleCurveY
C#
public Curve GetScaleCurveY();
Returns Curve
GetScaleCurveZCurve
# GetScaleCurveZ
C#
public Curve GetScaleCurveZ();
Returns Curve
GetSeeduint
# GetSeed
C#
public uint GetSeed();
Returns uint
GetSpeedScaledouble
# GetSpeedScale
C#
public double GetSpeedScale();
Returns double
GetSplitScalebool
# GetSplitScale
C#
public bool GetSplitScale();
Returns bool
GetSpreadfloat
# GetSpread
C#
public float GetSpread();
Returns float
GetUseFixedSeedbool
# GetUseFixedSeed
C#
public bool GetUseFixedSeed();
Returns bool
GetUseLocalCoordinatesbool
# GetUseLocalCoordinates
C#
public bool GetUseLocalCoordinates();
Returns bool
GetVisibilityAabbAabb
# GetVisibilityAabb
C#
public Aabb GetVisibilityAabb();
Returns Aabb
IsEmittingbool
# IsEmitting
C#
public bool IsEmitting();
Returns bool
RequestParticlesProcess2 overloads
# RequestParticlesProcess · 1/2
C#
public void RequestParticlesProcess(float processTime);

Requests the particles to process for extra process time during a single frame. process_time defines the time that the particles will process while emitting is on. process_time_residual defines the time that particles will process with emitting turned off for the simulation. When combined with CpuParticles3D.SpeedScale set to 0.0, this is useful to be able to seek a particle system timeline.

Parameters
NameTypeDefault
processTimefloat—
# RequestParticlesProcess · 2/2
C#
public void RequestParticlesProcess(float processTime, float processTimeResidual = 0f);

Requests the particles to process for extra process time during a single frame. process_time defines the time that the particles will process while emitting is on. process_time_residual defines the time that particles will process with emitting turned off for the simulation. When combined with CpuParticles3D.SpeedScale set to 0.0, this is useful to be able to seek a particle system timeline.

Parameters
NameTypeDefault
processTimefloat—
processTimeResidualfloat0f
Restart2 overloads
# Restart · 1/2
C#
public void Restart();

Restarts the particle emitter. If keep_seed is true, the current random seed will be preserved. Useful for seeking and playback.

# Restart · 2/2
C#
public void Restart(bool keepSeed = false);

Restarts the particle emitter. If keep_seed is true, the current random seed will be preserved. Useful for seeking and playback.

Parameters
NameTypeDefault
keepSeedboolfalse
SetAmountvoid
# SetAmount
C#
public void SetAmount(int amount);
Parameters
NameTypeDefault
amountint—
SetColorvoid
# SetColor
C#
public void SetColor(Color color);
Parameters
NameTypeDefault
colorColor—
SetColorInitialRampvoid
# SetColorInitialRamp
C#
public void SetColorInitialRamp(Gradient ramp);
Parameters
NameTypeDefault
rampGradient—
SetColorRampvoid
# SetColorRamp
C#
public void SetColorRamp(Gradient ramp);
Parameters
NameTypeDefault
rampGradient—
SetDirectionvoid
# SetDirection
C#
public void SetDirection(Vector3 direction);
Parameters
NameTypeDefault
directionVector3—
SetDrawOrdervoid
# SetDrawOrder
C#
public void SetDrawOrder(CpuParticles3D.DrawOrderEnum order);
Parameters
NameTypeDefault
orderCpuParticles3D.DrawOrderEnum—
SetEmissionBoxExtentsvoid
# SetEmissionBoxExtents
C#
public void SetEmissionBoxExtents(Vector3 extents);
Parameters
NameTypeDefault
extentsVector3—
SetEmissionColors2 overloads
# SetEmissionColors · 1/2
C#
public void SetEmissionColors(Color[] array);
Parameters
NameTypeDefault
arrayColor[]—
# SetEmissionColors · 2/2
C#
public void SetEmissionColors(ReadOnlySpan<Color> array);
Parameters
NameTypeDefault
arrayReadOnlySpan<Color>—
SetEmissionNormals2 overloads
# SetEmissionNormals · 1/2
C#
public void SetEmissionNormals(Vector3[] array);
Parameters
NameTypeDefault
arrayVector3[]—
# SetEmissionNormals · 2/2
C#
public void SetEmissionNormals(ReadOnlySpan<Vector3> array);
Parameters
NameTypeDefault
arrayReadOnlySpan<Vector3>—
SetEmissionPoints2 overloads
# SetEmissionPoints · 1/2
C#
public void SetEmissionPoints(Vector3[] array);
Parameters
NameTypeDefault
arrayVector3[]—
# SetEmissionPoints · 2/2
C#
public void SetEmissionPoints(ReadOnlySpan<Vector3> array);
Parameters
NameTypeDefault
arrayReadOnlySpan<Vector3>—
SetEmissionRingAxisvoid
# SetEmissionRingAxis
C#
public void SetEmissionRingAxis(Vector3 axis);
Parameters
NameTypeDefault
axisVector3—
SetEmissionRingConeAnglevoid
# SetEmissionRingConeAngle
C#
public void SetEmissionRingConeAngle(float coneAngle);
Parameters
NameTypeDefault
coneAnglefloat—
SetEmissionRingHeightvoid
# SetEmissionRingHeight
C#
public void SetEmissionRingHeight(float height);
Parameters
NameTypeDefault
heightfloat—
SetEmissionRingInnerRadiusvoid
# SetEmissionRingInnerRadius
C#
public void SetEmissionRingInnerRadius(float innerRadius);
Parameters
NameTypeDefault
innerRadiusfloat—
SetEmissionRingRadiusvoid
# SetEmissionRingRadius
C#
public void SetEmissionRingRadius(float radius);
Parameters
NameTypeDefault
radiusfloat—
SetEmissionShapevoid
# SetEmissionShape
C#
public void SetEmissionShape(CpuParticles3D.EmissionShapeEnum shape);
Parameters
NameTypeDefault
shapeCpuParticles3D.EmissionShapeEnum—
SetEmissionSphereRadiusvoid
# SetEmissionSphereRadius
C#
public void SetEmissionSphereRadius(float radius);
Parameters
NameTypeDefault
radiusfloat—
SetEmittingvoid
# SetEmitting
C#
public void SetEmitting(bool emitting);
Parameters
NameTypeDefault
emittingbool—
SetExplosivenessRatiovoid
# SetExplosivenessRatio
C#
public void SetExplosivenessRatio(float ratio);
Parameters
NameTypeDefault
ratiofloat—
SetFixedFpsvoid
# SetFixedFps
C#
public void SetFixedFps(int fps);
Parameters
NameTypeDefault
fpsint—
SetFlatnessvoid
# SetFlatness
C#
public void SetFlatness(float amount);
Parameters
NameTypeDefault
amountfloat—
SetFractionalDeltavoid
# SetFractionalDelta
C#
public void SetFractionalDelta(bool enable);
Parameters
NameTypeDefault
enablebool—
SetGravityvoid
# SetGravity
C#
public void SetGravity(Vector3 accelVec);
Parameters
NameTypeDefault
accelVecVector3—
SetLifetimevoid
# SetLifetime
C#
public void SetLifetime(double secs);
Parameters
NameTypeDefault
secsdouble—
SetLifetimeRandomnessvoid
# SetLifetimeRandomness
C#
public void SetLifetimeRandomness(double random);
Parameters
NameTypeDefault
randomdouble—
SetMeshvoid
# SetMesh
C#
public void SetMesh(Mesh mesh);
Parameters
NameTypeDefault
meshMesh—
SetOneShotvoid
# SetOneShot
C#
public void SetOneShot(bool enable);
Parameters
NameTypeDefault
enablebool—
SetParamCurvevoid
# SetParamCurve
C#
public void SetParamCurve(CpuParticles3D.Parameter param, Curve curve);

Sets the Curve of the parameter specified by CpuParticles3D.Parameter. Should be a unit Curve.

Parameters
NameTypeDefault
paramCpuParticles3D.Parameter—
curveCurve—
SetParamMaxvoid
# SetParamMax
C#
public void SetParamMax(CpuParticles3D.Parameter param, float value);

Sets the maximum value for the given parameter.

Parameters
NameTypeDefault
paramCpuParticles3D.Parameter—
valuefloat—
SetParamMinvoid
# SetParamMin
C#
public void SetParamMin(CpuParticles3D.Parameter param, float value);

Sets the minimum value for the given parameter.

Parameters
NameTypeDefault
paramCpuParticles3D.Parameter—
valuefloat—
SetParticleFlagvoid
# SetParticleFlag
C#
public void SetParticleFlag(CpuParticles3D.ParticleFlags particleFlag, bool enable);

Enables or disables the given particle flag.

Parameters
NameTypeDefault
particleFlagCpuParticles3D.ParticleFlags—
enablebool—
SetPreProcessTimevoid
# SetPreProcessTime
C#
public void SetPreProcessTime(double secs);
Parameters
NameTypeDefault
secsdouble—
SetRandomnessRatiovoid
# SetRandomnessRatio
C#
public void SetRandomnessRatio(float ratio);
Parameters
NameTypeDefault
ratiofloat—
SetScaleCurveXvoid
# SetScaleCurveX
C#
public void SetScaleCurveX(Curve scaleCurve);
Parameters
NameTypeDefault
scaleCurveCurve—
SetScaleCurveYvoid
# SetScaleCurveY
C#
public void SetScaleCurveY(Curve scaleCurve);
Parameters
NameTypeDefault
scaleCurveCurve—
SetScaleCurveZvoid
# SetScaleCurveZ
C#
public void SetScaleCurveZ(Curve scaleCurve);
Parameters
NameTypeDefault
scaleCurveCurve—
SetSeedvoid
# SetSeed
C#
public void SetSeed(uint seed);
Parameters
NameTypeDefault
seeduint—
SetSpeedScalevoid
# SetSpeedScale
C#
public void SetSpeedScale(double scale);
Parameters
NameTypeDefault
scaledouble—
SetSplitScalevoid
# SetSplitScale
C#
public void SetSplitScale(bool splitScale);
Parameters
NameTypeDefault
splitScalebool—
SetSpreadvoid
# SetSpread
C#
public void SetSpread(float degrees);
Parameters
NameTypeDefault
degreesfloat—
SetUseFixedSeedvoid
# SetUseFixedSeed
C#
public void SetUseFixedSeed(bool useFixedSeed);
Parameters
NameTypeDefault
useFixedSeedbool—
SetUseLocalCoordinatesvoid
# SetUseLocalCoordinates
C#
public void SetUseLocalCoordinates(bool enable);
Parameters
NameTypeDefault
enablebool—
SetVisibilityAabbvoid
# SetVisibilityAabb
C#
public void SetVisibilityAabb(Aabb aabb);
Parameters
NameTypeDefault
aabbAabb—

Signals and events1

FinishedEvent
# Finished
C#
public event Action Finished;

Emitted when all active particles have finished processing. When CpuParticles3D.OneShot is disabled, particles will process continuously, so this is never emitted.

CpuParticles3D.DrawOrderEnum

ValueDescription
Index = 0

Particles are drawn in the order emitted.

Lifetime = 1

Particles are drawn in order of remaining lifetime. In other words, the particle with the highest lifetime is drawn at the front.

ViewDepth = 2

Particles are drawn in order of depth.

CpuParticles3D.EmissionShapeEnum

ValueDescription
Box = 3

Particles will be emitted in the volume of a box.

DirectedPoints = 5

Particles will be emitted at a position chosen randomly among CpuParticles3D.EmissionPoints. Particle velocity and rotation will be set based on CpuParticles3D.EmissionNormals. Particle color will be modulated by CpuParticles3D.EmissionColors.

Max = 7

Represents the size of the CpuParticles3D.EmissionShapeEnum enum.

Point = 0

All particles will be emitted from a single point.

Points = 4

Particles will be emitted at a position chosen randomly among CpuParticles3D.EmissionPoints. Particle color will be modulated by CpuParticles3D.EmissionColors.

Ring = 6

Particles will be emitted in a ring or cylinder.

Sphere = 1

Particles will be emitted in the volume of a sphere.

SphereSurface = 2

Particles will be emitted on the surface of a sphere.

CpuParticles3D.Parameter

ValueDescription
Angle = 7

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set angle properties.

AngularVelocity = 1

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set angular velocity properties.

AnimOffset = 11

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set animation offset properties.

AnimSpeed = 10

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set animation speed properties.

Damping = 6

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set damping properties.

HueVariation = 9

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set hue variation properties.

InitialLinearVelocity = 0

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set initial velocity properties.

LinearAccel = 3

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set linear acceleration properties.

Max = 12

Represents the size of the CpuParticles3D.Parameter enum.

OrbitVelocity = 2

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set orbital velocity properties.

RadialAccel = 4

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set radial acceleration properties.

Scale = 8

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set scale properties.

TangentialAccel = 5

Use with CpuParticles3D.SetParamMin, CpuParticles3D.SetParamMax, and CpuParticles3D.SetParamCurve to set tangential acceleration properties.

CpuParticles3D.ParticleFlags

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.