How to detect collision without reaction (Panda3d + ODE)?


i’m creating a driver’s simulation in Panda3D and i’m using ODE to deal with the physics part.

I need to be able to detect some kinds of infractions, like don’t stopping in a red sign or driving on the sidewalk.

The first solution i tought was to create collision’s surfaces around my street so if i receive an collision event i would know that one infraction occured.

But i don’t want the car to really collide with this “invisible” surface, i don’t want the reaction part of the physics.

Is there a way to do it with Panda3d + ODE, to detect the collision without the reaction?

Or there is other clever way to do that?

Thank you!


The functionality you’re looking for is generally referred to as “Area Trigger”. I’ve implemented that in my ODE middleware.

[ODE Middleware) <= you can check it out here.

On a side note, it’s done by not using Panda’s auto collide. I handle the collisions in my own code there because I found not satisfying way of making area triggers with auto collide. So the API is somewhat different than the standard Panda-ODE.

You can use mathematical functions to check your collision and don’t use ODE)))