W3cubDocs

/Godot 3.2

Generic6DOFJoint

Inherits: Joint < Spatial < Node < Object

The generic 6-degrees-of-freedom joint can implement a variety of joint types by locking certain axes' rotation or translation.

Description

The first 3 DOF axes are linear axes, which represent translation of Bodies, and the latter 3 DOF axes represent the angular motion. Each axis can be either locked, or limited.

Properties

float angular_limit_x/damping 1.0
bool angular_limit_x/enabled true
float angular_limit_x/erp 0.5
float angular_limit_x/force_limit 0.0
float angular_limit_x/lower_angle 0.0
float angular_limit_x/restitution 0.0
float angular_limit_x/softness 0.5
float angular_limit_x/upper_angle 0.0
float angular_limit_y/damping 1.0
bool angular_limit_y/enabled true
float angular_limit_y/erp 0.5
float angular_limit_y/force_limit 0.0
float angular_limit_y/lower_angle 0.0
float angular_limit_y/restitution 0.0
float angular_limit_y/softness 0.5
float angular_limit_y/upper_angle 0.0
float angular_limit_z/damping 1.0
bool angular_limit_z/enabled true
float angular_limit_z/erp 0.5
float angular_limit_z/force_limit 0.0
float angular_limit_z/lower_angle 0.0
float angular_limit_z/restitution 0.0
float angular_limit_z/softness 0.5
float angular_limit_z/upper_angle 0.0
bool angular_motor_x/enabled false
float angular_motor_x/force_limit 300.0
float angular_motor_x/target_velocity 0.0
bool angular_motor_y/enabled false
float angular_motor_y/force_limit 300.0
float angular_motor_y/target_velocity 0.0
bool angular_motor_z/enabled false
float angular_motor_z/force_limit 300.0
float angular_motor_z/target_velocity 0.0
float angular_spring_x/damping 0.0
bool angular_spring_x/enabled false
float angular_spring_x/equilibrium_point 0.0
float angular_spring_x/stiffness 0.0
float angular_spring_y/damping 0.0
bool angular_spring_y/enabled false
float angular_spring_y/equilibrium_point 0.0
float angular_spring_y/stiffness 0.0
float angular_spring_z/damping 0.0
bool angular_spring_z/enabled false
float angular_spring_z/equilibrium_point 0.0
float angular_spring_z/stiffness 0.0
float linear_limit_x/damping 1.0
bool linear_limit_x/enabled true
float linear_limit_x/lower_distance 0.0
float linear_limit_x/restitution 0.5
float linear_limit_x/softness 0.7
float linear_limit_x/upper_distance 0.0
float linear_limit_y/damping 1.0
bool linear_limit_y/enabled true
float linear_limit_y/lower_distance 0.0
float linear_limit_y/restitution 0.5
float linear_limit_y/softness 0.7
float linear_limit_y/upper_distance 0.0
float linear_limit_z/damping 1.0
bool linear_limit_z/enabled true
float linear_limit_z/lower_distance 0.0
float linear_limit_z/restitution 0.5
float linear_limit_z/softness 0.7
float linear_limit_z/upper_distance 0.0
bool linear_motor_x/enabled false
float linear_motor_x/force_limit 0.0
float linear_motor_x/target_velocity 0.0
bool linear_motor_y/enabled false
float linear_motor_y/force_limit 0.0
float linear_motor_y/target_velocity 0.0
bool linear_motor_z/enabled false
float linear_motor_z/force_limit 0.0
float linear_motor_z/target_velocity 0.0
float linear_spring_x/damping 0.01
bool linear_spring_x/enabled false
float linear_spring_x/equilibrium_point 0.0
float linear_spring_x/stiffness 0.01
float linear_spring_y/damping 0.01
bool linear_spring_y/enabled false
float linear_spring_y/equilibrium_point 0.0
float linear_spring_y/stiffness 0.01
float linear_spring_z/damping 0.01
bool linear_spring_z/enabled false
float linear_spring_z/equilibrium_point 0.0
float linear_spring_z/stiffness 0.01
int precision 1

Methods

bool get_flag_x ( Flag flag ) const
bool get_flag_y ( Flag flag ) const
bool get_flag_z ( Flag flag ) const
float get_param_x ( Param param ) const
float get_param_y ( Param param ) const
float get_param_z ( Param param ) const
void set_flag_x ( Flag flag, bool value )
void set_flag_y ( Flag flag, bool value )
void set_flag_z ( Flag flag, bool value )
void set_param_x ( Param param, float value )
void set_param_y ( Param param, float value )
void set_param_z ( Param param, float value )

Enumerations

enum Param:

  • PARAM_LINEAR_LOWER_LIMIT = 0 --- The minimum difference between the pivot points' axes.
  • PARAM_LINEAR_UPPER_LIMIT = 1 --- The maximum difference between the pivot points' axes.
  • PARAM_LINEAR_LIMIT_SOFTNESS = 2 --- A factor applied to the movement across the axes. The lower, the slower the movement.
  • PARAM_LINEAR_RESTITUTION = 3 --- The amount of restitution on the axes' movement. The lower, the more momentum gets lost.
  • PARAM_LINEAR_DAMPING = 4 --- The amount of damping that happens at the linear motion across the axes.
  • PARAM_LINEAR_MOTOR_TARGET_VELOCITY = 5 --- The velocity the linear motor will try to reach.
  • PARAM_LINEAR_MOTOR_FORCE_LIMIT = 6 --- The maximum force the linear motor will apply while trying to reach the velocity target.
  • PARAM_LINEAR_SPRING_STIFFNESS = 7
  • PARAM_LINEAR_SPRING_DAMPING = 8
  • PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT = 9
  • PARAM_ANGULAR_LOWER_LIMIT = 10 --- The minimum rotation in negative direction to break loose and rotate around the axes.
  • PARAM_ANGULAR_UPPER_LIMIT = 11 --- The minimum rotation in positive direction to break loose and rotate around the axes.
  • PARAM_ANGULAR_LIMIT_SOFTNESS = 12 --- The speed of all rotations across the axes.
  • PARAM_ANGULAR_DAMPING = 13 --- The amount of rotational damping across the axes. The lower, the more dampening occurs.
  • PARAM_ANGULAR_RESTITUTION = 14 --- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
  • PARAM_ANGULAR_FORCE_LIMIT = 15 --- The maximum amount of force that can occur, when rotating around the axes.
  • PARAM_ANGULAR_ERP = 16 --- When rotating across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
  • PARAM_ANGULAR_MOTOR_TARGET_VELOCITY = 17 --- Target speed for the motor at the axes.
  • PARAM_ANGULAR_MOTOR_FORCE_LIMIT = 18 --- Maximum acceleration for the motor at the axes.
  • PARAM_ANGULAR_SPRING_STIFFNESS = 19
  • PARAM_ANGULAR_SPRING_DAMPING = 20
  • PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT = 21
  • PARAM_MAX = 22 --- Represents the size of the Param enum.

enum Flag:

  • FLAG_ENABLE_LINEAR_LIMIT = 0 --- If enabled, linear motion is possible within the given limits.
  • FLAG_ENABLE_ANGULAR_LIMIT = 1 --- If enabled, rotational motion is possible within the given limits.
  • FLAG_ENABLE_LINEAR_SPRING = 3
  • FLAG_ENABLE_ANGULAR_SPRING = 2
  • FLAG_ENABLE_MOTOR = 4 --- If enabled, there is a rotational motor across these axes.
  • FLAG_ENABLE_LINEAR_MOTOR = 5 --- If enabled, there is a linear motor across these axes.
  • FLAG_MAX = 6 --- Represents the size of the Flag enum.

Property Descriptions

float angular_limit_x/damping

Default 1.0
Setter set_param_x(value)
Getter get_param_x()

The amount of rotational damping across the X axis.

The lower, the longer an impulse from one side takes to travel to the other side.

bool angular_limit_x/enabled

Default true
Setter set_flag_x(value)
Getter get_flag_x()

If true, rotation across the X axis is limited.

float angular_limit_x/erp

Default 0.5
Setter set_param_x(value)
Getter get_param_x()

When rotating across the X axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.

float angular_limit_x/force_limit

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

The maximum amount of force that can occur, when rotating around the X axis.

float angular_limit_x/lower_angle

Default 0.0

The minimum rotation in negative direction to break loose and rotate around the X axis.

float angular_limit_x/restitution

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

The amount of rotational restitution across the X axis. The lower, the more restitution occurs.

float angular_limit_x/softness

Default 0.5
Setter set_param_x(value)
Getter get_param_x()

The speed of all rotations across the X axis.

float angular_limit_x/upper_angle

Default 0.0

The minimum rotation in positive direction to break loose and rotate around the X axis.

float angular_limit_y/damping

Default 1.0
Setter set_param_y(value)
Getter get_param_y()

The amount of rotational damping across the Y axis. The lower, the more dampening occurs.

bool angular_limit_y/enabled

Default true
Setter set_flag_y(value)
Getter get_flag_y()

If true, rotation across the Y axis is limited.

float angular_limit_y/erp

Default 0.5
Setter set_param_y(value)
Getter get_param_y()

When rotating across the Y axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.

float angular_limit_y/force_limit

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

The maximum amount of force that can occur, when rotating around the Y axis.

float angular_limit_y/lower_angle

Default 0.0

The minimum rotation in negative direction to break loose and rotate around the Y axis.

float angular_limit_y/restitution

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

The amount of rotational restitution across the Y axis. The lower, the more restitution occurs.

float angular_limit_y/softness

Default 0.5
Setter set_param_y(value)
Getter get_param_y()

The speed of all rotations across the Y axis.

float angular_limit_y/upper_angle

Default 0.0

The minimum rotation in positive direction to break loose and rotate around the Y axis.

float angular_limit_z/damping

Default 1.0
Setter set_param_z(value)
Getter get_param_z()

The amount of rotational damping across the Z axis. The lower, the more dampening occurs.

bool angular_limit_z/enabled

Default true
Setter set_flag_z(value)
Getter get_flag_z()

If true, rotation across the Z axis is limited.

float angular_limit_z/erp

Default 0.5
Setter set_param_z(value)
Getter get_param_z()

When rotating across the Z axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.

float angular_limit_z/force_limit

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

The maximum amount of force that can occur, when rotating around the Z axis.

float angular_limit_z/lower_angle

Default 0.0

The minimum rotation in negative direction to break loose and rotate around the Z axis.

float angular_limit_z/restitution

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

The amount of rotational restitution across the Z axis. The lower, the more restitution occurs.

float angular_limit_z/softness

Default 0.5
Setter set_param_z(value)
Getter get_param_z()

The speed of all rotations across the Z axis.

float angular_limit_z/upper_angle

Default 0.0

The minimum rotation in positive direction to break loose and rotate around the Z axis.

bool angular_motor_x/enabled

Default false
Setter set_flag_x(value)
Getter get_flag_x()

If true, a rotating motor at the X axis is enabled.

float angular_motor_x/force_limit

Default 300.0
Setter set_param_x(value)
Getter get_param_x()

Maximum acceleration for the motor at the X axis.

float angular_motor_x/target_velocity

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

Target speed for the motor at the X axis.

bool angular_motor_y/enabled

Default false
Setter set_flag_y(value)
Getter get_flag_y()

If true, a rotating motor at the Y axis is enabled.

float angular_motor_y/force_limit

Default 300.0
Setter set_param_y(value)
Getter get_param_y()

Maximum acceleration for the motor at the Y axis.

float angular_motor_y/target_velocity

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

Target speed for the motor at the Y axis.

bool angular_motor_z/enabled

Default false
Setter set_flag_z(value)
Getter get_flag_z()

If true, a rotating motor at the Z axis is enabled.

float angular_motor_z/force_limit

Default 300.0
Setter set_param_z(value)
Getter get_param_z()

Maximum acceleration for the motor at the Z axis.

float angular_motor_z/target_velocity

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

Target speed for the motor at the Z axis.

float angular_spring_x/damping

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

bool angular_spring_x/enabled

Default false
Setter set_flag_x(value)
Getter get_flag_x()

float angular_spring_x/equilibrium_point

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

float angular_spring_x/stiffness

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

float angular_spring_y/damping

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

bool angular_spring_y/enabled

Default false
Setter set_flag_y(value)
Getter get_flag_y()

float angular_spring_y/equilibrium_point

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

float angular_spring_y/stiffness

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

float angular_spring_z/damping

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

bool angular_spring_z/enabled

Default false
Setter set_flag_z(value)
Getter get_flag_z()

float angular_spring_z/equilibrium_point

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

float angular_spring_z/stiffness

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

float linear_limit_x/damping

Default 1.0
Setter set_param_x(value)
Getter get_param_x()

The amount of damping that happens at the X motion.

bool linear_limit_x/enabled

Default true
Setter set_flag_x(value)
Getter get_flag_x()

If true, the linear motion across the X axis is limited.

float linear_limit_x/lower_distance

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

The minimum difference between the pivot points' X axis.

float linear_limit_x/restitution

Default 0.5
Setter set_param_x(value)
Getter get_param_x()

The amount of restitution on the X axis movement. The lower, the more momentum gets lost.

float linear_limit_x/softness

Default 0.7
Setter set_param_x(value)
Getter get_param_x()

A factor applied to the movement across the X axis. The lower, the slower the movement.

float linear_limit_x/upper_distance

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

The maximum difference between the pivot points' X axis.

float linear_limit_y/damping

Default 1.0
Setter set_param_y(value)
Getter get_param_y()

The amount of damping that happens at the Y motion.

bool linear_limit_y/enabled

Default true
Setter set_flag_y(value)
Getter get_flag_y()

If true, the linear motion across the Y axis is limited.

float linear_limit_y/lower_distance

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

The minimum difference between the pivot points' Y axis.

float linear_limit_y/restitution

Default 0.5
Setter set_param_y(value)
Getter get_param_y()

The amount of restitution on the Y axis movement. The lower, the more momentum gets lost.

float linear_limit_y/softness

Default 0.7
Setter set_param_y(value)
Getter get_param_y()

A factor applied to the movement across the Y axis. The lower, the slower the movement.

float linear_limit_y/upper_distance

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

The maximum difference between the pivot points' Y axis.

float linear_limit_z/damping

Default 1.0
Setter set_param_z(value)
Getter get_param_z()

The amount of damping that happens at the Z motion.

bool linear_limit_z/enabled

Default true
Setter set_flag_z(value)
Getter get_flag_z()

If true, the linear motion across the Z axis is limited.

float linear_limit_z/lower_distance

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

The minimum difference between the pivot points' Z axis.

float linear_limit_z/restitution

Default 0.5
Setter set_param_z(value)
Getter get_param_z()

The amount of restitution on the Z axis movement. The lower, the more momentum gets lost.

float linear_limit_z/softness

Default 0.7
Setter set_param_z(value)
Getter get_param_z()

A factor applied to the movement across the Z axis. The lower, the slower the movement.

float linear_limit_z/upper_distance

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

The maximum difference between the pivot points' Z axis.

bool linear_motor_x/enabled

Default false
Setter set_flag_x(value)
Getter get_flag_x()

If true, then there is a linear motor on the X axis. It will attempt to reach the target velocity while staying within the force limits.

float linear_motor_x/force_limit

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

The maximum force the linear motor can apply on the X axis while trying to reach the target velocity.

float linear_motor_x/target_velocity

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

The speed that the linear motor will attempt to reach on the X axis.

bool linear_motor_y/enabled

Default false
Setter set_flag_y(value)
Getter get_flag_y()

If true, then there is a linear motor on the Y axis. It will attempt to reach the target velocity while staying within the force limits.

float linear_motor_y/force_limit

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

The maximum force the linear motor can apply on the Y axis while trying to reach the target velocity.

float linear_motor_y/target_velocity

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

The speed that the linear motor will attempt to reach on the Y axis.

bool linear_motor_z/enabled

Default false
Setter set_flag_z(value)
Getter get_flag_z()

If true, then there is a linear motor on the Z axis. It will attempt to reach the target velocity while staying within the force limits.

float linear_motor_z/force_limit

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

The maximum force the linear motor can apply on the Z axis while trying to reach the target velocity.

float linear_motor_z/target_velocity

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

The speed that the linear motor will attempt to reach on the Z axis.

float linear_spring_x/damping

Default 0.01
Setter set_param_x(value)
Getter get_param_x()

bool linear_spring_x/enabled

Default false
Setter set_flag_x(value)
Getter get_flag_x()

float linear_spring_x/equilibrium_point

Default 0.0
Setter set_param_x(value)
Getter get_param_x()

float linear_spring_x/stiffness

Default 0.01
Setter set_param_x(value)
Getter get_param_x()

float linear_spring_y/damping

Default 0.01
Setter set_param_y(value)
Getter get_param_y()

bool linear_spring_y/enabled

Default false
Setter set_flag_y(value)
Getter get_flag_y()

float linear_spring_y/equilibrium_point

Default 0.0
Setter set_param_y(value)
Getter get_param_y()

float linear_spring_y/stiffness

Default 0.01
Setter set_param_y(value)
Getter get_param_y()

float linear_spring_z/damping

Default 0.01
Setter set_param_z(value)
Getter get_param_z()

bool linear_spring_z/enabled

Default false
Setter set_flag_z(value)
Getter get_flag_z()

float linear_spring_z/equilibrium_point

Default 0.0
Setter set_param_z(value)
Getter get_param_z()

float linear_spring_z/stiffness

Default 0.01
Setter set_param_z(value)
Getter get_param_z()

int precision

Default 1
Setter set_precision(value)
Getter get_precision()

Method Descriptions

bool get_flag_x ( Flag flag ) const

bool get_flag_y ( Flag flag ) const

bool get_flag_z ( Flag flag ) const

float get_param_x ( Param param ) const

float get_param_y ( Param param ) const

float get_param_z ( Param param ) const

void set_flag_x ( Flag flag, bool value )

void set_flag_y ( Flag flag, bool value )

void set_flag_z ( Flag flag, bool value )

void set_param_x ( Param param, float value )

void set_param_y ( Param param, float value )

void set_param_z ( Param param, float value )

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_generic6dofjoint.html