Download

Particle system component overlap

Is there a way to make to make OnComponentBeginOverlap work with particle systems? Or at least be able to get the bounds of the particle system? I don’t want per particle collision, just collision with the thing as a whole.

Don’t think so. Although they’re based on ‘UPrimtiveComponent’, they don’t have any geometry that’s sent to the physics engine to account for collision.

Only way is to create a second component and use that as the collision representation.

That’s unfortunate, I wanted to have a particle system that expands sort of like a laser and can collide with another actor, and it would be near impossible to make another component with collision that goes with the particle unless you mimicked the velocity/acceleration/other properties of the particle.

I can see the orange bounding in editor when particle system’s go off, are you sure there isn’t a way to return that at least? I might have to go looking through editor code to find out how that occurs.

It sounds like you’re trying to do a projectile of some kind - in which case you usually create an Actor with some collision primitive as it’s root, and a particle system - and make it move with a Projectile Movement Component. See ShooterGame for an example.

AFAIK you just get the component bounds, but even so you still won’t be able to use those for collision detection, since PhysX has no knowledge of it.

Yea it’s a projectile, sort of like a laser but it uses a bunch of particles that stay in the actors wake instead; the particles will stay for awhile and expand outward as the actor moves forward and I wanted to have collision within the bounds of it.

I guess an example of something similar would be Singed poison attack from League of Legends, but this is also in 2D and I was hoping for precise control over the collision.

I suppose the next best thing would be to create a boxcomponent that expands to a max length and then begins to drag along with the actor once it reaches that max length, or something like that.