UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FGPUSpriteParticleEmitterInstance Class Reference
+ Inheritance diagram for FGPUSpriteParticleEmitterInstance:

Public Member Functions

 FGPUSpriteParticleEmitterInstance (IParticleEmitterInstanceOwner &InComponent, FFXSystem *InFXSystem, FGPUSpriteEmitterInfo &InEmitterInfo)
 
virtual ~FGPUSpriteParticleEmitterInstance ()
 
int32 GetAllocatedTileCount () const
 
virtual bool IsDynamicDataRequired (UParticleLODLevel *InCurrentLODLevel) override
 
virtual FDynamicEmitterDataBaseGetDynamicData (bool bSelected, ERHIFeatureLevel::Type InFeatureLevel) override
 
virtual void Init () override
 
FORCENOINLINE void ReserveNewParticles (int32 Num)
 
virtual void Tick (float DeltaSeconds, bool bSuppressSpawning) override
 
void ClearAllocatedTiles ()
 
virtual void KillParticlesForced (bool bFireEvents) override
 
virtual void OnDeactivateSystem () override
 
virtual void Rewind () override
 
virtual bool HasCompleted () override
 
virtual void ForceUpdateBoundingBox () override
 
- Public Member Functions inherited from FParticleEmitterInstance
ENGINE_API FParticleEmitterInstance (IParticleEmitterInstanceOwner &InComponent)
 
virtual ENGINE_API ~FParticleEmitterInstance ()
 
virtual ENGINE_API void InitParameters (UParticleEmitter *InTemplate)
 
ENGINE_API void CheckEmitterFinished ()
 
ENGINE_API void FakeBursts ()
 
virtual ENGINE_API float Tick_EmitterTimeSetup (float DeltaTime, UParticleLODLevel *CurrentLODLevel)
 
virtual ENGINE_API FBox GetBoundingBox ()
 
ENGINE_API uint32 GetModuleDataOffset (UParticleModule *Module)
 
ENGINE_API uint8GetModuleInstanceData (UParticleModule *Module)
 
ENGINE_API FParticleRandomSeedInstancePayloadGetModuleRandomSeedInstanceData (UParticleModule *Module)
 
virtual ENGINE_API void ResetBurstList ()
 
virtual ENGINE_API float GetCurrentBurstRateOffset (float &DeltaTime, int32 &Burst)
 
ENGINE_API void CalculateOrbitOffset (FOrbitChainModuleInstancePayload &Payload, FVector &AccumOffset, FVector &AccumRotation, FVector &AccumRotationRate, float DeltaTime, FVector &Result, FMatrix &RotationMat)
 
ENGINE_API void SpawnParticles (int32 Count, float StartTime, float Increment, const FVector &InitialLocation, const FVector &InitialVelocity, struct FParticleEventInstancePayload *EventPayload)
 
ENGINE_API void CheckSpawnCount (int32 InNewCount, int32 InMaxCount)
 
virtual void SetHaltSpawning (bool bInHaltSpawning)
 
virtual void SetHaltSpawningExternal (bool bInHaltSpawning)
 
void SetFakeBurstWhenSpawningSupressed (bool bInFakeBurstsWhenSpawningSupressed)
 
ENGINE_API int32 GetOrbitPayloadOffset ()
 
ENGINE_API FVector GetParticleLocationWithOrbitOffset (FBaseParticle *Particle)
 
int32 GetParticleDirectIndex (int32 InIndex)
 
ENGINE_API void SetupEmitterDuration ()
 
bool HasActiveParticles ()
 
virtual FDynamicEmitterReplayDataBaseGetReplayData ()
 
virtual void GetAllocatedSize (int32 &OutNum, int32 &OutMax)
 
virtual void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
virtual ENGINE_API void ProcessParticleEvents (float DeltaTime, bool bSuppressSpawning)
 
virtual int32 GetMeshRotationOffset () const
 
virtual bool IsMeshRotationActive () const
 
virtual void SetMeshMaterials (const TArray< UMaterialInterface * > &InMaterials)
 
virtual ENGINE_API void GatherMaterialRelevance (FMaterialRelevance *OutMaterialRelevance, const UParticleLODLevel *LODLevel, ERHIFeatureLevel::Type InFeatureLevel) const
 
virtual ENGINE_API void GatherMaterialRelevance (FMaterialRelevance *OutMaterialRelevance, const UParticleLODLevel *LODLevel, EShaderPlatform InShaderPlatform) const
 
virtual void OnEmitterInstanceKilled (FParticleEmitterInstance *Instance)
 
virtual void SetBeamEndPoint (FVector NewEndPoint)
 
virtual void SetBeamSourcePoint (FVector NewSourcePoint, int32 SourceIndex)
 
virtual void SetBeamSourceTangent (FVector NewTangentPoint, int32 SourceIndex)
 
virtual void SetBeamSourceStrength (float NewSourceStrength, int32 SourceIndex)
 
virtual void SetBeamTargetPoint (FVector NewTargetPoint, int32 TargetIndex)
 
virtual void SetBeamTargetTangent (FVector NewTangentPoint, int32 TargetIndex)
 
virtual void SetBeamTargetStrength (float NewTargetStrength, int32 TargetIndex)
 
virtual bool GetBeamEndPoint (FVector &OutEndPoint) const
 
virtual bool GetBeamSourcePoint (int32 SourceIndex, FVector &OutSourcePoint) const
 
virtual bool GetBeamSourceTangent (int32 SourceIndex, FVector &OutTangentPoint) const
 
virtual bool GetBeamSourceStrength (int32 SourceIndex, float &OutSourceStrength) const
 
virtual bool GetBeamTargetPoint (int32 TargetIndex, FVector &OutTargetPoint) const
 
virtual bool GetBeamTargetTangent (int32 TargetIndex, FVector &OutTangentPoint) const
 
virtual bool GetBeamTargetStrength (int32 TargetIndex, float &OutTargetStrength) const
 
virtual ENGINE_API void ApplyWorldOffset (FVector InOffset, bool bWorldShift)
 
virtual bool IsTrailEmitter () const
 
virtual void BeginTrail ()
 
virtual void EndTrail ()
 
virtual void SetTrailSourceData (FName InFirstSocketName, FName InSecondSocketName, ETrailWidthMode InWidthMode, float InWidth)
 
virtual ENGINE_API void Tick_MaterialOverrides (int32 EmitterIndex)
 
ENGINE_API bool UseLocalSpace ()
 
ENGINE_API void GetScreenAlignmentAndScale (int32 &OutScreenAlign, FVector &OutScale)
 
- Public Member Functions inherited from FParticleEmitterInstanceFixLayout
virtual ~FParticleEmitterInstanceFixLayout ()=default
 

Protected Member Functions

virtual bool FillReplayData (FDynamicEmitterReplayDataBase &OutData) override
 
- Protected Member Functions inherited from FParticleEmitterInstance
ENGINE_API void UpdateTransforms ()
 
ENGINE_API class UParticleLODLevelGetCurrentLODLevelChecked ()
 
ENGINE_API UMaterialInterfaceGetCurrentMaterial ()
 
ENGINE_API void FixupParticleIndices ()
 

Additional Inherited Members

- Public Attributes inherited from FParticleEmitterInstance
UParticleEmitterSpriteTemplate
 
IParticleEmitterInstanceOwnerComponent
 
UParticleLODLevelCurrentLODLevel
 
int32 CurrentLODLevelIndex
 
int32 TypeDataOffset
 
int32 TypeDataInstanceOffset
 
int32 SubUVDataOffset
 
int32 DynamicParameterDataOffset
 
int32 LightDataOffset
 
float LightVolumetricScatteringIntensity
 
int32 OrbitModuleOffset
 
int32 CameraPayloadOffset
 
int32 PayloadOffset
 
FVector Location
 
FMatrix EmitterToSimulation
 
FMatrix SimulationToWorld
 
uint8 bEnabled: 1
 
uint8 bKillOnDeactivate:1
 
uint8 bKillOnCompleted:1
 
uint8 bRequiresSorting:1
 
uint8 bHaltSpawning: 1
 
uint8 bHaltSpawningExternal: 1
 
uint8 bRequiresLoopNotification:1
 
uint8 bIgnoreComponentScale:1
 
uint8 bIsBeam:1
 
uint8 bAxisLockEnabled: 1
 
uint8 bFakeBurstsWhenSpawningSupressed: 1
 
uint8 bEmitterIsDone:1
 
TEnumAsByte< EParticleAxisLockLockAxisFlags
 
int32 SortMode
 
uint8ParticleData
 
uint16ParticleIndices
 
uint8InstanceData
 
int32 InstancePayloadSize
 
int32 ParticleSize
 
int32 ParticleStride
 
int32 ActiveParticles
 
uint32 ParticleCounter
 
int32 MaxActiveParticles
 
float SpawnFraction
 
float SecondsSinceCreation
 
float EmitterTime
 
float LastDeltaTime
 
FVector OldLocation
 
FBox ParticleBoundingBox
 
TArray< struct FLODBurstFiredBurstFired
 
int32 LoopCount
 
int32 IsRenderDataDirty
 
float EmitterDuration
 
TArray< floatEmitterDurations
 
float CurrentDelay
 
int32 TrianglesToRender
 
int32 MaxVertexIndex
 
UMaterialInterfaceCurrentMaterial
 
int32 EventCount
 
int32 MaxEventCount
 
FVector PositionOffsetThisTick
 
FVector2D PivotOffset
 
TArray< class UPointLightComponent * > HighQualityLights
 
- Static Public Attributes inherited from FParticleEmitterInstance
static ENGINE_API const float PeakActiveParticleUpdateDelta = 0.05f
 

Detailed Description

Particle emitter instance for Cascade.

Constructor & Destructor Documentation

◆ FGPUSpriteParticleEmitterInstance()

FGPUSpriteParticleEmitterInstance::FGPUSpriteParticleEmitterInstance ( IParticleEmitterInstanceOwner InComponent,
FFXSystem InFXSystem,
FGPUSpriteEmitterInfo InEmitterInfo 
)
inline

Initialization constructor.

◆ ~FGPUSpriteParticleEmitterInstance()

virtual FGPUSpriteParticleEmitterInstance::~FGPUSpriteParticleEmitterInstance ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ ClearAllocatedTiles()

void FGPUSpriteParticleEmitterInstance::ClearAllocatedTiles ( )
inline

Clears all active particle tiles.

◆ FillReplayData()

virtual bool FGPUSpriteParticleEmitterInstance::FillReplayData ( FDynamicEmitterReplayDataBase OutData)
inlineoverrideprotectedvirtual

Captures dynamic replay data for this particle system.

Parameters
OutData[Out] Data will be copied here
Returns
Returns true if successful

Reimplemented from FParticleEmitterInstance.

◆ ForceUpdateBoundingBox()

virtual void FGPUSpriteParticleEmitterInstance::ForceUpdateBoundingBox ( )
inlineoverridevirtual

Force the bounding box to be updated. WARNING: This is an expensive operation for GPU particles. It requires syncing with the GPU to read back the emitter's bounds. This function should NEVER be called at runtime!

Reimplemented from FParticleEmitterInstance.

◆ GetAllocatedTileCount()

int32 FGPUSpriteParticleEmitterInstance::GetAllocatedTileCount ( ) const
inline

Returns the number of tiles allocated to this emitter.

◆ GetDynamicData()

virtual FDynamicEmitterDataBase * FGPUSpriteParticleEmitterInstance::GetDynamicData ( bool  bSelected,
ERHIFeatureLevel::Type  InFeatureLevel 
)
inlineoverridevirtual

Retrieves the dynamic data for the emitter

Reimplemented from FParticleEmitterInstance.

◆ HasCompleted()

virtual bool FGPUSpriteParticleEmitterInstance::HasCompleted ( )
inlineoverridevirtual

Returns true if the emitter has completed.

Reimplemented from FParticleEmitterInstance.

◆ Init()

virtual void FGPUSpriteParticleEmitterInstance::Init ( )
inlineoverridevirtual

Initializes the emitter.

Reimplemented from FParticleEmitterInstance.

◆ IsDynamicDataRequired()

virtual bool FGPUSpriteParticleEmitterInstance::IsDynamicDataRequired ( UParticleLODLevel InCurrentLODLevel)
inlineoverridevirtual

Checks some common values for GetDynamicData validity

Returns
bool true if GetDynamicData should continue, false if it should return NULL

Reimplemented from FParticleEmitterInstance.

◆ KillParticlesForced()

virtual void FGPUSpriteParticleEmitterInstance::KillParticlesForced ( bool  bFireEvents)
inlineoverridevirtual

Force kill all particles in the emitter.

Parameters
bFireEventsIf true, fire events for the particles being killed.

Reimplemented from FParticleEmitterInstance.

◆ OnDeactivateSystem()

virtual void FGPUSpriteParticleEmitterInstance::OnDeactivateSystem ( )
inlineoverridevirtual

Called when the particle system is deactivating...

Reimplemented from FParticleEmitterInstance.

◆ ReserveNewParticles()

FORCENOINLINE void FGPUSpriteParticleEmitterInstance::ReserveNewParticles ( int32  Num)
inline

◆ Rewind()

virtual void FGPUSpriteParticleEmitterInstance::Rewind ( )
inlineoverridevirtual

Rewind the instance.

Reimplemented from FParticleEmitterInstance.

◆ Tick()

virtual void FGPUSpriteParticleEmitterInstance::Tick ( float  DeltaSeconds,
bool  bSuppressSpawning 
)
inlineoverridevirtual

Simulates the emitter forward by the specified amount of time.

Reimplemented from FParticleEmitterInstance.


The documentation for this class was generated from the following file: