Skip to content

HingeJoint3D ​

Inherits: Joint3D < Node3D < Node < Object

A physics joint that restricts the rotation of a 3D physics body around an axis relative to another physics body.

Description

A physics joint that restricts the rotation of a 3D physics body around an axis relative to another physics body. For example, Body A can be a StaticBody3D representing a door hinge that a RigidBody3D rotates around.

Properties

float

angular_limit/bias

0.3

bool

angular_limit/enable

false

float

angular_limit/lower

-1.5708

float

angular_limit/relaxation

1.0

float

angular_limit/softness

0.9

float

angular_limit/upper

1.5708

bool

motor/enable

false

float

motor/max_impulse

1.0

float

motor/target_velocity

1.0

float

params/bias

0.3

Methods

bool

get_flag(flag: Flag) const

float

get_param(param: Param) const

void

set_flag(flag: Flag, enabled: bool)

void

set_param(param: Param, value: float)


Enumerations

enum Param: 🔗

Param PARAM_BIAS = 0

The speed with which the two bodies get pulled together when they move in different directions.

Param PARAM_LIMIT_UPPER = 1

The maximum rotation. Only active if angular_limit/enable is true.

Param PARAM_LIMIT_LOWER = 2

The minimum rotation. Only active if angular_limit/enable is true.

Param PARAM_LIMIT_BIAS = 3

The speed with which the rotation across the axis perpendicular to the hinge gets corrected.

Param PARAM_LIMIT_SOFTNESS = 4

Deprecated: This property is never used by the engine and is kept for compatibility purpose.

Param PARAM_LIMIT_RELAXATION = 5

The lower this value, the more the rotation gets slowed down.

Param PARAM_MOTOR_TARGET_VELOCITY = 6

Target speed for the motor.

Param PARAM_MOTOR_MAX_IMPULSE = 7

Maximum acceleration for the motor.

Param PARAM_MAX = 8

Represents the size of the Param enum.


enum Flag: 🔗

Flag FLAG_USE_LIMIT = 0

If true, the hinges maximum and minimum rotation, defined by angular_limit/lower and angular_limit/upper has effects.

Flag FLAG_ENABLE_MOTOR = 1

When activated, a motor turns the hinge.

Flag FLAG_MAX = 2

Represents the size of the Flag enum.


Property Descriptions

float angular_limit/bias = 0.3 🔗

The speed with which the rotation across the axis perpendicular to the hinge gets corrected.


bool angular_limit/enable = false 🔗

If true, the hinges maximum and minimum rotation, defined by angular_limit/lower and angular_limit/upper has effects.


float angular_limit/lower = -1.5708 🔗

The minimum rotation. Only active if angular_limit/enable is true.


float angular_limit/relaxation = 1.0 🔗

The lower this value, the more the rotation gets slowed down.


float angular_limit/softness = 0.9 🔗

Deprecated: This property is never set by the engine and is kept for compatibility purposes.


float angular_limit/upper = 1.5708 🔗

The maximum rotation. Only active if angular_limit/enable is true.


bool motor/enable = false 🔗

When activated, a motor turns the hinge.


float motor/max_impulse = 1.0 🔗

Maximum acceleration for the motor.


float motor/target_velocity = 1.0 🔗

Target speed for the motor.


float params/bias = 0.3 🔗

The speed with which the two bodies get pulled together when they move in different directions.


Method Descriptions

bool get_flag(flag: Flag) const 🔗

Returns the value of the specified flag.


float get_param(param: Param) const 🔗

Returns the value of the specified parameter.


void set_flag(flag: Flag, enabled: bool) 🔗

If true, enables the specified flag.


void set_param(param: Param, value: float) 🔗

Sets the value of the specified parameter.