unreal.VersionedNiagaraEmitterData

class unreal.VersionedNiagaraEmitterData(local_space: bool = False, determinism: bool = False, random_seed: int = 0, interpolated_spawning: bool = False, sim_target: NiagaraSimTarget = Ellipsis, fixed_bounds: Box = Ellipsis, requires_persistent_i_ds: bool = False, combine_event_spawn: bool = False, limit_delta_time: bool = False, max_gpu_particles_spawn_per_frame: int = 0, max_delta_time_per_tick: float = 0.0, allocation_mode: ParticleAllocationMode = Ellipsis)

Bases: StructBase

Struct containing all of the data that can be different between different emitter versions.

C++ Source:

  • Plugin: Niagara

  • Module: Niagara

  • File: NiagaraEmitter.h

Editor Properties: (see get_editor_property/set_editor_property)

  • allocation_mode (ParticleAllocationMode): [Read-Write] The emitter needs to allocate memory for the particles each tick. To prevent reallocations, the emitter should allocate as much memory as is needed for the max particle count. This setting controls if the allocation size should be automatically determined or manually entered.

  • attributes_to_preserve (Array[str]): [Read-Write] An allow list of Particle attributes (e.g. “Particle.Position” or “Particle.Age”) that will not be removed from the DataSet even if they aren’t read by the VM.

    Used in conjunction with UNiagaraSystem::bTrimAttributes

  • calculate_bounds_mode (NiagaraEmitterCalculateBoundMode): [Read-Write] How should we calculate bounds for the emitter.

  • combine_event_spawn (bool): [Read-Write] Performance option to allow event based spawning to be combined into a single spawn. This will result in a single exec from 0 to number of particles rather than several, when using ExecIndex() it is recommended not to do this.

  • determinism (bool): [Read-Write] Toggles whether to globally make the random number generator be deterministic or non-deterministic. Any random calculation that is set to the emitter defaults will inherit this value. It is still possible to tweak individual random to be deterministic or not. In this case deterministic means that it will return the same results for the same configuration of the emitter as long as delta time is not variable. Any changes to the emitter’s individual scripts will adjust the results.

  • fixed_bounds (Box): [Read-Write] The fixed bounding box value. CalculateBoundsMode is the condition whether the fixed bounds can be edited.

  • interpolated_spawning (bool): [Read-Write] When enabled, this will spawn using interpolated parameter values and perform a partial update at spawn time. This adds significant additional cost for spawning but will produce much smoother spawning for high spawn rates, erratic frame rates and fast moving emitters.

  • limit_delta_time (bool): [Read-Write] Whether to limit the max tick delta time or not.

  • local_space (bool): [Read-Write] Toggles whether or not the particles within this emitter are relative to the emitter origin or in global space.

  • max_delta_time_per_tick (float): [Read-Write] Limits the delta time per tick to prevent simulation spikes due to frame lags.

  • max_gpu_particles_spawn_per_frame (int32): [Read-Write] An override on the max number of GPU particles we expect to spawn in a single frame. A value of 0 means it’ll use fx.MaxNiagaraGPUParticlesSpawnPerFrame.

  • platforms (NiagaraPlatformSet): [Read-Write]

  • pre_allocation_count (int32): [Read-Write] The emitter will allocate at least this many particles on it’s first tick. This can aid performance by avoiding many allocations as an emitter ramps up to it’s max size.

  • random_seed (int32): [Read-Write] An emitter-based seed for the deterministic random number generator.

  • requires_persistent_i_ds (bool): [Read-Write] Creates a stable Identifier (Particles.ID) which does not vary from frame to frame. This comes at a small memory and performance cost. This allows external objects to track the same particle over multiple frames. Particle arrays are tightly packed and a particle’s actual index in the array may change from frame to frame. This optionally lets you use a lookup table to track a particle by index in the lookup table.

  • scalability_overrides (NiagaraEmitterScalabilityOverrides): [Read-Write]

  • sim_target (NiagaraSimTarget): [Read-Write]

property allocation_mode: ParticleAllocationMode

[Read-Write] The emitter needs to allocate memory for the particles each tick. To prevent reallocations, the emitter should allocate as much memory as is needed for the max particle count. This setting controls if the allocation size should be automatically determined or manually entered.

Type:

(ParticleAllocationMode)

property combine_event_spawn: bool

[Read-Write] Performance option to allow event based spawning to be combined into a single spawn. This will result in a single exec from 0 to number of particles rather than several, when using ExecIndex() it is recommended not to do this.

Type:

(bool)

property determinism: bool

[Read-Write] Toggles whether to globally make the random number generator be deterministic or non-deterministic. Any random calculation that is set to the emitter defaults will inherit this value. It is still possible to tweak individual random to be deterministic or not. In this case deterministic means that it will return the same results for the same configuration of the emitter as long as delta time is not variable. Any changes to the emitter’s individual scripts will adjust the results.

Type:

(bool)

property fixed_bounds: Box

[Read-Write] The fixed bounding box value. CalculateBoundsMode is the condition whether the fixed bounds can be edited.

Type:

(Box)

property interpolated_spawning: bool

[Read-Write] When enabled, this will spawn using interpolated parameter values and perform a partial update at spawn time. This adds significant additional cost for spawning but will produce much smoother spawning for high spawn rates, erratic frame rates and fast moving emitters.

Type:

(bool)

property limit_delta_time: bool

[Read-Write] Whether to limit the max tick delta time or not.

Type:

(bool)

property local_space: bool

[Read-Write] Toggles whether or not the particles within this emitter are relative to the emitter origin or in global space.

Type:

(bool)

property max_delta_time_per_tick: float

[Read-Write] Limits the delta time per tick to prevent simulation spikes due to frame lags.

Type:

(float)

property max_gpu_particles_spawn_per_frame: int

[Read-Write] An override on the max number of GPU particles we expect to spawn in a single frame. A value of 0 means it’ll use fx.MaxNiagaraGPUParticlesSpawnPerFrame.

Type:

(int32)

property random_seed: int

[Read-Write] An emitter-based seed for the deterministic random number generator.

Type:

(int32)

property requires_persistent_i_ds: bool

[Read-Write] Creates a stable Identifier (Particles.ID) which does not vary from frame to frame. This comes at a small memory and performance cost. This allows external objects to track the same particle over multiple frames. Particle arrays are tightly packed and a particle’s actual index in the array may change from frame to frame. This optionally lets you use a lookup table to track a particle by index in the lookup table.

Type:

(bool)

property sim_target: NiagaraSimTarget

[Read-Write]

Type:

(NiagaraSimTarget)