Navigation
Unreal Engine C++ API Reference > Runtime > Engine > Particles
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UParticleModule
- UParticleModuleAccelerationBase
- UParticleModuleAcceleration
- UParticleModuleAccelerationConstant
- UParticleModuleAccelerationDrag
- UParticleModuleAccelerationDragScaleOverLife
- UParticleModuleAccelerationOverLifetime
- UParticleModuleAttractorBase
- UParticleModuleAttractorLine
- UParticleModuleAttractorParticle
- UParticleModuleAttractorPoint
- UParticleModuleAttractorPointGravity
- UParticleModuleBeamBase
- UParticleModuleBeamModifier
- UParticleModuleBeamNoise
- UParticleModuleBeamSource
- UParticleModuleBeamTarget
- UParticleModuleCameraBase
- UParticleModuleCameraOffset
- UParticleModuleCollisionBase
- UParticleModuleCollision
- UParticleModuleCollisionGPU
- UParticleModuleColorBase
- UParticleModuleColor
- UParticleModuleColor_Seeded
- UParticleModuleColorOverLife
- UParticleModuleColorScaleOverLife
- UParticleModuleEventBase
- UParticleModuleEventGenerator
- UParticleModuleEventReceiverBase
- UParticleModuleEventReceiverKillParticles
- UParticleModuleEventReceiverSpawn
- UParticleModuleKillBase
- UParticleModuleKillBox
- UParticleModuleKillHeight
- UParticleModuleLifetimeBase
- UParticleModuleLifetime
- UParticleModuleLifetime_Seeded
- UParticleModuleLightBase
- UParticleModuleLight
- UParticleModuleLight_Seeded
- UParticleModuleLocationBase
- UParticleModuleLocation
- UParticleModuleLocation_Seeded
- UParticleModuleLocationWorldOffset
- UParticleModuleLocationWorldOffset_Seeded
- UParticleModuleLocationBoneSocket
- UParticleModuleLocationDirect
- UParticleModuleLocationEmitter
- UParticleModuleLocationEmitterDirect
- UParticleModuleLocationPrimitiveBase
- UParticleModuleLocationPrimitiveCylinder
- UParticleModuleLocationPrimitiveCylinder_Seeded
- UParticleModuleLocationPrimitiveSphere
- UParticleModuleLocationPrimitiveSphere_Seeded
- UParticleModuleLocationPrimitiveTriangle
- UParticleModuleLocationSkelVertSurface
- UParticleModulePivotOffset
- UParticleModuleSourceMovement
- UParticleModuleMaterialBase
- UParticleModuleMeshMaterial
- UParticleModuleOrbitBase
- UParticleModuleOrbit
- UParticleModuleOrientationBase
- UParticleModuleOrientationAxisLock
- UParticleModuleParameterBase
- UParticleModuleParameterDynamic
- UParticleModuleParameterDynamic_Seeded
- UParticleModuleRequired
- UParticleModuleRotationBase
- UParticleModuleMeshRotation
- UParticleModuleMeshRotation_Seeded
- UParticleModuleRotation
- UParticleModuleRotation_Seeded
- UParticleModuleRotationOverLifetime
- UParticleModuleRotationRateBase
- UParticleModuleMeshRotationRate
- UParticleModuleMeshRotationRate_Seeded
- UParticleModuleMeshRotationRateMultiplyLife
- UParticleModuleMeshRotationRateOverLife
- UParticleModuleRotationRate
- UParticleModuleRotationRate_Seeded
- UParticleModuleRotationRateMultiplyLife
- UParticleModuleSizeBase
- UParticleModuleSize
- UParticleModuleSize_Seeded
- UParticleModuleSizeMultiplyLife
- UParticleModuleSizeScale
- UParticleModuleSizeScaleBySpeed
- UParticleModuleSpawnBase
- UParticleModuleSpawn
- UParticleModuleSpawnPerUnit
- UParticleModuleSubUVBase
- UParticleModuleSubUV
- UParticleModuleSubUVMovie
- UParticleModuleTrailBase
- UParticleModuleTrailSource
- UParticleModuleTypeDataBase
- UParticleModuleTypeDataAnimTrail
- UParticleModuleTypeDataBeam2
- UParticleModuleTypeDataGpu
- UParticleModuleTypeDataMesh
- UParticleModuleTypeDataRibbon
- UParticleModuleVectorFieldBase
- UParticleModuleVectorFieldGlobal
- UParticleModuleVectorFieldLocal
- UParticleModuleVectorFieldRotation
- UParticleModuleVectorFieldRotationRate
- UParticleModuleVectorFieldScale
- UParticleModuleVectorFieldScaleOverLife
- UParticleModuleVelocityBase
- UParticleModuleVelocity
- UParticleModuleVelocity_Seeded
- UParticleModuleVelocityCone
- UParticleModuleVelocityInheritParent
- UParticleModuleVelocityOverLifetime
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Particles/ParticleModule.h |
Include | #include "Particles/ParticleModule.h" |
Syntax
class UParticleModule : public UObject
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
uint8: 1 | b3DDrawMode | If true, the module should render its 3D visualization helper |
![]() |
uint8: 1 | bCurvesAsColor | If true, the module displays FVector curves as colors |
![]() |
uint8: 1 | bEditable | If true, the module has had editing enabled on it |
![]() |
uint8: 1 | bEnabled | If true, the module is enabled |
![]() |
uint8: 1 | bFinalUpdateModule | If true, the module performs operations on particles during final update |
![]() |
uint8: 1 | bRequiresLoopingNotification | If true, the module should be told when looping |
![]() |
uint8: 1 | bSpawnModule | If true, the module performs operations on particles during Spawning |
![]() |
uint8: 1 | bSupported3DDrawMode | If true, the module supports rendering a 3D visualization helper |
![]() |
uint8: 1 | bSupportsRandomSeed | If true, the module supports RandomSeed setting |
![]() |
uint8: 1 | bUpdateForGPUEmitter | If true, the module performs operations on particles during update and/or final update for GPU emitters |
![]() |
uint8: 1 | bUpdateModule | If true, the module performs operations on particles during Updating |
![]() |
uint8: 1 | LODDuplicate | If true, this flag indicates that auto-generation for LOD will result in an exact duplicate of the module, regardless of the percentage. |
![]() |
uint8 | LODValidity | The LOD levels this module is present in. |
![]() |
FColor | ModuleEditorColor | The color to draw the modules curves in the curve editor. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UParticleModule
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | AddModuleCurvesToEditor
(
UInterpCurveEdSetup* EdSetup, |
Add all curve-editable Objects within this module to the curve editor. |
![]() ![]() |
void | AutoPopulateInstanceProperties
(
UParticleSystemComponent* PSysComp |
Helper function used by the editor to auto-populate a placed AEmitter with any instance parameters that are utilized. |
![]() ![]() |
bool | Return false if this emitter requires a game thread tick | |
![]() |
void | ChangeEditorColor
(
FColor& Color, |
Helper function for updating the curve editor when the module editor color changes. |
![]() ![]() |
void | CompileModule
(
FParticleEmitterBuildInfo& EmitterInfo |
Called once to compile the effects of this module on runtime simulation. |
![]() ![]() |
bool | ConvertFloatDistribution
(
UDistributionFloat* FloatDist, |
Store the given percentage of the SourceFloat distribution in the FloatDist |
![]() ![]() |
bool | ConvertVectorDistribution
(
UDistributionVector* VectorDist, |
Store the given percentage of the SourceVector distribution in the VectorDist |
![]() ![]() |
void | EmitterLoopingNotify
(
FParticleEmitterInstance* Owner |
Called when an emitter instance is looping... |
![]() ![]() |
void | FinalUpdate
(
FParticleEmitterInstance* Owner, |
Called on an emitter when all other update operations have taken place INCLUDING bounding box cacluations! |
![]() ![]() |
UParticleModule * | GenerateLODModule
(
UParticleLODLevel* SourceLODLevel, |
Generates a new module for LOD levels, setting the values appropriately. |
![]() ![]() |
bool | GenerateLODModuleValues
(
UParticleModule* SourceModule, |
Helper function used by the editor to auto-generate LOD values from a source module and a percentage value used to scale its values. |
![]() ![]() |
void | GetCurveObjects
(
TArray< FParticleCurvePair >& OutCurves |
Fill an array with each Object property that fulfills the FCurveEdInterface interface. |
![]() ![]() ![]() |
bool | GetCustomMenuEntryDisplayString
(
int32 InEntryIndex, |
Get the display name of the custom menu entry. |
![]() ![]() |
FText | GetDistributionNotAllowedOnGPUText
(
const FString& ModuleName, |
Generates the FText to display to the user informing them that a module is using a distribution that is not allowed on GPU emitters. |
![]() ![]() |
void | GetDistributionsRestrictedOnGPU
(
TArray< FString >& OutRestrictedDistributions |
Gets a list of the names of distributions not allowed on GPU emitters. |
![]() ![]() ![]() |
EModuleType | Retrieve the ModuleType of this module. | |
![]() ![]() ![]() |
int32 | Custom Cascade module menu entries support Get the number of custom entries this module has. | |
![]() ![]() |
void | GetParticleParametersUtilized
(
TArray< FString >& ParticleParameterList |
Retrieve the distributions that use ParticleParameters in this module. |
![]() ![]() |
void | GetParticleSysParamsUtilized
(
TArray< FString >& ParticleSysParamList |
Retrieve the ParticleSysParams associated with this module. |
![]() ![]() |
FParticleRandomSeedInfo * | Retrieve the random seed info for this module. | |
![]() |
FRandomStream & | GetRandomStream
(
FParticleEmitterInstance* Owner |
Retreive the random stream that should be used for the provided instance. |
![]() |
bool | IsDisplayedInCurveEd
(
UInterpCurveEdSetup* EdSetup |
Are the modules curves displayed in the curve editor? |
![]() ![]() |
bool | IsDistributionAllowedOnGPU
(
const UDistribution* Distribution |
Checks if a distribution is allowed on the GPU. |
![]() ![]() |
bool | Returns whether the module is SizeMultipleLife or not. | |
![]() ![]() |
bool | Returns whether this module is used in any GPU emitters. | |
![]() ![]() ![]() |
bool | IsUsedInLODLevel
(
int32 SourceLODIndex |
Returns true if the module validiy flags indicate this module is used in the given LOD level. |
![]() ![]() |
bool | IsValidForLODLevel
(
UParticleLODLevel* LODLevel, |
Returns true if the module is valid for the provided LOD level. |
![]() |
bool | Does the module contain curves? | |
![]() ![]() |
bool | PerformCustomMenuEntry
(
int32 InEntryIndex |
Perform the custom menu entry option. |
![]() ![]() |
uint32 | PrepPerInstanceBlock
(
FParticleEmitterInstance* Owner, |
Allows the module to prep its 'per-instance' data block. |
![]() ![]() |
uint32 | PrepRandomSeedInstancePayload
(
FParticleEmitterInstance* Owner, |
Prepare a random seed instance payload... |
![]() ![]() |
void | RefreshModule
(
UInterpCurveEdSetup* EdSetup, |
Refresh the module... |
![]() |
void | RemoveModuleCurvesFromEditor
(
UInterpCurveEdSetup* EdSetup |
Remove all curve-editable Objects within this module from the curve editor. |
![]() ![]() |
void | Render3DPreview
(
FParticleEmitterInstance* Owner, |
Render the modules 3D visualization helper primitive. |
![]() ![]() |
uint32 | RequiredBytes
(
UParticleModuleTypeDataBase* TypeData |
Returns the number of bytes that the module requires in the particle payload block. |
![]() ![]() |
uint32 | Returns the number of bytes the module requires in the emitters 'per-instance' data block. | |
![]() ![]() |
bool | Returns whether the module requires notification when an emitter loops. | |
![]() ![]() |
bool | SetRandomSeedEntry
(
int32 InIndex, |
Set the random seed info entry at the given index to the given seed |
![]() ![]() |
void | SetToSensibleDefaults
(
UParticleEmitter* Owner |
For Cascade. |
![]() |
void | Set the transaction flag on the module and any members which require it | |
![]() ![]() |
void | Spawn
(
FParticleEmitterInstance* Owner, |
Called on a particle that is freshly spawned by the emitter. |
![]() ![]() |
bool | Returns whether the module supports the RandomSeed functionality | |
![]() ![]() ![]() |
bool | Return true if this module impacts rotation of Mesh emitters | |
![]() ![]() |
void | Update
(
FParticleEmitterInstance* Owner, |
Called on a particle that is being updated by its emitter. |
![]() ![]() |
bool | WillGeneratedModuleBeIdentical
(
UParticleLODLevel* SourceLODLevel, |
Returns true if the results of LOD generation for the given percentage will result in a duplicate of the module. |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | Called during async load to determine if PostLoad can be called on the loading thread. | |
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally |
![]() ![]() |
void | PostLoadSubobjects
(
FObjectInstancingGraph* OuterInstanceGraph |
Instances components for objects being loaded from disk, if necessary. |