I'm a doctor, not a mechanic

UE3:RB_ConstraintSetup (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> RB_ConstraintSetup
Package: 
Engine
Direct subclasses:
RB_BSJointSetup, RB_DistanceJointSetup, RB_HingeSetup, RB_PrismaticSetup, RB_PulleyJointSetup, RB_SkelJointSetup, RB_StayUprightSetup
This class in other games:
UT3

Complete constraint definition used by rigid body physics.

Defaults here will give you a ball and socket joint. Positions are in Physics scale. When adding stuff here, make sure to update URB_ConstraintSetup::CopyConstraintParamsFrom

Properties[edit]

Property group 'Angular'[edit]

AngularBreakThreshold[edit]

Type: float


Default value: 500.0

bAngularBreakable[edit]

Type: bool


bSwingLimited[edit]

Type: bool


bSwingLimitSoft[edit]

Type: bool


bTwistLimited[edit]

Type: bool


bTwistLimitSoft[edit]

Type: bool


Swing1LimitAngle[edit]

Type: float

Used if bSwing1Limited is true. In degrees.

Swing2LimitAngle[edit]

Type: float

Used if bSwing2Limited is true. In degrees.

SwingLimitDamping[edit]

Type: float


SwingLimitStiffness[edit]

Type: float


TwistLimitAngle[edit]

Type: float

Used if bTwistLimited is true. In degrees.

TwistLimitDamping[edit]

Type: float


TwistLimitStiffness[edit]

Type: float


Property group 'Linear'[edit]

bLinearBreakable[edit]

Type: bool


bLinearLimitSoft[edit]

Type: bool


LinearBreakThreshold[edit]

Type: float


Default value: 300.0

LinearLimitDamping[edit]

Type: float


LinearLimitStiffness[edit]

Type: float


LinearXSetup[edit]

Type: LinearDOFSetup


Default value:

Member Value
bLimited 1

LinearYSetup[edit]

Type: LinearDOFSetup


Default value:

Member Value
bLimited 1

LinearZSetup[edit]

Type: LinearDOFSetup


Default value:

Member Value
bLimited 1

Property group 'Pulley'[edit]

bIsPulley[edit]

Type: bool


bMaintainMinDistance[edit]

Type: bool


PulleyRatio[edit]

Type: float


Default value: 1.0

Property group 'RB_ConstraintSetup'[edit]

bEnableProjection[edit]

Type: bool

If distance error between bodies exceeds 0.1 units, or rotation error exceeds 10 degrees, body will be projected to fix this. For example a chain spinning too fast will have its elements appear detached due to velocity, this will project all bodies so they still appear attached to each other.

ConstraintBone1[edit]

Type: name

Name of first bone (body) that this constraint is connecting. This will be the 'child' bone in a PhysicsAsset.

ConstraintBone2[edit]

Type: name

Name of second bone (body) that this constraint is connecting. This will be the 'parent' bone in a PhysicsAset.

JointName[edit]

Type: name

Modifiers: const

Name of bone that this joint is associated with.

Internal variables[edit]

Pos1[edit]

Type: Object.Vector

Location of constraint in Body1 reference frame. Physics scale.

Pos2[edit]

Type: Object.Vector

Location of constraint in Body2 reference frame. Physics scale.

PriAxis1[edit]

Type: Object.Vector

Primary (twist) axis in Body1 reference frame.

Default value:

Member Value
X 1.0
Y 0.0
Z 0.0

PriAxis2[edit]

Type: Object.Vector

Primary (twist) axis in Body2 reference frame.

Default value:

Member Value
X 1.0
Y 0.0
Z 0.0

PulleyPivot1[edit]

Type: Object.Vector


PulleyPivot2[edit]

Type: Object.Vector


SecAxis1[edit]

Type: Object.Vector

Seconday axis in Body1 reference frame. Orthogonal to PriAxis1.

Default value:

Member Value
X 0.0
Y 1.0
Z 0.0

SecAxis2[edit]

Type: Object.Vector

Seconday axis in Body2 reference frame. Orthogonal to PriAxis2.

Default value:

Member Value
X 0.0
Y 1.0
Z 0.0

Structs[edit]

LinearDOFSetup[edit]

Modifiers: native

Struct specying one Linear Degree Of Freedom for this constraint. Defaults to a ball-and-socket joint.

byte bLimited 
Whether this DOF has any limit on it.
float LimitSize 
'Half-length' of limit gap. Can shift it by fiddling Pos1/2.

A size of 0.0 results in 'locking' the linear DOF.

Default values:

Property Value
bLimited 1
LimitSize 0.0