Quick answer: CPU particle collision uses scene queries. The landscape must have collision enabled on a channel the Collision module traces. GPU collision uses depth buffer instead — pick the right mode.
A CPU-sim Niagara emitter (rain splashes) passes straight through the landscape. The collision module’s query never hits the terrain.
CPU vs GPU Collision
- CPU collision: does real scene queries (raycasts) against physics geometry. Accurate, but the geometry must have collision.
- GPU collision: uses the depth buffer / distance fields. Cheap, screen-space-limited — off-screen collisions don’t happen.
For a CPU emitter, the Collision module’s mode should be set to a query-based option, not the GPU one.
Landscape Collision
The Landscape actor must have Collision Mip Level set and a collision response that the Niagara query channel hits. Check Landscape → Collision — if collision is disabled or on a channel you don’t trace, particles pass through.
Trace Channel
In the Collision module, the query uses a trace channel. Make sure the landscape’s collision is set to Block (or at least Overlap) for that channel. A channel mismatch is the most common cause.
Consider GPU + Distance Fields
For lots of particles, GPU sim with distance-field collision against the landscape is far cheaper than thousands of CPU raycasts — enable Generate Mesh Distance Fields and use the GPU collision mode.
Verifying
Rain splashes land on the terrain surface and at the right height. Particles on slopes hit correctly. Profile: CPU query cost is within budget for the particle count.
“CPU collision needs real physics geometry on a traced channel. GPU collision needs depth/distance fields. Match the emitter’s sim target.”
Heavy weather effects almost always want GPU sim + distance-field collision — CPU raycasts don’t scale past a few hundred particles.