
- Creates an angular spring constraint
- The physics ID of object 1.>
- Object 1 is used as the 6DOF anchor/pivot point.
- The physics ID of object 2.
Constraint Type:
- 0 = No Constraint
- 1 = bge.constraints.POINTTOPOINT_CONSTRAINT
- 2 = bge.constraints.LINEHINGE_CONSTRAINT
- 3 = bge.constraints.ANGULAR_CONSTRAINT
- 4 = bge.constraints.CONETWIST_CONSTRAINT
- 11 = bge.constraints.VEHICLE_CONSTRAINT
- 12 = bge.constraints.GENERIC_6DOF_CONSTRAINT (6 Degrees Of Freedom)
pivotPos_X:
- The x axis position of the pivot.
- X distance from the obj1 object center
- The y axis position of the pivot.
- Y distance from the obj1 object center
- The z axis position of the pivot.
- Z distance from the obj1 object center

################ create an Angular Spring Constraint
# import bge
import bge
# get current scene
scene = bge.logic.getCurrentScene()
# get object list
objList = scene.objects
# get object named Cube_Green
obj1 = objList["Cube_Green"]
# get object named Cube_Red
obj2 = objList["Cube_Red"]
# want to use a 6DOF constraint
constraintType = bge.constraints.GENERIC_6DOF_CONSTRAINT
# get obj1 physics ID
obj1_ID = obj1.getPhysicsId()
# get obj2 physics ID
obj2_ID = obj2.getPhysicsId()
# Use object center of obj1 for pivot point
pivotPos_X = 0.0
pivotPos_Y = 0.0
pivotPos_Z = 0.0
# Make pivot axis orientation same as obj1 axis
pivotAxis_X = 0.0
pivotAxis_Y = 0.0
pivotAxis_Z = 0.0
# create a 6DOF constraint
cube_6DOF = bge.constraints.createConstraint( obj1_ID, obj2_ID,
constraintType,
pivotPos_X, pivotPos_Y, pivotPos_Z,
pivotAxis_X, pivotAxis_Y, pivotAxis_Z)
# set rotation around pivot y and z axis to zero
cube_6DOF.setParam(4, 0.0, 0.0)
cube_6DOF.setParam(5, 0.0, 0.0)
# create angular spring around the pivot x axis
# stiffness = 25.0, elasticity = 0.8
cube_6DOF.setParam(15, 25.0, 0.8)