| Home Page | Recent Changes

ParticleEmitter/Collision

UT2003 :: Object >> ParticleEmitter (Property Group: Collision)

This group controls the particles' collision behavior. By default, UseCollision is false and particles collide with nothing in the world.

Colliding particles falling through objects

If you want particles to fall through certain objects (eg static meshes that represent grates), set Collision → bCollideActors on these. (But this will caused players to fall through them too.... :( )You will need to do a rebuild for the ParticleEmitter to notice that this property has changed.

Idle particles causing framerate hit and collision sounds playing every frame

Colliding particles that stay on ground after bouncing (ie: DampingFactorRange<1, Acceleration.Z<0 and MaxCollisions=0) can waste obscene amounts of cpu time. This happens because they aren't really idle, they are making infinitely small bounces at least once per frame. Sometimes this movement is visible, the particle vibrates and travels very slowly up slopes. When such emitter has collision sound set up it will be replayed every frame once particle is "idle" on ground.

To "freeze" particle in place once it's idle use the MinSquaredVelocity property, values around 2000 (45uu/s) work well. The idle particle framerate hit will be gone and collision sounds will play properly.

Properties

array<plane> CollisionPlanes
Can be used to specify planes in the Unreal world the particle will collide with. The planes will be used for collision when UseCollisionPlanes is True.
rangevector DampingFactorRange
Damping applied to the particle's velocity when it collides with something.
vector ExtentMultiplier
A multiplier for the particles' size for collision calculations.
range MaxCollisions
Maximum number of collisions before the particle is destroyed. This property will only be used when UseMaxCollisions is True.
int SpawnAmount
The number of sub-particles spawned when the particles collide with something.
rangevector SpawnedVelocityScaleRange
The velocity of the spawned sub-particles.
int SpawnFromOtherEmitter
The ParticleEmitter within the same Emitter actor used for the sub-particles.
bool UseCollision
Whether the particles should use collision. If False, they will fall through static meshes, BSP, etc.
bool UseCollisionPlanes
Whether the particles should collide with the CollisionPlanes.
bool UseMaxCollisions
Whether the particles should be destroyed when they reach their maximum number of collisons.
bool UseSpawnedVelocityScale
Whether to use SpawnedVelocityScaleRange for collision sub-particles.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In