3D particle emitter.
    public class Particles : GeometryInstance

3D particle node used to create a variety of particle systems and effects. Particles features an emitter that generates some number of particles at a given rate.

Use the process_material property to add a ParticlesMaterial to configure particle appearance and behavior. Alternatively, you can add a ShaderMaterial which will be applied to all particles.

Inheritance Chain

Static Fields

    public const Int32 MaxDrawPasses = 4

Constructors

    public Particles()

Properties

    public int Amount { get; set; }

Number of particles to emit.

    public DrawOrderEnum DrawOrder { get; set; }

Particle draw order. Uses DRAW_ORDER_* values.

    public Mesh DrawPass1 { get; set; }

Mesh that is drawn for the first draw pass.

    public Mesh DrawPass2 { get; set; }

Mesh that is drawn for the second draw pass.

    public Mesh DrawPass3 { get; set; }

Mesh that is drawn for the third draw pass.

    public Mesh DrawPass4 { get; set; }

Mesh that is drawn for the fourth draw pass.

    public int DrawPasses { get; set; }

The number of draw passes when rendering particles.

    public bool Emitting { get; set; }

If true, particles are being emitted.

    public float Explosiveness { get; set; }

Time ratio between each emission. If 0, particles are emitted continuously. If 1, all particles are emitted simultaneously.

    public int FixedFps { get; set; }

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

    public bool FractDelta { get; set; }

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

    public float Lifetime { get; set; }

Amount of time each particle will exist.

    public bool LocalCoords { get; set; }

If true, particles use the parent node’s coordinate space. If false, they use global coordinates.

    public bool OneShot { get; set; }

If true, only amount particles will be emitted.

    public float Preprocess { get; set; }

Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.

    public Material ProcessMaterial { get; set; }

Material for processing particles. Can be a ParticlesMaterial or a ShaderMaterial.

    public float Randomness { get; set; }

Emission randomness ratio.

    public float SpeedScale { get; set; }

Speed scaling ratio. A value of 0 can be used to pause the particles.

    public AABB VisibilityAabb { get; set; }

The AABB that determines the area of the world part of which needs to be visible on screen for the particle system to be active.

Methods

    public AABB CaptureAabb()

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

    [Obsolete("GetAmount is deprecated. Use the Amount property instead.")]
    public int GetAmount()

Getter for Amount

    [Obsolete("GetDrawOrder is deprecated. Use the DrawOrder property instead.")]
    public DrawOrderEnum GetDrawOrder()

Getter for DrawOrder

    [Obsolete("GetDrawPasses is deprecated. Use the DrawPasses property instead.")]
    public int GetDrawPasses()

Getter for DrawPasses

    [Obsolete("GetDrawPassMesh is deprecated. Use the DrawPass4 property instead.")]
    public Mesh GetDrawPassMesh(int pass)

    [Obsolete("GetExplosivenessRatio is deprecated. Use the Explosiveness property instead.")]
    public float GetExplosivenessRatio()

Getter for Explosiveness

    [Obsolete("GetFixedFps is deprecated. Use the FixedFps property instead.")]
    public int GetFixedFps()

Getter for FixedFps

    [Obsolete("GetFractionalDelta is deprecated. Use the FractDelta property instead.")]
    public bool GetFractionalDelta()

Getter for FractDelta

    [Obsolete("GetLifetime is deprecated. Use the Lifetime property instead.")]
    public float GetLifetime()

Getter for DrawOrderEnum.Lifetime

    [Obsolete("GetOneShot is deprecated. Use the OneShot property instead.")]
    public bool GetOneShot()

Getter for OneShot

    [Obsolete("GetPreProcessTime is deprecated. Use the Preprocess property instead.")]
    public float GetPreProcessTime()

Getter for Preprocess

    [Obsolete("GetProcessMaterial is deprecated. Use the ProcessMaterial property instead.")]
    public Material GetProcessMaterial()

Getter for ProcessMaterial

    [Obsolete("GetRandomnessRatio is deprecated. Use the Randomness property instead.")]
    public float GetRandomnessRatio()

Getter for Randomness

    [Obsolete("GetSpeedScale is deprecated. Use the SpeedScale property instead.")]
    public float GetSpeedScale()

Getter for SpeedScale

    [Obsolete("GetUseLocalCoordinates is deprecated. Use the LocalCoords property instead.")]
    public bool GetUseLocalCoordinates()

Getter for LocalCoords

    [Obsolete("GetVisibilityAabb is deprecated. Use the VisibilityAabb property instead.")]
    public AABB GetVisibilityAabb()

Getter for VisibilityAabb

    [Obsolete("IsEmitting is deprecated. Use the Emitting property instead.")]
    public bool IsEmitting()

Getter for Emitting

    public void Restart()

Restarts the particle emission, clearing existing particles.

    [Obsolete("SetAmount is deprecated. Use the Amount property instead.")]
    public void SetAmount(int amount)

Setter for Amount

    [Obsolete("SetDrawOrder is deprecated. Use the DrawOrder property instead.")]
    public void SetDrawOrder(DrawOrderEnum order)

Setter for DrawOrder

    [Obsolete("SetDrawPasses is deprecated. Use the DrawPasses property instead.")]
    public void SetDrawPasses(int passes)

Setter for DrawPasses

    [Obsolete("SetDrawPassMesh is deprecated. Use the DrawPass4 property instead.")]
    public void SetDrawPassMesh(int pass, Mesh mesh)

    [Obsolete("SetEmitting is deprecated. Use the Emitting property instead.")]
    public void SetEmitting(bool emitting)

Setter for Emitting

    [Obsolete("SetExplosivenessRatio is deprecated. Use the Explosiveness property instead.")]
    public void SetExplosivenessRatio(float ratio)

Setter for Explosiveness

    [Obsolete("SetFixedFps is deprecated. Use the FixedFps property instead.")]
    public void SetFixedFps(int fps)

Setter for FixedFps

    [Obsolete("SetFractionalDelta is deprecated. Use the FractDelta property instead.")]
    public void SetFractionalDelta(bool enable)

Setter for FractDelta

    [Obsolete("SetLifetime is deprecated. Use the Lifetime property instead.")]
    public void SetLifetime(float secs)

Setter for DrawOrderEnum.Lifetime

    [Obsolete("SetOneShot is deprecated. Use the OneShot property instead.")]
    public void SetOneShot(bool enable)

Setter for OneShot

    [Obsolete("SetPreProcessTime is deprecated. Use the Preprocess property instead.")]
    public void SetPreProcessTime(float secs)

Setter for Preprocess

    [Obsolete("SetProcessMaterial is deprecated. Use the ProcessMaterial property instead.")]
    public void SetProcessMaterial(Material material)

Setter for ProcessMaterial

    [Obsolete("SetRandomnessRatio is deprecated. Use the Randomness property instead.")]
    public void SetRandomnessRatio(float ratio)

Setter for Randomness

    [Obsolete("SetSpeedScale is deprecated. Use the SpeedScale property instead.")]
    public void SetSpeedScale(float scale)

Setter for SpeedScale

    [Obsolete("SetUseLocalCoordinates is deprecated. Use the LocalCoords property instead.")]
    public void SetUseLocalCoordinates(bool enable)

Setter for LocalCoords

    [Obsolete("SetVisibilityAabb is deprecated. Use the VisibilityAabb property instead.")]
    public void SetVisibilityAabb(AABB aabb)

Setter for VisibilityAabb

Inner Types

DrawOrderEnum

Name Value Description
Index 0 Particles are drawn in the order emitted.
Lifetime 1 Particles are drawn in order of remaining lifetime.
ViewDepth 2 Particles are drawn in order of depth.
Tags: