UParticleModuleCollision

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Particles/Collision/ParticleModuleCollision.h

Include

#include "Particles/Collision/ParticleModuleCollision.h"

Syntax

class UParticleModuleCollision : public UParticleModuleCollisionBase

Variables

Name Description

Public variable

uint32: 1

 

bApplyPhysics

If true, physic will be applied between a particle and the object it collides with.

Public variable

uint32: 1

 

bCollideOnlyIfVisible

If true, Particle collision only if particle system is currently being rendered.

Public variable

uint32: 1

 

bDropDetail

If true, when the World->bDropDetail flag is set, the module will be ignored.

Public variable

uint32: 1

 

bIgnoreSourceActor

If true, then the source actor is ignored in collision checks. Defaults to true.

Public variable

uint32: 1

 

bIgnoreTriggerVolumes

Any trigger volumes that are hit will be ignored.

Public variable

uint32: 1

 

bOnlyVerticalNormalsDecrementCount

If true, then collisions that do not have a vertical hit normal will still react, but UsedMaxCollisions count will not be decremented.

Public variable

uint32: 1

 

bPawnsDoNotDecrementCount

If true, then collisions with Pawns will still react, but the UsedMaxCollisions count will not be decremented.

Public variable

TEnumAsByte< en...

 

CollisionCompletionOption

What to do once a particles MaxCollisions is reached.

Public variable

TArray< TEnumAs...

 

CollisionTypes

Which ObjectTypes to collide with

Public variable

FRawDistributio...

 

DampingFactor

How much to `slow' the velocity of the particle after a collision.

Public variable

FRawDistributio...

 

DampingFactorRotation

How much to `slow' the rotation of the particle after a collision.

Public variable

FRawDistributio...

 

DelayAmount

How long to delay before checking a particle for collisions.

Public variable

float

 

DirScalar

The directional scalar value - used to scale the bounds to 'assist' in avoiding inter-penetration or large gaps.

Public variable

float

 

MaxCollisionDistance

Max distance at which particle collision will occur.

Public variable

FRawDistributio...

 

MaxCollisions

The maximum number of collisions a particle can have.

Public variable

FCollisionObjec...

 

ObjectParams

ObjectParams created for array of CollisionTypes

Public variable

FRawDistributio...

 

ParticleMass

The mass of the particle - for use when bApplyPhysics is true.

Public variable

float

 

VerticalFudgeFactor

The fudge factor to use to determine vertical.

Constructors

Name Description

Public function

UParticleModuleCollision

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

InitializeDefaults()

Initializes the default values for this property

Public function Virtual

bool

 

PerformCollisionCheck

(
    FParticleEmitterInstance* Owne...,
    FBaseParticle* InParticle,
    FHitResult& Hit,
    AActor* SourceActor,
    const FVector& End,
    const FVector& Start,
    const FVector& Extent
)

Perform the desired collision check for this module.

Overridden from UParticleModule

Name Description

Public function Virtual

bool

 

CanTickInAnyThread()

Return false if this emitter requires a game thread tick

Public function Virtual

bool

 

GenerateLODModuleValues

(
    UParticleModule* SourceModule,
    float Percentage,
    UParticleLODLevel* LODLevel
)

Helper function used by the editor to auto-generate LOD values from a source module and a percentage value used to scale its values.

Public function Virtual

uint32

 

PrepPerInstanceBlock

(
    FParticleEmitterInstance* Owne...,
    void* InstData
)

Allows the module to prep its 'per-instance' data block.

Public function Virtual

uint32

 

RequiredBytes

(
    UParticleModuleTypeDataBase* T...
)

Returns the number of bytes that the module requires in the particle payload block.

Public function Virtual

uint32

 

RequiredBytesPerInstance()

Returns the number of bytes the module requires in the emitters 'per-instance' data block.

Public function Virtual

void

 

SetToSensibleDefaults

(
    UParticleEmitter* Owner
)

For Cascade.

Public function Virtual

void

 

Spawn

(
    FParticleEmitterInstance* Owne...,
    int32 Offset,
    float SpawnTime,
    FBaseParticle* ParticleBase
)

Called on a particle that is freshly spawned by the emitter.

Public function Virtual

void

 

Update

(
    FParticleEmitterInstance* Owne...,
    int32 Offset,
    float DeltaTime
)

Called on a particle that is being updated by its emitter.

Overridden from UObject

Name Description

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss