Physics Behind WipEout?

This topic is 2493 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

I've been trying to find resources on how Liverpool studios(LPS) compute the physics behind Wipeout.

How I'm doing it, is with 4 raycast , and measure the distance from the ground, and applying a force to make the craft float in the air.
the only problem is That I can never get it stable enough.

I've read that LPS uses just one raycast at the front of the ship, which detects the normals of the track. the craft is then rotated to be perpendicular to the track. Also the uplift force is applied once across the whole craft, instead of in each corner , how I'm doing it currently.

The Actual Ship graphic in loaded onto a "chassis"(Which does the real FSX computing) and that, animations make the craft, look like it's turning, when really only a force is being applied the the bottom of the rigidbody....

is that correct, or is there another way LPS compute the Physics engine on Wipeout?

If it help, I'm using Unity 3.5F1

Share on other sites
I have no idea how physics is used in Wipeout so can't comment on that (though what you describe, using a single force through the centre of mass plus angular hackery, does seem to be sensible).

If you're just calculating your forces using something like:

forceMagnitude = (springOffset- distanceFromGround) * springConstant forceMagnitude = max(0, forceMagnitude)

then you'll get oscillations since this is an undamped spring. You'll get that even if you just used one acting through the centre of mass too.

At the very least, you need to add some damping based on the rate of change of distanceFromGround - so calculate

 distanceFromGroundRate = (distanceFromGround - lastDistanceFromGround) / timestep 

and then

 forceMagnitude = (springOffset- distanceFromGround) * springConstant - distanceFromGroundRate * dampingConstant forceMagnitude = max(0, forceMagnitude) 

You can then tune the three constants to get the behaviour you want,

Share on other sites
Thats what I have Got - still the damping in not working as planned. Is there other ways of reducing oscillation? I'm currently using Dead zones aswell.

EDIT , and using clamping, I've managed to create a local area of gravity per ship, thus allows the ships to climb walls and go completely upside down. There is however a Grip constants which basically allows artificial gravity to break, making the ships get effected by gravity if they get unstuck.

1. 1
2. 2
3. 3
4. 4
Rutin
12
5. 5

• 26
• 11
• 9
• 9
• 11
• Forum Statistics

• Total Topics
633700
• Total Posts
3013428
×