From edce2cc5665f809b700f480dd21f311da327befc Mon Sep 17 00:00:00 2001 From: Azaezel Date: Fri, 17 Jul 2015 14:28:30 -0500 Subject: [PATCH] adds minimum displacement check prior to convexSweepTest to avoid NaNs --- Engine/source/T3D/physics/bullet/btPlayer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Engine/source/T3D/physics/bullet/btPlayer.cpp b/Engine/source/T3D/physics/bullet/btPlayer.cpp index 307abed6a..f4e7abcfa 100644 --- a/Engine/source/T3D/physics/bullet/btPlayer.cpp +++ b/Engine/source/T3D/physics/bullet/btPlayer.cpp @@ -290,8 +290,9 @@ bool BtPlayer::_sweep( btVector3 *inOutCurrPos, const btVector3 &disp, Collision BtPlayerSweepCallback callback( mGhostObject, disp.normalized() ); callback.m_collisionFilterGroup = mGhostObject->getBroadphaseHandle()->m_collisionFilterGroup; callback.m_collisionFilterMask = mGhostObject->getBroadphaseHandle()->m_collisionFilterMask; - - mGhostObject->convexSweepTest( mColShape, start, end, callback, 0.0f ); + + if (disp.length()>0.0001) + mGhostObject->convexSweepTest( mColShape, start, end, callback, 0.0f ); inOutCurrPos->setInterpolate3( start.getOrigin(), end.getOrigin(), callback.m_closestHitFraction ); if ( callback.hasHit() )