Niagara linked particle structures


I wanted to try and create a linked structure from a particle burst without using the ribbon render, primarily because ribbons are difficult to control and because they are more expensive than mesh particles.

There are a range of uses for such an effect, such as for electrical arcs, a spider’s web or maybe bands of slime.

To create this system I decided to start simple and join 2 points floating aimlessly in space.

Two sprite particles with a static mesh particle linking them
Niagara module script to read the position attributes of the sprites and position the static mesh particle

With that proof of concept achieved, I wanted to make the system more versatile so it could be used in different scenarios:

  • Multiple leader points – lots of points connected by mesh links
  • Static/Skeletal mesh sampling – allows the system to be used with meshes in the environment

Multiple positions sampled on a static mesh, connected by static mesh particles

Electrical arcing effect – multiple point pairs sampled on static mesh with static mesh arcs connecting them

The green slime bands demo above was created in much the same way as the original 2-particle concept, just with more particles.

For the electrical arcing effect I developed the module script further so that it can be used in both world and local space, and I set it up to read the normals of the sampled mesh vertices for use in orienting the mesh links outwards and also for driving the mesh link velocity.

Module script to sample static mesh vertex pairs. Static mesh links are then positioned halfway between them and scaled appropriately, and re-oriented to the sampled vertex normals

Leave a Reply

Your email address will not be published. Required fields are marked *