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, value: bool)

void

set_flag_y(flag: Flag, value: bool)

void

set_flag_z(flag: Flag, value: bool)

void

set_param_x(param: Param, value: float)

void

set_param_y(param: Param, value: float)

void

set_param_z(param: Param, value: float)


枚举

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 🔗

该属性目前没有描述,请帮我们贡献一个吧!


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 🔗

发生在 X 运动的阻尼量。


bool linear_limit_x/enabled = true 🔗

如果为 true,则跨越 X 轴的线性运动将受到限制。


float linear_limit_x/lower_distance = 0.0 🔗

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


float linear_limit_x/restitution = 0.5 🔗

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


float linear_limit_x/softness = 0.7 🔗

应用于 X 轴上移动的一个系数。值越低,移动的就越慢。


float linear_limit_x/upper_distance = 0.0 🔗

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


float linear_limit_y/damping = 1.0 🔗

发生在 Y 运动的阻尼量。


bool linear_limit_y/enabled = true 🔗

如果为 true,则跨越 Y 轴的线性运动将受到限制。


float linear_limit_y/lower_distance = 0.0 🔗

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


float linear_limit_y/restitution = 0.5 🔗

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


float linear_limit_y/softness = 0.7 🔗

应用于 Y 轴上移动的一个系数。值越低,移动的就越慢。


float linear_limit_y/upper_distance = 0.0 🔗

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


float linear_limit_z/damping = 1.0 🔗

发生在 Z 运动的阻尼量。


bool linear_limit_z/enabled = true 🔗

如果为 true,则跨越 Z 轴的线性运动将受到限制。


float linear_limit_z/lower_distance = 0.0 🔗

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


float linear_limit_z/restitution = 0.5 🔗

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


float linear_limit_z/softness = 0.7 🔗

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


float linear_limit_z/upper_distance = 0.0 🔗

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


bool linear_motor_x/enabled = false 🔗

如果为 true,则 X 轴上存在线性马达。它将试图达到目标速度,同时保持在力的限度内。


float linear_motor_x/force_limit = 0.0 🔗

当尝试达到目标速度时,线性马达可以在 X 轴上应用的最大力。


float linear_motor_x/target_velocity = 0.0 🔗

线性马达在 X 轴上尝试达到的速度。


bool linear_motor_y/enabled = false 🔗

如果为 true,则 Y 轴上存在线性马达。它将试图达到目标速度,同时保持在力的限度内。


float linear_motor_y/force_limit = 0.0 🔗

直线电机在试图达到目标速度时可施加在 Y 轴上的最大力。


float linear_motor_y/target_velocity = 0.0 🔗

线性马达在 Y 轴上将会达到的速度。


bool linear_motor_z/enabled = false 🔗

如果为 true,则 Z 轴上存在线性马达。它将试图达到目标速度,同时保持在力的限度内。


float linear_motor_z/force_limit = 0.0 🔗

当试图达到目标速度时,线性马达可以在 X 轴上应用的最大力。


float linear_motor_z/target_velocity = 0.0 🔗

线性马达在 Z 轴上试图达到的速度。


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, value: bool) 🔗

该方法目前没有描述,请帮我们贡献一个吧!


void set_flag_y(flag: Flag, value: bool) 🔗

该方法目前没有描述,请帮我们贡献一个吧!


void set_flag_z(flag: Flag, value: bool) 🔗

该方法目前没有描述,请帮我们贡献一个吧!


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

该方法目前没有描述,请帮我们贡献一个吧!


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

该方法目前没有描述,请帮我们贡献一个吧!


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

该方法目前没有描述,请帮我们贡献一个吧!