Houdini 21.0 Nodes Geometry nodes

MPM Collider geometry node

Defines VDB colliders to bounce or kill MPM material.

On this page
Since 20.5

Overview

The MPM Collider can define colliders to be used by the MPM Solver in the context of a MPM simulation. Only VDB colliders are supported. This node can create the VDB representation from a mesh or be provided with a VDB directly. It expects a reference or direct connection to a MPM Container to set the appropriate resolution of the created collider.

Tip

For very thin colliders, it is recommended to override the global resolution and activate the Enable Particle-Level Collisions option on the Advanced tab of the MPM Solver.

Inputs

Geometry to use as a Collider

Polygon mesh or VDB to use as a collider.

MPM Container

The MPM Container that defines the global resolution of the simulation.

Note

It is possible to skip this connection and provide a reference in the MPM Container parameter to avoid cluttering the network.

Parameters

MPM Container

Node reference to the MPM Container that defines the global resolution of the simulation.

Note

It is possible to skip this parameter and connect the MPM Container to the second input of this node directly if a wire connection is preferred.

Collider Type

The different types of VDB collider supported.

Static

Represented by a single VDB surface in memory throughout the simulation. It is sourced once and never changes. This is the most efficient collider type.

Animated (Rigid)

Represented by a single VDB along with a transformation matrix. Only the rigid transformation is updated per frame as the VDB surface never changes. It is the most efficient of the animated colliders and it is extremely accurate as the transformation is interpolated between frames for each substep.

Animated (Deforming)

Represented by a pair of surface and vel VDBs that must be updated on each frame. This should only be used over the Animated (Rigid) type when actual deformation is taking place. The fields are also interpolated between frames to yield better results which requires two pairs of VDB to be uploaded on the OpenCL device per frame.

Use Input Animation

Apply incoming animation to the generated VDB collider.

Move Pivot to Centroid

Moves the transformation pivot at the center of the collider. This will improve accuracy for colliders that are far away from the original.

Tip

In some cases, when using the Animated (Rigid) Collider Type, it might be better to keep this option off if you need rotation to be interpolated from an offset pivot.

For example, if you have a collider spinning around the origin in a circular fashion. Moving the pivot to the center of the collider will make the trajectory translation driven instead of rotation driven as the collider will be spinning on itself. The interpolated trajectory would no longer be circular in this case.

Segmentation

Partitions the incoming geometry such that each piece is treated as its own VDB collider.

None

The geometry is treated as a whole and will result in a single VDB collider.

Name Attribute

The name attribute is used to partition the geometry and generate multiple VDB colliders.

3D Connectivity

3D connectivity is used to partition the geometry and generate multiple VDB colliders.

Collision Response

Defines how the collider will affect the dynamic object on contact.

Bounce

Bounce or stop the dynamic object depending on its material description.

Delete

Delete dynamic object’s points.

Tip

This can be used to dynamically cut the dynamic object as the simulation runs without resistance.

Reference Frame

Defines the frame to represent the collider at rest in the context of Static and Transformed types.

Activation

Defines if the collider should be considered or ignored.

Geometry

Create VDB from Polygons

Allows the creation of the VDB inside the node.

Voxel Size

The voxel width of the VDB.

Exterior Band Voxels

The width of the exterior (distance >= 0) portion of the narrow band.

Expand to Cover Velocity

Expands the activation of both the surface and vel grid to cover the distance traveled between two frames. This ensures that enough voxels are activated to perform accurate interpolations of the grids during substeps.

Fill Interior

Fills the inside of the VDB surface for more accurate collision detection.

Invert SDF

Inverts the sign of the VDB surface to simulate the dynamic object trapped inside the collider.

Velocity

Compute Velocity

Allows internal velocity computation for animated meshes.

Frame Sample

Frame offset used for computing point velocities from deformation.

Note

If Velocity Approximation is set to Central Difference, the geometries used are offset forward and backward by Frame Sample.

Velocity Voxel Scale

Multiplies the Voxel Size to define the resolution of the vel grid. A value of 2 will generate a grid with 8 times less voxels.

Material

Friction

Amount of friction applied from the collider to the dynamic object in contact.

Create VDB from Attribute

Creates a friction grid based on the friction point attribute found on the geometry. This allows you to vary the friction per voxel.

Sticky

Allows projection of the dynamic object’s velocity even when moving away from the collider surface. This prevents the dynamic object from detaching from the collider, making it sticky if friction is high enough. If the dot product between the collider’s normal vector and the relative velocity of the dynamic object is smaller than this value, its relative velocity gets projected onto the collider surface.

Create VDB from Attribute

Creates a sticky grid based on the sticky point attribute found on the geometry. This allows you to vary the stickiness per voxel.

Visualize

VDB

Displays the different generated grids to inspect their values.

Trail Velocity

Visualize of deforming colliders' velocity field.

Trail Count

The amount of points to trail through the velocity field.

Friction Min / Max

Remaps the friction range from [min, max] to fit the range of the color ramp.

Sticky Min / Max

Remaps the sticky range from [min, max] to fit the range of the color ramp.

See also

Geometry nodes