This is a topic for science, physics, comparisons to real life and overall cool things tested in BeamNG.Drive . Comments, feedback, discussions and posting your own tests are highly welcome. Old test performed in past: To better see what's going on in the image, please tap on it and zoom in. Subject: Centrifugal forces vs measured and actual speed. Presented problem is as follows - the car speedometer shows 321km/h, yet you can see that the real speed equals 333km/h. Why is that? Is it a bug? Short answer - no it's not a bug, rather consequences of good physics simulation. In real life, with correct tire fitment your actual velocity is always slower than shown on the gauge. That's because car manufacturers scale speedometers up by a few percent, to show higher speeds. It's intentional and regulated by law. If I remember correctly, the range offset in the EU is 0-10%. Most of the cars fall in range of 3-5% speedometer distortion. No brand takes a risk of making 100% accurate speedometers, as that could lead to potential lawsuits. Brief explanation of the image: Wheels at 321km/h have a height of 673px, at 0km/h the height is 643px. By performing a proportions calculation, we can see the difference of height in percentages. 673 x 100 / 643 = (+/-) 104% of wheel at 0km/h. Then the speedometer readout multiplied by height ratio difference will confirm that 321km/h x 1.04 = (+/-) 333km/h. So where's the catch? Calculations of vehicle velocity in BeamNG.drive are similar to real life. It happens by measuring only wheel revolutions. Yet real life manufacturers' speedometer scaling isn't implemented in game, that the sole reason why at higher velocities in BeamNG speedometer show lower than real speed. Though in both cases there's no correction for centrifugal forces that make the wheels bigger. Yup whole wheel, mostly tires - while rim is expanding just a tiny little bit that it's unnoticeable, the tires are actually expanding a lot. In this case tires weren't supposed to reach those speeds, but altering car made it reach higher than it's nominal speed and the effect is bigger than it normally would. That was enough to make a difference as big as 4% in wheel diameter. When a wheel is bigger it obviously makes more distance per revolution. That difference is highlighted by an orange line. So, to confirm our calculations further, we may assume that 1px = 1mm. Now we can go a bit further in explanation. 643 x 3.14 (π) = 2019mm (~2,02 meters) per revolution. 321km/h = 89.17 m/s* Then 89.17/2.02= 44.14 wheel revolutions per sec. And that's how ABS sensor measures it. But in reality, a car goes 333km/h = 92.5m/s, 92,5m/s / 2.02m = 45.79 wheel revolutions per sec, and that is how sensor should see it to be precise. But to see if that's true, we have to make sure that 92.5=104% of 89.17 and that 45.79=104% of 44.14. So 92.5 x 100 / 89.17 and it's ~104%, then 45.79 x 100 / 44.14 ~ 104%. But what about 333km/h / 44.14 will it equal real diameter? As we know 333km/h is 92.5m/s so / 44.14 rev per sec ~2.1m. If 2.02m = 100% 2.1m=? So 2.1 x 100 / 2.02 ~104% once again. Yes everything seems correct** This is an example of car with already good tires, but base Ibishu Covet factory tires would expand even more and create bigger differences. Not to mention radial drag tires like here: *to convert km/h into m/s divide by 3.6, to convert from m/s into km/h multiply by 3.6 - I've learned this "trick" by myself, and it's 100% correct. It helped me a lot in school and not only ** Wheels in BeamNG aren't actual circles, they are IIRC hexadecagons and my measurement in px is a bit off, because the measured diameter in both screens is when the wheel was at different angles, so in one there is measurement from angle to angle and in another it's edge to edge, apologies for that. ------------------------------------------------------------------------------ ^ I'm aware that the subject above is written really messy, as when I published it my English was terrible. Yet it's still really exciting for me that BeamNG is simulating physics that well and soft-body helps a lot in terms of realism. ------------------------------------------------------------------------------ I'll start now with a new example. This time there are lots of screenshots, and not so much text. Note zoom in every screenshot to see what is being talked about! Subject: Aero in BeamNG pt. 1 - Theory I tested this years ago in Civetta Bolide, but the game has come a long way. Also, the aero code was improved. Since we now have "High Climb" variants, which have big functional wings, diffusers etc. Now those cars are armed with aero parts, there is no better configuration to test this subject on. For screenshots, I'll go this way: Vmax, stopped and reversing, then all together - the same camera angle (relative), changed gears ratio to exaggerate the effect, so it will be easier to see the differences. Please take a look at wing and ride height. Vmax Stopped Reversing Look at the angle of wing, you'll notice a difference. Similar things happen with ride height. At Vmax car was pushed a lot onto the ground, thankfully to all the aero stuff. But what is the reason for putting them? Obviously, more parts equal more weight, higher air drag. More downforce equals higher tire rolling resistance etc. So you'll need a more powerful engine to keep the same acceleration and speed. So, yes, those cars are extremely lightweight and are equipped with beastly engines, and downforce is the key to stay fast... fast while turning. With not much mass and lots of downforce, cars are capable of performing some crazy fast driving on corners, because all the aero keep them pushed hard to the ground, so, tires dig deeper into the surface and due to that, can withstand higher G-forces without losing grip. And that's how it looks when you merge all the screenshots together. And here at closer camera angle: Spoiler Vmax Stopped Reversing Merged Nice detail - look at the trunk here, and in previous set of screenshots OK, we can clearly see that the wing does its job, by creating drag to produce downforce. It also keeps the car stable at high speeds. If you removed it, every maneuver at high speeds would become very dangerous. That's because the rest of areo still produce downforce in front section of the car and will make rear section too light, so in case of that situation, the car will become unbalanced, making it very easy to spin-out. My curiosity hasn't ended here. What if... FOR SCIENCE! Yeah, I carefully removed one of the wing supports, while preventing damage to the wing and trunk itself. Now I'll retry the previous test. Vmax Stopped Reverse Merged Hell yeah! Now you'll clearly notice the differences. But one interesting phenomenon happens here, while going backwards. In that situation, wing instead of downforce produces lift, which also IS realistic. Damn it, the BeamNG team once again (x100) haven't disappointed realistic-in-game-physics-lover freaks like me. I bet you can't find any game/simulator that calculates physics as well as BeamNG does. More screens with the same test at other camera angles: Spoiler Moreover, when you go fast with only 1 wing support at high speeds, the car will start turning in a certain direction. If you remove the left one like I did, at over 180km/h, the vehicle will turn to the left, because of not equal air drag. Here's the link to the whole screenshots album: http://imgur.com/a/iRM7y All the screenshots were captured in 4K, but then I noticed that this album would be 900MB ! So I decided to resize each one to 720p and the whole album is now around 13MB. Which is way more transfer friendly, so the page will load way faster now. If you want, feel free to copy and spread it all over the World just leave a link to this post. I hope you've enjoyed it! Forgive me my weak English skills. Part #2 with videos coming Soon™. As stated earlier discussion, feedback and praising devs are highly welcome #Edit It's been... 8 years. I checked and had to do a little redraft to this post. I also did some grammar, styling and typo corrections.
What can I say instead of WOW?? I don't know. Probably there aren't words to describe it. This is AMAZING, I mean, how you redacted and explain it, i didn't think about Beamng reality factor, but It's just amazing, I think that many Psychiscs would love beamng if they play it. And how you treated the topic: precise, clear, with images... MAGNIFICENT. I think that I'll probably use this to help me at the highschool. CONGRATULATIONS FOR THIS GREAT THREAD :O
I had the idea of making a 12 speed DCT transmission with 6 reverse gears so that i could test the loft of the wing on the hillclimb sunburst. It got up to about 145mph airspeed then the back lifting up and it flipped a couple times. It was fun to do.
The aero physics are what make the IndyCar mod I'm converting possible. It's really cool to see that the aero+tire physics in the game allow such things to be possible. Cool math you've done there with the wheel expansion stuff, by the way. I never really noticed that stuff goes on.
I've never actually compared any of my IIHS videos to real life videos, but damn if I'm not impressed. Here's the 2017 Hyundai Elantra taking the small overlap crash test And here's the SBR4 taking the small overlap crash test. Skip to 7:28 for my video. The timed start didn't work If you pause the IIHS real life video at 18 seconds, and my video at 7:42, you can see that....Damn! It looks pretty close! Obviously, my video is a little older, and the physics of the game have improved, but even for an older version of the game (whatever it was on Nov. 10th, 2015) still matches real life pretty well. This is a magnificent thread. Let's keep it going!
That wheel simulation is incredible, I didn't know that! I remember when I first had the realization that the aero worked so well. I was taking the Leap of Death in a Sunburst with and without the rear wing. The car nose-dives so hard without the wing, and keeps pretty stable with it! Will always love BeamNG!
I remember the unique unscripted handling characteristics I got when I knocked the wing crooked on the Capri mod driving up Pikes Peak way back when, though I wasn't in third person view until after the run to see how it may have been moved around by the airflow at speed. Definitely awesome to see such a clear representation of an unscripted phenomenon only currently possible in BeamNG (as far as I know).
Idea: going off what you did with the Pessima, is the Bolide Notte's diffuser functional? If it is, how does damage affect its functionality?
One thing that I feel that is missing is air getting underneath the car and creating lift. I've spun cars out at over 250 MPH in the game and they always stay firmly planted on the ground. I'd like to see improvements where air forces the car into the air, like a NASCAR style blowover. The video gives examples.
BeamNG.Drive doesn't have any car that is built like a NASCAR car. Those things have a quite unique aerodynamics. Their underneath act as a sort of wing and has many diffusers. The faster the go, the more the car is attached to the ground or so. If the air enters from the opposite side (for example when the car spins out and is going very fast, but with the rear facing the direction), that wing will create an uplifting force, resulting in a blowover. On the pigeon, I once tried to put some thrusters. The body shape itself would make that little thing take off at around 630KMH. I'm quite sure that if somebody builds one of those things accurately, a blowover is quite possible. Also, BeamNG.Drive doesn't simulate air as a 'fluid', but takes a simple approach by simply calculating the 'coltris' of a car and how much their are parallel/perpendicular to the direction they are travelling. A full fluid-like simulation would probably go beyond the real-time simulation capabilities.
I'd say BeamNG is surely lacking in the aerodynamics department and I'm hoping there is room to improve. Despite Nascars having finely tuned aerodynamics to be stable at controlled high speeds, and perhaps have an even higher propensity to be very unstable at uncontrolled highspeeds (blowovers). I doubt in this current state and with a properly implemented Nascar to the game that you would be able to naturally replicate a blow over. In my extensive testing, blow over simply isn't really possible with how aerodynamics are currently implemented. I would like to take the time to praise the Devs for the new hill climb kits as they are simply amazing. The rear wing alone produces 250lbs of downforce at just 100mph, and ~540lbs at 160mph Simply amazing, does wonders for car handling. Cars with this kit essentially double their weight at 200mph. Tested in zero gravity So about the blow over, I don't know why it is but 'air' just doesn't seem to interact with vehicles like expected with only drag being a pronounced effect. Now I know there's lift/downforce in game, that explains the planes and helicopters, however, I can't say how they are simulating said aerodynamic forces that make those things work. One could conclude that if you can fly a plane in this game that you can certainly blow over a car right? Well, not really. Granted if you tune the reverse gear in one of the hill climb variants to be closer to the likes of 6th and proceed to floor it in reverse, the rear wing will indeed flip you over at around ~140mph, but for me, this doesn't really count as that is solely a result of the lift being generated from rear wing with no regard to the car itself. Ways I have tried to replicate blow over; Back before the grab node camera was set to be stationary and actually moved with the car (something I would like as an option) I would travel as fast as I could in unrealistically powerful cars reaching upwards of 350mph right before the tires explode and proceed to grab a node on the front of the car and gently lift it into the air. Even past a ridiculous negative rake angle of over 30 degrees the car would simple drop back to the ground, as if unaffected by the air that was rushing under the car. I even went as far as to test how long it took the car to touch the ground at rest and at speed. The results were negligible, differences can be attributed to margin of error. I wen't a step further and tried to create extreme cases in order replicated some sort of blow over. I did the same experiment where I drove at high speed and manually lifted the car only this time I simultaneously activated the wind app opposite to the direction of travel and still failed to blow over the car. Mind you that momentarily the speed was a combined 800mph+. Since the node grab camera is now stationary I can't do that same experiment at speed, but a lesser version of that can still be attempted using the wind app. As you can see, this car has a pretty gnarly negative rake angle, probably around 10 degrees or so and at 441mph the car remains firmly planted to the ground. Even if you proceed to raise the front of the car high into the air (near vertical) the front will still fall forward. I have noticed as I'm writing this post that the front end is considerably lighter on the front wheels, but this may be attributed to the drag shifting the cars weight towards the rear. This is pretty inaccurate to real life. Side note: I put the front splitter on the custom Sunburst configuration pictured above with the large rake angle, and it still produced down force. This doesn't seem right at all. My conclusion is that the angle of attack isn't really having much of an effect, even more so, ground effect is most likely non existent, which are the main reasons why cars blow over in the first place. With enough speed, increased ground effect, and angle of attack you can blow over any car. I should reiterate that angle of attack isn't completely nonexistent, it just doesn't have enough on an effect to overcome gravity. I tested this in zero gravity and at the highest wind speed. The Sunburst did correct and try to keep itself horizontal as pictured below. I think it would be safe to say that some sort of ground effect implementation would make it so that cars can blow over. Also, if angle of attack had a more pronounced effect I think handling in general would improve some as well. "A full fluid-like simulation would probably go beyond the real-time simulation capabilities." Does this mean what we have now is it? Can you offer any further insight to some of inadequacies that exist in the current aerodynamic simulation? As I don't think that adding a Nascar to the game would have all that much of an affect. Please use this as an excuse to prove me wrong A official Nascar from you guys would be just so cool. Not to mention easier to model, right? Anyways, love your work, keep improving it!
Fantastic reply TripleAye! I did similar experiments with the node grabber before the camera was changed. I would get it side ways at over 200 MPH and lift the side of the car up and it would immediately come back down. As you demonstrated, at those insanely high speeds SOMETHING should happen, but it doesn't. The bottom of the car just doesn't seem to interact enough with the "air". I second having an official NASCAR style stock car in the game! BeamNG.Drive needs some official purpose build race cars, instead of just modded street cars.
The aerodynamic simulation in BeamNG is a difficult problem, unlike other games and simulations, the geometry is constantly changing. This means these complex effects can't just be defined in hardcoded models for each vehicle like how almost every other game/sim does it. (eg, handling lines in GTA, reduced order coefficents etc.) Currently the triangles which have aero forces applied are all considered individually (as if nothing else exists), therefore cannot represent the vehicle as a whole. This means fluid effects like ground effect, induced drag, separation, shadowing, vorticity, boundary conditions, interference etc. will never be represented. Ground effect and induced drag are probably the two most important for beamNG, all the cars are obviously close to the ground, and so experience it and lack of Induced drag severely cripples the realism of aircraft in the game. There is also the issue in that when a car loses body parts, it will have a higher drag because of the rougher shape, currently the drag will just get lower because the body panels are no longer there. One method of solving these problems (or at least improved) is with a panel method, such as a Vortex Lattice Method (VLM), which would consider the entire 'shape' of the vehicle, not just individual elements. However, this basically centers around equating an n by n matrix, where n is the number of panels. If a car has say, 200 panels (tris/quads), then we need to solve a 200 by 200 matrix, which is basically 40000 operations. No way that can be done 2000 times a second and have all the beam physics going at the same time. Not only that, the standard way of simulating ground effect is by reflecting the vehicles shape across the ground plane, so you would end up with (200+200)^2, or 160000 operations... yeah, not happening, at least not at 2000hz. The normal shortcuts that are used in CFD, like only simulating half a symmetrical car/aircraft can't be applied in BeamNG because of the ever-changing geometry. If two cars are for example 'drafting', this would quite easily be simulated, but again the computational requirements would be squared, not just doubled. Cutting the panels used to say, 50, will make a big difference and is certainly close to real-time simulation requirements, however the accuracy will certainly be effected. Here is an example of the Bolide, but using only 52 panels: If using a low number of panels could still get accurate results, then maybe it would be possible to run at the same frequency of the physics. And obviously, if parts are going to be detached/move, there is a whole other problem if for example one of the doors opens, or the bumper is hanging off, the aerodynamic panels would need to dynamically split and form new geometry to represent this. For aircraft, induced drag can be added if whole wings can be defined as as series of joined sections using something like Prandtl Lifting line theory, this would be no problem to simulate in real time and would be accurate for wings that are not occluded, eg aircraft wings. Note that induced drag is not the same thing as the component of drag from the 2D lift/drag vectors, it is a 3D effect that accounts for the energy lost in the downwash/vortex sheet of a surface. TL,DR: Accurate aero is difficult and a fluid simulation cannot be run at the same frequency as the physics unless some serious trickery is done. A blow-over is a good example, because it is easily one of the hardest effects to be simulated in a CFD package, let alone something that has to run in realtime and not in terms of days/hours for a 30 second run. It probably could be simulated in BeamNG right now, but it would certainly be 'hacky', eg, hidden wing/drag surfaces. Some stuff would be solved relatively easily with specific 'wing' sections for thin aero surfaces, and possibly look at doing some localised vortex work which would correctly simulate ground effect of things like front wings & splitters of an F1 car or aircraft near the ground.
Thanks for the detailed write up. What I'm curious about is how this effect was achieved in Rigs of Rods. Video: I had something similar happen in RoR when using a fast car and hitting a bump. The car would lift higher and eventually crash back down.
Davded you've wrote about the aerodynamics simulation subject a lot better than i could. Thank you . I've just wanted to add that there is an aero debug in the latest version activated with coltri debug view. Concerning more advanced aerodynamic simulation methods, we are doing research on them. I cannot give any specific timeline (lots of other things have higher priorities, so i cannot spend too much time on the aero), but we might be able to advance the aero simulation some more. By saying "some more" i hope that each triangle's aerodynamics will be affected by the rest of the vehicle's geometry, in essence having an approximation of global (to the vehicle) aero-effects. I cannot promise anything though (it is a very hard/complex subject). Research is hard and unpredictable.