crashcat docs
    Preparing search index...

    Type Alias SixDOFConstraint

    SixDOFConstraint: ConstraintBase & {
        constraintToBody1: Quat;
        constraintToBody2: Quat;
        displacement: [number, number, number];
        fixedAxis: number;
        freeAxis: number;
        hasSpringLimits: boolean;
        limitMax: [number, number, number, number, number, number];
        limitMin: [number, number, number, number, number, number];
        limitsSpringSettings: springSettings.SpringSettings[];
        localSpacePosition1: Vec3;
        localSpacePosition2: Vec3;
        maxFriction: [number, number, number, number, number, number];
        motorMaxForceLimit: [number, number, number, number, number, number];
        motorMinForceLimit: [number, number, number, number, number, number];
        motorRotationConstraintPart: [
            AngleConstraintPart,
            AngleConstraintPart,
            AngleConstraintPart,
        ];
        motorSpringSettings: springSettings.SpringSettings[];
        motorState: motorSettings.MotorState[];
        motorTranslationConstraintPart: [
            AxisConstraintPart,
            AxisConstraintPart,
            AxisConstraintPart,
        ];
        pointConstraintPart: PointConstraintPart;
        rotationAxis: [Vec3, Vec3, Vec3];
        rotationConstraintPart: RotationEulerConstraintPart;
        rotationMotorActive: boolean;
        rotationPositionMotorActive: number;
        swingTwistConstraintPart: SwingTwistConstraintPart;
        swingType: SwingType;
        targetAngularVelocity: Vec3;
        targetOrientation: Quat;
        targetPosition: Vec3;
        targetVelocity: Vec3;
        translationAxis: [Vec3, Vec3, Vec3];
        translationConstraintPart: [
            AxisConstraintPart,
            AxisConstraintPart,
            AxisConstraintPart,
        ];
        translationMotorActive: boolean;
    }

    SixDOFConstraint allows per-axis control over all 6 degrees of freedom. Each axis can be: free, fixed, or limited with optional motors.

    Type Declaration

    • constraintToBody1: Quat
    • constraintToBody2: Quat
    • displacement: [number, number, number]
    • fixedAxis: number
    • freeAxis: number
    • hasSpringLimits: boolean
    • limitMax: [number, number, number, number, number, number]

      max limits for each axis (-Infinity = fixed at 0, Infinity = free)

    • limitMin: [number, number, number, number, number, number]

      min limits for each axis (Infinity = fixed at 0, -Infinity = free)

    • limitsSpringSettings: springSettings.SpringSettings[]

      spring settings for translation limits

    • localSpacePosition1: Vec3
    • localSpacePosition2: Vec3
    • maxFriction: [number, number, number, number, number, number]

      max friction per axis (0 = no friction)

    • motorMaxForceLimit: [number, number, number, number, number, number]
    • motorMinForceLimit: [number, number, number, number, number, number]
    • motorRotationConstraintPart: [AngleConstraintPart, AngleConstraintPart, AngleConstraintPart]
    • motorSpringSettings: springSettings.SpringSettings[]
    • motorState: motorSettings.MotorState[]
    • motorTranslationConstraintPart: [AxisConstraintPart, AxisConstraintPart, AxisConstraintPart]
    • pointConstraintPart: PointConstraintPart
    • rotationAxis: [Vec3, Vec3, Vec3]
    • rotationConstraintPart: RotationEulerConstraintPart
    • rotationMotorActive: boolean
    • rotationPositionMotorActive: number
    • swingTwistConstraintPart: SwingTwistConstraintPart
    • swingType: SwingType
    • targetAngularVelocity: Vec3
    • targetOrientation: Quat
    • targetPosition: Vec3
    • targetVelocity: Vec3
    • translationAxis: [Vec3, Vec3, Vec3]
    • translationConstraintPart: [AxisConstraintPart, AxisConstraintPart, AxisConstraintPart]
    • translationMotorActive: boolean