The PhysX Shape operator allows you to convert particles into PhysX rigidbodies.
Box: a bounding box hull.
Compound: a compound hull composed of multiple convex sub-hulls.
Convex Hull: a convex hull encapsulating particle shape mesh vertices.
Mesh: the particle’s shape mesh will be used as the hull.
Sphere: a perfectly spherical hull.
Dynamic mesh hulls are not supported. Particle rigidbodies with a mesh hull will be set to kinematic. If you need to simulate dynamic concave rigidbodies with accurate collisions, use a compound hull instead.
Compound sub-hulls can be composed of convex hulls placed around mesh elements, or sphere/cube voxels generated inside the mesh.
Voxel mode extracts uniform voxels from the mesh and converts those voxels into sub-hulls.
Using ‘world space voxelization’ ensures that all generated voxels across all particles will fit tightly into the same world-space grid. When this mode is disabled, voxels generated inside particle meshes will be relative to the particle’s scale/transform. It is a good idea to enable this mode when you are generating voxels for fractured geometry, as it prevents voxel overlap between fractures.
Voxel size: the size of the grid that will be used to generate voxels. This size is relative to particle scale when “world space voxelization” is disabled.
Voxel accuracy: the number of rays to cast during inside/outside tests during voxelization.
Min dist from surface: voxels within this distance to the source mesh will be culled.
Min voxels: The minimum number of voxel sub-hulls a mesh must generate in order to retain its compound PhysX shape. Meshes that generate fewer than this many voxels will be switched to convex hull mode.
Max voxels: the maximum number of voxel sub-hulls a mesh may generate. Meshes which generate more than this number of sub-hulls (based on the voxel size parameter) will have random hulls culled until the total number of hulls is equal to or below this value.
Clear interior voxels: when enabled, voxels encapsulated by other voxels will be culled. Enabling this setting can drastically reduce total voxel sub-hull count on meshes with large interior spaces.
Only if fully encapsulated: when enabled, voxels will only be culled if they are surrounded by other voxels in all possible directions (26 surrounding neighbor voxels). When disabled, voxels will only be culled if they are surrounded by other voxels in all cardinal directions (6 surrounding neighbor voxels).
Grid slice mode slices the mesh along each of its bounding box axes, and converts the resulting cube-shaped slices into sub-hulls.
Sphere Override: Forces spherical hulls for particles with a radius below a certain threshold.
Max Radius: the radius threshold.
Box Override: Forces bounding box hulls for particles with a radius below a certain threshold.
Max Radius: the radius threshold.
Fit Bounding Box: controls whether spherical hulls will encapsulate the bounding box of the particle’s shape mesh.
Size Mult: the size multiplier for the hull.
Min radius: the minimum radius constraint on spherical hulls.
Min Length/Width/Height: minimum dimension constraints on box hulls.
Restitution: the restitution coefficient for the rigidbody. Similar to “bounce”.
Static/Dynamic friction: friction coefficients for the rigidbody.
Override: controls whether particle masses will be overridden by this operator.
Value: the desired mass value.
Relative to volume: controls whether assigned mass values will be relative to particle shape volume.
Target volume: the target volume that particle volumes will be compared to, when assigning mass values.
Exponent: the exponent that particle volume ratios will be raised to. Larger exponent values will increase the mass disparity between large and small volumes.
Min Value: the minimum allowed mass value.
Max Value: the maximum allowed mass value.
Angular Damping: the amount of damping to apply to angular (spin) forces acting on rigidbodies.
Linear Damping: the amount of damping to apply to linear (movement) forces acting on rigidbodies.
“Damping” is an effect which reduces the strength of forces over time. Increasing these values will cause particles to spin/move slower over time.
Impulse: the maximum impulse (collision) velocity limit for rigidbodies.
Angular: the maximum angular (spin) velocity limit for rigidbodies.
Exit: the maximum exit (penetration correction) velocity limit for rigidbodies.
Decreasing these values can help prevent jittering and explosive forces that develop as the result of interpenetrations between rigidbodies.
Position X/Y/Z: per-axis position locks on rigidbodies.
Rotation X/Y/Z: per-axis rotation locks on rigidbodies.
Penetration offset: the maximum distance that rigidbodies are allowed to penetrate each other.
Contact sensitivity: the maximum inflation distance for rigidbody contact detection.
Only Collide With: controls whether rigidbodies will only be able to collide with certain simulation groups.
Simulation groups: controls which particle simulation groups will be used to filter collisions.
Process all penetrations: all penetrations will be processed normally.
Ignore starting penetrations: starting penetrations will be ignored completely. Rigidbodies that are interpenetrating on their starting frame will fall through each other.
Sticky starting penetrations: starting penetrations will not be ignored, but no impulse or exit velocities will be added and friction between colliding bodies will be maximized. This ‘sticks’ the rigidbodies together to some extent, preventing them from falling through each other but also preventing them from exploding apart.
The ignore/sticky modes do not work well with the TGS solver.
When “sticky starting penetrations” is enabled, inter-penetrating particles may slowly sink through each other under the force of gravity. Increasing PhysX solver steps and pos/vel iterations in the PhysX rollout of your tyFlow object can help prevent this.
Exclude ground collider: starting penetrations with the ground collider will not be ignored or sticky.
Exclude collider objects: starting penetrations with collider objects added to a PhysX Collision operator will not be ignored or sticky.
Penetration resolution between initially-interpenetrating rigidbodies will resume once the rigidbodies fully separate.