struct TParticleSystemSettings

template<bool IsRenderProxy>

Templated common base for both main and render thread variants of ParticleSystemSettings.

Public

Fields

Material

MaterialType Material

Material to render the particles with.

Mesh

Mesh used for representing individual particles when using the Mesh rendering mode.

SimulationSpace

ParticleSimulationSpace SimulationSpace

Determines in which space are particles in.

Orientation

Determines how are particles oriented when rendering.

Duration

float Duration

Determines the time period during which the system runs, in seconds.

This effects evaluation of distributions with curves using particle system time for evaluation.

IsLooping

bool IsLooping

Determines should the particle system time wrap around once it reaches its duration.

MaxParticles

u32 MaxParticles

Determines the maximum number of particles that can ever be active in this system.

This number is ignored if GPU simulation is enabled, and instead particle count is instead only limited by the size of the internal buffers (shared between all particle systems).

GpuSimulation

bool GpuSimulation

If true the particle system will be simulated on the GPU.

This allows much higher particle counts at lower performance cost. GPU simulation ignores any provided evolvers and instead uses ParticleGpuSimulationSettings to customize the GPU simulation.

RenderMode

Determines how is each particle represented on the screen.

OrientationLockY

bool OrientationLockY

Determines should the particles only be allowed to orient themselves around the Y axis, or freely.

Ignored if using the Plane orientation mode.

OrientationPlaneNormal

Vector3 OrientationPlaneNormal

Determines a normal of the plane to orient particles towards.

Only used if particle orientation mode is set to ParticleOrientation::Plane.

SortMode

Determines how (and if) are particles sorted.

Sorting controls in what order are particles rendered. If GPU simulation is enabled only distance based sorting is supported.

UseAutomaticSeed

bool UseAutomaticSeed

Determines should an automatic seed be used for the internal random number generator.

This ensures the particle system yields different results each time it is ran.

ManualSeed

u32 ManualSeed

Determines the seed to use for the internal random number generator.

Allows you to guarantee identical behaviour between different runs. Only relevant if automatic seed is disabled.

UseAutomaticBounds

bool UseAutomaticBounds

Determines should the particle system bounds be automatically calculated, or should the fixed value provided be used.

Bounds are used primarily for culling purposes. Note that automatic bounds are not supported when GPU simulation is enabled.

CustomBounds

AABox CustomBounds

Custom bounds to use them is disabled.

The bounds are in the simulation space of the particle system.