UParticleEmitter

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Particles/ParticleEmitter.h

Include

#include "Particles/ParticleEmitter.h"

Syntax

class UParticleEmitter : public UObject

Variables

Name Description

Public variable

uint8: 1

 

bAxisLockEnabled

Public variable

uint8: 1

 

bCollapsed

This value indicates the emitter should be drawn 'collapsed' in Cascade

Public variable

uint8: 1

 

bCookedOut

If true, then this emitter was 'cooked out' by the cooker.

Public variable

uint8: 1

 

bDisabledLODsKeepEmitterAlive

When true, if the current LOD is disabled the emitter will be kept alive.

Public variable

uint8: 1

 

bDisableWhenInsignficant

When true, emitters deemed insignificant will have their tick and render disabled Instantly.

Public variable

uint8: 1

 

bIsSoloing

If true, then show only this emitter in the editor

Public variable

uint8: 1

 

bMeshRotationActive

Public variable

uint8: 1

 

bRemoveHMDRollInVR

Particle alignment overrides

Public variable

uint8: 1

 

bRequiresLoopNotification

Public variable

uint8: 1

 

bUseLegacySpawningBehavior

If true, maintains some legacy spawning behavior.

Public variable

int32

 

CameraPayloadOffset

Public variable

uint8: 1

 

ConvertedModules

Public variable

uint32

 

DetailModeBitmask

Detail mode: Set flags reflecting which system detail mode you want the emitter to be ticked and rendered in

Public variable

FString

 

DetailModeDisplay

Public variable

int32

 

DynamicParameterDataOffset

Public variable

FColor

 

EmitterEditorColor

The color of the emitter in the curve editor and debug rendering modes.

Public variable

FName

 

EmitterName

General variables.

Public variable

TEnumAsByte< en...

 

EmitterRenderMode

How to render the emitter particles.

Public variable

int32

 

InitialAllocationCount

Performance/LOD Data.

Public variable

int32

 

LightDataOffset

Public variable

float

 

LightVolumetricScatteringIntensity

Public variable

TEnumAsByte< EP...

 

LockAxisFlags

Public variable

TArray< class U...

 

LODLevels

'Private' data - not required by the editor

Public variable

float

 

MaxFacingCameraBlendDistance

Public variable

TArray< class U...

 

MeshMaterials

Materials collected from any MeshMaterial modules

Public variable

float

 

MinFacingCameraBlendDistance

Public variable

TMap< UParticle...

 

ModuleInstanceOffsetMap

Map module pointers to their offset into the instance data.

Public variable

TMap< UParticle...

 

ModuleOffsetMap

Map module pointers to their offset into the particle data.

Public variable

TMap< UParticle...

 

ModuleRandomSeedInstanceOffsetMap

Map module pointers to their offset into the instance data.

Public variable

TArray< UPartic...

 

ModulesNeedingInstanceData

Array of modules that want emitter instance data.

Public variable

TArray< UPartic...

 

ModulesNeedingRandomSeedInstanceData

Array of modules that want emitter random seed instance data.

Public variable

int32

 

ParticleSize

Public variable

int32

 

PeakActiveParticles

Public variable

FVector2D

 

PivotOffset

Public variable

float

 

QualityLevelSpawnRateScale

Public variable

int32

 

ReqInstanceBytes

Public variable

EParticleSignif...

 

SignificanceLevel

The significance level required of this emitter's owner for this emitter to be active.

Public variable

USubUVAnimation...

 

SubUVAnimation

SubUV animation asset to use for cutout geometry.

Public variable

int32

 

SubUVDataOffset

Public variable

int32

 

TypeDataInstanceOffset

Public variable

int32

 

TypeDataOffset

Constructors

Name Description

Public function

UParticleEmitter

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

AddEmitterCurvesToEditor

(
    UInterpCurveEdSetup* EdSetup
)

For Cascade

Public function Virtual

bool

 

AutogenerateLowestLODLevel

(
    bool bDuplicateHighest
)

Autogenerate the lowest LOD level...

Public function

void

 

AutoPopulateInstanceProperties

(
    UParticleSystemComponent* PSys...
)

Public function

void

 

Build()

Builds data needed for simulation by the emitter from all modules.

Public function

void

 

CacheEmitterModuleInfo()

Pre-calculate data size/offset and other info from modules in this Emitter

Public function Virtual

bool

 

CalculateMaxActiveParticleCount()

CalculateMaxActiveParticleCount Determine the maximum active particles that could occur with this emitter.

Public function

void

 

ChangeEditorColor

(
    FColor& Color,
    UInterpCurveEdSetup* EdSetup
)

Public function Virtual

FParticleEmi...

 

CreateInstance

(
    UParticleSystemComponent* InCo...
)

Public function

int32

 

CreateLODLevel

(
    int32 LODLevel,
    bool bGenerateModuleData
)

CreateLODLevel Creates the given LOD level.

Public function

void

 

EditorUpdateCurrentLOD

(
    FParticleEmitterInstance* Inst...
)

This will update the LOD of the particle in the editor.

Public function

UParticleLOD...

 

GetCurrentLODLevel

(
    FParticleEmitterInstance* Inst...
)

GetCurrentLODLevel Returns the currently set LODLevel.

Public function

FName &

 

GetEmitterName()

Public function

UParticleLOD...

 

GetLODLevel

(
    int32 LODLevel
)

GetLODLevel Returns the given LODLevel.

Public function

void

 

GetParametersUtilized

(
    TArray< FString >& ParticleSysPara...,
    TArray< FString >& ParticleParamet...
)

Retrieve the parameters associated with this particle system.

Public function

float

 

GetQualityLevelSpawnRateMult()

Calculate spawn rate multiplier based on global effects quality level and emitter's quality scale

Public function Const

TStatId

 

GetStatID

(
    bool bForDeferredUse
)

Stat id of this object, 0 if nobody asked for it yet Returns the stat ID of the object...

Public function Const

TStatId

 

GetStatIDRT

(
    bool bForDeferredUse
)

Public function Const

bool

 

HasAnyEnabledLODs()

Returns true if the is emitter has any enabled LODs, false otherwise.

Public function

bool

 

IsLODLevelValid

(
    int32 LODLevel
)

IsLODLevelValid Returns true if the given LODLevel is one of the array entries.

Public function

bool

 

IsSignificant

(
    EParticleSignificanceLevel Required...
)

Creates this stat ID for the emitter...and handle a null this pointerReturns if this emitter is considered significant for the passed requirement.

Public function

void

 

RemoveEmitterCurvesFromEditor

(
    UInterpCurveEdSetup* EdSetup
)

Public function

void

 

SetEmitterName

(
    FName Name
)

Public function Virtual

void

 

SetLODCount

(
    int32 LODCount
)

Public function Virtual

void

 

SetToSensibleDefaults()

Sets up this emitter with sensible defaults so we can see some particles as soon as its created.

Public function

void

 

UpdateDetailModeDisplayString()

Update the at-a-glance display for detail mode.

Public function Virtual

void

 

UpdateModuleLists()

Overridden from UObject

Name Description

Public function Virtual Const

bool

 

IsPostLoadThreadSafe()

Called during async load to determine if PostLoad can be called on the loading thread.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Deprecated Variables

Name Description

Public variable

TEnumAsByte< ED...

 

DetailMode_DEPRECATED

If detail mode is >= system detail mode, primitive won't be rendered.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback