Houdini 22.0 Nodes Geometry nodes

RBD Configure geometry node

Packs and creates attributes describing rigid body objects.

On this page
Since 18.0

This SOP packs the input geometry and proxy geometry if unpacked, and creates attributes on the simulation geometry (the geometry if no proxy geometry available) to drive the Bullet Packed objects that they represent.

RBD Configure SOP

The RBD Configure SOP lets you set up properties individually for different sets of RBD objects. The Group parameter allows you to select a group of pieces (such as wood pieces) and set up whether they're Active, Animated, Deforming, or Sleeping. It also lets you set up what type of collision shape they should use, how much collision padding there should be, any speed limitations etc.

The Physical Attributes controls are very useful, as there are many predefined density, friction, and bounce settings for different material types. For example, if your material Type is Wood , you can choose between: Balsa Wood, Beech, Birch, Cedar, Mahogany, Maple, Oak, Pine, or Plywood. This will automatically fill in the appropriate Density, Friction, and Bounce coefficients that you would get from engineering textbooks, which will give you a head start on getting results that are physically realistic to go along with the fracturing methods.

There are also many Visualization options for the properties you're setting up. For example, if you're setting up which pieces are active, you can choose to visualize the Active pieces. You can also change the Bounding Type to Bounding Box and enable the Use Bounds option to manually control which pieces are active or not using a bounding box in the viewport.

There’s also a built in Exploded Scale parameter at the top of the viewport for exploding outwards for a more detailed visualization.

Note

You could alternatively use your own bounding geometry by connecting it to the 4th input of this node.

Note

It is recommended to use this SOP at the bottom of the node chain as once the geometry is packed, edits to the geometry and proxy geometry are no longer possible without first unpacking.

Note

While groups are promoted to the packed geometry, inside and outside groups are omitted as these typically do not encompass the entire pieces' geometry and will yield incorrect results when promoted.

Groups and attributes are preserved and available when unpacking the geometry.

Parameters

Visualization

Visualize

None

No visualization.

Active

Any objects which are Active are highlighted in green.

Animated

Any objects which are Animated are highlighted in red, and otherwise are highlighted in blue.

Deforming

Any objects which are Deforming are highlighted in red, and otherwise are highlighted in blue.

Sleeping

Any objects which are Sleeping are highlighted in red, and otherwise are highlighted in blue.

Bounce

A histogram is displayed showing the range of Bounce values and the corresponding colors on the geometry.

Density

A histogram is displayed showing the range of Density values and the corresponding colors on the geometry.

Friction

A histogram is displayed showing the range of Friction values and the corresponding colors on the geometry.

Rotational Stiffness

A histogram is displayed showing the range of Rotational Stiffness values and the corresponding colors on the geometry.

Pinned

Any objects for which Pin is enabled are highlighted in red, and otherwise are highlighted in blue.

Exploded Scale

The amount to expand the visualized pieces. Each piece is moved proportionally to its distance to the center. A value of 1 will approximately double the size of the object.

Units

Unit Mass (kg)

The intended mass scale for applying density.

Unit Length (m)

The intended length scale for applying density.

Bounds

Bounding Type

Shape of bounding volume.

Size

Size of bounding volume.

Center

Center of bounding volume.

Rotation

Rotation of bounding volume.

Attributes

Name Prefix

When the input geometry is unpacked and has no name attribute, use this name prefix to identify various pieces and pack them.

Transfer Simulation Attributes

Specifies a list of attributes to transfer to the packed proxy geometry - if no proxy geometry is plugged in, these will be transferred to the render geometry used for simulations.

Transfer Simulation Attributes

Specifies a list of attributes to transfer to the packed render geometry.

Attributes

Attributes can be set on a subset of the incoming geometry using the Group parameter. This allows to set various attribute values to different subsets of the geometry with a single node.

Create Path Attribute

Specifies whether a path attribute is added to the packed primitives.

Path Attribute

The path attribute value assigned to the newly created packed primitive. If this field is disabled or left blank, no path attribute will be created.

Create Packed Fragments

When disabled, creates packed geometry instead of packed fragments. When emitting RBDs, packed geometry will perform better than packed fragments.

Group

The primitives in the simulation geometry to edit attributes for.

Bullet Data

Add Active

Configures the Active property for the primitives in the Group.

Active

Specifies whether the object is able to react to other objects in the simulation.

This configures the active point attribute on the simulation geometry.

Use Bounds

Applies the Active property to primitives within the specifies bounds. Primitives outside the bounds will be set to the inverse value.

Add Animated

Configures the Animated property for the primitives in the Group.

Animated

Specifies whether the object’s transform should be updated from its SOP geometry at each timestep while the object is not Active.

This configures the animated point attribute on the simulation geometry.

Add Deforming

Configures the Deforming property for the primitives in the Group.

Deforming

Specifies whether the object’s collision shape should be rebuilt from its SOP geometry at each timestep.

This configures the deforming point attribute on the simulation geometry.

Add Sleeping

Configures the Sleeping property for the primitives in the Group.

Sleeping

Specifies whether the object is considered asleep by the solver. The solver can automatically put objects to sleep after the object and any nearby / constrained objects have been below the Sleep Linear Threshold and Sleep Angular Threshold for a period of time. Manually adjusting the sleeping state can be useful to, for example, have objects initially asleep at the start of the simulation.

This configures the bullet_sleeping point attribute on the simulation geometry.

Add Enable Sleeping

Configures the Enable Sleeping property for the primitives in the Group.

Enable Sleeping

Specifies whether the solver is allowed to automatically mark the object as Sleeping.

This configures the bullet_want_deactivate point attribute on the simulation geometry.

Add Sleep Linear Threshold

Configures the Sleep Linear Threshold property for the primitives in the Group.

Sleep Linear Threshold

The sleeping threshold for the object’s linear velocity. If the object’s linear speed is below this threshold for a period of time, the object may be treated as non-moving.

This configures the bullet_linear_sleep_threshold point attribute on the simulation geometry.

Add Sleep Angular Threshold

Configures the Sleep Angular Threshold property for the primitives in the Group.

Sleep Angular Threshold

The sleeping threshold for the object’s angular velocity. If the object’s angular speed is below this threshold for a period of time, the object may be treated as non-moving.

This configures the bullet_angular_sleep_threshold point attribute on the simulation geometry.

Add Geometry Representation

Configures the Geometry Representation property for the primitives in the Group.

Geometry Representation

Specifies the collision shape used to represent the object.

This configures the bullet_georep point attribute on the simulation geometry.

Convex Hull

The default shape for the object. The Bullet Solver creates a collision shape from the convex hull of the geometry points.

Concave

The Bullet Solver converts the geometry to polygons and creates a concave collision shape from the resulting triangles. This shape is useful when simulating concave objects such as a torus or a hollow tube. However, it is recommended to only use the concave representation when necessary, since the convex hull representation typically provides better performance.

Box

The bounding box of the object.

Capsule

The bounding capsule of the object.

Cylinder

The bounding cylinder of the object.

Compound

Creates a complex shape consisting of Bullet primitives (including boxes, spheres, and cylinders). You will need to use the Bake ODE SOP.

Sphere

The bounding sphere of the object.

Plane

A static ground plane.

Add Collision Padding

Configures the Collision Padding property for the primitives in the Group.

Collision Padding

A padding distance between shapes, which is used by the Bullet engine to improve the reliability and performance of the collision detection. You may need to scale this value depending on the scale of your scene. This padding increases the size of the collision shape, so it is recommended to also configure the Shrink Amount to prevent the collision shape from growing.

This configures the bullet_collision_margin point attribute on the simulation geometry.

Add Shrink Amount

Configures the Shrink Amount property for the primitives in the Group.

Shrink Amount

When turned on, shrinks the collision geometry to prevent the Collision Padding from increasing the effective size of the object.

This configures the bullet_shrink_amount point attribute on the simulation geometry.

Add Collision Group

Configures the Collision Group property for the primitives in the Group.

Collision Group

Specifies the name of a collision group that this object belongs to. This can be used by the Collision Ignore pattern to ignore collisions against specific groups of objects.

This configures the collisiongroup point attribute on the simulation geometry.

Add Collision Ignore

Configures the Collision Ignore property for the primitives in the Group.

Collision Ignore

The object will not collide against any objects and Collision Groups that match this pattern.

This configures the collisionignore point attribute on the simulation geometry.

Min Activation Impulse

The minimum impulse from a collision that will cause the object to switch from inactive to active. The activation occurs at the instant that the collision occurs. The activationignore attribute can be used to prevent the object from being activated by collisions with particular objects.

Activation Ignore

If Min Activation Impulse is enabled, collisions against any objects which match this pattern will not cause the object to be activated. The pattern uses the same syntax as Collision Ignore.

This configures the activationignore point attribute on the simulation geometry.

Add Allow Initial Overlap

If enabled, the Allow Initial Overlap setting is applied to the objects in the group.

Allow Initial Overlap

When the solver sees an object for the first time, it checks whether that object is initially overlapping with any other objects in the simulation and prevents any such pairs of objects from being forced apart. If this is disabled, initially overlapping objects will be moved apart to resolve the collisions.

Tip

To resolve collisions between initially overlapping objects without adding velocity, ensure that Split Impulse is enabled on the Bullet solver and set the Penetration Threshold to 0.

Min Sticky Collision Impulse

The minimum impulse from a collision that will cause this object to stick to another object. This value must be greater or equal to 0 for the objects to stick.

This configures the minstickycollisionimpulse point attribute on the simulation geometry.

Max Sticky Collision Objects

The maximum number of other objects that this object can be stuck to. A value less than or equal to 0 allows this object to be stuck to any number of other objects.

This configures the maxstickycollisionobjects point attribute on the simulation geometry.

Max Sticky Collision Points

The maximum number of anchor points (constraints) that can be used to stick this object to another object.

This configures the maxstickycollisionpoints point attribute on the simulation geometry.

Sticky Collision Ignore

Sticky collisions will not occur when colliding with any objects that match this pattern. The pattern uses the same syntax as Collision Ignore.

This configures the stickycollisionignore point attribute on the simulation geometry.

Add Speed Min

Configures the Speed Min property for the primitives in the Group.

Speed Min

The slowest speed (in units/second) that an object can move. This does not affect stationary objects.

This configures the speedmin point attribute on the simulation geometry.

Add Speed Max

Configures the Speed Max property for the primitives in the Group.

Speed Max

The fastest speed (in units/second) that an object can move.

This configures the speedmax point attribute on the simulation geometry.

Add Spin Min

Configures the Spin Min property for the primitives in the Group.

Spin Min

The slowest speed (in radians/second) that an object can rotate. This does not affect non-spinning objects.

This configures the spinmin point attribute on the simulation geometry.

Add Spin Max

Configures the Spin Max property for the primitives in the Group.

Spin Max

The fastest speed (in radians/second) that an object can rotate.

This configures the spinmax point attribute on the simulation geometry.

Add Acceleration Max

Configures the Acceleration Max property for the primitives in the Group.

Acceleration Max

Limits the change in the object’s speed that is caused by enforcing constraints.

This configures the accelmax point attribute on the simulation geometry.

Add Angular Acceleration Max

Configures the Angular Acceleration Max property for the primitives in the Group.

Angular Acceleration Max

Limits the change in the object’s angular speed that is caused by enforcing constraints.

This configures the angaccelmax point attribute on the simulation geometry.

Physical Attributes

Type

Select a predefined material type for material based density, bounce and friction presets.

Add Density

Configures the Density (kg/m3) property for the primitives in the Group.

This configures the density point attribute on the simulation geometry.

Density (kg/m3)

The preset-based density displayed in kg/m3 unit.

User Density

Override the preset-based density, specified in kg/m3 unit.

Var

Denotes a percentage increase/decrease from the user base input. For example, a threshold value with a value of 1000 and a variance set to 0.1 will result in values between 900 and 1100, while a variance of 1 will result in values ranging from 0 to 2000.

Add Bounce

Configures the Bounce property for the primitives in the Group.

This configures the bounce point attribute on the simulation geometry.

Bounce

The preset-based bounce.

Note

The preset value is approximated and not physically accurate.

User Bounce

Override the preset-based bounce.

Add Friction

Configures the Friction property for the primitives in the Group.

This configures the friction point attribute on the simulation geometry.

Friction

The preset-based friction.

Note

The preset value is generalized as friction is specified as a friction coefficient between 2 materials.

User Friction

Override the preset-based friction.

Add Rotational Stiffness

Configures the Rotational Stiffness property for the primitives in the Group.

Rotational Stiffness

Specifies a scaling factor for the object’s inertial tensor. A higher stiffness will make the object less liable to spinning, a lower value will make it more ready to spin.

This configures the inertialtensorstiffness point attribute on the simulation geometry.

Constraints

Add Pin

Configures the Pin property for the primitives in the Group.

Pin

When enabled, creates a constraint with the specified Type and a rest length 0f 0 to pin the object to its original position.

Type

Hard (Deprecated)

Creates Hard Constraints. The constraint name is set to Pin.

Glue

Creates Glue Constraints. The target objects for the glue constraints are named __gluepin/ followed by the name of the pinned pieces. These target pieces will be generated dynamically in the RBD Bullet Solver SOP with no geometry representation.

Soft

Emission

Add RBD Bullet Emit

Configures the RBD Bullet Emit property for the primitives in the Group to control which pieces will be emitted and which pieces will be treated as regular RBDs with the RBD Bullet Solver SOP when the Emit option is enabled. This allows you to mix regular RBDs, which can be animated/deforming with emitted RBDs.

RBD Bullet Emit

When enabled, the objects will be treated as emitting RBDs and will emit on every frame they are connected to the RBD Bullet Solver.

See also

Geometry nodes