unreal.VersionedNiagaraEmitterData

class unreal.VersionedNiagaraEmitterData(local_space: bool = False, determinism: bool = False, random_seed: int = 0, interpolated_spawn_mode: NiagaraInterpolatedSpawnMode = Ellipsis, 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.

  • emitter_dependencies (Array[NiagaraDataInterfaceEmitterBinding]): [Read-Write] List of emitter dependencies to use when calculating the execution order for emitter particle scripts. This is generally only required when you are using advanced features, such as reading / writing to a data interface in different emitters and need to ensure the emitters can not run concurrently with one another, either on the CPU or the GPU.

  • 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_spawn_mode (NiagaraInterpolatedSpawnMode): [Read-Write] This defines if newly spawned particles run only the spawn script on the first frame or both spawn and update with optional parameter interpolation.

  • interpolated_spawning (bool): [Read-Write] deprecated: Property ‘bInterpolatedSpawning’ is deprecated.

  • 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_spawn_mode: NiagaraInterpolatedSpawnMode

[Read-Write] This defines if newly spawned particles run only the spawn script on the first frame or both spawn and update with optional parameter interpolation.

Type:

(NiagaraInterpolatedSpawnMode)

property interpolated_spawning: bool

[Read-Write] deprecated: Property ‘bInterpolatedSpawning’ is deprecated.

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)