Generic6DOFJoint

继承: JointBase < Item3D < Item < Object

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

描述

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

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

属性

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

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

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 🔗

电机在Y轴上的最大加速度。


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 🔗

Z轴运动的恢复量。越低,失去的动量越多。


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 🔗

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


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) 🔗