Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Generic6DOFJoint3D

继承: Joint3D < Node3D < Node < Object

一种物理关节,允许在两个 3D 物理对象之间进行复杂的移动和旋转。

描述

Generic6DOFJoint3D(6 Degrees Of Freedom,六自由度)关节允许通过锁定某些轴的旋转和平移来实现自定义类型的关节。

前三个自由度代表物理体的线性运动,后三个自由度代表物理题的角度运动。每个轴都可以进行锁定或限制。

属性

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

方法

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 )


枚举

enum Param:

Param PARAM_LINEAR_LOWER_LIMIT = 0

轴心点的轴之间的最小差异。

Param PARAM_LINEAR_UPPER_LIMIT = 1

轴心点的轴之间的最大差异。

Param PARAM_LINEAR_LIMIT_SOFTNESS = 2

适用于跨轴移动的一个系数。值越低,移动的就越慢。

Param PARAM_LINEAR_RESTITUTION = 3

轴的运动的恢复量。值越低,动量损失越大。

Param PARAM_LINEAR_DAMPING = 4

发生在跨轴线性运动的阻尼量。

Param PARAM_LINEAR_MOTOR_TARGET_VELOCITY = 5

线性马达将尝试达到的速度。

Param PARAM_LINEAR_MOTOR_FORCE_LIMIT = 6

线性马达在试图达到速度目标时将施加的最大力。

Param PARAM_LINEAR_SPRING_STIFFNESS = 7

Param PARAM_LINEAR_SPRING_DAMPING = 8

Param PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT = 9

Param PARAM_ANGULAR_LOWER_LIMIT = 10

负方向的最小旋转,以脱离和绕轴旋转。

Param PARAM_ANGULAR_UPPER_LIMIT = 11

正方向的最小旋转,以挣脱和绕轴旋转。

Param PARAM_ANGULAR_LIMIT_SOFTNESS = 12

所有跨轴旋转的速度。

Param PARAM_ANGULAR_DAMPING = 13

跨该轴的旋转阻尼量。值越低,发生的阻尼就越多。

Param PARAM_ANGULAR_RESTITUTION = 14

在各轴上的旋转恢复量。值越低,发生的恢复量越大。

Param PARAM_ANGULAR_FORCE_LIMIT = 15

围绕 Z 轴旋转时,可能发生的最大力。

Param PARAM_ANGULAR_ERP = 16

当跨轴旋转时,这个误差容限系数定义了修正的速度被减慢的程度。值越低,旋转越慢。

Param PARAM_ANGULAR_MOTOR_TARGET_VELOCITY = 17

轴上电机的目标速度。

Param PARAM_ANGULAR_MOTOR_FORCE_LIMIT = 18

马达在轴上的最大加速度。

Param PARAM_ANGULAR_SPRING_STIFFNESS = 19

Param PARAM_ANGULAR_SPRING_DAMPING = 20

Param PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT = 21

Param PARAM_MAX = 22

代表 Param 枚举的大小。


enum Flag:

Flag FLAG_ENABLE_LINEAR_LIMIT = 0

如果启用,在给定范围内可以进行线性运动。

Flag FLAG_ENABLE_ANGULAR_LIMIT = 1

如果启用,在给定的限度内可以进行旋转运动。

Flag FLAG_ENABLE_LINEAR_SPRING = 3

Flag FLAG_ENABLE_ANGULAR_SPRING = 2

Flag FLAG_ENABLE_MOTOR = 4

如果启用,则存在跨这些轴的旋转马达。

Flag FLAG_ENABLE_LINEAR_MOTOR = 5

如果启用,则存在跨这些轴的线性马达。

Flag FLAG_MAX = 6

代表 Flag 枚举的大小。


属性说明

float angular_limit_x/damping = 1.0

跨 X 轴的旋转阻尼量。

越低,来自一侧的冲量到达另一侧的时间越长。


bool angular_limit_x/enabled = true

如果为 true,则跨越 X 轴的旋转将受到限制。


float angular_limit_x/erp = 0.5

当在X轴上旋转时,这个误差容限系数定义了修正的速度被减慢的程度。值越低,旋转越慢。


float angular_limit_x/force_limit = 0.0

绕 X 轴旋转时所能产生的最大力。


float angular_limit_x/lower_angle = 0.0

负方向的最小旋转,以挣脱并围绕 X 轴旋转。


float angular_limit_x/restitution = 0.0

X 轴上的旋转恢复量。值越小,产生的恢复量越大。


float angular_limit_x/softness = 0.5

跨越 X 轴的所有旋转的速度。


float angular_limit_x/upper_angle = 0.0

正方向的最小旋转,以挣脱并绕 X 轴旋转。


float angular_limit_y/damping = 1.0

Y轴上的旋转阻尼量。值越小,产生的阻尼就越大。


bool angular_limit_y/enabled = true

如果为 true,则跨越 Y 轴的旋转将受到限制。


float angular_limit_y/erp = 0.5

当在 Y 轴上旋转时,这个误差容限系数定义了修正的速度被减慢的程度。值越低,旋转越慢。


float angular_limit_y/force_limit = 0.0

围绕 Y 轴旋转时,可能发生的最大力。


float angular_limit_y/lower_angle = 0.0

负方向的最小旋转,以挣脱并围绕 Y 轴旋转。


float angular_limit_y/restitution = 0.0

跨越 Y 轴的旋转恢复量。越低,发生的恢复量越大。


float angular_limit_y/softness = 0.5

跨越 Y 轴的所有旋转的速度。


float angular_limit_y/upper_angle = 0.0

正方向的最小旋转,以挣脱并绕 Y 轴旋转。


float angular_limit_z/damping = 1.0

跨越 Z 轴的旋转阻尼量。值越小,产生的阻尼就越大。


bool angular_limit_z/enabled = true

如果为 true,则跨越 Z 轴的旋转将受到限制。


float angular_limit_z/erp = 0.5

当在 Z 轴上旋转时,这个误差容限系数定义了修正的速度被减慢的程度。值越低,旋转越慢。


float angular_limit_z/force_limit = 0.0

围绕 Z 轴旋转时,可能发生的最角度。


float angular_limit_z/lower_angle = 0.0

负方向的最小旋转,以挣脱并围绕 Z 轴旋转。


float angular_limit_z/restitution = 0.0

跨越 Z 轴的旋转恢复量。越低,发生的恢复量越大。


float angular_limit_z/softness = 0.5

跨越 Z 轴的所有旋转的速度。


float angular_limit_z/upper_angle = 0.0

正方向的最小旋转,并绕 Z 轴旋转。


bool angular_motor_x/enabled = false

如果为 true,则启用 X 轴的旋转马达。


float angular_motor_x/force_limit = 300.0

在 X 轴旋转的最大加速度。


float angular_motor_x/target_velocity = 0.0

X 轴上电机的目标速度。


bool angular_motor_y/enabled = false

如果为 true,则启用 Y 轴的旋转马达。


float angular_motor_y/force_limit = 300.0

电机在 X 轴的最大加速度。


float angular_motor_y/target_velocity = 0.0

电机在 Y 轴的目标速度。


bool angular_motor_z/enabled = false

如果为 true,则启用 Z 轴的旋转马达。


float angular_motor_z/force_limit = 300.0

电机在 Z 轴的最大加速度。


float angular_motor_z/target_velocity = 0.0

Z 轴上电机的目标速度。


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