Description

Constraints body motion in configurable ways, for simulating physical objects such as joints and hinges.

Example

// Given two objects, with hangingBox below staticBox
// apply a constraint on hangingBox so that it hangs on the staticBox
// Try assigning a box object for each input!

// @input SceneObject staticBox
// @input SceneObject hangingBox

// Setup the boxes to have physics
var staticBox = script.staticBox;
var staticBoxBody = staticBox.createComponent("Physics.BodyComponent");
staticBoxBody.dynamic = false;

var hangingBox = script.hangingBox;
var hangingBoxBody = hangingBox.createComponent("Physics.BodyComponent");

// Create a child object that we can set up as our hinge
var hingeObj = global.scene.createSceneObject("hinge");
hingeObj.setParent(hangingBox);

// First we use the child object as a constraint
var hingeConstraint = hingeObj.createComponent("Physics.ConstraintComponent");

// Then we set up the constraint as a hinge
hingeConstraint.debugDrawEnabled = true;
hingeConstraint.constraint = Physics.Constraint.create(Physics.ConstraintType.Hinge);

// Attach our hinge to another Physics body
hingeConstraint.target = staticBoxBody;

// Position the hinge
hingeObj.getTransform().setLocalPosition(new vec3(-7.5, 7.5, 0))

// Tell the system to recalculate the simulation based on the above parameters
hingeConstraint.reanchorTarget();
interface Constraint {
    constraintType: ConstraintType;
    getTypeName(): string;
    isOfType(type): boolean;
    isSame(other): boolean;
}

Hierarchy (view full)

Properties

constraintType: ConstraintType

Description

The type of constraint that is applied.

Methods

  • Returns string

    Description

    Returns the name of this object's type.

  • Parameters

    • type: string

    Returns boolean

    Description

    Returns true if the object matches or derives from the passed in type.

  • Parameters

    Returns boolean

    Description

    Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

Generated using TypeDoc