Blender Git Loki
Git Commits -> Revision 1b37f8d
Revision 1b37f8d by Erwin Coumans (master) December 15, 2012, 01:01 (GMT) |
Hi there, it has been a while, just curious if my SVN account still works :) This commit is an attempt to improve collisions between moving Bullet rigid bodies using (concave) triangle mesh bounds. Instead of using Gimpact, this we create a btCompoundShape with child shape tetrahedra derived from the surface triangles. For each triangle, we add a fourth vertex using the centroid, shifting inwards using the triangle normal. If the centroid hits an internal triangle, we stop. The default depth could be exposed as 'advanced' setting in the user interface. This solution will be a slower than the original/gimpact solution, but a bit more reliable. In the future, it is better to add HACD, convex decomposition to Blender, for moving concave meshes. See http://kmamou.blogspot.com and the Bullet SDK's Demos/ConvexDecompositionDemo. |
Commit Details:
Full Hash: 1b37f8dca85578ad2bf5f8202568d00b91d194b8
SVN Revision: 53019
Parent Commit: 96f6a5c
Lines Changed: +168, -15
1 Added Path:
/extern/bullet2/src/BulletCollision/Gimpact/btCompoundFromGimpact.h (+98, -0) (View)
5 Modified Paths:
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp (+4, -4) (Diff)
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h (+2, -2) (Diff)
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp (+35, -0) (Diff)
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h (+20, -7) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp (+9, -2) (Diff)
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h (+2, -2) (Diff)
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp (+35, -0) (Diff)
/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h (+20, -7) (Diff)
/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp (+9, -2) (Diff)