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.
Enable “split elements” in combination with “voxelize only if concave” in order to voxelize only concave elements of a multi-element mesh.
Voxelize only if concave: when enabled, only meshes whose concavity surpasses a specified threshold will be voxelized (if the threshold is not passed, the mesh will receive a simpler convex hull).
Threshold: the specified concavity threshold.
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.
Slice length: the length of a slice, in particle-space coordinates. The number of times a mesh is subdivided will be dependent on the number of times the extents of each axis of its bounding box is divisible by this value. Larger particles will therefore be sliced more than smaller particles.
Max grid slices: the maximum number of times a grid slice will occur along a given axis.
Normalize slice lengths: when enabled, slice lengths will be adjusted for each bounding box axis, so that resulting slices will be more (roughly) cube-shaped.
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. Increasing these values reduces slippage between rigidbodies.
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.
Split compound colliders: when enabled, the individual sub-colliders of compound colliders will be tracked to determine their sticky status. When disabled, compound colliders as a whole will be tracked.
Previously, sub-colliders of compound colliders (the individual meshes that compose the whole compound collider) all had their penetrations tracked individually. This meant that if one sub-collider of a compound collider was touching another collider at the start frame, only that sub-collider would be marked as penetrating. This has the benefit of potentially preventing overall compound colliders from further penetrating neighbor colliders when they are pushed into each other, because only a subset of their sub-colliders would be sticky (the rest would collide normally). However, due to the physically-inaccurate way that sticky penetrations are calculated, this can lead to greater simulation instability - especially in situations where compound colliders are very dense (users might have noticed that piles of sticky compound colliders would pop or shift over time). Disabling “split compound colliders” does not perform any sub-colliding processing - if a single sub-collider of a compound collider is touching another collider at the start frame, the entire compound collider as a whole is treated as having a starting penetration with that other collider. Because this improves simulation stability, “split compound colliders” is off by default, but can be enabled to restore legacy behavior.
Penetration resolution between initially-interpenetrating rigidbodies will resume once the rigidbodies fully separate.