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