|
@@ -716,6 +716,9 @@ void Generic6DOFJoint::_bind_methods() {
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_x/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_LINEAR_LIMIT_SOFTNESS);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_x/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_LINEAR_RESTITUTION);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_x/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_LINEAR_DAMPING);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_motor_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_LINEAR_MOTOR);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_motor_x/target_velocity"), "set_param_x", "get_param_x", PARAM_LINEAR_MOTOR_TARGET_VELOCITY);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_motor_x/force_limit"), "set_param_x", "get_param_x", PARAM_LINEAR_MOTOR_FORCE_LIMIT);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_limit_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_ANGULAR_LIMIT);
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "angular_limit_x/upper_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_hi_limit_x", "_get_angular_hi_limit_x");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "angular_limit_x/lower_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_lo_limit_x", "_get_angular_lo_limit_x");
|
|
@@ -734,6 +737,9 @@ void Generic6DOFJoint::_bind_methods() {
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_y/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_LINEAR_LIMIT_SOFTNESS);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_y/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_LINEAR_RESTITUTION);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_y/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_LINEAR_DAMPING);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_motor_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_LINEAR_MOTOR);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_motor_y/target_velocity"), "set_param_y", "get_param_y", PARAM_LINEAR_MOTOR_TARGET_VELOCITY);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_motor_y/force_limit"), "set_param_y", "get_param_y", PARAM_LINEAR_MOTOR_FORCE_LIMIT);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_limit_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_ANGULAR_LIMIT);
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "angular_limit_y/upper_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_hi_limit_y", "_get_angular_hi_limit_y");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "angular_limit_y/lower_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_lo_limit_y", "_get_angular_lo_limit_y");
|
|
@@ -752,6 +758,9 @@ void Generic6DOFJoint::_bind_methods() {
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_z/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_LINEAR_LIMIT_SOFTNESS);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_z/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_LINEAR_RESTITUTION);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_limit_z/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_LINEAR_DAMPING);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_motor_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_LINEAR_MOTOR);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_motor_z/target_velocity"), "set_param_z", "get_param_z", PARAM_LINEAR_MOTOR_TARGET_VELOCITY);
|
|
|
+ ADD_PROPERTYI(PropertyInfo(Variant::REAL, "linear_motor_z/force_limit"), "set_param_z", "get_param_z", PARAM_LINEAR_MOTOR_FORCE_LIMIT);
|
|
|
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_limit_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_ANGULAR_LIMIT);
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "angular_limit_z/upper_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_hi_limit_z", "_get_angular_hi_limit_z");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "angular_limit_z/lower_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_lo_limit_z", "_get_angular_lo_limit_z");
|
|
@@ -769,6 +778,8 @@ void Generic6DOFJoint::_bind_methods() {
|
|
|
BIND_ENUM_CONSTANT(PARAM_LINEAR_LIMIT_SOFTNESS);
|
|
|
BIND_ENUM_CONSTANT(PARAM_LINEAR_RESTITUTION);
|
|
|
BIND_ENUM_CONSTANT(PARAM_LINEAR_DAMPING);
|
|
|
+ BIND_ENUM_CONSTANT(PARAM_LINEAR_MOTOR_TARGET_VELOCITY);
|
|
|
+ BIND_ENUM_CONSTANT(PARAM_LINEAR_MOTOR_FORCE_LIMIT);
|
|
|
BIND_ENUM_CONSTANT(PARAM_ANGULAR_LOWER_LIMIT);
|
|
|
BIND_ENUM_CONSTANT(PARAM_ANGULAR_UPPER_LIMIT);
|
|
|
BIND_ENUM_CONSTANT(PARAM_ANGULAR_LIMIT_SOFTNESS);
|
|
@@ -783,6 +794,7 @@ void Generic6DOFJoint::_bind_methods() {
|
|
|
BIND_ENUM_CONSTANT(FLAG_ENABLE_LINEAR_LIMIT);
|
|
|
BIND_ENUM_CONSTANT(FLAG_ENABLE_ANGULAR_LIMIT);
|
|
|
BIND_ENUM_CONSTANT(FLAG_ENABLE_MOTOR);
|
|
|
+ BIND_ENUM_CONSTANT(FLAG_ENABLE_LINEAR_MOTOR);
|
|
|
BIND_ENUM_CONSTANT(FLAG_MAX);
|
|
|
}
|
|
|
|
|
@@ -912,6 +924,8 @@ Generic6DOFJoint::Generic6DOFJoint() {
|
|
|
set_param_x(PARAM_LINEAR_LIMIT_SOFTNESS, 0.7);
|
|
|
set_param_x(PARAM_LINEAR_RESTITUTION, 0.5);
|
|
|
set_param_x(PARAM_LINEAR_DAMPING, 1.0);
|
|
|
+ set_param_x(PARAM_LINEAR_MOTOR_TARGET_VELOCITY, 0);
|
|
|
+ set_param_x(PARAM_LINEAR_MOTOR_FORCE_LIMIT, 0);
|
|
|
set_param_x(PARAM_ANGULAR_LOWER_LIMIT, 0);
|
|
|
set_param_x(PARAM_ANGULAR_UPPER_LIMIT, 0);
|
|
|
set_param_x(PARAM_ANGULAR_LIMIT_SOFTNESS, 0.5f);
|
|
@@ -925,12 +939,15 @@ Generic6DOFJoint::Generic6DOFJoint() {
|
|
|
set_flag_x(FLAG_ENABLE_ANGULAR_LIMIT, true);
|
|
|
set_flag_x(FLAG_ENABLE_LINEAR_LIMIT, true);
|
|
|
set_flag_x(FLAG_ENABLE_MOTOR, false);
|
|
|
+ set_flag_x(FLAG_ENABLE_LINEAR_MOTOR, false);
|
|
|
|
|
|
set_param_y(PARAM_LINEAR_LOWER_LIMIT, 0);
|
|
|
set_param_y(PARAM_LINEAR_UPPER_LIMIT, 0);
|
|
|
set_param_y(PARAM_LINEAR_LIMIT_SOFTNESS, 0.7);
|
|
|
set_param_y(PARAM_LINEAR_RESTITUTION, 0.5);
|
|
|
set_param_y(PARAM_LINEAR_DAMPING, 1.0);
|
|
|
+ set_param_y(PARAM_LINEAR_MOTOR_TARGET_VELOCITY, 0);
|
|
|
+ set_param_y(PARAM_LINEAR_MOTOR_FORCE_LIMIT, 0);
|
|
|
set_param_y(PARAM_ANGULAR_LOWER_LIMIT, 0);
|
|
|
set_param_y(PARAM_ANGULAR_UPPER_LIMIT, 0);
|
|
|
set_param_y(PARAM_ANGULAR_LIMIT_SOFTNESS, 0.5f);
|
|
@@ -944,12 +961,15 @@ Generic6DOFJoint::Generic6DOFJoint() {
|
|
|
set_flag_y(FLAG_ENABLE_ANGULAR_LIMIT, true);
|
|
|
set_flag_y(FLAG_ENABLE_LINEAR_LIMIT, true);
|
|
|
set_flag_y(FLAG_ENABLE_MOTOR, false);
|
|
|
+ set_flag_y(FLAG_ENABLE_LINEAR_MOTOR, false);
|
|
|
|
|
|
set_param_z(PARAM_LINEAR_LOWER_LIMIT, 0);
|
|
|
set_param_z(PARAM_LINEAR_UPPER_LIMIT, 0);
|
|
|
set_param_z(PARAM_LINEAR_LIMIT_SOFTNESS, 0.7);
|
|
|
set_param_z(PARAM_LINEAR_RESTITUTION, 0.5);
|
|
|
set_param_z(PARAM_LINEAR_DAMPING, 1.0);
|
|
|
+ set_param_z(PARAM_LINEAR_MOTOR_TARGET_VELOCITY, 0);
|
|
|
+ set_param_z(PARAM_LINEAR_MOTOR_FORCE_LIMIT, 0);
|
|
|
set_param_z(PARAM_ANGULAR_LOWER_LIMIT, 0);
|
|
|
set_param_z(PARAM_ANGULAR_UPPER_LIMIT, 0);
|
|
|
set_param_z(PARAM_ANGULAR_LIMIT_SOFTNESS, 0.5f);
|
|
@@ -963,4 +983,5 @@ Generic6DOFJoint::Generic6DOFJoint() {
|
|
|
set_flag_z(FLAG_ENABLE_ANGULAR_LIMIT, true);
|
|
|
set_flag_z(FLAG_ENABLE_LINEAR_LIMIT, true);
|
|
|
set_flag_z(FLAG_ENABLE_MOTOR, false);
|
|
|
+ set_flag_z(FLAG_ENABLE_LINEAR_MOTOR, false);
|
|
|
}
|