Jump to content
  • Advertisement
Sign in to follow this  
PhysicsNoob

Collision response

This topic is 3601 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello I am trying to understand the murky world of collision response. I have struggled through a few papers on different methods of doing it, but I still have a few things that are not quite clear in my head. The first paper I looked at was Thomas Jackobsens Advanced Character Physics. This method seems to respond to collisions by adjusting the position of the objects. It also seems to have no explicit velocity representation, it is just determined by the previous position and the current position. My understanding of the general algorithm is: while(some constraints not satisfied) { satisfy constraints by projecting points out to their correct position (updating velocity automatically) } I think this means that collision detection for the objects is performed inside the constraint loop. Is that correct? The second method I read about was a paper by Erin Catto. This one seems to use sequential impulses to resolve collisions. My understanding is that the impulses directly modify the velocity of the object, which is then used to update the position and resolve the collision. Is this correct? I think the general algorithm is: Detect Collisions Build velocity constraints to resolve collisions while(some constraints not satisfied) { satisfy constraints by modifying velocity } Update positions So with this method the collision detection is only performed once, and then the velocity of the objects is adjusted to resolve the collision. My main questions are about whether my understanding of the two methods is correct. Also I am interested in the advantages and disadvantages of the two approaches, and whether there are any other methods of doing this. What are the advantages of resolving constraints through the velocity(using impulses) rather than through the position(jackobsen)? Do any methods resolve collisions by using acceleration constraints? When would you use one method over the other? Is the Jackobsen method of having collision detection inside the constraint loop visually better than the sequential impulse method? I can imagine scenarios involving multiple objects where resolving the collision of one object causes it to be pushed into another. Would this not be detected until the next frame with Cattos method? Causing the intersection to be visible for a frame? My understanding is that both algorithms are iterative solvers for the MLCP problem. Are there any non-iterative methods to solving MLCPs? What are the advantages of using iterative methods vs non-iterative methods? Thanks for the help. :)

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!