mirror of
https://github.com/lubosz/overte.git
synced 2025-08-08 03:08:00 +02:00
fix avatar upward drift after shape change
This commit is contained in:
parent
8c109fd623
commit
9e99bff250
1 changed files with 5 additions and 1 deletions
|
@ -80,9 +80,13 @@ void CharacterController::setDynamicsWorld(btDynamicsWorld* world) {
|
||||||
if (world && _rigidBody) {
|
if (world && _rigidBody) {
|
||||||
_dynamicsWorld = world;
|
_dynamicsWorld = world;
|
||||||
_pendingFlags &= ~PENDING_FLAG_JUMP;
|
_pendingFlags &= ~PENDING_FLAG_JUMP;
|
||||||
|
// Before adding the RigidBody to the world we must save its oldGravity to the side
|
||||||
|
// because adding an object to the world will overwrite it with the default gravity.
|
||||||
|
btVector3 oldGravity = _rigidBody->getGravity();
|
||||||
_dynamicsWorld->addRigidBody(_rigidBody, COLLISION_GROUP_MY_AVATAR, COLLISION_MASK_MY_AVATAR);
|
_dynamicsWorld->addRigidBody(_rigidBody, COLLISION_GROUP_MY_AVATAR, COLLISION_MASK_MY_AVATAR);
|
||||||
_dynamicsWorld->addAction(this);
|
_dynamicsWorld->addAction(this);
|
||||||
//reset(_dynamicsWorld);
|
// restore gravity settings
|
||||||
|
_rigidBody->setGravity(oldGravity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (_dynamicsWorld) {
|
if (_dynamicsWorld) {
|
||||||
|
|
Loading…
Reference in a new issue