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, bool enabled )

void

set_param ( Param param, float value )


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

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

There is currently no description for this property. Please help us by contributing one!


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, bool enabled )

If true, enables the specified flag.


void set_param ( Param param, float value )

Sets the value of the specified parameter.