Correctly compute inverse_mass when inertia is defined by user
This commit is contained in:
parent
d80396db03
commit
de40dfaac0
1 changed files with 6 additions and 7 deletions
|
@ -44,6 +44,12 @@ void Body2DSW::update_inertias() {
|
|||
|
||||
switch (mode) {
|
||||
case Physics2DServer::BODY_MODE_RIGID: {
|
||||
if (mass) {
|
||||
_inv_mass = 1.0 / mass;
|
||||
} else {
|
||||
_inv_mass = 0;
|
||||
}
|
||||
|
||||
if (user_inertia) {
|
||||
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
|
||||
break;
|
||||
|
@ -78,13 +84,6 @@ void Body2DSW::update_inertias() {
|
|||
}
|
||||
|
||||
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
|
||||
|
||||
if (mass) {
|
||||
_inv_mass = 1.0 / mass;
|
||||
} else {
|
||||
_inv_mass = 0;
|
||||
}
|
||||
|
||||
} break;
|
||||
case Physics2DServer::BODY_MODE_KINEMATIC:
|
||||
case Physics2DServer::BODY_MODE_STATIC: {
|
||||
|
|
Loading…
Reference in a new issue