collider
Colliders are obstacles to the flow of a Bifrost simulation. You can use them to form a barrier around which smoke must flow, or create a basin that prevents particles from falling away under gravity. Colliders can be animated to create various effects.
To use this node, plug its output into the colliders
input of a simulate node like simulate_aero
, simulate_particles
, or simulate_mpm
.
Inputs
geometry
Connect one or more geometric objects to act as obstacles. These can be points objects, meshes, or volumes.
General
These settings apply to all methods.
enable
Turn off to disable collisions.
method
Whether collisions are based on volumes or meshes.
Automatic
: Uses volume-based collisions for aero and combustion simulations, and mesh-based collisions for particles and MPM simulations.Volume
: Can be used for aero, combustion, and particle simulations. Input meshes are automatically converted to volumes. Input volumes must have a level set (voxel_signed_distance
).Mesh_For_Points
: Can be used for particles and MPM simulations. Input volumes are not supported with this method.
start_frame
The first frame on which collisions occur.
use_end_frame
Stops collisions on the specified end_frame
.
end_frame
The last frame of the simulation.
Common Properties
These settings apply to both volume-based and mesh-based collisions.
detail_size
The size of the smallest resolvable detail in the simulation.
offset
The distance from the geometry surface for collisions, in world-space units. Positive values push the collision surface outwards, and negative values shrink it. However, note that negative values are not supported for mesh-based particle collisions.
inherit_velocity
The proportion of the collider geometries' animated motion that is transferred on collision. A value of 0.0 means no inheritance. This feature is not supported for mesh-based particle collisions.
velocity_estimate
The method used to estimate the point_velocity
for animated mesh-based colliders:
None
: No point velocity is added.FiniteDifference
: The point velocity is calculated as the difference in point positions divided by the time step.AbsoluteOrientation
: The point velocity is calculated by finding the closed-form rigid transformation between the point positions. If no such rigid transformation exists, useFiniteDifference
instead.
Volume Collider Properties
These settings apply to volume-based collisions.
resolution_mode
The method for determining volume resolution:
Absolute
:detail_size
is in world-space units.Relative
:detail_size
is relative to the size of the collision geometry.
geo_mode
Defines how the input mesh is converted into a volume.
Solid
: The resulting volume represents the solid interior of the input mesh.Shell
: The resulting volume represents the thickened surface of the mesh only.
min_hole_radius
If positive, enables a solid voxelization mode that is robust to self-intersections and small holes.
In this mode, gaps and holes with a radius smaller than min_hole_radius
will be bridged.
Note, in Shell
mode this does nothing.
optimal_adaptivity
If enabled then planar and smooth regions are voxelized more coarsely.
refine_nearby_fluids
If this is enabled high resolution is used near this collider.
display_diagnostic
Whether to display of the colliders.
Mesh Collider Properties
These settings apply to mesh-based collisions.
bounciness
The proportion of velocity normal to the collision surface that gets reflected on collision. This affects, for example, how high particles bounce after hitting the ground. The final value is a combination of the bounciness
set on the particles and the collider. If both values are 1.0, particles rebound completely and if both values are 0.0, particles do not bounce at all.
friction
The proportion of velocity along the collision surface that is lost on collision. For example if this value is 1.0, particles hitting the ground will not roll and if it is 0.0, particles will roll without slowing down.
roughness
Varies the angle of reflection to emulate collisions on a rough surface. A value of 0.0 represents a perfectly smooth surface.
stickiness
Controls how much particles will adhere or "stick" to the collider. The more stickiness, the more the relative velocity of the particle is reduced, and thus the more it sticks. Stickiness is applied after friction
and bounciness
.
Outputs
collider
An array of collider geometric objects that act as obstacles