@@ -47,8 +47,8 @@ Rigid::Rigid()
4747 friction = 0 .5f ;
4848 atRest = false ;
4949
50- sleepLinearThreshold = POINT_EPSILON ;
51- sleepAngThreshold = POINT_EPSILON ;
50+ sleepLinearThreshold = 0 . 01f ;
51+ sleepAngThreshold = 0 . 01f ;
5252 sleepTimeThreshold = 0 .75f ;
5353 sleepTimer = 0 .0f ;
5454}
@@ -76,8 +76,8 @@ void Rigid::integrate(F32 delta)
7676 {
7777 QuatF dq;
7878 F32 sinHalfAngle;
79- mSinCos (angle * delta * -0 .5f , sinHalfAngle, dq.w );
80- sinHalfAngle *= 1 . 0f / angle;
79+ mSinCos (angle * -0 .5f , sinHalfAngle, dq.w );
80+ sinHalfAngle *= delta / angle;
8181 dq.x = angVelocity.x * sinHalfAngle;
8282 dq.y = angVelocity.y * sinHalfAngle;
8383 dq.z = angVelocity.z * sinHalfAngle;
@@ -101,7 +101,7 @@ void Rigid::integrate(F32 delta)
101101 }
102102
103103 // 5. refresh ang velocity
104- updateAngularVelocity (delta );
104+ updateAngularVelocity ();
105105
106106
107107 // 6. CoM update
@@ -138,7 +138,7 @@ void Rigid::updateCenterOfMass()
138138
139139void Rigid::applyImpulse (const Point3F &r, const Point3F &impulse)
140140{
141- if (( impulse.lenSquared () - mass ) < POINT_EPSILON ) return ;
141+ if (impulse.lenSquared () < POINT_EPSILON ) return ;
142142 wake ();
143143
144144 // Linear momentum and velocity
0 commit comments