Beyond Basics – Nuke Particles – 1

I’ve been teaching myself Houdini for the past 3 years, and have achieved my goal of being hired as a Houdini artist! It was a long and arduous journey but more than worthwhile! Highly recommended if you also wish to grow some white hair.

Houdini has a powerful particle system, where you can use VEX to control every aspect to achieve a certain behaviour. This led me to become curious about Nuke’s particle system – I needed to find out if there was a way to get the same kind of fine control.

I was no stranger to Nuke’s particle systems, but its documentation and online learning materials didn’t covered much beyond the basics, and I’ve been left on many occasions just telling people:

“Sorry, I don’t know how to do that.”

So after even more studying, I am now comfortable to shamelessly proclaim that I’ve mastered particles in Nuke.

And with new found powers comes more responsibilities!

Thus an idea to write a series of articles sharing my knowledge on this topic and how I’ve used them in production.

I hope you enjoy and learn something new!

This is the first article of I don’t know how many! And I’m going to begin by introducing to you:

PARTICLE ATTRIBUTES

How does a particle system simulate thousands or millions or particles? Why, with attributes of course! Let’s look at three of the basic ones – ID, position, and velocity.


ID:

Each particle is assigned a unique and non-repeating ID.

IDs being assigned onto particles emitting from a sphere.

We can perform operations based on ID, such as making particle 15 huge with a different color!

Particle 15 is 10x the size with color set to (0,1,1)

Position

Similar to ID, each particle stores its own unique position, and is updated each simulation step.

Each particle’s position attribute updates constantly.

Adding controls to our system is simple once we have position data. Here, we make all the particles above the ground plane to be huge and aqua in color.

Now, any particles above 0 in Y will be x10 size and color set to (0,1,1)

Velocity

Velocity is another attribute that is stored on each particle, and one of the main ways to add movement into particle systems.

In this example, we’re controlling the velocity and color based on position.

Particles above 0 in Y and X are assigned the color (0,1,1) and velocity of (1,0,0)

That concludes the first article about particles in Nuke, next article, we’ll continue our introduction to even more attributes!