Particles Suboperator

The Particles suboperator lets you derive a specific property for each particle, typically with respect to particles in its vicinity, such as the index of the particle closest to it within a spherical volume around the particle, or within a particular field of view. You can set the volume or field of view explicitly or input it from other suboperators.

The suboperator can work on the whole flow or particles from another particle flow, known as proxy particles.

Interface

Output Type
This read-only field displays the data type of the active item in the Aggregated Property drop-down list. The data type for each property is shown in the description, following.

Aggregated Property group

Aggregated Property
Choose the property to be aggregated from particles:
  • Closest Particle Distance The distance to the closest particle in the surrounding sphere. Data type=Real.
  • Closest Particle Index The ID number of the closest particle in the surrounding sphere. Data type=Integer.
  • Closest Particle Position The position of the closest particle in the surrounding sphere, in world coordinates. Data type=Vector.
  • Density The density of particles in the surrounding sphere measured in particles per cubic unit. Data type=Real.
  • Density Gradient The direction of the greatest change in particle density in the surrounding sphere. The length of the output vector indicates the slope, or rapidity, of the change in density. Data type=Vector.
  • Number of Neighbors The number of particles in the surrounding sphere. Data type=Integer or Real.
  • Number of Particles The number of particles in the current event or in proxy particle systems. Data type=Integer.

    Using this option makes most other Particles controls unavailable.

  • Prevalent Custom Data The average value of a custom data channel for particles in the surrounding sphere. Specify the custom channel with the Data Channel For Prevalent button (described below). The data type can only be types that make sense for averaging: Real and Vector. If you have a different data type that you would like to use for querying prevalent data, you must convert it to Real or Vector first.
  • Prevalent Speed The average speed of the particles in the surrounding sphere. Data type= Vector.
Approx. Closest Search
When on, speeds up aggregation at the cost of precision. Available only with Closest Particle Distance, Closest Particle Index, and Closest Particle Position. Turn this on with very large quantities of particles. Default=Off.
Use O1 As Proxy Particles
When on, adds an Object-data input to the Particles suboperator. You can connect a particle flow from the Select Object suboperator to this input. The proxy particles are used for property aggregation. Default=on.
Use Filter For Proxies
Lets you input a Boolean data channel from a different operator to use as a filter. For example, you use this to restrict the particles to a single event. Use the Filter Data Channel button to specify the filter channel. Available only when Use O1 as Proxy Particles is on.
Apply Double Filtering
When off, aggregation is done for filtered particles with respect to all particles in the current flow. When on, aggregation is done for filtered particles with respect only to the filtered particles. Available only when Use O1 as Proxy Particles is off.
Filter Data Channel
Lets you specify a data channel for filtering proxy particles. Available only when Use Filter For Proxies is active.

Vicinity Radii and FOV group

Outer
The maximum distance from the particle within which particles are considered for aggregation. Unless you use Core as well (see following), weighting is always constant throughout this volume.
R2
When on, lets you specify the Outer radius value by wiring a suboperator that outputs real-format data to the #2 input of the Particles suboperator.
Core
When on, greater priority is given to particles inside this radius. Inside the core radius, all particles are weighted 1.0 (100%). Outside the core radius, weighting falls off linearly to 0.0 at the Outer radius. For best results, this value should be less than Outer Radius value. Available only with the Density, Number of Neighbors, and Prevalent Custom Value/Speed properties.
R3
When on, lets you specify the Core radius value by wiring a suboperator that outputs real-format data to the #3 input of the Particles suboperator.
Field of View
Lets you limit aggregation to particles within the volume of a cone whose tip, by default, is at the location of the particle being processed. By default, the value is 360.0, which specifies that all particles within a spherical volume are aggregated. To aggregate only particles within a hemisphere, set this to 180.0. For a quarter-sphere, use 90.0 (etc.). Use the FOV Axis parameters (see following) to set the direction of the field of vision.
R4
Lets you specify the Field of View value by wiring a suboperator that outputs real-format data to the #4 input of the Particles suboperator.
Use Speed As FOV Axis
Sets the direction of the field of view to the direction in which particle is moving ("in front").
Use V5 As FOV Axis
Lets you specify the field of view direction by wiring a suboperator that outputs vector-format data to the #5 input of the Particles suboperator. For example, for looking behind, use an Input Standard suboperator set to Speed: Vector, and feed it through a Function suboperator with Type=Vector, Pre-Factor or Post-Factor=-1.0, and Use Second Operand=off).
Use V6 As Position
By default, the origin of the field of view is the position of the particle being processed. This option lets you specify a different position value by wiring a suboperator that outputs vector-format data to the #6 input of the Particles suboperator, thus allowing you to find aggregated properties for a point other than the current particle position.
Use Custom Particle Weight
Use this option if you need weighting values other than those defined by the Proximity/Core Radius settings. Available only for the following Aggregated Property options: Density, Density Gradient, Number Of Neighbors, Prevalent Custom Data, and Prevalent Speed.

For example, the Density option accounts only for the number of particles. Say you have different-size particles in the system and you want to calculate density taking particle mass into account, not just quantities. Create an additional channel that calculates the mass as the cube of particle size, and use that as weight data channel.

Weight Data Channel
Lets you specify a data channel for defining custom particle weights. Available only when Use Custom Particle Weight is active.
Data Channel For Prevalent
Lets you specify a data channel for defining custom data for aggregation. Available only when Aggregated Property=Prevalent Custom Data.
Search Optimization
Speeds up aggregation at the cost of memory. Turn on with large quantities of particles. Turn off to save memory with small quantities of particles. Default=on.