Presented by Jon Lindquist (JonTechArt on twitter) on Nov. 5 on UnrealEngine twitch stream


Some modules in the Content Examples shown here are not in the official product yet.

World Interaction

How do particles interact with the world and "learn" about the environment?

Niagara can read triangles (particles on the triangle position [e.g. character skin], physics volumes (CPU collision), Scene Depth (GPU), Distance Fields.

Triangles only work for certain use cases. Niagara must be pointed to a specific mesh to query. This does not work well for other effects (like swarm insects). Physics volumes can be pretty coarse.

Scene depth helps establish visibility. Distance fields are highly accurate.

A global distance field is a value in black and white and asks "how close is this point to the nearest surface in world space?" If you want to place particles, you need to know what direction the surface is from the point. You do this by sampling multiple times from the point. If you take the distance from the first sample to the gradient, you can move the particle to the surface.

Sphere Casting: Sphere casting is similar and samples based along the nearest collision (as seen below on the right) until intersect with a solid surface (basically a raytrace) and nearest surface.

Sprite Based Line (a new module/technique) uses both. If you go to the material editor, you can find nodes called DebugFloat"". It displays information about what is being computed. As seen on the right side below, the material is being placed on a sprite particle being drawn.

Go inside the module to use built in functions.

Flocks

Overview

Each bird is an individual actor with a certain view of the world. "Who am I? What am I doing?"