Navigation
Unreal Engine C++ API Reference > Runtime > Engine > Particles
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UFXSystemAsset
- UParticleSystem
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Particles/ParticleSystem.h |
Include | #include "Particles/ParticleSystem.h" |
Syntax
class UParticleSystem : public UFXSystemAsset
Remarks
A ParticleSystem is a complete particle effect that contains any number of ParticleEmitters. By allowing multiple emitters in a system, the designer can create elaborate particle effects that are held in a single system. Once created using Cascade, a ParticleSystem can then be inserted into a level or created in script.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FColor | BackgroundColor | The background color to display in Cascade |
![]() |
uint8: 1 | bAllowManagedTicking | |
![]() |
uint8: 1 | bAutoDeactivate | |
![]() |
uint8: 1 | bHasPhysics | Set during load time to indicate that physics is used... |
![]() |
uint8: 1 | bOrientZAxisTowardCamera | If true, the system's Z axis will be oriented toward the camera |
![]() |
uint8: 1 | bRegenerateLODDuplicate | Internal value that tracks the regenerate LOD levels preference. |
![]() |
uint8: 1 | bShouldResetPeakCounts | EDITOR ONLY: Indicates that Cascade would like to have the PeakActiveParticles count reset |
![]() |
uint8: 1 | bUseDelayRange | If true, select the emitter delay from the range [DelayLow..Delay] |
![]() |
uint8: 1 | bUseFixedRelativeBoundingBox | Whether to use the fixed relative bounding box or calculate it every frame. |
![]() |
uint8: 1 | bUseRealtimeThumbnail | Inidicates the old 'real-time' thumbnail rendering should be used |
![]() |
TObjectPtr< UInterpCurveEdSetup > | CurveEdSetup | Used for curve editor to remember curve-editing setup. |
![]() |
FBox | CustomOcclusionBounds | The occlusion bounds to use if OcclusionBoundsMethod is set to EPSOBM_CustomBounds |
![]() |
float | Delay | How long this Particle system should delay when ActivateSystem is called on it. |
![]() |
float | DelayLow | The low end of the emitter delay if using a range. |
![]() |
int32 | EditorLODSetting | LOD setting for intepolation (set by Cascade) Range [0..100] |
![]() |
TArray< TObjectPtr< UParticleEmitter > > | Emitters | Emitters - internal - the array of emitters in the system |
![]() |
FBox | FixedRelativeBoundingBox | Fixed relative bounding box for particle system. |
![]() |
FString | FloorMesh | Cascade 'floor' mesh information. |
![]() |
FVector | FloorPosition | |
![]() |
FRotator | FloorRotation | |
![]() |
float | FloorScale | |
![]() |
FVector | FloorScale3D | |
![]() |
float | InsignificanceDelay | Time delay between all emitters becoming insignificant and the systems insignificant reaction. |
![]() |
EParticleSystemInsignificanceReaction | InsignificantReaction | The reaction this system takes when all emitters are insignificant. |
![]() |
float | LODDistanceCheckTime | LOD How often (in seconds) the system should perform the LOD distance check. |
![]() |
TArray< float > | LODDistances | The array of distances for each LOD level in the system. |
![]() |
TEnumAsByte< enum ParticleSystemLODMethod > | LODMethod | The method of LOD level determination to utilize for this particle system PARTICLESYSTEMLODMETHOD_Automatic - Automatically set the LOD level, checking every LODDistanceCheckTime seconds. |
![]() |
TArray< FParticleSystemLOD > | LODSettings | |
![]() |
FVector | MacroUVPosition | Local space position that UVs generated with the ParticleMacroUV material node will be centered on. |
![]() |
float | MacroUVRadius | World space radius that UVs generated with the ParticleMacroUV material node will tile based on. |
![]() |
EParticleSignificanceLevel | MaxSignificanceLevel | The maximum level of significance for emitters in this system. |
![]() |
uint32 | MinTimeBetweenTicks | |
![]() |
TArray< FNamedEmitterMaterial > | NamedMaterialSlots | Array of named material slots for use by emitters of this system. |
![]() |
TEnumAsByte< enum EParticleSystemOcclusionBoundsMethod > | OcclusionBoundsMethod | Which occlusion bounds method to use for this particle system. |
![]() |
TObjectPtr< UParticleSystemComponent > | PreviewComponent | The component used to preview the particle system in Cascade |
![]() |
float | SecondsBeforeInactive | Number of seconds of emitter not being rendered that need to pass before it no longer gets ticked/ becomes inactive. |
![]() |
TArray< struct FLODSoloTrack > | SoloTracking | |
![]() |
TEnumAsByte< enum EParticleSystemUpdateMode > | SystemUpdateMode | |
![]() |
FRotator | ThumbnailAngle | The angle to use when rendering the thumbnail image |
![]() |
float | ThumbnailDistance | The distance to place the system when rendering the thumbnail image |
![]() |
TObjectPtr< class UTexture2D > | ThumbnailImage | Internal: The PSys thumbnail image |
![]() |
uint8: 1 | ThumbnailImageOutOfDate | Internal: Indicates the PSys thumbnail image is out of date |
![]() |
float | ThumbnailWarmup | The time to warm-up the system for the thumbnail image |
![]() |
float | UpdateTime_Delta | UpdateTime_Delta - internal |
![]() |
float | UpdateTime_FPS | UpdateTime_FPS - the frame per second to update at in FixedTime mode |
![]() |
float | WarmupTickRate | WarmupTickRate - the time step for each tick during warm up. |
![]() |
float | WarmupTime | WarmupTime - the time to warm-up the particle system when first rendered Warning: WarmupTime is implemented by simulating the particle system for the time requested upon activation. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
|||
![]() |
UParticleSystem
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | ||
![]() |
void | Builds all emitters in the particle system. | |
![]() ![]() |
bool | CalculateMaxActiveParticleCounts Determine the maximum active particles that could occur with each emitter. | |
![]() ![]() |
bool | CanBePooled () |
|
![]() |
bool | Return true if this psys can tick in any thread | |
![]() |
void | Decide if this psys can tick in any thread, and set bIsElligibleForAsyncTick | |
![]() |
bool | ContainsEmitterType
(
UClass* TypeData |
Returns true if this system contains an emitter of the pasesd type. |
![]() ![]() |
bool | DoesAnyEmitterHaveMotionBlur
(
int32 LODLevelIndex |
Checks if any of the emitters have motion blur at a specific lod level. |
![]() ![]() |
enum ParticleSystemLODMethod | Return the currently set LOD method | |
![]() ![]() |
EParticleSignificanceLevel | ||
![]() ![]() |
float | GetLODDistance
(
int32 LODLevelIndex |
Return the distance for the given LOD level |
![]() ![]() |
int32 | Return the number of LOD levels for this particle system | |
![]() ![]() |
EParticleSignificanceLevel | ||
![]() |
void | Retrieve the parameters associated with this particle system. | |
![]() ![]() |
bool | Returns true if this system contains any GPU emitters. | |
![]() ![]() |
bool | IsImmortal () |
|
![]() ![]() |
bool | IsLooping () |
Returns true if the particle system is looping (contains one or more looping emitters) |
![]() |
void | PrecachePSOs () |
|
![]() |
bool | RemoveAllDuplicateModules
(
bool bInMarkForCooker, |
Remove all duplicate modules. |
![]() ![]() |
void | SetCurrentLODMethod
(
ParticleSystemLODMethod InMethod |
Set the LOD method |
![]() |
void | SetDelay
(
float InDelay |
Set the time to delay spawning the particle system |
![]() ![]() |
bool | SetLODDistance
(
int32 LODLevelIndex, |
Set the distance for the given LOD index |
![]() |
void | Editor helper function for setting the LOD validity flags used in Cascade. | |
![]() |
void | SetupSoloing () |
Setup the soloing information... Obliterates all current soloing. |
![]() ![]() |
bool | ||
![]() |
bool | ToggleSoloing
(
UParticleEmitter* InEmitter |
Toggle the bIsSoloing flag on the given emitter. |
![]() |
bool | Turn soloing off completely - on every emitter | |
![]() |
void | Update all emitter module lists | |
![]() |
void | UpdateColorModuleClampAlpha
(
UParticleModuleColorBase* ColorModule |
|
![]() ![]() |
bool | ||
![]() ![]() |
bool |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | GetAssetRegistryTags
(
TArray< FAssetRegistryTag >& OutTags |
Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects |
![]() ![]() ![]() |
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 | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
![]() ![]() |
void | PreSave
(
FObjectPreSaveContext SaveContext |
Presave function. |
![]() ![]() |
void | Handles reading, writing, and reference collecting using FArchive. |
Overridden from UObjectBaseUtility
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | Called after load to determine if the object can be a cluster root |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
PRAGMA_DISABLE_DEPRECATION_WARNINGSvoid | PreSave
(
const ITargetPlatform* TargetPlatform |
Use version that takes FObjectPreSaveContext instead. |