3D Graphics

Unreal Experiment

Just a quick test scene in Unreal. It has no home, so I decided to let it live here. The camera gear was modelled by me years ago for the Sketchup Film and Stage release, I was really gratified to discover that all of those models I made are still in use and part of the collection of .skp files at 3D Warehouse.

Vector Fields in Niagara

The use of vector fields to set particle velocity is pretty well documented when one is using cascade, but Niagara is still something of a mystery for many users.
Vector fields are indeed supported, using the same .fga format, and their capabilities in Niagara are extended in a number of key ways. In Cascade a vector field can only influence velocity directly, but in Niagra support is built in to just as easily use the field to drive acceleration, which can result in a much smoother and more natural motion.
Niagara Vector Fields
Furthermore, Niagara’s open approach to, well, everything, allows users to dig in and perform much more advanced effects. With custom modules and a bit of hacking it’s possible to blend between multiple vector fields for instance, or use a vector field to control any attribute such as size or rotation of particles. Epic and Unreal have provided us a playground with a ton of potential.
Niagara Vector Field Stack
Here’s an example which barely scratches the surface, but should be enough to get anyone reading a head start into using vector fields in Niagara. In this very straightforward effect a vector field is used to break up the usually spherical shape of a bunch of particles emitted from a sphere by varying their velocities. The result is a more irregular, jagged blast of particles which looks much more natural than a simple firework, and for almost no extra effort.
All that was done was to place two pre-made modules in the “particle update” region.
The “Sample Vector Field” module specifies the vector field to be used (in this case one of hundreds which I am releasing on Unreal Marketplace, but note there are free vector fields both in Niagara and here on this site). It also has some very nice advanced options allowing you to scale and transform the vector field, fade out the influence by distance and so on.
Then the “Apply Vector Field” follows immediately and applies a considerable amount of velocity to the particles every frame. Bang, a nice irregular shaped explosion. That’s really it.
To control the effect to a greater degree I took things one (small) step further and created a custom module. I had some particles which were slowing almost to a stop, so I first wrote a simple logic which kills any particle below a user-defined minimum velocity. This however killed some slow particles at the beginning of the explosion I liked, so I added a factor which accumulates a value proportional to the particle’s age (Particles.AccumulatedDeltaTime thanks to a GDC presentation 2018) and used that to specify a user time threshold after which particles could be killed. Here’s a look at the graph:
Niagara Custom Module
I could have just as easily tweaked the vector field’s falloff to free up the offending particles, but this custom module is now saved and ready to go any time I need it. SWEET.
Niagara looks daunting at first, but it’s really very logical and straightforward, and allows for very deep customization. Vector fields are supported nicely, and have far greater potential under Niagara than the simple implementation in cascade. So don’t hesitate, dive in!

Vector Fields 2

While working on a release of 100+ vector fields for the Unreal community marketplace I built a few handy tools to generate vector fields from curves, surfaces etc, and to blend them with constants, noise, various forces, other vector fields and so on.

For example, here is a vector field using a spherical surface and a “pull” force to create a forcefield effect:


While this vector field uses a series of curves mixed with flow noise for a “jet exhaust” effect:

In Unreal a single cascade emitter can use these vector fields and GPU sprites to create a very broad range of looks:

So to celebrate and promote the upcoming release on the Unreal marketplace I’ve generated 10 free vector fields in .fga format for download here. Enjoy!

Cloudscapes via Volume Vops

It’s an understatement to say that Houdini volumes have a lot of depth, there are just so many possibilities and fun things to explore. After making a few requisite pyroclastic clouds I decided to see what can be done without DOPs. In other words, what kinds of effects can you get without simulation or just converting input geometry? Here’s the first part of an answer – you can use VOPs to create animated volumes and cloudscapes that are surprisingly fast. In these I first filled a volume with a sin wave and then introduced alligator and perlin noises at different frequencies following the sinusoidal surface.