aboutsummaryrefslogtreecommitdiff
path: root/modules/bullet/collision_object_bullet.cpp
diff options
context:
space:
mode:
authorAndreaCatania2018-01-08 01:22:54 +0100
committerAndreaCatania2018-01-08 16:44:33 +0100
commit50c99370d2a8bf109469fe1c97d45c8d6303f1ef (patch)
tree99698838cb2bb32df303a9cd08a6a41f73008dba /modules/bullet/collision_object_bullet.cpp
parent29e68aa40e3effa1946b3889021b8c61a933c05c (diff)
downloadgodot-50c99370d2a8bf109469fe1c97d45c8d6303f1ef.tar.gz
godot-50c99370d2a8bf109469fe1c97d45c8d6303f1ef.tar.zst
godot-50c99370d2a8bf109469fe1c97d45c8d6303f1ef.zip
Diffstat (limited to 'modules/bullet/collision_object_bullet.cpp')
-rw-r--r--modules/bullet/collision_object_bullet.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/bullet/collision_object_bullet.cpp b/modules/bullet/collision_object_bullet.cpp
index b3dfc2eec..873c9c31b 100644
--- a/modules/bullet/collision_object_bullet.cpp
+++ b/modules/bullet/collision_object_bullet.cpp
@@ -49,7 +49,9 @@
CollisionObjectBullet::ShapeWrapper::~ShapeWrapper() {}
void CollisionObjectBullet::ShapeWrapper::set_transform(const Transform &p_transform) {
+ G_TO_B(p_transform.get_basis().get_scale(), scale);
G_TO_B(p_transform, transform);
+ UNSCALE_BT_BASIS(transform);
}
void CollisionObjectBullet::ShapeWrapper::set_transform(const btTransform &p_transform) {
transform = p_transform;
@@ -235,7 +237,7 @@ void RigidCollisionObjectBullet::set_shape_transform(int p_index, const Transfor
ERR_FAIL_INDEX(p_index, get_shape_count());
shapes[p_index].set_transform(p_transform);
- on_shapes_changed();
+ on_shape_changed(shapes[p_index].shape);
}
void RigidCollisionObjectBullet::remove_shape(ShapeBullet *p_shape) {
@@ -320,7 +322,7 @@ void RigidCollisionObjectBullet::on_shapes_changed() {
shpWrapper = &shapes[i];
if (shpWrapper->active) {
if (!shpWrapper->bt_shape) {
- shpWrapper->bt_shape = shpWrapper->shape->create_bt_shape();
+ shpWrapper->bt_shape = shpWrapper->shape->create_bt_shape(shpWrapper->scale);
}
compoundShape->addChildShape(shpWrapper->transform, shpWrapper->bt_shape);
} else {