Search found 324 matches

by Erin Catto
Fri Jul 29, 2005 4:48 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: 100% guarantee non-interpenetration physics ?
Replies: 4
Views: 11817

Even for ray cast wheels, a nonholonomic constraint is usually used, except that the lateral constraint force (friction) has a limited magnitude to allow for sliding. These constraints don't need special treatment if the engine can handle lo-hi limits on the Lagrange multipliers. I'm guessing Doom3 ...
by Erin Catto
Wed Jul 27, 2005 4:40 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: How to handle large mass ratios ?
Replies: 7
Views: 14876

It is odd that they are using biconjugate gradient when conjugate gradient would do. They appear to be restarting the BCG whenever the active set changes. This might be inefficient. A good PCG algorithm should work on the whole system, not just the active set. Then the PCG does not restart and needs...
by Erin Catto
Mon Jul 25, 2005 4:37 pm
Forum: General Bullet Physics Support and Feedback
Topic: raycast through the sweep and prune space
Replies: 6
Views: 11542

I have implemented this algorithm. I have to say that it is a nice idea. You have to be careful to implement it correctly. A tricky case is when the line segment originates on the side of a box. Shorter segments are faster than longer ones. Long segments have O(N) complexity where N is the number of...
by Erin Catto
Sun Jul 24, 2005 6:02 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: How to create the contact manifold ?
Replies: 15
Views: 30531

The Novodex guys describe how to find an approximate convex hull for the contact manifold in their Game Programming Gems 4 article. Basically you find the min-max contact points along two orthogonal axes in the contact plane. I use a simlar technique so that a table with four boxes for legs only get...
by Erin Catto
Sat Jul 23, 2005 12:41 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: How to create the contact manifold ?
Replies: 15
Views: 30531

I think tesselation is not a bad thing. You automatically get rolling resistance. This was done with barrels in Half Life 2.
by Erin Catto
Thu Jul 21, 2005 4:47 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Constraint Solver approaches
Replies: 11
Views: 14968

Perhaps there are some differences in our implementations so that we are seeing different results. In your dissertation, you describe a method for applying velocity constraints to contact points that are not actually touching. Perhaps this would eliminate some of the jitter I was seeing from the ove...
by Erin Catto
Thu Jul 21, 2005 4:49 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: How to create the contact manifold ?
Replies: 15
Views: 30531

Here's what I do for box-box collision: 1. Find the separating axis with minimum overlap. In this determination, I bias against edge-edge contact. 2. If the minimum axis is edge-edge, I just generate one point. 3. If the minimum axis is face-(vert | edge | face), I determine the reference face accor...
by Erin Catto
Thu Jul 21, 2005 4:41 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Constraint Solver approaches
Replies: 11
Views: 14968

Hi Kenny, there are two aspects to weight feeling. One is to have a seesaw that works properly. I think this is handled well by a dual stage integration with regular dynamics followed by shock propagation. The second is multilevel stability. Consider a stack of three boxes arranged as: http://www.gp...
by Erin Catto
Wed Jul 20, 2005 6:28 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Constraint Solver approaches
Replies: 11
Views: 14968

Here's what I'm doing in our game (keep in mind this has to run on a PS2): 1. Projected Gauss-Seidel (PGS) with 5 iterations and Baumgarte stabilization. 2. Two-way anisotropic friction with a constant bound. 3. 30Hz simulation (can dip to 15Hz) 4. To prevent tunnelling I use line probes and swept s...