Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Generic6DOFJoint3D

Inherits: Joint3D < Node3D < 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

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 PARAM_LINEAR_LOWER_LIMIT = 0

The minimum difference between the pivot points' axes.

Param PARAM_LINEAR_UPPER_LIMIT = 1

The maximum difference between the pivot points' axes.

Param PARAM_LINEAR_LIMIT_SOFTNESS = 2

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

Param PARAM_LINEAR_RESTITUTION = 3

The amount of restitution on the axes' movement. The lower, the more momentum gets lost.

Param PARAM_LINEAR_DAMPING = 4

The amount of damping that happens at the linear motion across the axes.