mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 03:44:02 +02:00
try harder to ensure that a held object is active in bullet
This commit is contained in:
parent
a3ceb3a298
commit
b873d92469
3 changed files with 9 additions and 4 deletions
|
@ -90,7 +90,7 @@ void AvatarActionHold::prepareForPhysicsSimulation() {
|
|||
// _palmRotationFromRigidBody = avatarRotationInverse * palmRotation;
|
||||
});
|
||||
|
||||
activateBody();
|
||||
activateBody(true);
|
||||
}
|
||||
|
||||
std::shared_ptr<Avatar> AvatarActionHold::getTarget(glm::quat& rotation, glm::vec3& position) {
|
||||
|
|
|
@ -237,10 +237,15 @@ void ObjectAction::setAngularVelocity(glm::vec3 angularVelocity) {
|
|||
rigidBody->activate();
|
||||
}
|
||||
|
||||
void ObjectAction::activateBody() {
|
||||
void ObjectAction::activateBody(bool forceActivation) {
|
||||
auto rigidBody = getRigidBody();
|
||||
if (rigidBody) {
|
||||
rigidBody->activate();
|
||||
rigidBody->activate(forceActivation);
|
||||
if (! rigidBody->isActive()) {
|
||||
qDebug() << "ObjectAction::activateBody -- rigidBody->activate() failed" << (void*)rigidBody;
|
||||
}
|
||||
} else {
|
||||
qDebug() << "ObjectAction::activateBody -- no rigid body" << (void*)rigidBody;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ protected:
|
|||
virtual void setLinearVelocity(glm::vec3 linearVelocity) override;
|
||||
virtual glm::vec3 getAngularVelocity() override;
|
||||
virtual void setAngularVelocity(glm::vec3 angularVelocity) override;
|
||||
virtual void activateBody();
|
||||
virtual void activateBody(bool forceActivation = false);
|
||||
virtual void forceBodyNonStatic();
|
||||
|
||||
EntityItemWeakPointer _ownerEntity;
|
||||
|
|
Loading…
Reference in a new issue