Particles General Notes

Particles General Notes

The particle source object : generates the particles – works as a definition for the emitter.  Either pull geo into the DOP network, or create geo.

Object Dops – are containers for DOP systems. For things like smoke sims they represent a voxel cube, for others like particle systems there’s no physical container, but it’s the node that stores the particle data. There’s lots of these:

  • popObject for particles
  • rbdObject for rigid bodies
  • wireObject for wire sims
  • groundPlane Object for a static infinite ground plane
  • staticObject to bring in collision geo

We can create an attribute velocity with TRAILS SOP and Visualize it with a vector marker.
Use @v (velocity )attribute to drive particle motion also known as particle advection

Velocity : can be an attribute  represented by a vector. Particles will inherit the velocity of the vector. Settings are under

POP color SOP : we can use this node to set a ramp over age for @Cd
Id of particles : this number won’t change over time so its very useful for grouping and selection streams
Attribute delete SOP : can help clean certain attributes before file cache . Set attribute delete and use


* ^v ^Cd
Asterix removes all attributes    ^ carrot sign keep selected

Create a file cache use FILE CACHE SOP
Load from disk.
Bake geo  

Point VOP SOP : can transform Cd attributes post simulation. Point VOP can be used to generate custom behavior for each point. Same as in VEX point wrangle

We can access the Alpha channel by a BIND EXPORT of the attribute.
On node input alpha ramp .
Output to BIND EXPORT attribute name “Alpha”  @alpha

Pop stream :

Pop groups:

Pop source attributes – Color from volume – attribute from volume.
We can use expressions to read attributes Like Cd of the volume and transfer it the Particles

RBD and POP  –  Create RBD from obj and turn on : use DOP objects in source tab.
Volume paint –   we can use this tool to create a fog volume in the area we want to source particles from.     We can make the fog stick to the geometry so the particles assume the motion of the sampled area

Sub frames and sub stepping is =   Accuracy   – flat sources need a bit of help  

Variance helps to correct regular pulsing  particles :   Positive jitter time = pre roll with initial velocity  –  Jitter birth time

Make sure we delete all particles with values 0< on $FF – 1 for they don’t exist yet

Interpolation source
front or back
Back –
Front –
Forward – 
Match topology  
Negative Birth time = better continuous force without banding .

Post solver and pre solver –   If calculations of particles happen pre solver it reads the values set on @age,@v,@Cd, +Forces and applies them before frame 1

Collisions  –
Source particles from point – The resolution of the SDF will determine the final resolution of the collision.
Collision detection – Uses a primitive to generate a signal that returns a value if Particles have collided with it.
POP replicate –   We can crate a group from the solver itself set to collision – particles turn red on collision  – We can send them to a group or stream. Use the group or stream to limit the POP Replicare or Use into the second input of the POP replicate. POP Replicate can create a “Just Born”. Group and place all replicated particles in it for later access.

Collision ignore – use stream to define where collision will happen. 
Filter = *(obj)

Instancing –

POP Instance – Creates an instance from particles to use. 
Particles get oriented with velocity “v@v” this must be changed.
And set orientation with the orient attribute”@orient” –
Quaternion Look At POP –   Define the target location and all particles look there
Maximum speed of turn = per second. We can use SPIN for a dynamic solution.
Drag coefficient – frictions

Buller RBD objects can be used with particles forces – since the implementation of the bullet packet object treats each object as a point and not as a DOP object. 


This is a unique website which will require a more modern browser to work!

Please upgrade today!