Box2D: How to get the Exact Collision Point and ignore the collision (from 2 "ghost bodies")

Posted by Moritz on Game Development See other posts from Game Development or by Moritz
Published on 2012-11-12T17:15:50Z Indexed on 2012/11/12 17:23 UTC
Read the original article Hit count: 348

Filed under:
|

I have a very basic problem with Box2D.

For a arenatype game where you can throw scriptable "missiles" at other players I decided to use Box2D for the collision detection between the players and the missiles. Players and missiles have their own circular shape with a specific size (varying). But I don´t want to use dynamic bodies because the missiles need to move themselve in any way they want to (defined in the script) and shouldnt be resolved unless the script wants it. The behavior I look for is as following (for each time step):

  • velocity of missiles is set by the specific missile script
  • each missile is moved according to that velocity
  • if a collision accurs now, I want to get the exact position of impact, and now I need a mechanism to decide if the missile should just ignore the collision (for example collision between two fireballs which shouldnt interact) or take it (so they are resolved and dont overlap anymore)

So is there a way in Box2D to create Ghost bodies and listen to collisions from them, then deciding if they should ignore the collision or should take them and resolve their position? I hope I was clear enough and would be happy about any help!

© Game Development or respective owner

Related posts about c++

Related posts about box2d