Skip to content

Commit c5ec7a6

Browse files
committed
update rigid to work with physics api
1 parent 4beee81 commit c5ec7a6

4 files changed

Lines changed: 453 additions & 150 deletions

File tree

Engine/source/T3D/rigid.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

139139
void 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

Engine/source/T3D/rigid.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class Rigid
105105
//
106106
void setSleepThresholds(F32 linVel2, F32 angVel2, F32 timeToSleep);
107107
void wake();
108-
TORQUE_FORCEINLINE void updateAngularVelocity(F32 delta) { Point3F deltaVel = angVelocity * delta; invWorldInertia.mulV(angMomentum, &deltaVel); }
108+
TORQUE_FORCEINLINE void updateAngularVelocity() { invWorldInertia.mulV(angMomentum, &angVelocity); }
109109
};
110110

111111

0 commit comments

Comments
 (0)