Houdini 20.0 Nodes Geometry nodes

RBD Cone Twist Constraint Properties 1.0 geometry node

Creates attributes describing rigid body cone twist constraints.

On this page
Since 20.0

This SOP creates attributes on the input constraint geometry to describe the Bullet cone twist constraints.

It allows you to edit constraints interactively in the viewport, by either directly editing the global parameters on the node itself (Edit Parms is on), or by making individual edits to the constraint’s attributes (Edit Parms is off).

Individual edits will also be created when using actions resulting in selected constraints' attributes no longer matching those set parametrically. For example, when copying and pasting edited constraints, or aligning selected constraints to their constraint geometry, toggling motors on or off, etc.

Individual edits take precedence over the constraint attributes set globally via the nodes' parameters. In order to have edited constraints be driven by the nodes parameters once more, it is possible to clear all the edits at once or reset individual constraints.

For more information, see Constraints.

Parameters

Constraint Group

The primitives in the constraint geometry to edit constraint attributes for.

Filter by Pieces

Limit the constraint primitives by a dynamically created group based on attributes on the constrained RBD geometry.

Groups

All to Group

All the constraint primitives that have an anchor point attached to RBD geometry belonging to Group 1.

Group to Group

The constraint primitives that have an anchor point attached to RBD geometry belonging to Group 1 and the other anchor point attached to RBD geometry belonging to Group 2.

Group 1

The RBD geometry group to which anchor points need to be attached to.

Group 2

The RBD geometry group to which the other anchor points need to be attached to when Group to Group is selected.

Color

Adds a color to the constraint primitives for visual identification.

Clear Edits

Clears all the individual constraint edits to drive them all parametrically.

Import Edits

Copies the cone twist constraint attributes from the selected input constraint geometry and applies them as individual edits to the selected constraints.

Update Parms

Copies the cone twist constraint attributes from the selected input constraint geometry and sets the nodes' parameters accordingly.

Guide Scale

Guide geometry’s widget scale.

Lock Axis

When editing the constraints' rotation limits interactively, locking the axis will only affect the rotation limit values without changing the constraint orientation. Turning this off allows to edit the constraints' rotation limits on one side at a time, as the constraint axes gets reoriented accordingly so the other side stays locked in place.

Edit Parms

When this is turned on, editing the constraints interactively will update the node parameters, affecting unedited constraints globally. Turning this off this will result in all constraint edits being stored as individual edits, superseding the global parametrically set attributes.

Constraint Properties

Constraint Name

Specifies the Data Name of the constraint data (for example, the Cone Twist Constraint Relationship) to use in the DOP network.

Enable Soft Constraint

When enabled, the position limits, rotation limits, and motor target are treated as soft constraints with individual Stiffness and Damping Ratio parameters. This is primarily useful for following an animated Target Rotation or Target Position in a spring-like manner (e.g. for a ragdoll with target animation), but also allows the position or rotation limits to behave as softer boundaries by decreasing their stiffness.

Rotation Limits

Max Twist

The maximum twist in degrees.

Max Out Rotation

The maximum rotation from side to side in degrees.

Max Up Rotation

The maximum rotation up or down in degrees.

Softness

Once an angle is greater than softness * the maximum angle, the constraint begins to take effect. Lowering the value of softness softens the constraint boundaries.

Allow Initial Violation of Limits

If the rotation limits are initially violated, the limits will not be enforced but further rotation will be prevented. This allows the objects to naturally move back within the rotation limits, instead of introducing sudden motion at the beginning of the simulation.

Constraint Force Mixing

Increase this to make the constraint spongier, and potentially increase the stability of the simulation. The angular component of the constraint may be violated by an amount proportional to the force required to re-establish the constraint, times this parameter.

Bias Factor

The rate at which the constraint corrects errors in orientation. A value of 1 will ensure that the constraint is always obeyed. It is recommended to keep bias between 0.2 and 0.5.

Relaxation Factor

The rate at which the angular velocity is changed by the constraint. A low value means the constraint will modify the velocities slowly, leaving the boundaries appearing softer.

Angular Limit Stiffness

Specifies the strength of the force that attempts to enforce rotation limits. This value is equivalent to the frequency of a spring.

Angular Limit Damping Ratio

Specifies how much damping is applied to the motion when enforcing rotation limits. This value is equivalent to the damping ratio of a spring. A value of 0 specifies no damping, and a value of 1 provides just enough damping to prevent oscillation. Values between 0 and 1 allow oscillation (with some damping), and values greater than 1 provide increasingly damped motion that has no oscillation.

Translation Limits

Twist Translation Range

Specifies the minimum and maximum translation of the constrained object along the Goal Twist Axis.

Out Translation Range

Specifies the minimum and maximum translation of the constrained object along the Goal Out Axis.

Up Translation Range

Specifies the minimum and maximum translation of the constrained object along the Goal Up Axis.

Position CFM

Increase this to make the constraint spongier, and potentially increase the stability of the simulation. The position component of the constraint may be violated by an amount proportional to the force required to re-establish the constraint, times this parameter.

Position ERP

Specifies what proportion of the position error will be fixed during the next simulation step. A value between 0.1 and 0.8 is recommended for most simulation.

Position Limit Stiffness

Specifies the strength of the force that attempts to enforce position limits. This value is equivalent to the frequency of a spring.

Position Limit Damping Ratio

Specifies how much damping is applied to the motion when enforcing position limits. This value is equivalent to the damping ratio of a spring. A value of 0 specifies no damping, and a value of 1 provides just enough damping to prevent oscillation. Values between 0 and 1 allow oscillation (with some damping), and values greater than 1 provide increasingly damped motion that has no oscillation.

Anchors

Goal Twist Axis

The goal direction of the cone. Defaults to the X axis.

Goal Up Axis

The goal direction of the up axis. Defaults to the Y axis. This should be perpendicular to the twist axis. The out axis is calculated as the cross product of the twist and up axes.

Constrained Twist Axis

The initial twist axis of the constrained object.

Constrained Up Axis

The initial up axis of the constrained object. This should be perpendicular to the constrained twist axis.

Motor

Enable Motor

If enabled, the constraint will attempt to also guide the constrained object to a target orientation and position within the rotation limits.

Target Current Pose

The target position and orientation will continually be set to the current relative transform, similar to plasticity. This can be used to add resistance to changes in the relative orientation (controlled by the Target Angular Stiffness or Max Impulse) when there isn’t a specific target.

Target Rotation

Specifies the target orientation (relative to the goal anchor) that the motor should attempt to achieve.

Target Position

Specifies the target position (in the space of the goal anchor) that the motor should attempt to achieve. This position is in the local space of the goal anchor, where X is the Goal Twist Axis, Y is the Goal Out Axis, and Z is the Goal Up Axis.

Use Previous Target

Optionally specifies the motor target at the beginning of the timestep. The solver will interpolate the motor target at each substep for more accurate behavior when the motor target is animated.

Initial Target Rotation

Specifies the Target Rotation at the beginning of the timestep.

Initial Target Position

Specifies the Target Position at the beginning of the timestep.

Ignore Mass

Factors out the mass of the objects when setting the Max Impulse for the constraint. This makes it simpler to set up motors with a similar strength for different pairs of objects.

Max Impulse

Specifies the maximum impulse that the constraint solver can apply to achieve the Motor Target. Larger values will cause the motor to be stronger.

Correction Time

Specifies how gradually the constraint attempts to correct deviations from the Motor Target.

Constraint Force Mixing

Increasing this value makes the motor component of the constraint softer. A small positive value can increase the stability of the simulation.

Target Angular Stiffness

Specifies the strength of the force that attempts to match the motor target orientation.

This value is equivalent to the frequency of a spring.

Target Angular Damping Ratio

Specifies how much damping is applied to the motion when matching the motor target orientation. A value of 0 specifies no damping, and a value of 1 provides just enough damping to prevent oscillation. Values between 0 and 1 allow oscillation (with some damping), and values greater than 1 provide increasingly damped motion that has no oscillation.

This value is equivalent to the damping ratio of a spring.

Target Position Stiffness

Specifies the strength of the force that attempts to match the motor target position.

This value is equivalent to the frequency of a spring.

Target Position Damping Ratio

Specifies how much damping is applied to the motion when matching the motor target position. A value of 0 specifies no damping, and a value of 1 provides just enough damping to prevent oscillation. Values between 0 and 1 allow oscillation (with some damping), and values greater than 1 provide increasingly damped motion that has no oscillation.

This value is equivalent to the damping ratio of a spring.

Use VEXpressions

Use VEX expressions to modify constraint attributes.

Examples

ConeTwist Example for RBD Cone Twist Constraint Properties geometry node

This example demonstrates the use of the Cone Twist Constraint Properties SOP to setup mechanical Bullet cone twist constraints.

See also

Geometry nodes