The Vellum Configure Grain SOP configures the incoming geometry to be solved as grains or fluid in the Vellum Solver system. The two main options are either to convert the incoming geometry into points by treating it as a volume and filling it with grains or fluid particles; or tag existing points on the input to have grain-like behavior.
Grains and fluid often require more substeps than other Vellum constraint types. It is recommended any attached Vellum solver be raised to at least 5 substeps for stability.
For more control over filling a volume with grains, look at the Grain Source node.
Create Points from Volume
Treat the incoming geometry as a closed volume and fill it with points. These points are then configured as grains or fluid, according to the Type parameter.
The subset of incoming points to configure for grain-like interaction.
In case the group is named or numeric, this can disambiguate what type of group it is.
Use Convex Hull
Create points inside the convex hull of the input geometry.
Controls the method used for creating points. Regular Grid creates a regular grid of particles that can be jittered with Jitter Scale. Sphere Packing scatters points within the volume and adjusts their positions to avoid overlap.
The type of particle to create: Grain or Fluid.
Diameter of the particles. The
pscale attribute will be set to
one half this.
Allows for over packing of the input geometry. Increasing this value helps fill the volume completely with Fluid particles. However, Grain particles might be packed too close together for values over 1, causing an initial expansion during the simulation.
Controls jittering of point positions.
Because relaxation can never accurately separate all particles, note
that the final
pscale will be reduced to minimize overlap.
If a uniform lattice of points is being built, then the surface layer will exhibit terracing as points cross the boundary. This dithers the points, comparing the distance to the cut-off threshold with a random number to see if the point should be kept. This causes points to be kept outside of the threshold, as it expands half a grid scale in both directions. Turning this on will result in a more randomized surface layer.
Often an object has one face that is free, and the other faces are constrained by collisions. If you don’t want to dither the colliding faces (as particles may be generated outside of the collision range, or holes made that will collapse) you can use this normal and the angle to specify which regions of the source are available for dithering. The geometric normal of the SDF built from the surface is used, not any normal attribute on the incoming geometry.
How many degrees away from the dither normal is eligible for dithering. Setting this value to 180 will cause all faces to be dithered.
The crossing point of the SDF values that is considered the surface.
Max Radius Scale
The largest sphere can be larger than the Particle Size up to this specified scale. Note that enabling this parameter can create non-uniform radius particles.
At least this many spheres must be generated. Note that three particles are required to get plausible rotations in a simulation.
No more than this number of spheres are generated.
Maximum number of interior points to consider for the sphere placement.
When enabled, spheres will be allowed to overlap/intersect.
The method used for computing particle mass. Set Uniform will set all particles to the specified mass. Calculate Uniform will compute the particle mass based on the Density parameter.
The density of the material used for computing particle mass when Mass is set to Calculate Uniform.
When Type is set to Fluid, identifies the phase of the fluid. Fluids set to different phases will solve for viscosity and surface tension separately, giving the appearance of separate fluids.
viscosity point attribute, which acts as a multiplier on the Viscosity parameter on the Vellum Solver.
surfacetension point attribute, which acts as a multiplier on the Surface Tension parameter on the Vellum Solver.
friction point attribute, which acts as a multiplier on the Friction parameter on the Vellum Solver.
dynamicfriction point attribute, which acts as a multiplier on the Dynamic Friction parameter on the Vellum Solver.
attractionweight point attribute, which acts as a multiplier on the Attraction Weight parameter on the Vellum Solver.
replusionweight point attribute, which acts as a multiplier on the Replusion Weight parameter on the Vellum Solver.
Split the object into disjoint pieces when generating particles.
This integer or string attribute’s unique values are used to define each piece.
Connectivity of the input geometry is used to define the pieces.
Transfer Piece Attribute
When Define Pieces is enabled, output the source piece attribute to each generated particle.
Display as Spheres
Adds a detail attribute so the grains will display as lit spheres in the viewport.
Add Sprite Material
Adds a sprite material so the grains will display as spheres in the viewport.
Show All Points
Points that are attached to primitives do not draw their sprites by default. This will cause them to still draw the sprite, useful if combining two constraint types within the same point.