1. Trouble with the game?
    Try the troubleshooter!

    Dismiss Notice
  2. Issues with the game?
    Check the Known Issues list before reporting!

    Dismiss Notice
  3. Before reporting issues or bugs, please check the up-to-date Bug Reporting Thread for the current version.
    0.30 Bug Reporting thread
    Solutions and more information may already be available.

Jbeam Aerodynamics : Can we use the old system?

Discussion in 'Troubleshooting: Bugs, Questions and Support' started by Dummiesman, Oct 21, 2017.

  1. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    Can we please have an option to use the old aero system for triangles? I'm really out of options for one of my mods other than

    a) Coding aero from scratch, which would mean having double the amount of nodes
    b) Totally redoing several parts of my jbeam

    Both of those shouldn't need to happen. but since some aero update a while back, a mod that I spent 6 months daily working on (2GB+ of files, custom python scripts, working with imagemagick, researching to make everything accurate) is just a paperweight.

    The cause is quite simple: The game is applying aero on an angle, to 2 FLAT surfaces. Which doesn't make sense.
    upload_2017-10-21_15-23-58.png

    (Also it's not broken because stallAngle, because removing those side triangles mostly fixes it. but they are a vital part of the aero so they can't be removed)
     
    • Agree Agree x 3
  2. DevinXXL

    DevinXXL
    Expand Collapse

    Joined:
    Aug 7, 2013
    Messages:
    35
    Yeah hi there, just gonna comment on this because I have a massive problem with this aswell.
    I've also worked on that car there, which is supposed to end up being one of the biggest and best BeamNG mods of all time. However, even though work began more than a year ago (or was it two actually? That's how long ago it was. I don't even remember!), it's still in a state that I would currently consider broken.
    The reason: This is not the first time some feature was changed in an update without a way of using the old behaviour, which often wasn't even bad, just different. Everytime the car had to be updated to work again with the new featuers, which is often a crapton of work. So instead often we went here and asked to provide a way to use the old behaviour to fix it, which would save us months of work sometimes.

    In this case you changed the way aero physics work, instead of using direct angles you basically interpolate normals now, making any nearby normal have an effect on your plane even when it's supposed not to. I mean sure, no reason not to do that. But I would prefer if you also provided the ability to use the old way, since it's not worse, just different. Perhaps people want to use it actually.

    As an example, imagine your graphics engine rendered every polygon sharp. You think it's better if everything would be rendered smooth instead. Fair point, makes sense, it actually looks better in my opinion - but what if you actually need a hard edge somewhere? Actually every modern graphics engine supports both. So then I must ask, why not make physics engines do the same? Actually it doesn't matter too much when graphics engines do it, just looks weird sometimes. But for physics, especially aerodynamics, it is essential to get things like this right, so it is pretty much required to provide ways to use the old and the new ways.

    Please please please consider that everytime you change essential stuff that will break mods. Because while simple mods often aren't affected, you can be 100% sure it will break the complex great ones. And most modders have no time to fix their stuff. They're just glad when their work is finally out there. There aren't many modders skilled enough to create a top quality car from scratch with really sim-like physics. Doing that will demotivate them so much that essentially you make them give up on modding. And then you have no pro-level modders anymore. Please never do that.
     
    • Agree Agree x 2
  3. estama

    estama
    Expand Collapse
    Developer
    BeamNG Team

    Joined:
    Aug 7, 2012
    Messages:
    267
    We take backwards compatibility very seriously, so we don't change things lightly and without consideration of the possible side effects.

    In the aerodynamics case, i've made the change due to the following reasons:
    • First is that the new aerodynamics are considerably faster (around 15%).
    • They are also more versatile, as adding features to them (like the stallAngle) is cheaper performance wise compared to older aerodynamics.
    • New aerodynamics are a lot more stable with pressured vessels.
    • Full volumetric pressure simulation would be impossible with older aerodynamics.
    Apart from the advantages, there are also downsides, some of which you have elaborated about in your posts.

    I'll try to explain the way that we work concerning these things. Most of the things that we are doing are very much dependent on research that happens at the same time. If we had in a single moment in time, all the knowledge that would be required to simulate a phenomenon then believe me, the last thing we would be doing is to change things around. We would implement the simulation once, in its complete and full form and then leave it as it is. Unfortunately things aren't so perfect, and as we read more of the bibliography and test more ideas our understanding of the phenomena increases. This can also lead to discovering other better or more versatile approaches.

    From above you can easily understand that research is a big percentage of our work on simulation. Nevertheless, we try to balance research needs with modding needs, by trying to minimize the number of big changes that we do or by trying to create "bridges" that translate the old configs to the new ones (like we did with the drivetrain -> powertrain transition for example).

    I've wrote all of above to try to communicate to you that we do not take designer' problems lightly. We are putting a lot of thinking and consideration on these problems. If you see problems like the aerodynamics one, it isn't because we didn't care or we didn't put the effort. It just is that some things are really hard, and we are still working on them.

    Now concerning the problems due to changing the aerodynamic subsystem that you've described. You might think that having both the old and the new one as an option is something easy to do. Well it isn't. Aerodynamics are interlinked with other subsystems. To be able to have them both as an option, it means that i would have to develop, support, research for two different physics cores. One working with old aerodynamics and one working with the new one. The two physics cores would support different features and would behave in different ways depending on which aerodynamics is used. My workload would be more than doubled. Apart from having to work on double the code, i would need to test with both aerodynamics. I would have bugs that would happen with one or the other or both. And it wouldn't affect just me, the people that work on vehicle designs and vehicle simulation would also see increased workload due to similar reasons.

    And the worse thing is what would happen when the research on the new-new aerodynamics produced results. Would we need to have 3 aerodynamic subsystems in there?

    For the time being, my suggestion is this. Each aerodynamics approach has certain limitations. The problem with old aerodynamics was that the pressure/normals were not reliable, they moved around all the time and their overall physical characteristics could get bad as they moved around. The possible simulation outcomes could become unpredictable too.

    The problem with the new aerodynamics is that it works best with a constant node/triangle density. So with configurations like the one you show, a big surface connected to small perpendicular ones, if the density isn't well distributed then the small surfaces end up affecting the big one in a not balanced way.

    Finally i want to say that i care very much about the aerodynamics problems that you have elaborated on. Our own designers have been telling me the same arguments as you. I'm constantly thinking/testing ways to improve the overall situation, but as i've said it is a very hard subject. I also want to repeat that any suggestions/ideas that you have (apart from going back in time to old aerodynamics) are more than welcome :).
     
  4. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    Is there any way I can add force to a node without having another node above it? That pretty much seems to be what I have to resort to then.
     
  5. Goosah

    Goosah
    Expand Collapse
    Global Moderator
    BeamNG Team

    Joined:
    Aug 30, 2013
    Messages:
    790
    You can just separate the end plates of the wing from the main airfoil. You can also just leave the end plates out, the main purpose irl is to constrain the flow and make the main airfoil more effective for a given area. Not really relevant. I don't think they would really act like effective vertical airfoils when there is a wing on the backside anyway.
     
    #5 Goosah, Oct 23, 2017
    Last edited: Oct 23, 2017
  6. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    So either
    a) Seperate end plates and reduce already very low spring rates + upset a very very delicate spring/weight balance
    b) Remove aerodynamics from the end plate, which would probably affect the way the vehicle behaves negatively

    Me and @DevinXXL have figured we could remove the aero from the top, and research and develop aerodynamics that work with AddForce, which would add force to the top -> bottom nodes of the rear wing.
     
  7. Goosah

    Goosah
    Expand Collapse
    Global Moderator
    BeamNG Team

    Joined:
    Aug 30, 2013
    Messages:
    790
    Ok sure, 5 minutes of jbeam work sounds way harder. Alternatively you could probably attach the end plates with couplers or 0 length beams, but I haven't tried it.
     
  8. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    What we want is something that resembles the old system very closely, and we believe this would do it. It would also allow us to create blocking aero, and achieve some cool affects with that including backflips and such. :)
     
  9. estama

    estama
    Expand Collapse
    Developer
    BeamNG Team

    Joined:
    Aug 7, 2012
    Messages:
    267
    The couplers (or 0 length beams) idea that Corey wrote about, is very similar to the old system. It'll also allow the wing to break in a more natural way.

    It is also a small change to add the couplers (or 0 length beams), so it shouldn't be that big of a problem.
     
  10. Dummiesman

    Dummiesman
    Expand Collapse

    Joined:
    Sep 17, 2013
    Messages:
    4,683
    This vehicle is at an *extremely* critical mass to spring ratio. It's very good for the weight of the vehicle, and adding more nodes would start to deteriorate this.

    Honestly though, I think at this point I'll need this system for another project anyways. As I'm at my breaking point (stress wise and effort wise), after spending over a week daily just trying to get a propeller to work. My stress levels are beyond unhealthy and I've made almost no progress trying things with this aero system on multiple projects at this point.

    Sorry if I seem to be overdramatic, but I really mean it when I say I'm literally going to lose my mind if I keep modding BeamNG at this rate.
     
    #10 Dummiesman, Oct 25, 2017
    Last edited: Oct 25, 2017
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice