mirror of https://github.com/godotengine/godot
Merge pull request #100473 from opsocket/fix-rigid-bodies-damping
Update damping values for jolt rigid bodies on mode switch at runtime
This commit is contained in:
commit
3a12fc89b6
|
|
@ -1404,6 +1404,26 @@ void JoltBody3D::set_angular_damp(float p_damp) {
|
||||||
_update_damp();
|
_update_damp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void JoltBody3D::set_linear_damp_mode(DampMode p_mode) {
|
||||||
|
if (p_mode == linear_damp_mode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
linear_damp_mode = p_mode;
|
||||||
|
|
||||||
|
_update_damp();
|
||||||
|
}
|
||||||
|
|
||||||
|
void JoltBody3D::set_angular_damp_mode(DampMode p_mode) {
|
||||||
|
if (p_mode == angular_damp_mode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
angular_damp_mode = p_mode;
|
||||||
|
|
||||||
|
_update_damp();
|
||||||
|
}
|
||||||
|
|
||||||
bool JoltBody3D::is_axis_locked(PhysicsServer3D::BodyAxis p_axis) const {
|
bool JoltBody3D::is_axis_locked(PhysicsServer3D::BodyAxis p_axis) const {
|
||||||
return (locked_axes & (uint32_t)p_axis) != 0;
|
return (locked_axes & (uint32_t)p_axis) != 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -287,10 +287,10 @@ public:
|
||||||
void set_collision_priority(float p_priority) { collision_priority = p_priority; }
|
void set_collision_priority(float p_priority) { collision_priority = p_priority; }
|
||||||
|
|
||||||
DampMode get_linear_damp_mode() const { return linear_damp_mode; }
|
DampMode get_linear_damp_mode() const { return linear_damp_mode; }
|
||||||
void set_linear_damp_mode(DampMode p_mode) { linear_damp_mode = p_mode; }
|
void set_linear_damp_mode(DampMode p_mode);
|
||||||
|
|
||||||
DampMode get_angular_damp_mode() const { return angular_damp_mode; }
|
DampMode get_angular_damp_mode() const { return angular_damp_mode; }
|
||||||
void set_angular_damp_mode(DampMode p_mode) { angular_damp_mode = p_mode; }
|
void set_angular_damp_mode(DampMode p_mode);
|
||||||
|
|
||||||
bool is_axis_locked(PhysicsServer3D::BodyAxis p_axis) const;
|
bool is_axis_locked(PhysicsServer3D::BodyAxis p_axis) const;
|
||||||
void set_axis_lock(PhysicsServer3D::BodyAxis p_axis, bool p_enabled);
|
void set_axis_lock(PhysicsServer3D::BodyAxis p_axis, bool p_enabled);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue