Update com_jme3_bullet_objects_PhysicsRigidBody.cpp (#702)

* Update com_jme3_bullet_objects_PhysicsRigidBody.cpp

From docu here: http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Activation_States
..
ACTIVE_TAG
    Means active so that the object having the state could be moved in a step simulation. This is the "normal" state for an object to be in. Use btCollisionObject::activate() to activate an object, not btCollisionObject::setActivationState(ACTIVATE_TAG), or it may get disabled again right away, as the deactivation timer has not been reset. 
..

* Update com_jme3_bullet_objects_PhysicsRigidBody.cpp

Settin RigidBody kinematic and then back dynamic will leave activation state to disabled causing the object never fall to sleep.
fix-456
Dennis 8 years ago committed by Rémy Bouquet
parent 642b9f4d39
commit 02bc779866
  1. 3
      jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsRigidBody.cpp

@ -217,7 +217,8 @@ extern "C" {
body->setActivationState(DISABLE_DEACTIVATION); body->setActivationState(DISABLE_DEACTIVATION);
} else { } else {
body->setCollisionFlags(body->getCollisionFlags() & ~btCollisionObject::CF_KINEMATIC_OBJECT); body->setCollisionFlags(body->getCollisionFlags() & ~btCollisionObject::CF_KINEMATIC_OBJECT);
body->setActivationState(ACTIVE_TAG); body->activate(true);
body->forceActivationState(ACTIVE_TAG);
} }
} }

Loading…
Cancel
Save