Navigation
API > API/Runtime > API/Runtime/Engine
| Name | UParticleModule |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Particles/ParticleModule.h |
| Include Path | #include "Particles/ParticleModule.h" |
Syntax
UCLASS (EditInlineNew, HideCategories=Object, Abstract, Within=ParticleSystem, MinimalAPI)
class UParticleModule : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UParticleModule
Derived Classes
UParticleModule derived class hierarchy
- UParticleModuleAccelerationBase
- UParticleModuleAttractorBase
- UParticleModuleBeamBase
- UParticleModuleCameraBase
- UParticleModuleCollisionBase
- UParticleModuleColorBase
- UParticleModuleEventBase
- UParticleModuleKillBase
- UParticleModuleLifetimeBase
- UParticleModuleLightBase
- UParticleModuleLocationBase
- UParticleModuleMaterialBase
- UParticleModuleOrbitBase
- UParticleModuleOrientationBase
- UParticleModuleParameterBase
- UParticleModuleRequired
- UParticleModuleRotationBase
- UParticleModuleRotationRateBase
- UParticleModuleSizeBase
- UParticleModuleSpawnBase
- UParticleModuleSubUVBase
- UParticleModuleTrailBase
- UParticleModuleTypeDataBase
- UParticleModuleVectorFieldBase
- UParticleModuleVelocityBase
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UParticleModule
(
const FObjectInitializer& ObjectInitializer |
Particles/ParticleModule.h |
Structs
| Name | Remarks |
|---|---|
| FContext | |
| FPreviewContext | Render the modules 3D visualization helper primitive. |
| FSpawnContext | Called on a particle that is freshly spawned by the emitter. |
| FUpdateContext | Called on a particle that is being updated by its emitter. |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| b3DDrawMode | uint8 | If true, the module should render its 3D visualization helper | Particles/ParticleModule.h |
|
| bCurvesAsColor | uint8 | If true, the module displays FVector curves as colors | Particles/ParticleModule.h | |
| bEditable | uint8 | If true, the module has had editing enabled on it | Particles/ParticleModule.h | |
| bEnabled | uint8 | If true, the module is enabled | Particles/ParticleModule.h | |
| bFinalUpdateModule | uint8 | If true, the module performs operations on particles during final update | Particles/ParticleModule.h | |
| bRequiresLoopingNotification | uint8 | If true, the module should be told when looping | Particles/ParticleModule.h | |
| bSpawnModule | uint8 | If true, the module performs operations on particles during Spawning | Particles/ParticleModule.h | |
| bSupported3DDrawMode | uint8 | If true, the module supports rendering a 3D visualization helper | Particles/ParticleModule.h | |
| bSupportsRandomSeed | uint8 | If true, the module supports RandomSeed setting | Particles/ParticleModule.h | |
| bUpdateForGPUEmitter | uint8 | If true, the module performs operations on particles during update and/or final update for GPU emitters | Particles/ParticleModule.h | |
| bUpdateModule | uint8 | If true, the module performs operations on particles during Updating | Particles/ParticleModule.h | |
| LODDuplicate | uint8 | If true, this flag indicates that auto-generation for LOD will result in an exact duplicate of the module, regardless of the percentage. | Particles/ParticleModule.h | |
| LODValidity | uint8 | The LOD levels this module is present in. | Particles/ParticleModule.h | |
| ModuleEditorColor | FColor | The color to draw the modules curves in the curve editor. | Particles/ParticleModule.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AddModuleCurvesToEditor
(
UInterpCurveEdSetup* EdSetup, |
Add all curve-editable Objects within this module to the curve editor. | Particles/ParticleModule.h | |
virtual void AutoPopulateInstanceProperties
(
UParticleSystemComponent* PSysComp |
Helper function used by the editor to auto-populate a placed AEmitter with any instance parameters that are utilized. | Particles/ParticleModule.h | |
virtual bool CanTickInAnyThread() |
Return false if this emitter requires a game thread tick | Particles/ParticleModule.h | |
void ChangeEditorColor
(
FColor& Color, |
Helper function for updating the curve editor when the module editor color changes. | Particles/ParticleModule.h | |
virtual void CompileModule
(
FParticleEmitterBuildInfo& EmitterInfo |
Called once to compile the effects of this module on runtime simulation. | Particles/ParticleModule.h | |
virtual bool ConvertFloatDistribution
(
UDistributionFloat* FloatDist, |
Store the given percentage of the SourceFloat distribution in the FloatDist | Particles/ParticleModule.h | |
virtual bool ConvertVectorDistribution
(
UDistributionVector* VectorDist, |
Store the given percentage of the SourceVector distribution in the VectorDist | Particles/ParticleModule.h | |
virtual void EmitterLoopingNotify
(
FParticleEmitterInstance* Owner |
Called when an emitter instance is looping... | Particles/ParticleModule.h | |
virtual void FinalUpdate
(
const FUpdateContext& Context |
Called on an emitter when all other update operations have taken place INCLUDING bounding box cacluations! | Particles/ParticleModule.h | |
virtual UParticleModule * GenerateLODModule
(
UParticleLODLevel* SourceLODLevel, |
Generates a new module for LOD levels, setting the values appropriately. | Particles/ParticleModule.h | |
virtual 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. | Particles/ParticleModule.h | |
virtual void GetCurveObjects
(
TArray< FParticleCurvePair >& OutCurves |
Fill an array with each Object property that fulfills the FCurveEdInterface interface. | Particles/ParticleModule.h | |
virtual bool GetCustomMenuEntryDisplayString
(
int32 InEntryIndex, |
Get the display name of the custom menu entry. | Particles/ParticleModule.h | |
virtual EModuleType GetModuleType() |
Retrieve the ModuleType of this module. | Particles/ParticleModule.h | |
virtual int32 GetNumberOfCustomMenuOptions () |
Custom Cascade module menu entries support Get the number of custom entries this module has. | Particles/ParticleModule.h | |
virtual void GetParticleParametersUtilized
(
TArray< FString >& ParticleParameterList |
Retrieve the distributions that use ParticleParameters in this module. | Particles/ParticleModule.h | |
virtual void GetParticleSysParamsUtilized
(
TArray< FString >& ParticleSysParamList |
Retrieve the ParticleSysParams associated with this module. | Particles/ParticleModule.h | |
virtual FParticleRandomSeedInfo * GetRandomSeedInfo() |
Retrieve the random seed info for this module. | Particles/ParticleModule.h | |
FRandomStream & GetRandomStream
(
const FContext& Context |
Retreive the random stream that should be used for the provided instance. | Particles/ParticleModule.h | |
bool IsDisplayedInCurveEd
(
UInterpCurveEdSetup* EdSetup |
Are the modules curves displayed in the curve editor? | Particles/ParticleModule.h | |
virtual bool IsSizeMultiplyLife() |
Returns whether the module is SizeMultipleLife or not. | Particles/ParticleModule.h | |
bool IsUsedInGPUEmitter() |
Returns whether this module is used in any GPU emitters. | Particles/ParticleModule.h | |
virtual bool IsUsedInLODLevel
(
int32 SourceLODIndex |
Returns true if the module validiy flags indicate this module is used in the given LOD level. | Particles/ParticleModule.h | |
virtual bool IsValidForLODLevel
(
UParticleLODLevel* LODLevel, |
Returns true if the module is valid for the provided LOD level. | Particles/ParticleModule.h | |
bool ModuleHasCurves() |
Does the module contain curves? | Particles/ParticleModule.h | |
virtual bool PerformCustomMenuEntry
(
int32 InEntryIndex |
Perform the custom menu entry option. | Particles/ParticleModule.h | |
virtual uint32 PrepPerInstanceBlock
(
FParticleEmitterInstance* Owner, |
Allows the module to prep its 'per-instance' data block. | Particles/ParticleModule.h | |
virtual uint32 PrepRandomSeedInstancePayload
(
FParticleEmitterInstance* Owner, |
Prepare a random seed instance payload... | Particles/ParticleModule.h | |
virtual void RefreshModule
(
UInterpCurveEdSetup* EdSetup, |
Refresh the module... | Particles/ParticleModule.h | |
void RemoveModuleCurvesFromEditor
(
UInterpCurveEdSetup* EdSetup |
Remove all curve-editable Objects within this module from the curve editor. | Particles/ParticleModule.h | |
virtual void Render3DPreview
(
const FPreviewContext& Context |
Particles/ParticleModule.h | ||
virtual uint32 RequiredBytes
(
UParticleModuleTypeDataBase* TypeData |
Returns the number of bytes that the module requires in the particle payload block. | Particles/ParticleModule.h | |
virtual uint32 RequiredBytesPerInstance() |
Returns the number of bytes the module requires in the emitters 'per-instance' data block. | Particles/ParticleModule.h | |
bool RequiresLoopingNotification() |
Returns whether the module requires notification when an emitter loops. | Particles/ParticleModule.h | |
virtual bool SetRandomSeedEntry
(
int32 InIndex, |
Set the random seed info entry at the given index to the given seed | Particles/ParticleModule.h | |
virtual void SetToSensibleDefaults
(
UParticleEmitter* Owner |
For Cascade. | Particles/ParticleModule.h | |
void SetTransactionFlag() |
Set the transaction flag on the module and any members which require it | Particles/ParticleModule.h | |
virtual void Spawn
(
const FSpawnContext& Context |
Particles/ParticleModule.h | ||
bool SupportsRandomSeed() |
Returns whether the module supports the RandomSeed functionality | Particles/ParticleModule.h | |
virtual bool TouchesMeshRotation() |
Return true if this module impacts rotation of Mesh emitters | Particles/ParticleModule.h | |
virtual void Update
(
const FUpdateContext& Context |
Particles/ParticleModule.h | ||
virtual bool WillGeneratedModuleBeIdentical
(
UParticleLODLevel* SourceLODLevel, |
Returns true if the results of LOD generation for the given percentage will result in a duplicate of the module. | Particles/ParticleModule.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool IsPostLoadThreadSafe() |
Particles/ParticleModule.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Particles/ParticleModule.h | ||
virtual void PostLoadSubobjects
(
FObjectInstancingGraph* OuterInstanceGraph |
Particles/ParticleModule.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static 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. | Particles/ParticleModule.h | |
static void GetDistributionsRestrictedOnGPU
(
TArray< FString >& OutRestrictedDistributions |
Gets a list of the names of distributions not allowed on GPU emitters. | Particles/ParticleModule.h | |
static bool IsDistributionAllowedOnGPU
(
const UDistribution* Distribution |
Checks if a distribution is allowed on the GPU. | Particles/ParticleModule.h |