On this page

All of the tools on the Grains shelf tab (other than RBD Grains) create a network with a Grains Source SOP and a POP Grains DOP.

Grain Source SOP

  • The Grains Source node converts geometry into points ready for the sand solver. For solid filling, the default is a close packing or particles, which creates a crystalline pattern. Jitter Scale can be used to undo this, but this will result in an under-use of the volume and the grains will settle. They will also be made slightly smaller than the point separation in order to fit.

  • Packing Density is used to pack grains closely together. This is useful when using explicit constraints since collisions don’t occur between particles with explicit constraints. However, if you are planning on breaking the particles apart, this should be no higher than one because they will gain significant energy when they detach.

  • Uniform Radius allows a per-particle variety in sizes. This has a speed cost and it is essential the grains solver reflects this.

POP Grains DOP

  • The POP Grains node integrates the particles as grains. This hijacks the normal POP integration for the particles in the stream.

  • All forces will work as expected, so normal POPs can be used.


    Grain particles will collide with normal POPs.

  • POP Grains takes a stream so you can have a subset of particles act as grains, or activate them over time.

  • The key parameter to play with is Constraint Iterations. This will control how many particles high you want the pile to be. This is set relatively low by default for speed purposes.

  • Buried in the Solver tab is the Use OpenCL toggle. This may make things really fast, but only supports a subset of features. The OpenCL code path operates on all PBD particles, not just the ones in this stream, which is only an issue if you have more than one POP Grains node in your network.

  • Uniform Radius must match the settings in the Grains Source node.


Getting Started

Next Steps