21#define ENABLE_TRAILS_START_END_INDEX_OPTIMIZATION (0)
35class UParticleSystemComponent;
51class UStaticMeshComponent;
52class UParticleSystemComponent;
349#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
677 UE_DEPRECATED(5.7,
"Please use GatherMaterialRelevance with EShaderPlatform argument and not ERHIFeatureLevel::Type")
809 if (!StatId.IsNone())
965 UE_DEPRECATED(5.7,
"Please use GatherMaterialRelevance with EShaderPlatform argument and not ERHIFeatureLevel::Type")
1071 virtual void Init()
override;
1107 void SetupBeamModifierModulesOffsets();
1108 void ResolveSource();
1109 void ResolveTarget();
1110 void DetermineVertexAndTriangleCount();
1147 SourceEmitter =
NULL;
1151 TargetEmitter =
NULL;
1210#if ENABLE_TRAILS_START_END_INDEX_OPTIMIZATION
1216 void SetStartIndex(
int32 TrailIndex,
int32 ParticleIndex)
1223 CheckIndices(TrailIndex);
1259 void SetEndIndex(
int32 TrailIndex,
int32 ParticleIndex)
1266 CheckIndices(TrailIndex);
1269 void SetDeadIndex(
int32 TrailIndex,
int32 ParticleIndex)
1280 CheckIndices(TrailIndex);
1283 void ClearIndices(
int32 TrailIndex,
int32 ParticleIndex)
1285 SetDeadIndex(TrailIndex, ParticleIndex);
1286 CheckIndices(TrailIndex);
1291#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
1308 void CheckAllIndices()
1310#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
1379 void DumpCircularTrailsSpam();
1380#if !UE_BUILD_SHIPPING
1385 DumpCircularTrailsSpam();
1402 , LastTickTime(0.0f)
1403 , bDeadTrailsOnDeactivate(
false)
1404 , bFirstUpdate(
true)
1405 , bEnableInactiveTimeTracking(
false)
1407 TrailSpawnTimes.
Empty();
1408 LastSpawnTime.
Empty();
1409 SourceDistanceTraveled.
Empty();
1410 TiledUDistanceTraveled.
Empty();
1414#if ENABLE_TRAILS_START_END_INDEX_OPTIMIZATION
1426 virtual void Init()
override;
1440 virtual void Tick_RecalculateTangents(
float DeltaTime,
UParticleLODLevel* CurrentLODLevel);
1441 virtual void UpdateBoundingBox(
float DeltaTime)
override;
1442 virtual void ForceUpdateBoundingBox()
override;
1443 virtual void KillParticles()
override;
1454 virtual void UpdateSourceData(
float DeltaTime,
bool bFirstTime);
1461 virtual void OnDeactivateSystem()
override;
1496 bool GetParticleInTrail(
1586 virtual void Tick_RecalculateTangents(
float DeltaTime,
UParticleLODLevel* CurrentLODLevel)
override;
1606 virtual float Spawn(
float DeltaTime)
override;
1615 bool Spawn_Source(
float DeltaTime);
1623 float Spawn_RateAndBurst(
float DeltaTime);
1625 virtual void SetupTrailModules()
override;
1626 void ResolveSource();
1627 virtual void UpdateSourceData(
float DeltaTime,
bool bFirstTime)
override;
1633 void DetermineVertexAndTriangleCount();
1640 virtual bool IsDynamicDataRequired(
UParticleLODLevel* CurrentLODLevel)
override;
1677 SourceEmitter =
NULL;
1744#if WITH_EDITORONLY_DATA
1745 uint32 bRenderGeometry : 1;
1746 uint32 bRenderSpawnPoints : 1;
1747 uint32 bRenderTangents : 1;
1748 uint32 bRenderTessellation : 1;
1772 virtual void RecalculateTangentAndInterpolationParam(
1783 virtual void Tick_RecalculateTangents(
float DeltaTime,
UParticleLODLevel* CurrentLODLevel)
override;
1792 virtual float Spawn(
float DeltaTime)
override;
1794 virtual void SetupTrailModules()
override;
1796 virtual void UpdateSourceData(
float DeltaTime,
bool bFirstTime)
override;
1798 void UpdateBoundingBox(
float DeltaTime)
override;
1799 void ForceUpdateBoundingBox()
override;
1802 void DetermineVertexAndTriangleCount();
1804 virtual bool HasCompleted()
override;
1838 virtual void BeginTrail()
override;
1843 virtual void EndTrail()
override;
1855 bool IsTrailActive()
const;
1857#if WITH_EDITORONLY_DATA
1890 virtual void PrintAllActiveParticles()
override;
1892 virtual void PrintTrails()
override;
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ETrailWidthMode
Definition EngineTypes.h:682
return true
Definition ExternalRpcRegistry.cpp:601
void Init()
Definition LockFreeList.h:4
#define DECLARE_PARTICLE_PTR(Name, Address)
Definition ParticleHelper.h:74
#define TRAIL_EMITTER_IS_END(index)
Definition ParticleHelper.h:507
#define TRAIL_EMITTER_IS_START(index)
Definition ParticleHelper.h:504
@ Stop
Definition PrecomputedVolumetricLightmapStreaming.cpp:26
Definition Distributions.h:611
Definition Distributions.h:666
Definition NameTypes.h:617
Definition ParticleEmitterInstanceOwner.h:29
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition EnumAsByte.h:22
Definition ContainerAllocationPolicies.h:894
Definition MaterialInterface.h:296
Definition ParticleEmitter.h:98
Definition ParticleLODLevel.h:22
Definition ParticleModuleBeamModifier.h:66
Definition ParticleModuleBeamNoise.h:24
Definition ParticleModuleBeamSource.h:26
Definition ParticleModuleBeamTarget.h:25
Definition ParticleModuleOrientationAxisLock.h:42
Definition ParticleModuleSpawnPerUnit.h:17
Definition ParticleModuleSpawn.h:16
Definition ParticleModuleTrailSource.h:41
Definition ParticleModuleTypeDataAnimTrail.h:22
Definition ParticleModuleTypeDataBeam2.h:69
Definition ParticleModuleTypeDataMesh.h:63
Definition ParticleModuleTypeDataRibbon.h:27
Definition ParticleModule.h:149
Definition ParticleSpriteEmitter.h:28
Definition VectorField.h:16
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
@ Start
Definition GeoEnum.h:100
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition ParticleTrail2EmitterInstance.cpp:3029
Definition ParticleHelper.h:814
Definition ParticleHelper.h:181
Definition ParticleHelper.h:1265
Definition ParticleHelper.h:1174
Definition ParticleEmitterInstances.h:69
TArray< bool > Fired
Definition ParticleEmitterInstances.h:70
Definition MaterialRelevance.h:13
Definition ParticleHelper.h:938
Definition ParticleEmitterInstances.h:1701
float Width
Definition ParticleEmitterInstances.h:1721
UParticleModuleSpawnPerUnit * SpawnPerUnitModule
Definition ParticleEmitterInstances.h:1706
FName FirstSocketName
Definition ParticleEmitterInstances.h:1711
int32 HeadOnlyParticles
Definition ParticleEmitterInstances.h:1752
virtual bool IsTrailEmitter() const override
Definition ParticleEmitterInstances.h:1833
bool bTagTrailAsDead
Definition ParticleEmitterInstances.h:1736
bool bTrailEnabled
Definition ParticleEmitterInstances.h:1741
UParticleModuleTypeDataAnimTrail * TrailTypeData
Definition ParticleEmitterInstances.h:1703
const void * Owner
Definition ParticleEmitterInstances.h:1731
FName SecondSocketName
Definition ParticleEmitterInstances.h:1716
ETrailWidthMode WidthMode
Definition ParticleEmitterInstances.h:1726
Definition ParticleEmitterInstances.h:992
TArray< float > UserSetTargetStrengthArray
Definition ParticleEmitterInstances.h:1029
TArray< int32 > BeamTrianglesPerSheet
Definition ParticleEmitterInstances.h:1044
virtual void OnEmitterInstanceKilled(FParticleEmitterInstance *Instance) override
Definition ParticleEmitterInstances.h:1143
TArray< FVector > TargetTangentArray
Definition ParticleEmitterInstances.h:1027
int32 BeamCount
Definition ParticleEmitterInstances.h:1011
int32 ForceSpawnCount
Definition ParticleEmitterInstances.h:1005
UParticleModuleBeamSource * BeamModule_Source
Definition ParticleEmitterInstances.h:995
int32 BeamModule_SourceModifier_Offset
Definition ParticleEmitterInstances.h:999
TArray< FVector > UserSetSourceTangentArray
Definition ParticleEmitterInstances.h:1019
UParticleModuleTypeDataBeam2 * BeamTypeData
Definition ParticleEmitterInstances.h:993
AActor * TargetActor
Definition ParticleEmitterInstances.h:1031
TArray< FVector > UserSetTargetTangentArray
Definition ParticleEmitterInstances.h:1039
int32 BeamMethod
Definition ParticleEmitterInstances.h:1007
bool FirstEmission
Definition ParticleEmitterInstances.h:1003
UParticleModuleBeamModifier * BeamModule_SourceModifier
Definition ParticleEmitterInstances.h:998
FParticleEmitterInstance * SourceEmitter
Definition ParticleEmitterInstances.h:1015
TArray< float > UserSetSourceStrengthArray
Definition ParticleEmitterInstances.h:1021
TArray< FVector > TargetPointArray
Definition ParticleEmitterInstances.h:1025
TArray< FVector > UserSetTargetArray
Definition ParticleEmitterInstances.h:1037
TArray< FVector > UserSetSourceArray
Definition ParticleEmitterInstances.h:1017
TArray< FName > TargetPointSourceNames
Definition ParticleEmitterInstances.h:1035
UParticleModuleBeamTarget * BeamModule_Target
Definition ParticleEmitterInstances.h:996
TArray< int32 > TextureTiles
Definition ParticleEmitterInstances.h:1009
FParticleEmitterInstance * TargetEmitter
Definition ParticleEmitterInstances.h:1033
AActor * SourceActor
Definition ParticleEmitterInstances.h:1013
int32 TickCount
Definition ParticleEmitterInstances.h:1004
int32 BeamModule_TargetModifier_Offset
Definition ParticleEmitterInstances.h:1001
int32 TriangleCount
Definition ParticleEmitterInstances.h:1043
TArray< float > DistanceArray
Definition ParticleEmitterInstances.h:1023
UParticleModuleBeamModifier * BeamModule_TargetModifier
Definition ParticleEmitterInstances.h:1000
int32 VertexCount
Definition ParticleEmitterInstances.h:1042
UParticleModuleBeamNoise * BeamModule_Noise
Definition ParticleEmitterInstances.h:997
Definition ParticleEmitterInstances.h:78
FComposableVectorDistribution ColorScale
Definition ParticleEmitterInstances.h:96
uint8 CollisionMode
Definition ParticleEmitterInstances.h:131
FRawDistributionVector DynamicColor
Definition ParticleEmitterInstances.h:101
FVector2D MaxSizeScaleBySpeed
Definition ParticleEmitterInstances.h:117
FVector LocalVectorFieldRotationRate
Definition ParticleEmitterInstances.h:176
FComposableFloatDistribution DragScale
Definition ParticleEmitterInstances.h:125
FComposableFloatDistribution SubImageIndex
Definition ParticleEmitterInstances.h:120
TArray< class UParticleModule * > SpawnModules
Definition ParticleEmitterInstances.h:86
float MaxFacingCameraBlendDistance
Definition ParticleEmitterInstances.h:209
float LocalVectorFieldIntensity
Definition ParticleEmitterInstances.h:168
FComposableFloatDistribution PointAttractorStrength
Definition ParticleEmitterInstances.h:152
FRawDistributionVector DynamicColorScale
Definition ParticleEmitterInstances.h:106
uint32 bLocalVectorFieldUseFixDT
Definition ParticleEmitterInstances.h:202
class UParticleModuleSpawnPerUnit * SpawnPerUnitModule
Definition ParticleEmitterInstances.h:84
float GlobalVectorFieldScale
Definition ParticleEmitterInstances.h:159
float MaxLifetime
Definition ParticleEmitterInstances.h:182
float GlobalVectorFieldTightness
Definition ParticleEmitterInstances.h:161
uint8 CollisionResponse
Definition ParticleEmitterInstances.h:130
FComposableVectorDistribution SizeScale
Definition ParticleEmitterInstances.h:111
float CollisionRandomDistribution
Definition ParticleEmitterInstances.h:139
float MaxRotationRate
Definition ParticleEmitterInstances.h:184
FComposableVectorDistribution OrbitOffset
Definition ParticleEmitterInstances.h:89
FVector LocalVectorFieldMinInitialRotation
Definition ParticleEmitterInstances.h:172
float Friction
Definition ParticleEmitterInstances.h:141
FComposableVectorDistribution OrbitRotationRate
Definition ParticleEmitterInstances.h:93
float CollisionRandomSpread
Definition ParticleEmitterInstances.h:137
bool bEnableCollision
Definition ParticleEmitterInstances.h:128
uint32 bLocalVectorFieldIgnoreComponentTransform
Definition ParticleEmitterInstances.h:194
float PointAttractorRadius
Definition ParticleEmitterInstances.h:150
FComposableFloatDistribution Resilience
Definition ParticleEmitterInstances.h:143
class UVectorField * LocalVectorField
Definition ParticleEmitterInstances.h:164
FParticleEmitterBuildInfo()
Definition ParticleEmitterInstances.cpp:340
FComposableFloatDistribution VectorFieldScale
Definition ParticleEmitterInstances.h:155
FVector2D PivotOffset
Definition ParticleEmitterInstances.h:191
FComposableFloatDistribution VectorFieldScaleOverLife
Definition ParticleEmitterInstances.h:157
FTransform LocalVectorFieldTransform
Definition ParticleEmitterInstances.h:166
int32 EstimatedMaxActiveParticleCount
Definition ParticleEmitterInstances.h:186
uint32 bLocalVectorFieldTileX
Definition ParticleEmitterInstances.h:196
uint32 bLocalVectorFieldTileY
Definition ParticleEmitterInstances.h:198
FRawDistributionFloat DynamicAlpha
Definition ParticleEmitterInstances.h:103
FVector2D MaxSize
Definition ParticleEmitterInstances.h:113
float CollisionRadiusScale
Definition ParticleEmitterInstances.h:133
uint32 bLocalVectorFieldTileZ
Definition ParticleEmitterInstances.h:200
float MinFacingCameraBlendDistance
Definition ParticleEmitterInstances.h:208
uint32 bUseVelocityForMotionBlur
Definition ParticleEmitterInstances.h:204
class UParticleModuleRequired * RequiredModule
Definition ParticleEmitterInstances.h:80
FVector2D SizeScaleBySpeed
Definition ParticleEmitterInstances.h:115
FComposableFloatDistribution DragCoefficient
Definition ParticleEmitterInstances.h:123
FComposableFloatDistribution ResilienceScaleOverLife
Definition ParticleEmitterInstances.h:145
uint32 bRemoveHMDRoll
Definition ParticleEmitterInstances.h:207
float CollisionRadiusBias
Definition ParticleEmitterInstances.h:135
float LocalVectorFieldTightness
Definition ParticleEmitterInstances.h:170
FRawDistributionFloat DynamicAlphaScale
Definition ParticleEmitterInstances.h:108
FVector PointAttractorPosition
Definition ParticleEmitterInstances.h:148
int32 ScreenAlignment
Definition ParticleEmitterInstances.h:188
FComposableVectorDistribution OrbitInitialRotation
Definition ParticleEmitterInstances.h:91
FVector ConstantAcceleration
Definition ParticleEmitterInstances.h:179
FVector LocalVectorFieldMaxInitialRotation
Definition ParticleEmitterInstances.h:174
class UParticleModuleSpawn * SpawnModule
Definition ParticleEmitterInstances.h:82
FComposableFloatDistribution AlphaScale
Definition ParticleEmitterInstances.h:98
Definition ParticleEmitterInstances.h:217
virtual ~FParticleEmitterInstanceFixLayout()=default
Definition ParticleEmitterInstances.h:226
int32 CurrentLODLevelIndex
Definition ParticleEmitterInstances.h:240
int32 LoopCount
Definition ParticleEmitterInstances.h:333
virtual ENGINE_API void ParticlePrefetch()
Definition ParticleEmitterInstances.cpp:1910
virtual ENGINE_API void SetCurrentLODIndex(int32 InLODIndex, bool bInFullyProcess)
Definition ParticleEmitterInstances.cpp:1126
virtual ENGINE_API void PostSpawn(FBaseParticle *Particle, float InterpolationPercentage, float SpawnTime)
Definition ParticleEmitterInstances.cpp:2412
uint8 bKillOnDeactivate
Definition ParticleEmitterInstances.h:267
virtual void SetTrailSourceData(FName InFirstSocketName, FName InSecondSocketName, ETrailWidthMode InWidthMode, float InWidth)
Definition ParticleEmitterInstances.h:730
static ENGINE_API const float PeakActiveParticleUpdateDelta
Definition ParticleEmitterInstances.h:231
ENGINE_API void SpawnParticles(int32 Count, float StartTime, float Increment, const FVector &InitialLocation, const FVector &InitialVelocity, struct FParticleEventInstancePayload *EventPayload)
Definition ParticleEmitterInstances.cpp:2166
ENGINE_API void SetupEmitterDuration()
Definition ParticleEmitterInstances.cpp:2633
virtual bool GetBeamSourcePoint(int32 SourceIndex, FVector &OutSourcePoint) const
Definition ParticleEmitterInstances.h:700
virtual FDynamicEmitterReplayDataBase * GetReplayData()
Definition ParticleEmitterInstances.h:614
int32 PayloadOffset
Definition ParticleEmitterInstances.h:257
virtual ENGINE_API float Tick_SpawnParticles(float DeltaTime, UParticleLODLevel *CurrentLODLevel, bool bSuppressSpawning, bool bFirstTime)
Definition ParticleEmitterInstances.cpp:1036
virtual bool GetBeamTargetStrength(int32 TargetIndex, float &OutTargetStrength) const
Definition ParticleEmitterInstances.h:705
virtual ENGINE_API FBaseParticle * GetParticle(int32 Index)
Definition ParticleEmitterInstances.cpp:2607
int32 CameraPayloadOffset
Definition ParticleEmitterInstances.h:255
ENGINE_API void GetScreenAlignmentAndScale(int32 &OutScreenAlign, FVector &OutScale)
Definition ParticleEmitterInstances.cpp:2993
virtual ENGINE_API uint8 * GetTypeDataModuleInstanceData()
Definition ParticleEmitterInstances.cpp:1574
int32 LightDataOffset
Definition ParticleEmitterInstances.h:250
int32 TypeDataInstanceOffset
Definition ParticleEmitterInstances.h:244
virtual ENGINE_API uint32 CalculateParticleStride(uint32 ParticleSize)
Definition ParticleEmitterInstances.cpp:1590
virtual ENGINE_API FBox GetBoundingBox()
Definition ParticleEmitterInstances.cpp:1221
uint8 bHaltSpawningExternal
Definition ParticleEmitterInstances.h:275
uint8 bFakeBurstsWhenSpawningSupressed
Definition ParticleEmitterInstances.h:285
virtual ENGINE_API void KillParticle(int32 Index)
Definition ParticleEmitterInstances.cpp:2495
int32 GetParticleDirectIndex(int32 InIndex)
Definition ParticleEmitterInstances.h:562
ENGINE_API UMaterialInterface * GetCurrentMaterial()
Definition ParticleEmitterInstances.cpp:3163
ENGINE_API void FixupParticleIndices()
Definition ParticleEmitterInstances.cpp:2116
int32 SubUVDataOffset
Definition ParticleEmitterInstances.h:246
uint8 bIsBeam
Definition ParticleEmitterInstances.h:281
ENGINE_API FParticleRandomSeedInstancePayload * GetModuleRandomSeedInstanceData(UParticleModule *Module)
Definition ParticleEmitterInstances.cpp:1554
virtual void SetBeamEndPoint(FVector NewEndPoint)
Definition ParticleEmitterInstances.h:690
FMatrix EmitterToSimulation
Definition ParticleEmitterInstances.h:261
virtual ENGINE_API void GatherMaterialRelevance(FMaterialRelevance *OutMaterialRelevance, const UParticleLODLevel *LODLevel, ERHIFeatureLevel::Type InFeatureLevel) const
Definition ParticleEmitterInstances.cpp:2897
virtual ENGINE_API bool HasCompleted()
Definition ParticleEmitterInstances.cpp:2380
int32 TypeDataOffset
Definition ParticleEmitterInstances.h:242
virtual ENGINE_API float GetCurrentBurstRateOffset(float &DeltaTime, int32 &Burst)
Definition ParticleEmitterInstances.cpp:1620
virtual ENGINE_API void KillParticlesForced(bool bFireEvents=false)
Definition ParticleEmitterInstances.cpp:2562
int32 EventCount
Definition ParticleEmitterInstances.h:351
UMaterialInterface * CurrentMaterial
Definition ParticleEmitterInstances.h:348
virtual bool GetBeamTargetTangent(int32 TargetIndex, FVector &OutTangentPoint) const
Definition ParticleEmitterInstances.h:704
ENGINE_API void CalculateOrbitOffset(FOrbitChainModuleInstancePayload &Payload, FVector &AccumOffset, FVector &AccumRotation, FVector &AccumRotationRate, float DeltaTime, FVector &Result, FMatrix &RotationMat)
Definition ParticleEmitterInstances.cpp:1735
virtual bool GetBeamSourceStrength(int32 SourceIndex, float &OutSourceStrength) const
Definition ParticleEmitterInstances.h:702
int32 IsRenderDataDirty
Definition ParticleEmitterInstances.h:335
ENGINE_API void UpdateTransforms()
Definition ParticleEmitterInstances.cpp:681
int32 ParticleSize
Definition ParticleEmitterInstances.h:301
virtual void SetBeamSourcePoint(FVector NewSourcePoint, int32 SourceIndex)
Definition ParticleEmitterInstances.h:691
UParticleLODLevel * CurrentLODLevel
Definition ParticleEmitterInstances.h:238
virtual ENGINE_API uint32 RequiredBytes()
Definition ParticleEmitterInstances.cpp:1486
int32 MaxActiveParticles
Definition ParticleEmitterInstances.h:311
uint8 bIgnoreComponentScale
Definition ParticleEmitterInstances.h:279
virtual void BeginTrail()
Definition ParticleEmitterInstances.h:715
float EmitterTime
Definition ParticleEmitterInstances.h:319
virtual ENGINE_API void ResetBurstList()
Definition ParticleEmitterInstances.cpp:1598
virtual ENGINE_API bool IsDynamicDataRequired(UParticleLODLevel *CurrentLODLevel)
Definition ParticleEmitterInstances.cpp:2694
int32 InstancePayloadSize
Definition ParticleEmitterInstances.h:299
virtual ENGINE_API void Rewind()
Definition ParticleEmitterInstances.cpp:1199
int32 MaxVertexIndex
Definition ParticleEmitterInstances.h:345
virtual ENGINE_API void UpdateOrbitData(float DeltaTime)
Definition ParticleEmitterInstances.cpp:1768
int32 TrianglesToRender
Definition ParticleEmitterInstances.h:344
int32 SortMode
Definition ParticleEmitterInstances.h:291
virtual ENGINE_API void ForceUpdateBoundingBox()
Definition ParticleEmitterInstances.cpp:1416
FVector OldLocation
Definition ParticleEmitterInstances.h:327
uint16 * ParticleIndices
Definition ParticleEmitterInstances.h:295
TArray< struct FLODBurstFired > BurstFired
Definition ParticleEmitterInstances.h:331
virtual ENGINE_API float Tick_EmitterTimeSetup(float DeltaTime, UParticleLODLevel *CurrentLODLevel)
Definition ParticleEmitterInstances.cpp:925
virtual bool IsMeshRotationActive() const
Definition ParticleEmitterInstances.h:659
virtual bool GetBeamSourceTangent(int32 SourceIndex, FVector &OutTangentPoint) const
Definition ParticleEmitterInstances.h:701
uint8 bHaltSpawning
Definition ParticleEmitterInstances.h:273
virtual ENGINE_API void ForceSpawn(float DeltaTime, int32 InSpawnCount, int32 InBurstCount, FVector &InLocation, FVector &InVelocity)
Definition ParticleEmitterInstances.cpp:2292
ENGINE_API int32 GetOrbitPayloadOffset()
Definition ParticleEmitterInstances.cpp:1226
int32 MaxEventCount
Definition ParticleEmitterInstances.h:352
virtual void SetHaltSpawning(bool bInHaltSpawning)
Definition ParticleEmitterInstances.h:531
void SetFakeBurstWhenSpawningSupressed(bool bInFakeBurstsWhenSpawningSupressed)
Definition ParticleEmitterInstances.h:542
uint8 bAxisLockEnabled
Definition ParticleEmitterInstances.h:283
ENGINE_API void CheckSpawnCount(int32 InNewCount, int32 InMaxCount)
Definition ParticleEmitterInstances.cpp:1918
float SpawnFraction
Definition ParticleEmitterInstances.h:313
FVector2D PivotOffset
Definition ParticleEmitterInstances.h:359
virtual ENGINE_API bool FillReplayData(FDynamicEmitterReplayDataBase &OutData)
Definition ParticleEmitterInstances.cpp:2782
virtual ENGINE_API FBaseParticle * GetParticleDirect(int32 InDirectIndex)
Definition ParticleEmitterInstances.cpp:2620
float CurrentDelay
Definition ParticleEmitterInstances.h:341
ENGINE_API uint8 * GetModuleInstanceData(UParticleModule *Module)
Definition ParticleEmitterInstances.cpp:1538
uint8 * ParticleData
Definition ParticleEmitterInstances.h:293
uint32 ParticleCounter
Definition ParticleEmitterInstances.h:307
int32 DynamicParameterDataOffset
Definition ParticleEmitterInstances.h:248
virtual int32 GetMeshRotationOffset() const
Definition ParticleEmitterInstances.h:651
virtual ENGINE_API bool Resize(int32 NewMaxActiveParticles, bool bSetMaxActiveCount=true)
Definition ParticleEmitterInstances.cpp:720
uint8 bRequiresLoopNotification
Definition ParticleEmitterInstances.h:277
FVector PositionOffsetThisTick
Definition ParticleEmitterInstances.h:356
virtual ENGINE_API void ApplyWorldOffset(FVector InOffset, bool bWorldShift)
Definition ParticleEmitterInstances.cpp:2928
virtual void GetAllocatedSize(int32 &OutNum, int32 &OutMax)
Definition ParticleEmitterInstances.h:625
ENGINE_API void FakeBursts()
Definition ParticleEmitterInstances.cpp:2532
virtual void OnDeactivateSystem()
Definition ParticleEmitterInstances.h:644
virtual ENGINE_API void UpdateBoundingBox(float DeltaTime)
Definition ParticleEmitterInstances.cpp:1270
virtual void SetBeamSourceStrength(float NewSourceStrength, int32 SourceIndex)
Definition ParticleEmitterInstances.h:693
float LastDeltaTime
Definition ParticleEmitterInstances.h:321
float EmitterDuration
Definition ParticleEmitterInstances.h:337
virtual void OnEmitterInstanceKilled(FParticleEmitterInstance *Instance)
Definition ParticleEmitterInstances.h:684
virtual ENGINE_API void ProcessParticleEvents(float DeltaTime, bool bSuppressSpawning)
Definition ParticleEmitterInstances.cpp:2714
UParticleEmitter * SpriteTemplate
Definition ParticleEmitterInstances.h:234
virtual ENGINE_API float Spawn(float DeltaTime)
Definition ParticleEmitterInstances.cpp:1964
FMatrix SimulationToWorld
Definition ParticleEmitterInstances.h:263
virtual FDynamicEmitterDataBase * GetDynamicData(bool bSelected, ERHIFeatureLevel::Type InFeatureLevel)
Definition ParticleEmitterInstances.h:604
virtual bool IsTrailEmitter() const
Definition ParticleEmitterInstances.h:710
uint8 * InstanceData
Definition ParticleEmitterInstances.h:297
ENGINE_API uint32 GetModuleDataOffset(UParticleModule *Module)
Definition ParticleEmitterInstances.cpp:1530
FVector Location
Definition ParticleEmitterInstances.h:259
TArray< class UPointLightComponent * > HighQualityLights
Definition ParticleEmitterInstances.h:361
int32 ParticleStride
Definition ParticleEmitterInstances.h:303
virtual bool GetBeamTargetPoint(int32 TargetIndex, FVector &OutTargetPoint) const
Definition ParticleEmitterInstances.h:703
TEnumAsByte< EParticleAxisLock > LockAxisFlags
Definition ParticleEmitterInstances.h:289
ENGINE_API bool UseLocalSpace()
Definition ParticleEmitterInstances.cpp:2987
virtual ENGINE_API void ResetParticleParameters(float DeltaTime)
Definition ParticleEmitterInstances.cpp:1675
TArray< float > EmitterDurations
Definition ParticleEmitterInstances.h:339
virtual ENGINE_API void KillParticles()
Definition ParticleEmitterInstances.cpp:2436
uint8 bEnabled
Definition ParticleEmitterInstances.h:265
ENGINE_API FVector GetParticleLocationWithOrbitOffset(FBaseParticle *Particle)
Definition ParticleEmitterInstances.cpp:1249
bool HasActiveParticles()
Definition ParticleEmitterInstances.h:589
virtual void SetBeamTargetPoint(FVector NewTargetPoint, int32 TargetIndex)
Definition ParticleEmitterInstances.h:694
virtual bool GetBeamEndPoint(FVector &OutEndPoint) const
Definition ParticleEmitterInstances.h:699
virtual void SetMeshMaterials(const TArray< UMaterialInterface * > &InMaterials)
Definition ParticleEmitterInstances.h:668
int32 ActiveParticles
Definition ParticleEmitterInstances.h:305
ENGINE_API void CheckEmitterFinished()
Definition ParticleEmitterInstances.cpp:881
uint8 bEmitterIsDone
Definition ParticleEmitterInstances.h:287
virtual ENGINE_API ~FParticleEmitterInstance()
Definition ParticleEmitterInstances.cpp:452
virtual void GetResourceSizeEx(FResourceSizeEx &CumulativeResourceSize)
Definition ParticleEmitterInstances.h:632
virtual ENGINE_API void Tick_ModuleUpdate(float DeltaTime, UParticleLODLevel *CurrentLODLevel)
Definition ParticleEmitterInstances.cpp:1065
ENGINE_API class UParticleLODLevel * GetCurrentLODLevelChecked()
Definition ParticleEmitterInstances.cpp:2273
float LightVolumetricScatteringIntensity
Definition ParticleEmitterInstances.h:251
FBox ParticleBoundingBox
Definition ParticleEmitterInstances.h:329
IParticleEmitterInstanceOwner & Component
Definition ParticleEmitterInstances.h:236
uint8 bKillOnCompleted
Definition ParticleEmitterInstances.h:269
virtual ENGINE_API void PreSpawn(FBaseParticle *Particle, const FVector &InitialLocation, const FVector &InitialVelocity)
Definition ParticleEmitterInstances.cpp:2356
virtual ENGINE_API void Tick_MaterialOverrides(int32 EmitterIndex)
Definition ParticleEmitterInstances.cpp:2942
virtual ENGINE_API void Tick_ModuleFinalUpdate(float DeltaTime, UParticleLODLevel *CurrentLODLevel)
Definition ParticleEmitterInstances.cpp:1100
virtual ENGINE_API void Tick_ModulePostUpdate(float DeltaTime, UParticleLODLevel *CurrentLODLevel)
Definition ParticleEmitterInstances.cpp:1085
virtual void SetBeamSourceTangent(FVector NewTangentPoint, int32 SourceIndex)
Definition ParticleEmitterInstances.h:692
virtual void SetBeamTargetStrength(float NewTargetStrength, int32 TargetIndex)
Definition ParticleEmitterInstances.h:696
virtual ENGINE_API void InitParameters(UParticleEmitter *InTemplate)
Definition ParticleEmitterInstances.cpp:479
virtual void EndTrail()
Definition ParticleEmitterInstances.h:720
float SecondsSinceCreation
Definition ParticleEmitterInstances.h:317
virtual void SetBeamTargetTangent(FVector NewTangentPoint, int32 TargetIndex)
Definition ParticleEmitterInstances.h:695
uint8 bRequiresSorting
Definition ParticleEmitterInstances.h:271
virtual void SetHaltSpawningExternal(bool bInHaltSpawning)
Definition ParticleEmitterInstances.h:537
int32 OrbitModuleOffset
Definition ParticleEmitterInstances.h:253
virtual ENGINE_API void Init()
Definition ParticleEmitterInstances.cpp:490
Definition ParticleHelper.h:987
Definition ParticleEmitterInstances.h:891
virtual ENGINE_API void GetAllocatedSize(int32 &OutNum, int32 &OutMax) override
Definition ParticleEmitterInstances.cpp:3746
virtual ENGINE_API bool IsDynamicDataRequired(UParticleLODLevel *CurrentLODLevel) override
Definition ParticleEmitterInstances.cpp:3661
UParticleModuleTypeDataMesh * MeshTypeData
Definition ParticleEmitterInstances.h:892
virtual ENGINE_API bool Resize(int32 NewMaxActiveParticles, bool bSetMaxActiveCount=true) override
Definition ParticleEmitterInstances.cpp:3225
virtual int32 GetMeshRotationOffset() const override
Definition ParticleEmitterInstances.h:941
virtual ENGINE_API void Tick_MaterialOverrides(int32 EmitterIndex) override
Definition ParticleEmitterInstances.cpp:3376
bool MeshRotationActive
Definition ParticleEmitterInstances.h:893
virtual ENGINE_API void GetResourceSizeEx(FResourceSizeEx &CumulativeResourceSize) override
Definition ParticleEmitterInstances.cpp:3764
ENGINE_API void GetMeshMaterials(TArray< UMaterialInterface *, TInlineAllocator< 2 > > &OutMaterials, const UParticleLODLevel *LODLevel, ERHIFeatureLevel::Type InFeatureLevel, bool bLogWarnings=false) const
Definition ParticleEmitterInstances.cpp:3812
virtual ENGINE_API uint32 RequiredBytes() override
Definition ParticleEmitterInstances.cpp:3571
virtual ENGINE_API void UpdateBoundingBox(float DeltaTime) override
Definition ParticleEmitterInstances.cpp:3434
virtual ENGINE_API void Init() override
Definition ParticleEmitterInstances.cpp:3211
virtual ENGINE_API bool FillReplayData(FDynamicEmitterReplayDataBase &OutData) override
Definition ParticleEmitterInstances.cpp:3890
virtual ENGINE_API void SetMeshMaterials(const TArray< UMaterialInterface * > &InMaterials) override
Definition ParticleEmitterInstances.cpp:3780
int32 MeshRotationOffset
Definition ParticleEmitterInstances.h:894
virtual ENGINE_API FDynamicEmitterDataBase * GetDynamicData(bool bSelected, ERHIFeatureLevel::Type InFeatureLevel) override
Definition ParticleEmitterInstances.cpp:3676
virtual ENGINE_API void PostSpawn(FBaseParticle *Particle, float InterpolationPercentage, float SpawnTime) override
Definition ParticleEmitterInstances.cpp:3598
virtual ENGINE_API void GatherMaterialRelevance(FMaterialRelevance *OutMaterialRelevance, const UParticleLODLevel *LODLevel, ERHIFeatureLevel::Type InFeatureLevel) const override
Definition ParticleEmitterInstances.cpp:3790
virtual ENGINE_API void InitParameters(UParticleEmitter *InTemplate) override
Definition ParticleEmitterInstances.cpp:3192
virtual bool IsMeshRotationActive() const override
Definition ParticleEmitterInstances.h:949
TArray< UMaterialInterface * > CurrentMaterials
Definition ParticleEmitterInstances.h:898
virtual ENGINE_API FDynamicEmitterReplayDataBase * GetReplayData() override
Definition ParticleEmitterInstances.cpp:3721
int32 MeshMotionBlurOffset
Definition ParticleEmitterInstances.h:895
Definition ParticleHelper.h:1036
Definition ParticleEmitterInstances.h:1514
TArray< FQuat > CurrentSourceRotation
Definition ParticleEmitterInstances.h:1529
TArray< FQuat > LastSourceRotation
Definition ParticleEmitterInstances.h:1539
TArray< int32 > SourceIndices
Definition ParticleEmitterInstances.h:1555
TArray< FVector > LastSourceTangent
Definition ParticleEmitterInstances.h:1543
TArray< float > SourceTimes
Definition ParticleEmitterInstances.h:1557
TArray< FVector > CurrentSourceUp
Definition ParticleEmitterInstances.h:1531
TArray< FVector > LastSourceUp
Definition ParticleEmitterInstances.h:1541
TArray< float > CurrentSourceTangentStrength
Definition ParticleEmitterInstances.h:1535
int32 HeadOnlyParticles
Definition ParticleEmitterInstances.h:1570
TArray< FVector > LastSourcePosition
Definition ParticleEmitterInstances.h:1537
virtual void OnEmitterInstanceKilled(FParticleEmitterInstance *Instance) override
Definition ParticleEmitterInstances.h:1673
UParticleModuleTypeDataRibbon * TrailTypeData
Definition ParticleEmitterInstances.h:1516
TArray< float > CurrentLifetimes
Definition ParticleEmitterInstances.h:1561
TArray< float > CurrentSizes
Definition ParticleEmitterInstances.h:1563
TArray< float > LastSourceTimes
Definition ParticleEmitterInstances.h:1559
UParticleModuleTrailSource * SourceModule
Definition ParticleEmitterInstances.h:1522
TArray< FVector > CurrentSourceTangent
Definition ParticleEmitterInstances.h:1533
TArray< float > LastSourceTangentStrength
Definition ParticleEmitterInstances.h:1545
int32 LastSelectedParticleIndex
Definition ParticleEmitterInstances.h:1553
FParticleEmitterInstance * SourceEmitter
Definition ParticleEmitterInstances.h:1551
TArray< FVector > CurrentSourcePosition
Definition ParticleEmitterInstances.h:1527
AActor * SourceActor
Definition ParticleEmitterInstances.h:1547
TArray< FVector > SourceOffsets
Definition ParticleEmitterInstances.h:1549
int32 TrailModule_Source_Offset
Definition ParticleEmitterInstances.h:1524
UParticleModuleSpawnPerUnit * SpawnPerUnitModule
Definition ParticleEmitterInstances.h:1519
Definition ParticleEmitterInstances.h:839
virtual ~FParticleSpriteEmitterInstance()
Definition ParticleEmitterInstances.cpp:3016
virtual void GetAllocatedSize(int32 &OutNum, int32 &OutMax) override
Definition ParticleEmitterInstances.cpp:3092
virtual bool FillReplayData(FDynamicEmitterReplayDataBase &OutData) override
Definition ParticleEmitterInstances.cpp:3137
virtual FDynamicEmitterDataBase * GetDynamicData(bool bSelected, ERHIFeatureLevel::Type InFeatureLevel) override
Definition ParticleEmitterInstances.cpp:3030
virtual void GetResourceSizeEx(FResourceSizeEx &CumulativeResourceSize) override
Definition ParticleEmitterInstances.cpp:3110
virtual FDynamicEmitterReplayDataBase * GetReplayData() override
Definition ParticleEmitterInstances.cpp:3067
Definition ParticleEmitterInstances.h:1176
virtual ~FParticleTrailsEmitterInstance_Base()
Definition ParticleEmitterInstances.h:1422
virtual void PrintTrails()
Definition ParticleEmitterInstances.h:1510
bool CheckForCircularTrail(FBaseParticle *StartParticle, FBaseParticle *CheckParticle)
Definition ParticleEmitterInstances.h:1381
EGetTrailDirection
Definition ParticleEmitterInstances.h:1470
@ GET_Prev
Definition ParticleEmitterInstances.h:1471
uint32 bFirstUpdate
Definition ParticleEmitterInstances.h:1201
virtual void SetupTrailModules()
Definition ParticleEmitterInstances.h:1453
TArray< float > TrailSpawnTimes
Definition ParticleEmitterInstances.h:1193
EGetTrailParticleOption
Definition ParticleEmitterInstances.h:1475
@ GET_End
Definition ParticleEmitterInstances.h:1480
@ GET_Any
Definition ParticleEmitterInstances.h:1476
@ GET_Spawned
Definition ParticleEmitterInstances.h:1477
@ GET_Interpolated
Definition ParticleEmitterInstances.h:1478
@ GET_Start
Definition ParticleEmitterInstances.h:1479
int32 TrailCount
Definition ParticleEmitterInstances.h:1182
int32 MaxTrailCount
Definition ParticleEmitterInstances.h:1184
void CheckAllIndices()
Definition ParticleEmitterInstances.h:1375
void SetStartIndex(int32 TrailIndex, int32 ParticleIndex)
Definition ParticleEmitterInstances.h:1370
void ClearIndices(int32 TrailIndex, int32 ParticleIndex)
Definition ParticleEmitterInstances.h:1373
TArray< float > LastSpawnTime
Definition ParticleEmitterInstances.h:1195
float LastTickTime
Definition ParticleEmitterInstances.h:1188
void GetTrailEnd(const int32 TrailIdx, int32 &OutEndIndex, TrailDataType *&OutTrailData, FBaseParticle *&OutParticle)
Definition ParticleEmitterInstances.h:1351
int32 VertexCount
Definition ParticleEmitterInstances.h:1178
virtual void PrintAllActiveParticles()
Definition ParticleEmitterInstances.h:1508
void GetTrailStart(const int32 TrailIdx, int32 &OutStartIndex, TrailDataType *&OutTrailData, FBaseParticle *&OutParticle)
Definition ParticleEmitterInstances.h:1332
void SetEndIndex(int32 TrailIndex, int32 ParticleIndex)
Definition ParticleEmitterInstances.h:1371
uint32 bDeadTrailsOnDeactivate
Definition ParticleEmitterInstances.h:1190
void SetDeadIndex(int32 TrailIndex, int32 ParticleIndex)
Definition ParticleEmitterInstances.h:1372
float RunningTime
Definition ParticleEmitterInstances.h:1186
int32 TriangleCount
Definition ParticleEmitterInstances.h:1180
void CheckIndices(int32 TrailIdx)
Definition ParticleEmitterInstances.h:1374
uint32 bEnableInactiveTimeTracking
Definition ParticleEmitterInstances.h:1208
TArray< float > TiledUDistanceTraveled
Definition ParticleEmitterInstances.h:1199
FParticleTrailsEmitterInstance_Base(IParticleEmitterInstanceOwner &InComponent)
Definition ParticleEmitterInstances.h:1395
virtual void PrintParticleData(FBaseParticle *Particle, FTrailsBaseTypeDataPayload *TrailData, int32 CurrentIndex, int32 TrailIndex)
Definition ParticleEmitterInstances.h:1506
TArray< float > SourceDistanceTraveled
Definition ParticleEmitterInstances.h:1197
Definition DistributionFloat.h:28
Definition DistributionVector.h:59
Definition ResourceSize.h:31
Definition ParticleHelper.h:803
Definition ParticleEmitterInstances.h:825
FScopeCycleCounterEmitter(const FParticleEmitterInstance *Object, TStatId OtherStat)
Definition ParticleEmitterInstances.h:829
FScopeCycleCounterEmitter(const FParticleEmitterInstance *Object)
Definition ParticleEmitterInstances.h:826
Definition ParticleHelper.h:757
Definition LightweightStats.h:416