[Bf-blender-cvs] [6fe5b3b] master: Fix T37673: Ray casting could fail with 0 collision margins
Sergej Reich
noreply at git.blender.org
Tue Jan 28 08:31:41 CET 2014
Commit: 6fe5b3be38af229640d1926bd908361d5e7a2b15
Author: Sergej Reich
Date: Tue Jan 28 08:26:51 2014 +0100
https://developer.blender.org/rB6fe5b3be38af229640d1926bd908361d5e7a2b15
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.
===================================================================
M source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
===================================================================
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
index cddc12c..b6a46b4 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);
More information about the Bf-blender-cvs
mailing list