- Home /
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?
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 ins$$anonymous$$d of asking my own question.
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.
Answer by Eric5h5 · Mar 03, 2010 at 01:52 AM
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; }
Thanks, Eric. Works great so far in my initial tests. I had to tweak the crashThreshhold up to 50 for my particular setup.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Set velocity of kinematic rigidbody appropriately 1 Answer
Velocity powered rigidbody on a moving platform without parenting. 3 Answers
Updating Velocity for a Rigidbody Collision 1 Answer
Need help with scripting (problem related to rigidbody/velocity) 0 Answers