x


Detecting sudden changes in velocity?

I'm working on a racing game where the vehicle is normally colliding with pretty much anything/everything in the level (ground, walls, jumps, etc). So I can't use normal collision detection methods to check if the vehicle has actually "crashed" and not safely glanced off of something.

I think the solution is to check for sudden changes in velocity, but I'm not sure how to do it. I'd like to check if the velocity falls below a specific minimum within a specific amount of time. Any ideas?

more ▼

asked Mar 03 '10 at 01:13 AM

rocket5tim gravatar image

rocket5tim
859 12 17 33

I would also like to see a answer to this, as i would like to be able to know how to implement fall damage in a FPS i am working on. i.e I want it so that if i fall off a house, it wont kill me just take away some health,as this is closely related i have commented instead of asking my own question.

Mar 03 '10 at 01:35 AM xToxicInferno

For falling damage in a FPS game, see http://www.unifycommunity.com/wiki/index.php?title=FPSWalkerEnhanced I'd say this is a quite different question, since in a FPS game you can stop instantaneously and you don't care; it's only the falling distance you care about.

Mar 03 '10 at 01:57 AM Eric5h5
(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

You could compare the magnitude of the velocity of the previous frame with the magnitude of the velocity of the current frame (or rather, the sqrMagnitude, which is faster):

private var oldVelocity : float;
var crashThreshold = 10.0;

function Start () {
    oldVelocity = rigidbody.velocity.sqrMagnitude;
    crashThreshold *= crashThreshold;   // So it works with sqrMagnitude
}

function FixedUpdate () {
    if (oldVelocity - rigidbody.velocity.sqrMagnitude > crashThreshold) {
        // Crash
    }
    oldVelocity = rigidbody.velocity.sqrMagnitude;
}
more ▼

answered Mar 03 '10 at 01:52 AM

Eric5h5 gravatar image

Eric5h5
80.3k 42 132 521

Thanks, Eric. Works great so far in my initial tests. I had to tweak the crashThreshhold up to 50 for my particular setup.

Mar 03 '10 at 11:07 PM rocket5tim
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x5081
x1793
x318

asked: Mar 03 '10 at 01:13 AM

Seen: 1787 times

Last Updated: Mar 03 '10 at 01:13 AM