WIP Tyre Wear and Thermals Mod (discussion) 0.19.1

A continuation of Luuks Tyre Thermals and Wear Mod

  1. Zesty_Maple98

    Zesty_Maple98
    Expand Collapse

    Joined:
    Aug 9, 2020
    Messages:
    51
    Nice going!
     
    • Like Like x 1
  2. LiXennn

    LiXennn
    Expand Collapse

    Joined:
    May 11, 2025
    Messages:
    4
    Hello Zesty_Maple98,

    I used your mod as a base to modify the game’s physics. What bothered me is that in the official documentation, it’s shown that tyre grip decreases with higher sliding speed (https://documentation.beamng.com/modding/vehicle/sections/wheels/), which is true—but not in terms of m/s. It’s actually more accurate to model it based on slip percentage, which represents the difference between the tyre’s linear rotational speed and its speed relative to the ground.

    So, thanks to your mod, I adjusted the grip to depend on tyre slip percentage.

    I also modified the behaviour of off-road tyre grip based on the type of surface. On gravel or dirt, grip increases at higher slip values. That’s because on such surfaces, nearly locking the wheels allows them to dig into the ground, increasing grip during braking. Similarly, while cornering, the sliding tyres build up a ridge in the terrain, which they can push against for better traction.

    Overall, with all these changes, the vehicle doesn’t have more grip—in fact, slightly less—but what you’ll feel is improved weight distribution and hoping a more realistic behaviour.

    I’m thinking of creating my own mod eventually, but not just yet. Your work really helped me understand how the game data is structured, so thank you for that.

    If you want me or want to delete the post feel free to do it. Have a nice day.
     

    Attached Files:

    • Like Like x 2
  3. Zesty_Maple98

    Zesty_Maple98
    Expand Collapse

    Joined:
    Aug 9, 2020
    Messages:
    51

    Very cool, I've played around with this a bit but unfortunately I don't have a sim wheel at the moment so it's hard to tell on controller, I'll keep going and let you know my thoughts when I've got a solid opinion on it :)
     
  4. LiXennn

    LiXennn
    Expand Collapse

    Joined:
    May 11, 2025
    Messages:
    4
    I don’t have an academic background to support my claims, only facts I’ve gathered through personal research as a hobby. I’m an engineering student in embedded systems, and I recently completed a research internship where I optimized single-band network hopping. Naturally, all my claims need to be backed with justification.

    My observations about tire behavior are based on two things: well-known data on rubber properties confirmed on tires, and correlations with actual driving footage showing how driver inputs vary when a car is unsettled during cornering—not so much based on what drivers say, but what they do.

    Rubber Properties in Tire Behavior as to be modified:
    • Grip vs. Slip Angle (data mining required)

    • Slip Angle vs. Tire Sidewall Height (work in progress)

    • Grip vs. Tire Slip (implemented, but still being refined)

    • Grip vs. Load (implemented, but also under improvement)
    • Gryp loose surface (Rally) vs Tire Slip (implemented, work in progress)
    • Slip Angle vs Load (work in progress)
    • Grip depends on slip angle.
      The documentation mentions slip angle but doesn’t explain it in depth, so I assume it’s implemented. Quick reminder: the slip angle is the angle between the direction a wheel is pointing and the direction it's actually moving due to lateral forces during cornering. The tire deforms under load, so the contact patch trails slightly behind the wheel's steering direction. At small slip angles (typically 5° to 10°), the tire undergoes lateral deformation, slightly increasing the effective contact area and improving grip—up to a point. Beyond that, the tire begins to slide and grip decreases. (data mining needed for confirmation)

    • Slip angle depends on tire sidewall height.
      This is important because a taller sidewall generally leads to a higher peak slip angle before grip loss. I’ve already implemented a workaround using the difference between radius and hub radius as a coefficient to delay the peak grip accordingly. as the tyre deformation is simulated I think this function is already implemented.

    • Grip depends on tire slip.
      As I explained earlier, grip should depend on tire slip percentage, not sliding speed. The sliding speed is still implemented and still not compensated, need data mine. This isn't my top priority right now, but it's something I plan to revisit.

    • Grip depends on load.
      This one is the most complex, as grip depends on seven variables: the load itself, sidewall height, rubber stiffness (or softness), temperature, tire width, tire pressure, sidewall strengh.
      Quick reminder: what is grip? It’s the result of two things—(1) the actual contact area between two surfaces, including their microscopic roughness, and (2) the amount of mechanical interlocking or embedment between the materials. That’s why we use rubber for tires. The tire (not the road) deforms, increasing the real contact area and allowing micro-embedment.
      The documentation shows maximum grip at low loads and decreasing grip with higher loads. While this is true, it's oversimplified: grip also drops when the load is too low. I’ve modified this by implementing an optimal load based on tire width, and I’m planning to include height in the model soon.
    • Gryp on loose surface: On dirt, gravel, or sand, a moderate amount of slip can increase traction under specific conditions: Nearly locking the wheels under braking can allow the tire to dig into the surface, increasing resistance and effective grip. In cornering, sliding can cause dirt to pile up into a berm or ridge, which the tire can then push against to gain lateral traction.
    • Slip Angle vs Load : When you increase the vertical load on a tire (more weight on it), the tire carcass deforms more under stress.
      This causes the tire to build up lateral force more progressively.
      As a result, the peak lateral force shifts to a higher slip angle.
      But specific grip decreases and it's already implemented by the devs.
     
    #104 LiXennn, May 11, 2025
    Last edited: May 12, 2025
    • Agree Agree x 1
  5. Zesty_Maple98

    Zesty_Maple98
    Expand Collapse

    Joined:
    Aug 9, 2020
    Messages:
    51
    Your work is very interesting and I'm excited to see what you come up with, however many of these grip functions I think are either already modeled by the game or are not related to tyre thermals and so they will be considered beyond scope. Please try not to take this as discouragement as I'm always happy to see the tyre model improved. Anyways here are my thoughts

    Slip Angle vs. Tire Sidewall Height
    • I'm not sure if this is properly modeled, you can test this by modifying the length of the tyre beams, in lua or in jbeam, and measuring the resultant slip angles. I have some lua code to the get the different sets of beams within the tyre and I can give it to you when I'm back at my computer
    Gryp loose surface (Rally) vs Tire Slip
    • Modeled but is not accurate enough as tyres do not seem to dig in as you've mentioned. I think the code you have posted in the forums is very interesting and a step in the right direction
    Slip Angle vs Load
    • Can you clarify what you mean by this. Is it the resultant function of grip vs slip angle across a range of load?
    Grip depends on slip angle
    • I'm not sure how this is modeled, my hunch is that it's a result of the stretching of beams and sliding nodes on the ground but do post your findings
    Slip angle depends on tire sidewall height
    • Similar to "Slip Angle vs. Tire Sidewall Height", I think this is already modeled, but I'm not sure to what extent and again it can be tested
    Gryp on loose surface
    • I agree that this is something that the engine is lacking proper modelling for and I would very much like to see this improved

    Let me know your findings on the above as they are interesting, though not within current scope.

    The main areas of concern within the mod are (in current rough order of most urgent to least urgent):
    Modelling heat generation
    • More or less self explanatory. More stress on the tyre = more heat generated (massive simplification for conciseness as this is a complex area)
    Modelling tyre degredation
    • The model should reasonably predict tyre compounds and construction, to the effect that soft race tyres wear differently to truck tyres
    Modelling heat retention / dissipation
    • Tyre zones are represented as discrete "rings" of rubber around the wheels
    • Heat should be transferred across these rings appropriately, eventually this should be calculated considering energy transfer instead of soleley temperature gradients
    • Heat should be transferred the the environment realistically (through radio emissivity and convection)
    Modelling the resultant behaviours of tyre degredation
    • Namely the effect of degredation on grip
    Modelling the resultant behaviours of temperature on a tyre
    • Apart from grip, temperature should affect other properties of the tyre, including sidewall / carcass stiffness & tyre pressure
     
    #105 Zesty_Maple98, May 17, 2025
    Last edited: May 18, 2025
    • Agree Agree x 1
  6. Red Sun

    Red Sun
    Expand Collapse

    Joined:
    Feb 24, 2023
    Messages:
    39
    Hey there!
    I've been tinkering with your mod for last few (10 or so :D) hours because I was very interested in how BeamNG models tire pressures.
    And I think I managed to get working last point on your list - carcass stiffness and tire pressure vs tire temperature. I took core temp as base value for expansion, loaded up initial pressure into script and that's basically it; I'm still not sure how it works, too sleepy to hook up wheel right now, but I will investigate further.
    Also I have some thoughts on compounds & tire degradation, but I need to research that topic, I guess there is a good workaround that will let the mod predict tire wear pattern (and possibly heat modeling) based on jbeam parameters.

    UPD. I did nail together a Frankenstein that assess tire softness and treadwear/durability from v.data.wheels and models TYRE_WEAR modifier based on that and lastSlip/lastSideSlip (as a substitute for slide angle) and it works. And reasonably well, I will test it tomorrow more in-depth.
     
    #106 Red Sun, May 19, 2025
    Last edited: May 21, 2025
    • Like Like x 1
  7. Zesty_Maple98

    Zesty_Maple98
    Expand Collapse

    Joined:
    Aug 9, 2020
    Messages:
    51
    Hi Red Sun, very nice! Tyre pressure change due to temperature is something many people want (and the reverse - tyre temperature generation due to tyre pressure) and working with the jbeam parameters is something I would like to do more of. Would you send over the code so we can discuss it further?
     
  8. Red Sun

    Red Sun
    Expand Collapse

    Joined:
    Feb 24, 2023
    Messages:
    39
    I will attach the code a bit later, after testing I am not happy about the "progressive" wear based on compound (need to either scrap it or re-tune lot of variables), but temperature/pressure/stiffness is quite good for me (at least it somewhat follows actual ideal gas formula and it's okay for me, for now). I haven't look into temperature calculations though, as I am a bit scared to create wrong type of feedback loop where tires will be "infinitely stiff" and never heat up, or in the opposite will glow like sun with 5 psi pressure. I know it's hard to do as this is not a compound feedback but rather the opposite but as my friend says - "risks were calculated, but man, am i bad at math".
    I'm not sure if it would be better to include the compound/treadwear code or just rip it away altogether, i will probably try to comment everything and attach like that.

    UPD: I need to enable 2FA to upload files now, apparently. I'll get back to some "data mining" and maybe fix some stuff and report in. Also a question: is there a specific storage for data set in "Tuning" tab? v.data.wheels stream is not consistent for the stuff I am doing or I am doing it wrong.
     
    #108 Red Sun, May 24, 2025
    Last edited: May 24, 2025
  9. Red Sun

    Red Sun
    Expand Collapse

    Joined:
    Feb 24, 2023
    Messages:
    39
    Alright, i cleaned up the mess a little bit and did some testing - not very extensive. Wear value needs tweaking. Otherwise, I commented all the code as much as I could. There are also some commented debug print statements that you may use if you want to check tire values (treadwear/compound) generation for different types. Also updated UI app to show PSI values for convenience for each wheel.

    Actually quite interesting to watch how track profile affects camber and thus tire temperatures and pressure. As I said I am not happy with "wear and compound" part but pretty happy with temp-pressure part. Keep in mind now you have to think thoroughly about your starting pressures considering how hard you are pushing and if tires are preheated because you can easily end up in situations where your tires are either overpressured and stiff at optimal grip, or sloshy and too soft when temp falls if you start preheated and fail to maintain temps.

    Known unwanted behavior: tire pressure values are initially set in onReset() from v.data.wheels, leading to tire pressure being preserved over the reset. Use Ctrl+R instead of R to get fresh readings.

    https://drive.google.com/file/d/1aR6dHd7JemK9kk_PHPV-m7IfyM7AX0kG/view?usp=sharing
     
  10. willzwix1

    willzwix1
    Expand Collapse

    Joined:
    Saturday
    Messages:
    10
    i dont see the UI thats supposed to be on the side, but when i brake while speeding, the tires pop. Not sure if thats the mod, and if it is, the mod is working but the UI isnt.
     
  11. Red Sun

    Red Sun
    Expand Collapse

    Joined:
    Feb 24, 2023
    Messages:
    39
    You sure you get the actual version from repo? Disregard my comment above, this is a test change and not a full mod.
     
  12. willzwix1

    willzwix1
    Expand Collapse

    Joined:
    Saturday
    Messages:
    10
    ohhhhh its a UI app thing IM supposed to enter in myself lol
     
  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