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, max_gpu_particles_spawn_per_frame: int = 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)

  • add_emitter_default_view_state (NiagaraEmitterDefaultSummaryState): [Read-Write] This determines how emitters will be added to a system by default. If summary view is setup, consider setting this to ‘Summary’.

  • 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. Note: If this is greyed out it means fixed bounds are enabled in the System Properties and these bounds are therefore ignored.

  • 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. Note: If this is greyed out it means fixed bounds are enabled in the System Properties and these bounds are therefore ignored.

  • 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.

  • 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_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_stage_execution_loop_editor_data (Array[NiagaraSimStageExecutionLoopEditorData]): [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 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. Note: If this is greyed out it means fixed bounds are enabled in the System Properties and these bounds are therefore ignored.

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 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_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)