Explorar o código

Merge pull request #1361 from Azaezel/BulletBreak1

adds minimum displacement check prior to convexSweepTest to avoid NaNs
Daniel Buckmaster %!s(int64=10) %!d(string=hai) anos
pai
achega
4721181d44
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      Engine/source/T3D/physics/bullet/btPlayer.cpp

+ 3 - 2
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() )