Commit: 909d3228b1d0254888d0c97d269e9ab2e315dba9
Author: Porteries Tristan
Date: Tue May 12 13:24:47 2015 +0200
Branches: master
https://developer.blender.org/rB909d3228b1d0254888d0c97d269e9ab2e315dba9
BGE : Fix Bullet shape margin for triangle mesh static objects
===================================================================
M source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
M source/gameengine/Physics/Bullet/CcdPhysicsController.h
===================================================================
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
index efa9065..ed23a45 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
@@ -2610,6 +2610,7 @@ btCollisionShape*
CcdShapeConstructionInfo::CreateBulletShape(btScalar margin, b
}
btBvhTriangleMeshShape *unscaledShape = new
btBvhTriangleMeshShape(m_triangleIndexVertexArray, true, useBvh);
+ unscaledShape->setMargin(margin);
collisionShape = new
btScaledBvhTriangleMeshShape(unscaledShape, btVector3(1.0f, 1.0f, 1.0f));
collisionShape->setMargin(margin);
}
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.h
b/source/gameengine/Physics/Bullet/CcdPhysicsController.h
index 625713d..b1d3876 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.h
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.h
@@ -657,8 +657,12 @@ protected:
virtual void CalcXform() {}
virtual void SetMargin(float margin)
{
- if (m_collisionShape)
- m_collisionShape->setMargin(btScalar(margin));
+ if (m_collisionShape) {
+ m_collisionShape->setMargin(margin);
+ // if the shape use a unscaled shape we have
also to set the correct margin in it
+ if (m_collisionShape->getShapeType() ==
SCALED_TRIANGLE_MESH_SHAPE_PROXYTYPE)
+ ((btScaledBvhTriangleMeshShape
*)m_collisionShape)->getChildShape()->setMargin(margin);
+ }
}
virtual float GetMargin() const
{
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs