mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
Backend correction for the rigid vs rigid collision resolver:
First line is to ensure similar behavior to current regarding pushback on the object doing the colliding. Second line applies an impulse to the rigid that was collided with.
This commit is contained in:
parent
2044b2691e
commit
691a08bb33
|
|
@ -156,7 +156,7 @@ bool Rigid::resolveCollision(const Point3F& p, const Point3F &normal, Rigid* rig
|
|||
return false;
|
||||
|
||||
// Compute impulse
|
||||
F32 d, n = -nv * (1.0f + restitution * rigid->restitution);
|
||||
F32 d, n = -nv * (2.0f + restitution * rigid->restitution);
|
||||
Point3F a1,b1,c1;
|
||||
mCross(r1,normal,&a1);
|
||||
invWorldInertia.mulV(a1,&b1);
|
||||
|
|
@ -173,7 +173,7 @@ bool Rigid::resolveCollision(const Point3F& p, const Point3F &normal, Rigid* rig
|
|||
|
||||
applyImpulse(r1,impulse);
|
||||
impulse.neg();
|
||||
applyImpulse(r2,impulse);
|
||||
rigid->applyImpulse(r2, impulse);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue