Proper support for custom mass properties in 2D/3D physics bodies
Changes: -Added support for custom inertia and center of mass in 3D -Added support for custom center of mass in 2D -Calculated center of mass from shapes in 2D (same as in 3D) -Fixed mass properties calculation with disabled shapes in 2D/3D -Removed first_integration which is not used in 2D and doesn't seem to make a lot of sense (prevents omit_force_integration to work during the first frame) -Support for custom inertia on different axes for RigidBody3D
This commit is contained in:
parent
e1ae2708ee
commit
82ea2a7045
31 changed files with 665 additions and 319 deletions
|
|
@ -405,14 +405,18 @@ public:
|
|||
BODY_PARAM_BOUNCE,
|
||||
BODY_PARAM_FRICTION,
|
||||
BODY_PARAM_MASS, ///< unused for static, always infinite
|
||||
BODY_PARAM_INERTIA,
|
||||
BODY_PARAM_CENTER_OF_MASS,
|
||||
BODY_PARAM_GRAVITY_SCALE,
|
||||
BODY_PARAM_LINEAR_DAMP,
|
||||
BODY_PARAM_ANGULAR_DAMP,
|
||||
BODY_PARAM_MAX,
|
||||
};
|
||||
|
||||
virtual void body_set_param(RID p_body, BodyParameter p_param, real_t p_value) = 0;
|
||||
virtual real_t body_get_param(RID p_body, BodyParameter p_param) const = 0;
|
||||
virtual void body_set_param(RID p_body, BodyParameter p_param, const Variant &p_value) = 0;
|
||||
virtual Variant body_get_param(RID p_body, BodyParameter p_param) const = 0;
|
||||
|
||||
virtual void body_reset_mass_properties(RID p_body) = 0;
|
||||
|
||||
//state
|
||||
enum BodyState {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue