Navigation
Unreal Engine C++ API Reference > Runtime > Engine
Inheritance Hierarchy
- FParticleEmitterInstance
- FParticleBeam2EmitterInstance
- FParticleMeshEmitterInstance
- FParticleSpriteEmitterInstance
- FParticleTrailsEmitterInstance_Base
- FParticleAnimTrailEmitterInstance
- FParticleRibbonEmitterInstance
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Public/ParticleEmitterInstances.h |
Include | #include "ParticleEmitterInstances.h" |
Syntax
struct FParticleEmitterInstance
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
int32 | ActiveParticles | The number of particles currently active in the emitter. |
![]() |
uint32: 1 | bAxisLockEnabled | Whether axis lock is enabled, cached here to avoid finding it from the module each frame |
![]() |
bool | bEmitterIsDone | True if the emitter has no active particles and will no longer spawn any in the future |
![]() |
uint32: 1 | bEnabled | Component can disable Tick and Rendering of this emitter. |
![]() |
uint32: 1 | bFakeBurstsWhenSpawningSupressed | When true and spawning is supressed, the bursts will be faked so that when spawning is enabled again, the bursts don't fire late. |
![]() |
uint32: 1 | bHaltSpawning | If true, halt spawning for this instance. |
![]() |
uint32: 1 | bHaltSpawningExternal | If true, this emitter has been disabled by game code and some systems to re-enable are not allowed. |
![]() |
uint32: 1 | bIgnoreComponentScale | If true, the emitter ignores the component's scale. (Mesh emitters only). |
![]() |
uint32: 1 | bIsBeam | Hack: Make sure this is a Beam type to avoid casting from/to wrong types. |
![]() |
uint32: 1 | bKillOnCompleted | If true, kill this emitter instance when it has completed. |
![]() |
uint32: 1 | bKillOnDeactivate | If true, kill this emitter instance when it is deactivated. |
![]() |
uint32: 1 | bRequiresLoopNotification | If true, the emitter has modules that require loop notification. |
![]() |
uint32: 1 | bRequiresSorting | Whether this emitter requires sorting as specified by artist. |
![]() |
TArray< struct FLODBurstFired > | BurstFired | The BurstFire information. |
![]() |
int32 | CameraPayloadOffset | The offset to the Camera payload in the particle data. |
![]() |
UParticleSystemComponent * | Component | The component who owns it. |
![]() |
float | CurrentDelay | The emitter's delay for the current loop |
![]() |
UParticleLODLevel * | CurrentLODLevel | The currently set LOD level. |
![]() |
int32 | CurrentLODLevelIndex | The index of the currently set LOD level. |
![]() |
UMaterialInterface * | CurrentMaterial | The material to render this instance with. |
![]() |
int32 | DynamicParameterDataOffset | The offset to the dynamic parameter payload in the particle data |
![]() |
float | EmitterDuration | The current duration fo the emitter instance. |
![]() |
TArray< float > | EmitterDurations | The emitter duration at each LOD level for the instance. |
![]() |
float | EmitterTime | |
![]() |
FMatrix | EmitterToSimulation | Transform from emitter local space to simulation space. |
![]() |
int32 | EventCount | Number of events this emitter has generated... |
![]() |
TArray< class UPointLightComponent * > | HighQualityLights | |
![]() |
uint8 * | InstanceData | Pointer to the instance data array. |
![]() |
int32 | InstancePayloadSize | The size of the Instance data array. |
![]() |
int32 | IsRenderDataDirty | Flag indicating if the render data is dirty. |
![]() |
float | LastDeltaTime | The amount of time simulated in the previous time step. |
![]() |
float | LastTickDurationMs | How long did the last tick take? |
![]() |
int32 | LightDataOffset | Offset to the light module data payload. |
![]() |
float | LightVolumetricScatteringIntensity | |
![]() |
FVector | Location | The location of the emitter instance |
![]() |
TEnumAsByte< EParticleAxisLock > | LockAxisFlags | Axis lock flags, cached here to avoid finding it from the module each frame |
![]() |
int32 | LoopCount | The number of loops completed by the instance. |
![]() |
int32 | MaxActiveParticles | The maximum number of active particles that can be held in the particle data array. |
![]() |
int32 | MaxEventCount | |
![]() |
int32 | MaxVertexIndex | |
![]() |
FVector | OldLocation | The previous location of the instance. |
![]() |
int32 | OrbitModuleOffset | The offset to the Orbit module payload in the particle data. |
![]() |
FBox | ParticleBoundingBox | The bounding box for the particles. |
![]() |
uint32 | ParticleCounter | Monotonically increasing counter. |
![]() |
uint8 * | ParticleData | Pointer to the particle data array. |
![]() |
uint16 * | ParticleIndices | Pointer to the particle index array. |
![]() |
int32 | ParticleSize | The total size of a particle (in bytes). |
![]() |
int32 | ParticleStride | The stride between particles in the ParticleData array. |
![]() |
int32 | PayloadOffset | The offset to the particle data. |
![]() |
FVector2D | PivotOffset | The PivotOffset applied to the vertex positions |
![]() |
FVector | PositionOffsetThisTick | Position offset for each particle. Will be reset to zero at the end of the tick |
![]() |
float | SecondsSinceCreation | The number of seconds that have passed since the instance was created. |
![]() |
FMatrix | SimulationToWorld | Transform from simulation space to world space. |
![]() |
int32 | SortMode | The sort mode to use for this emitter as specified by artist. |
![]() |
float | SpawnFraction | The fraction of time left over from spawning. |
![]() |
UParticleEmitter * | SpriteTemplate | The template this instance is based on. |
![]() |
int32 | SubUVDataOffset | The offset to the SubUV payload in the particle data. |
![]() |
int32 | TrianglesToRender | The number of triangles to render |
![]() |
int32 | TypeDataInstanceOffset | The offset to the TypeData instance payload. |
![]() |
int32 | TypeDataOffset | The offset to the TypeData payload in the particle data. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Constructor |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Destructor |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | ApplyWorldOffset
(
FVector InOffset, |
Called on world origin changes. |
![]() ![]() |
void | BeginTrail () |
Begins the trail. |
![]() |
void | CalculateOrbitOffset
(
FOrbitChainModuleInstancePayload& Payload, |
Calculate the orbit offset data. |
![]() ![]() |
uint32 | CalculateParticleStride
(
uint32 ParticleSize |
Calculate the stride of a single particle for this instance |
![]() |
void | Called from Tick to determine whether the emitter will no longer spawn particles checks for emitters with 0 loops, infinite lifetime, and no continuous spawning (only bursts) and sets bEmitterIsDone if the last burst lies in the past and there are no active particles bEmitterIsDone is checked for all emitters by ParticleSystemComponent tick, and the particle system is deactivated if it's true for all emitters, and if bAutoDeactivate is set on the ParticleSystem | |
![]() |
void | CheckSpawnCount
(
int32 InNewCount, |
|
![]() ![]() |
void | EndTrail () |
Ends the trail. |
![]() |
void | FakeBursts () |
Advances the bursts as though they were fired with out actually firing them. |
![]() ![]() |
bool | FillReplayData
(
FDynamicEmitterReplayDataBase& OutData |
Captures dynamic replay data for this particle system. |
![]() |
void | Fixup particle indices to only have valid entries. | |
![]() ![]() |
void | ForceSpawn
(
float DeltaTime, |
Spawn/burst the given particles... |
![]() ![]() |
void | Update the bounding box for the emitterForce the bounding box to be updated. | |
![]() ![]() ![]() |
void | GatherMaterialRelevance
(
FMaterialRelevance* OutMaterialRelevance, |
Gathers material relevance flags for this emitter instance. |
![]() ![]() |
void | GetAllocatedSize
(
int32& OutNum, |
Retrieve the allocated size of this instance. |
![]() ![]() ![]() |
bool | GetBeamEndPoint
(
FVector& OutEndPoint |
|
![]() ![]() ![]() |
bool | GetBeamSourcePoint
(
int32 SourceIndex, |
|
![]() ![]() ![]() |
bool | GetBeamSourceStrength
(
int32 SourceIndex, |
|
![]() ![]() ![]() |
bool | GetBeamSourceTangent
(
int32 SourceIndex, |
|
![]() ![]() ![]() |
bool | GetBeamTargetPoint
(
int32 TargetIndex, |
|
![]() ![]() ![]() |
bool | GetBeamTargetStrength
(
int32 TargetIndex, |
|
![]() ![]() ![]() |
bool | GetBeamTargetTangent
(
int32 TargetIndex, |
|
![]() ![]() |
FBox | Retrieve the bounding box for the instance | |
![]() ![]() |
float | GetCurrentBurstRateOffset
(
float& DeltaTime, |
Get the current burst rate offset (delta time is artificially increased to generate bursts) |
![]() |
UParticleLODLevel * | Retrieves the current LOD level and asserts that it is valid. | |
![]() |
UMaterialInterface * | Get the current material to render with. | |
![]() ![]() |
FDynamicEmitterDataBase * | GetDynamicData
(
bool bSelected, |
Retrieves the dynamic data for the emitter |
![]() ![]() ![]() |
int32 | Returns the offset to the mesh rotation payload, if any. | |
![]() |
uint32 | GetModuleDataOffset
(
UParticleModule* Module |
Get offset for particle payload data for a particular module |
![]() |
uint8 * | GetModuleInstanceData
(
UParticleModule* Module |
Get pointer to emitter instance payload data for a particular module |
![]() |
FParticleRandomSeedInstancePayload * | GetModuleRandomSeedInstanceData
(
UParticleModule* Module |
Get pointer to emitter instance random seed payload data for a particular module |
![]() |
int32 | Get the offset of the orbit payload. | |
![]() ![]() |
FBaseParticle * | GetParticle
(
int32 Index |
Retrieve the particle at the given index |
![]() ![]() |
FBaseParticle * | GetParticleDirect
(
int32 InDirectIndex |
Get the particle at the given direct index |
![]() |
int32 | GetParticleDirectIndex
(
int32 InIndex |
Get the physical index of the particle at the given index (ie, the contents of ParticleIndices[InIndex]) |
![]() |
FVector | GetParticleLocationWithOrbitOffset
(
FBaseParticle* Particle |
Get the position of the particle taking orbit in to account. |
![]() ![]() |
FDynamicEmitterReplayDataBase * | Retrieves replay data for the emitter | |
![]() ![]() |
void | GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
Returns resource size, similar to UObject function |
![]() |
void | GetScreenAlignmentAndScale
(
int32& OutScreenAlign, |
Returns the screen alignment and scale of the component. |
![]() ![]() |
uint8 * | Get the pointer to the instance data allocated for type data module. | |
![]() ![]() |
UWorld * | GetWorld () |
|
![]() |
bool | Returns whether the system has any active particles. | |
![]() ![]() |
bool | HasCompleted () |
Has the instance completed it's run? |
![]() ![]() |
void | Init () |
Initialize the instance |
![]() ![]() |
void | InitParameters
(
UParticleEmitter* InTemplate, |
|
![]() ![]() |
bool | IsDynamicDataRequired
(
UParticleLODLevel* CurrentLODLevel |
Checks some common values for GetDynamicData validity |
![]() ![]() ![]() |
bool | Returns true if mesh rotation is active. | |
![]() ![]() ![]() |
bool | ||
![]() ![]() |
void | KillParticle
(
int32 Index |
Kill the particle at the given instance |
![]() ![]() |
void | Kill off any dead particles. (Remove them from the active array) | |
![]() ![]() |
void | KillParticlesForced
(
bool bFireEvents |
Force kill all particles in the emitter. |
![]() ![]() |
void | Called when the particle system is deactivating... | |
![]() ![]() |
void | OnEmitterInstanceKilled
(
FParticleEmitterInstance* Instance |
When an emitter is killed, this will check other emitters and clean up anything pointing to this one |
![]() ![]() |
void | ||
![]() ![]() |
void | PostSpawn
(
FBaseParticle* Particle, |
Handle any post-spawning actions required by the instance |
![]() ![]() |
void | PreSpawn
(
FBaseParticle* Particle, |
Handle any pre-spawning actions required for particles |
![]() ![]() |
void | ProcessParticleEvents
(
float DeltaTime, |
Process received events. |
![]() ![]() |
uint32 | Retrieved the per-particle bytes that this emitter type requires. | |
![]() ![]() |
void | Reset the burst list information for the instance | |
![]() ![]() |
void | ResetParticleParameters
(
float DeltaTime |
Reset the particle parameters |
![]() ![]() |
bool | Resize
(
int32 NewMaxActiveParticles, |
Ensures enough memory is allocated for the requested number of particles. |
![]() ![]() |
void | Rewind () |
Rewind the instance. |
![]() ![]() |
void | SetBeamEndPoint
(
FVector NewEndPoint |
|
![]() ![]() |
void | SetBeamSourcePoint
(
FVector NewSourcePoint, |
|
![]() ![]() |
void | SetBeamSourceStrength
(
float NewSourceStrength, |
|
![]() ![]() |
void | SetBeamSourceTangent
(
FVector NewTangentPoint, |
|
![]() ![]() |
void | SetBeamTargetPoint
(
FVector NewTargetPoint, |
|
![]() ![]() |
void | SetBeamTargetStrength
(
float NewTargetStrength, |
|
![]() ![]() |
void | SetBeamTargetTangent
(
FVector NewTangentPoint, |
|
![]() ![]() |
void | SetCurrentLODIndex
(
int32 InLODIndex, |
Set the LOD to the given index |
![]() |
void | SetFakeBurstWhenSpawningSupressed
(
bool bInFakeBurstsWhenSpawningSupressed |
|
![]() ![]() |
void | SetHaltSpawning
(
bool bInHaltSpawning |
Set the HaltSpawning flag |
![]() ![]() |
void | SetHaltSpawningExternal
(
bool bInHaltSpawning |
Set the bHaltSpawningExternal flag |
![]() ![]() |
void | SetMeshMaterials
(
const TArray< UMaterialInterface* >& InMaterials |
Sets the materials with which mesh particles should be rendered. |
![]() ![]() |
void | SetTrailSourceData
(
FName InFirstSocketName, |
Sets the data that defines this trail. |
![]() |
void | Calculates the emitter duration for the instance. | |
![]() ![]() |
float | Spawn
(
float DeltaTime |
Spawn particles for this emitter instance |
![]() |
void | SpawnParticles
(
int32 Count, |
Spawn the indicated number of particles. |
![]() ![]() |
void | Tick
(
float DeltaTime, |
Tick the instance. |
![]() ![]() |
float | Tick_EmitterTimeSetup
(
float DeltaTime, |
Tick sub-function that handles EmitterTime setup, looping, etc. |
![]() ![]() |
void | Tick_MaterialOverrides
(
int32 EmitterIndex |
Ticks the emitter's material overrides. |
![]() ![]() |
void | Tick_ModuleFinalUpdate
(
float DeltaTime, |
Tick sub-function that handles module FINAL updates |
![]() ![]() |
void | Tick_ModulePostUpdate
(
float DeltaTime, |
Tick sub-function that handles module post updates |
![]() ![]() |
void | Tick_ModuleUpdate
(
float DeltaTime, |
Tick sub-function that handles module updates |
![]() ![]() |
float | Tick_SpawnParticles
(
float DeltaTime, |
Tick sub-function that handles spawning of particles |
![]() ![]() |
void | UpdateBoundingBox
(
float DeltaTime |
Update the bounding box for the emitter |
![]() ![]() |
void | UpdateOrbitData
(
float DeltaTime |
|
![]() |
void | Updates all internal transforms. | |
![]() |
bool | True if this emitter emits in local space |
Constants
Name | Description |
---|---|
PeakActiveParticleUpdateDelta | The maximum DeltaTime allowed for updating PeakActiveParticle tracking. |