Boolean operator

The Boolean operator allows you to perform boolean operations on particle shape meshes.


Boolean rollout

Engine

  • CUDA acceleration: when enabled, allows boolean operations to be accelerated with a GPU (tyFlow PRO only).

Operation

  • Intersect: computes the intersection between operand A and B as the resulting mesh.

  • Merge: subdivides all intersecting faces of operand A and B and generates fully connected meshes as the result.

  • Self-merge: subdivides all intersecting faces of operand A and generates fully connected meshes as the result.

  • Self-union: subdivides all intersecting faces of operand A, removing interior faces in the process, and generates fully connected meshes as the result.

  • Slice (surface): uses operand B as a thin-shell cutting surface for operand A, without preserving the volume of operand A.

  • Slice (volume): uses operand B as a thin-shell cutting surface for operand A, while also preserving the volume of operand A.

The slice modes are most applicable to mesh fracturing. They can be used to split meshes into multiple parts using thin cutting surfaces of any shape.

  • Subtract (surface): subtracts operand B from A, without preserving the volume of operand A.

  • Subtract (volume): subtracts operand B from A, while also preserving the volume of operand A.

  • Union: subdivides all intersecting faces of operand A and B, removing interior faces in the process, and generates fully connected meshes as the result.

Operand B

  • Object operands: when enabled, objects added to the object list will be added to operand B in the boolean operation.

  • Particle operands: when enabled, particles satisfying the filtering criteria in the Particle operands rollout will be add to operand B in the boolean operation.

Material ID

  • Override material ID: when enabled, faces originating from operand B meshes will be assigned the specified material ID override.

Settings

Face classification

  • Raycast: when selected, a raycast-based face classification method will run during the operation, to classify faces as either inside or outside of operands. For closed meshes, this is very accurate. For open meshes, this method can produce artifacts.

  • Fast winding number: when selected, a fast winding number face classification method will run during the operation, to classify faces as either inside or outside of operands. This offers more accuracy than the raycast method when meshes contain holes and open edges (at the cost of some performance). This method does not track nested elements, and is not suitable for situations where meshes are meant to have interior, nested cavities.


  • Process open surfaces: when enabled, open surfaces (which normally cause problems for various boolean operations) will be treated as thin shells, alleviating those problems in the process.

  • Preserve normals: when enabled, the explicit normals of input meshes will be preserved in the resulting output mesh.

  • Resolve self-intersections: controls whether self-intersections of input operands will be processed during the intersection-resolution phase of the operation.

  • Coplanar tris -> polys: controls whether groups of adjacent, coplanar triangles in the resulting mesh will be converted into polygons (have their shared edges hidden).


Object operands Rollout

  • Object list: the list of objects that will be added to operand B in each boolean operation.

Particle operands Rollout

Particles satisfying the filtering criteria in this rollout will be added to operand B in each boolean operation.

Events

  • All events: all particles in the flow will be operand B candidates.

  • This event only: only other particles in the event will be operand B candidates.

  • Exclude this event: only other particles in other events will be operand B candidates.

Family

  • Only include siblings/non-siblings: controls whether operand B candidates will be filtered by their familial relationships.

Simulation Groups

  • Simulation groups: controls which particle simulation groups will be targeted.

Clusters

  • Enable clustering: controls whether operand B candidates will be determined by cluster values.

  • Channel: the particle data channel to get cluster values from.

  • Cluster if equal: operand B candidates must have equal cluster values.

  • Cluster if equal: operand B candidates must have unequal cluster values.