Niagara Foliage Gun
A UE4 Niagara foliage gun and foliage bomb: GPU mesh particles, Blueprint-spawned tree collisions, and custom collisions that keep growth on flat ground.
Niagara setup

There are two variations of this effect:
- Foliage Gun
- Foliage Bomb
The foliage gun spawns a random amount of grass, flowering plants and sometimes a tree. All of these are GPU mesh particles to keep it performance friendly.
All of the meshes scale up over time and rotate, with a random size and rotation to keep the look natural.
Grass and flowering plants have 3 different meshes. I select a random mesh using the Particle Visibility Tag module, driven by a random int attribute.
Grass and flowering plants:

Same with the trees: 2 different meshes keep things natural.

Blueprint setup

One interesting challenge was spawning tree collisions. Whenever a tree is spawned (randomly, every few hits), Niagara sends the info to a Blueprint. The Blueprint takes the location of that tree particle and spawns a capsule collider there.
To spawn the foliage, the Blueprint takes the hit location and spawns the Niagara system there.

Niagara foliage bomb
Setting up the grenade was straightforward: another projectile in the First Person Blueprint, fired with right click.

The grenade is spawned as a projectile. After 2.5 seconds it spawns the grenade Niagara system, a camera shake, and a radial impulse that pushes surrounding physics objects.

The impulse is added with this Blueprint:

Another small challenge was spawning particles only on flat ground. This was solved with custom collisions.

This effect was retweeted by Unreal Engine's official Twitter account.
