# [ODE] Easy Newbie Question

DjArcas djarcas at hotmail.com
Thu Jan 29 19:05:15 MST 2004

```oh, in ode, uhm *thinks*

Correct me if I'm wrong, but I think you want collision depth... you may
well want to multiply that by the mass of the bodies involved tho.

I usually define collision impulse as 'the total amount of force added to
the body this frame'

----- Original Message -----
From: <coberr at scottsdaleins.com>
To: "DjArcas" <djarcas at hotmail.com>
Cc: <coberr at scottsdaleins.com>; <ode at q12.org>
Sent: Thursday, January 29, 2004 8:38 AM
Subject: Re: [ODE] Easy Newbie Question

>
> Thank you for your response -
>
> It helped me alot, but now I have one more question:
>
> How do I calculate the CollisionImpulse?  I can see how to get the
velocity
> and mass of both bodies, and the position,normal, and depth of the contact
> points.
>
> I assume the CollisionImpulse is related to these quantities, but I am
> still at a loss ....
>
>
> Thanks again for any help or guidance, I really appreciate it
> Bob
>
>
>
>
>
>
>                           "DjArcas"
>                           <djarcas at hotmail.com>    To:   <ode at q12.org>;
<coberr at scottsdaleins.com>
>                                                    cc:
>                                                    bcc:
>                                                    Subject:
Re:
>                                                    [ODE] Easy Newbie
Question
>                           01/29/2004 10:06 AM
>
>
>
>
>
>
>
> ----- Original Message -----
> From: <coberr at scottsdaleins.com>
> To: <ode at q12.org>
> Sent: Wednesday, January 28, 2004 2:38 PM
> Subject: [ODE] Easy Newbie Question
>
>
> >
> > I have just started using ODE a little bit ago - and I think it is
> > fantastic!
> >
> > However, I have a simple question:
> >
> > In my application, I want to play a sound when two objects collide.  In
> > this case, there are shapes bouncing on a plane.
> >
> > Initially,  I have tried to play a sound everytime there is a collision.
> > Specifically, I play a sound if dCollide() returns any contact points at
> > all.  dCollide() is called from a callback registered with
> dSpaceCollide().
> >
> > The problem is that the sound is being played much too frequently -
> > obviously many contact points are created within any given small
> timeframe.
> >
> > The solution I am considering is to only play a sound if there is a
> > collision AND a certain amount of time has elapsed.
> >
> > My question is whether this is the best approach.
> >
>
> Well, that's how I did it on Gumball Rally, Rally Fusion, MotoGP,
> Burnout2... :-)
>
> The only thing you want to add to that is AND CollisionImpulse < minimum
> collision impulse.
>
> A slightly more elegant system is to say 'if there is a collision and a
> certain amount of time has elapsed and it's above the threshhold OR there
> is
> a collision and it's impulse is above the threshold AND it's more than a
> certain amount above the last time AND the time hasn't elapsed yet' - that
> stops you missing out a huge impact just because there was a tiny one a
> fraction of a second earlier.
>
>
>
>
>
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>
```