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.
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 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
front or back
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
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)
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.