Ragdoll : Helper

Ragdoll - superclass: Helper; super-superclass:Node - classID: #(1993110585, 1724678066)

Description:

Ragdoll constraints allow you to realistically simulate the behavior of body joints, such as hips, shoulders, and knees. Once you have decided what degree of movement a joint should have, you can model it by specifying limiting values for the ragdoll constraint.

Constructors:

Ragdoll ...

rctRagdoll ...

Properties

.parentBody (Parent_Body) : node

Get/Set the Parent Body.

.hasParent (Has_Parent) : boolean

When set to true, the Parent Body will be used in the simulation.

.childBody (Child_Body) : node

Get/Set the Child Body.

.twistMin (Twist_Axis_Range_Min) : float

Get/Set the minimum rotation about the twist axis the constraint will allow between the reference and attached objects constraint spaces.

.twistMax (Twist_Axis_Range_Max) : float

Get/Set the maximum rotation about the twist axis the constraint will allow between the reference and attached objects constraint spaces.

.coneMin (Cone_Range_Min) : float

Get/Set the minimum value used when creating the limit cone. It is combined with the max limit to generate a symmetrical cone. This cone is rotated about the plane normal by an offset calculated by combining these limits. The rotation of the child’s twist axis is then limited to being within this cone with respect to the parent.

.coneMax (Cone_Range_Max) : float

Get/Set defines the maximum value used when creating the limit cone. It is combined with the min limit to generate a symmetrical cone. This cone is rotated about the plane normal by an offset calculated by combining these limits. The rotation of the child’s twist axis is then limited to being within this cone with respect to the parent.

.planeMin (Plane_Range_Min) : float

Get/Set the angle between the plane and a reference line in the range [-90,0]. This line is swept about the plane normal to create a cone. The child’s twist axis is then restricted from entering this cone. If this cone intersects that produced by the cone limits it will further inhibit the motion of the child with respect to the parent.

.planeMax (Plane_Range_Max) : float

This value describes the angle between the plane and a reference line in the range [0,90]. This line is swept about the plane normal to create a cone. The child’s twist axis is then restricted from entering this cone. If this cone intersects that produced by the cone limits it will further inhibit the motion of the child with respect to the parent.

.iconSize (Icon_Size) : float

Get/Set the icon size.

.isBreakable (Is_Breakable) : boolean

When set to true, the constraint will be breakable. If its breakable limits are exceeded during simulation it will cease to exert impulses on the attached objects.

.linearBreakingStrength (Linear_Strength) : float

The linear breaking limit value used to when .isBreakable is set to true.

.angularBreakingStrength (Angular_Strength) : float

The angular breaking limit value used to when .isBreakable is set to true.

.showConePlaneVolume (Display_Boolean_of_Cone_and_Plane_limits) : boolean

When set to true, a representation of the allowed region of movement based on a combination of the plane and cone values will be calculated and displayed as part of the Parent Space visualization

.showCone (Display_Cone_Limits) : boolean

When set to true, the entire symmetrical cone produced by the min and max cone limits will be displayed as part of the Parent Space visualization.

.showPlane (Display_Plane_and_Normal) : boolean

When set to true, a representation of the plane and plane normal will be displayed as part of the Parent Space visualization

.showPlaneCones (Display_Cones_representing_Plane_Limits) : boolean

When set to true, the cones formed by the plane limits will be displayed as part of the Parent Space visualization.

.showTwistLimits (Display_Twist_Limits) : boolean

When set to true, the twist limits will be displayed as part of the Parent Space visualization. The representation is a cylinder section showing the restricted motion of the attached object with respect to rotation about the twist axis.

.strength : float

.tau : float

These two properties govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement.

.lockSpaces (Lock_Spaces) : boolean

When set to true, the relative transform between the child and parent constraint spaces is locked - if you move the child space in the viewport, the parent space will move with it, and vice versa.

Interfaces

Interface: rctRagdollInterface

Properties

.parentBody : node : Read|Write

Get/Set the Parent Body.

.childBody : node : Read|Write

Get/Set the Child Body.

.hasParent : boolean : Read|Write

When set to true, the Parent Body will be used in the simulation.

.parentTransform : matrix3 by value : Read|Write

Get/Set the Parent Body's transformation matrix.

.childTransform : matrix3 by value : Read|Write

Get/Set the Child Body's transformation matrix.

.lockSpaces : boolean : Read|Write

When set to true, the relative transform between the child and parent constraint spaces is locked - if you move the child space in the viewport, the parent space will move with it, and vice-versa.

.strength : float : Read|Write

.tau : float : Read|Write

These two properties govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement.

.isBreakable : boolean : Read|Write

When set to true, the constraint will be breakable. If its breakable limits are exceeded during simulation it will cease to exert impulses on the attached objects.

.linearBreakingStrength : float : Read|Write

The linear breaking limit value used to when .isBreakable is set to true.

.angularBreakingStrength : float : Read|Write

The angular breaking limit value used to when .isBreakable is set to true.

.displaySize : float : Read|Write

Get/Set the icon size.

.planeOffsetTransform : matrix3 by value : Read|Write

Get/Set the Plane offset's transformation matrix.

.twistLimitMinAngle : float : Read|Write

Get/Set the minimum rotation about the twist axis the constraint will allow between the reference and attached objects constraint spaces.

.twistLimitMaxAngle : float : Read|Write

Get/Set the maximum rotation about the twist axis the constraint will allow between the reference and attached objects constraint spaces.

.coneLimitMinAngle : float : Read|Write

Get/Set the minimum value used when creating the limit cone. It is combined with the max limit to generate a symmetrical cone. This cone is rotated about the plane normal by an offset calculated by combining these limits. The rotation of the child’s twist axis is then limited to being within this cone with respect to the parent.

.coneLimitMaxAngle : float : Read|Write

Get/Set defines the maximum value used when creating the limit cone. It is combined with the min limit to generate a symmetrical cone. This cone is rotated about the plane normal by an offset calculated by combining these limits. The rotation of the child’s twist axis is then limited to being within this cone with respect to the parent.

.planeLimitMinAngle : float : Read|Write

Get/Set the angle between the plane and a reference line in the range [-90,0]. This line is swept about the plane normal to create a cone. The child’s twist axis is then restricted from entering this cone. If this cone intersects that produced by the cone limits it will further inhibit the motion of the child with respect to the parent.

.planeLimitMaxAngle : float : Read|Write

This value describes the angle between the plane and a reference line in the range [0,90]. This line is swept about the plane normal to create a cone. The child’s twist axis is then restricted from entering this cone. If this cone intersects that produced by the cone limits it will further inhibit the motion of the child with respect to the parent.

.showTwistLimit : boolean : Read|Write

When set to true, the twist limits will be displayed as part of the Parent Space visualization. The representation is a cylinder section showing the restricted motion of the attached object with respect to rotation about the twist axis.

.showConeLimit : boolean : Read|Write

When set to true, the entire symmetrical cone produced by the min and max cone limits will be displayed as part of the Parent Space visualization.

.showPlaneLimit : boolean : Read|Write

When set to true, the cones formed by the plane limits will be displayed as part of the Parent Space visualization.

.showPlane : boolean : Read|Write

When set to true, a representation of the plane and plane normal will be displayed as part of the Parent Space visualization

.showConePlaneVolume : boolean : Read|Write

When set to true, a representation of the allowed region of movement based on a combination of the plane and cone values will be calculated and displayed as part of the Parent Space visualization

Methods:

<void>alignToParentBody()

Aligns the Constraint to the Parent Body.

<void>alignToChildBody()

Aligns the Constraint to the Child Body.

<void>alignToParentSpace()

Aligns the Constraint to parent space.

<void>alignToChildSpace()

Aligns the Constraint to child space.

<void>alignToEachBody()

Aligns the Constraint to both bodies.

<boolean>isValid()

Returns true if the Ragdoll Constraint is valid, false otherwise. A valid Ragdoll Constraint has the correct number of rigid bodies attached and is included in a valid constraint solver.

 

See also

MAXScript Extensions for Reactor