diff options
author | Sergej Reich <sergej.reich@googlemail.com> | 2014-01-28 11:26:51 +0400 |
---|---|---|
committer | Sergej Reich <sergej.reich@googlemail.com> | 2014-01-28 11:31:56 +0400 |
commit | 6fe5b3be38af229640d1926bd908361d5e7a2b15 (patch) | |
tree | 3ac9bb76a41bdfc9f721f90427b660ea0f23a135 /source | |
parent | 8fa4517a208127e1773c21382deb1e8844ffdc9b (diff) |
Fix T37673: Ray casting could fail with 0 collision margins
Use bullet's old method of doing ray casts to stay compatible with old
files. It's faster but a bit less accurate.
Diffstat (limited to 'source')
-rw-r--r-- | source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp index cddc12cc754..b6a46b4307e 100644 --- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp +++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp @@ -31,6 +31,7 @@ subject to the following restrictions: #include "BulletSoftBody/btSoftRigidDynamicsWorld.h" #include "BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h" #include "BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h" +#include "BulletCollision/NarrowPhaseCollision/btRaycastCallback.h" //profiling/timings #include "LinearMath/btQuickprof.h" @@ -1131,6 +1132,8 @@ PHY_IPhysicsController* CcdPhysicsEnvironment::RayTest(PHY_IRayCastFilterCallbac // don't collision with sensor object rayCallback.m_collisionFilterMask = CcdConstructionInfo::AllFilter ^ CcdConstructionInfo::SensorFilter; + // use faster (less accurate) ray callback, works better with 0 collision margins + rayCallback.m_flags |= btTriangleRaycastCallback::kF_UseSubSimplexConvexCastRaytest; //, ,filterCallback.m_faceNormal); m_dynamicsWorld->rayTest(rayFrom,rayTo,rayCallback); |