1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Assetto Corsa + Rain

Discussion in 'General' started by Just Kauser, Feb 12, 2018.

  1. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    Please watch Page 3
    for the Tracks, Mods and Instructions!

    Screenshot_mazda_rx8_c1_18-4-118-16-59-39.jpg
    IGNORE THAT!
    I have now started to work on realistically realizing rain.I have developed rain tires that give a realistic grip and RELAXATION_LENGTH so that the car feels just like my car in wet conditions. I made a tutorial for wet track textures some time ago. I managed to realistically integrate the windscreen wipers of Kunos, as a three-volume system: single, slow, fast, that you can use in-game, but the demo video will not be released until Thursday, I can not do it before. I have managed to switch on the light of the vehicle for ever.And I have managed to use a modification of the VisorX app to put transparent rainy textures on the display that change every frame, like a movie.

    Even if that sounds pretty confused now, that should only be a preview.
    Here are two demo videos for my rain tire mod:


    The rain is still added here with Vegas Pro, but I promise to implement the ingame via the overlay app as well.



    It will definitely rain in Assetto Corsa.
     
    Last edited: Apr 19, 2018
  2. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!
    I dont made this Wet Mod for the Nordschleife, but i changed the Grip back to the normal Grip and used my tyre mod for the Wet Tyre Grip Simulation, now i can get Tyresmoke as well, which looks very realistic on a wet road.
     
    Last edited: Mar 12, 2018
  3. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!

    The texture changes in the example only with 1Hz instead of 30, so you can see it better, also I have to first extract the 30 * 60 frames from the Rain Greensceen video and convert them with Photoshop batch processing into transparent png. It still takes some time. These were just sample textures that I had on the PC, and they were not transparent enough, so the dark interior absorbs the rain. I just wanted to demonstrate that I do not tell nonsense.
     
    Last edited: Mar 12, 2018
  4. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!


    Demonstration of the Wimpers, use just the single-mode in my wet conversion of Autopolis.
     
    Last edited: Mar 12, 2018
  5. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    -
     
    Last edited: Mar 9, 2018
  6. luchian

    luchian Administrator ACM Racing Team ACM Club Driver

    Joined:
    Jun 3, 2014
    Likes Received:
    666
    Have no idea if this is going to lead to believable results, but damn, this is some hard work :). I am not a fan of rain in games, but good luck with this project. Will be interesting to see how far it can go.
     
    Just Kauser likes this.
  7. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!
    Wipermodes Demonstration: This works because i basically renamed the whiper animation in lights.ksanim
    and wrote a Glovepie script that periodically presses the button for the light.

    This is pure Ingame Footage. I played with my Real Traffic AI.

    Fun Fact:
    My first car was a 110 hp Opel Astra H, similar to the blue Astra that keeps track of me all the time, what a coincidence.

    Unfortunately, Toyota has designed the Stock AE86 understeering when it rains, because the springs are all very progressive, the power of the handbrake and engine are not enough to get it to drift. My real car is always a tail spin in the rain, very pleasant to handle as the countersteer but at the slightest gas shock in the curve and the omega drifts with spinning wheels. And he has only 170hp.

    Now I'm working on an animated rain overlay texture that also produces raindrops on the windshield, similar to Forza 7.
    See here from 4.00:

     
    Last edited: Mar 12, 2018
  8. luchian

    luchian Administrator ACM Racing Team ACM Club Driver

    Joined:
    Jun 3, 2014
    Likes Received:
    666
    Man, so much work; you might want to wait until the 21st, in case they announce AC2 with rain :D

    - on Tapatalk
     
  9. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!

    :rolleyes: Or they announce the Fiat Panda Pack! :ROFLMAO: They love Italian cars.
     
    Last edited: Mar 9, 2018
  10. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!
    Since I did not like the selection of greenscreen rain effects of Youtube, I take a look at Unity. Now I can at least adjust the number of drops, speed, transposition vectors myself and synchronize the drops on the glass with my windshield wiper.

    light drizzle:

    0-1min no windshield wipers
    1-2min slow
    2-3 fast

    To AC2:

    I do not believe that there is night and rain. But even if, I'm doing this because it's fun, I'm having new experiences and I want to show how far modding can go.
     
    Last edited: Mar 12, 2018
  11. MLT

    MLT Active Member

    Joined:
    Nov 2, 2017
    Likes Received:
    125
    Looking good, although it seems a bit too windy making it look more like snow. I think rain should fall harder and a bit straighter.

    Good work though, I hope we can try this out soon!
     
  12. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    But that was everything for this weekend, I have two exams next week (higher math and digital systems because I'm studying electromobility) and I have to learn something there as well. Next week I will continue to work.
    I'm happy with what I've done so far.
     
    Last edited: Mar 12, 2018
    Ep1c likes this.
  13. MLT

    MLT Active Member

    Joined:
    Nov 2, 2017
    Likes Received:
    125
    Good luck with your exams!
     
    Ep1c and Just Kauser like this.
  14. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    Thanks
     
  15. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!
    I have now finished the rain technically so far, and got my Rainapp running, now I'm waiting for a flash of thought as I am the best gentle transitions between the different windscreen wiper modes get done. Here is my finished unity program for heavy rain. Press L to use the wipers and F to pay respect;) And think of ALT-F4
    https://drive.google.com/open?id=1ENpXTN3qHTZE01aFYeQDVGdGk1nDuJgx

    [​IMG]

     
    Last edited: Mar 12, 2018
  16. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    P.S. the exams were great!
     
    Last edited: Mar 12, 2018
  17. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    Glovepie + (PPJOY [not needed here but recommended for further GlovePie scripting]):
    Download and Installation:

    My wiper Glovepie script for my DFGT:

    Code:
    pie.FrameRate=20Hz
    debug=    var.wimper
    
    if Released( joy4.Button4) then
       var.wimper++
       end
    
       if Released( joy4.Button1) || Released( joy4.Button8)  then
       var.wimper--
    
       if var.wimper==-1 then
       var.wa=1
       end
    
       end
    
    if var.wimper < 0 then
      var.wimper=0
      end
    
    if  var.wimper > 2 then
      var.wimper=2
      end
    
    
    
      if var.wimper==1 then
    
      var.w2= Pie.Frame mod 60
      if var.w2!=1 then
      var.w2=0
      end
      end
    
    
      if var.wimper==2 then
    
      var.w2= Pie.Frame mod 20
      if var.w2!=1 then
      var.w2=0
      end
      end
    
    
      if var.w2==1 then
         var.wa=1
          var.w2=0
          end
    
    
        if var.wa==1 || var.wimper==0 then
    PPJOY.Digital10=  var.wa+  joy4.Button1
    var.wa=0
    
    else
    PPJOY.Digital10=false
    end
    


    My wiper Glovepie script for Keyboard:

    Code:
    
    pie.FrameRate=20Hz
    debug=  var.wimper
    
    if Released( Key.P)  then
      var.wimper++
      end
    
      if Released( Key.O)  then
      var.wimper--
    
      if var.wimper==-1 then
      var.wa=1
      end
    
      end
    
    if var.wimper < 0 then
      var.wimper=0
      end
    
    if  var.wimper > 2 then
      var.wimper=2
      end
    
    
    
      if var.wimper==1 then
    
      var.w2= Pie.Frame mod 60
      if var.w2!=1 then
      var.w2=0
      end
      end
    
    
      if var.wimper==2 then
    
      var.w2= Pie.Frame mod 20
      if var.w2!=1 then
      var.w2=0
      end
      end
    
    
      if var.w2==1 then
      var.wa=1
      var.w2=0
      end
    
    
      if var.wa==1 || var.wimper==0 then
    Key.L=  var.wa+  joy4.Button1
    var.wa=0
    
    else
    Key.L=false
    end
    
    


    I could have left it on key L too, but if I play AC with steering wheel that does not work, why ever, AC does not accept L. So you have to either use PPJOY as a virtual programmable controller or use the newer and easier to install VJOY in conjunction with FreePie.

    If you can not get PPjoy up and running or if it's too complicated for you, here are the links for Freepie and Vjoy.
    Freepie
    Vjoy

    I dont like the python syntax! :(

    Since I do not know how to bring Freepie to work only with 20Hz in a simple way, I first use it only as a converter to connect Key.L with Vjoy.

    vJoy[0].setButton(0,int(keyboard.getKeyDown(Key.L)))

    Just paste in Freepie and press F5.
     
    Last edited: Mar 12, 2018
  18. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    IGNORE THAT!
    The whole thing is now only to play around with the Unity program. nevertheless, it will someday come when my rain mod is finished in the tutorial and join together to a big whole.
     
    Last edited: Mar 12, 2018
    MLT likes this.
  19. MLT

    MLT Active Member

    Joined:
    Nov 2, 2017
    Likes Received:
    125
    Good to know that this is advancing pretty fast. I can't wait to see this released. :)
     
    Just Kauser likes this.
  20. Just Kauser

    Just Kauser Active Member

    Joined:
    May 21, 2017
    Likes Received:
    50
    Location:
    Chemnitz, Saxony, Germany, next to the Sachsenring
    Rain tyre:

    Code:
    ;Rain Tyres
    
    [FRONT_2]
    NAME=Potenza RE-01R Rain
    SHORT_NAME=Rain
    WIDTH=0.185
    RADIUS=0.2888                ; tyre radius in meters
    RIM_RADIUS=0.1905            ; rim radius in meters (use 1 inch more than nominal)
    ANGULAR_INERTIA=0.83                            ; angular inertia of front rim+tyre+brake disc together
    DAMP=600                                    ; Damping rate of front tyre in N sec/m (values usualy from 200 to 1400)
    RATE=254573                                    ; Spring rate of front tyres in Nm
    DY0=0.8122
    DY1=-0.055
    DX0=0.80
    DX1=-0.053
    WEAR_CURVE=street_front.lut        ; file with lookup table to call
    SPEED_SENSITIVITY=0.003667        ; speed sensitivity value
    RELAXATION_LENGTH=0.095
    ROLLING_RESISTANCE_0=10        ; rolling resistance constant component
    ROLLING_RESISTANCE_1=0.000900        ; rolling resistance velocity (squared) component
    ROLLING_RESISTANCE_SLIP=4538        ; rolling reistance slip angle component    
    FLEX=0.000878                        ; tire profile flex. the bigger the number the bigger the flex, the bigger the added slipangle with load.
    CAMBER_GAIN=0.131                    ; Camber gain value as slipangle multiplayer. default 1
    DCAMBER_0=1.1
    DCAMBER_1=-13                        ; D dependency on camber. D=D*(1.0 - (camberRAD*DCAMBER_0 + camberRAD^2 * DCAMBER_1)) , camberRAD=absolute value of camber in radians
    FRICTION_LIMIT_ANGLE=9.30                            ; Slip angle peak. 
    XMU=0.24
    PRESSURE_STATIC=32                 ; STATIC (COLD) PRESSURE
    PRESSURE_SPRING_GAIN=7330         ; INCREASE IN N/m  per psi (from 26psi reference)
    PRESSURE_FLEX_GAIN=0.45         ; INCREASE IN FLEX per psi
    PRESSURE_RR_GAIN=0.55            ; INCREASE IN RR RESISTENCE per psi
    PRESSURE_D_GAIN=0.004                ;loss of tyre footprint with pressure rise.
    PRESSURE_IDEAL=39
    FZ0=1755
    LS_EXPY=0.8200
    LS_EXPX=0.8880
    DX_REF=0.8
    DY_REF=0.8
    FLEX_GAIN=0.0304
    FALLOFF_LEVEL=0.87
    FALLOFF_SPEED=4
    CX_MULT=1.02
    RADIUS_ANGULAR_K=0.01   ; Radius grows of MILLIMITERS!! Formula -> RADIUS_ANGULAR_K * angularVelocity in rad/s
    BRAKE_DX_MOD=0.05
    
    
    [REAR_2]
    NAME=Potenza RE-01R Rain
    SHORT_NAME=Rain
    WIDTH=0.185
    RADIUS=0.2888                ; tyre radius in meters
    RIM_RADIUS=0.1905            ; rim radius in meters (use 1 inch more than nominal)
    ANGULAR_INERTIA=0.83                            ; angular inertia of front rim+tyre+brake disc together
    DAMP=600                                    ; Damping rate of front tyre in N sec/m (values usualy from 200 to 1400)
    RATE=254573                                    ; Spring rate of front tyres in Nm
    DY0=0.8122
    DY1=-0.055
    DX0=0.80
    DX1=-0.053
    WEAR_CURVE=street_rear.lut        ; file with lookup table to call
    SPEED_SENSITIVITY=0.003667        ; speed sensitivity value
    RELAXATION_LENGTH=0.095
    ROLLING_RESISTANCE_0=10        ; rolling resistance constant component
    ROLLING_RESISTANCE_1=0.000900        ; rolling resistance velocity (squared) component
    ROLLING_RESISTANCE_SLIP=4538        ; rolling reistance slip angle component    
    FLEX=0.000878                        ; tire profile flex. the bigger the number the bigger the flex, the bigger the added slipangle with load.
    CAMBER_GAIN=0.131                    ; Camber gain value as slipangle multiplayer. default 1
    DCAMBER_0=1.1
    DCAMBER_1=-13                        ; D dependency on camber. D=D*(1.0 - (camberRAD*DCAMBER_0 + camberRAD^2 * DCAMBER_1)) , camberRAD=absolute value of camber in radians
    FRICTION_LIMIT_ANGLE=9.30                            ; Slip angle peak. 
    XMU=0.24
    PRESSURE_STATIC=32                 ; STATIC (COLD) PRESSURE
    PRESSURE_SPRING_GAIN=7330         ; INCREASE IN N/m  per psi (from 26psi reference)
    PRESSURE_FLEX_GAIN=0.45         ; INCREASE IN FLEX per psi
    PRESSURE_RR_GAIN=0.55            ; INCREASE IN RR RESISTENCE per psi
    PRESSURE_D_GAIN=0.004                ;loss of tyre footprint with pressure rise.
    PRESSURE_IDEAL=39
    FZ0=1755
    LS_EXPY=0.8200
    LS_EXPX=0.8880
    DX_REF=0.8
    DY_REF=0.8
    FLEX_GAIN=0.0304
    FALLOFF_LEVEL=0.87
    FALLOFF_SPEED=4
    CX_MULT=1.02
    RADIUS_ANGULAR_K=0.01   ; Radius grows of MILLIMITERS!! Formula -> RADIUS_ANGULAR_K * angularVelocity in rad/s
    BRAKE_DX_MOD=0.05
    
    
    [THERMAL_FRONT_2]
    SURFACE_TRANSFER=0.0140     ;How fast external sources heat the tyre tread touching the asphalt: Values 0-1
    PATCH_TRANSFER=0.00027                        ;How fast heat transfers from one tyre location to the other: Values 0-1
    CORE_TRANSFER=0.00051            ;How fast heat transfers from tyre to inner air and back. bidirectional
    INTERNAL_CORE_TRANSFER=0.0076
    FRICTION_K=0.08892                            ;Quantity of slip becoming heat
    ROLLING_K=0.22                            ;rolling resistance heat
    PERFORMANCE_CURVE=tcurve_street.lut                ;File to use for temperature/grip relation
    GRAIN_GAMMA=1                 ; Gamma for the curve grain vs slip. higher number makes grain more influenced by slip
    GRAIN_GAIN=0.4                ; Gain for graining. How much gain raises with slip and temperature difference- 100 value = slipangle*(1+grain%)
    BLISTER_GAMMA=1            ; Gamma for the curve blistering vs slip. higher number makes blistering more influenced by slip
    BLISTER_GAIN=0.3            ; Gain for blistering. How much blistering raises with slip and temperature difference. think blistering more as heat cycles. 100 value = 20% less grip
    COOL_FACTOR=2.40
    SURFACE_ROLLING_K=1.29583
    
    [THERMAL_REAR_2]
    SURFACE_TRANSFER=0.0140     ;How fast external sources heat the tyre tread touching the asphalt: Values 0-1
    PATCH_TRANSFER=0.00027                        ;How fast heat transfers from one tyre location to the other: Values 0-1
    CORE_TRANSFER=0.00051            ;How fast heat transfers from tyre to inner air and back. bidirectional
    INTERNAL_CORE_TRANSFER=0.0076
    FRICTION_K=0.08892                            ;Quantity of slip becoming heat
    ROLLING_K=0.22                            ;rolling resistance heat
    PERFORMANCE_CURVE=tcurve_street.lut                ;File to use for temperature/grip relation
    GRAIN_GAMMA=1                 ; Gamma for the curve grain vs slip. higher number makes grain more influenced by slip
    GRAIN_GAIN=0.4                ; Gain for graining. How much gain raises with slip and temperature difference- 100 value = slipangle*(1+grain%)
    BLISTER_GAMMA=1            ; Gamma for the curve blistering vs slip. higher number makes blistering more influenced by slip
    BLISTER_GAIN=0.3            ; Gain for blistering. How much blistering raises with slip and temperature difference. think blistering more as heat cycles. 100 value = 20% less grip
    COOL_FACTOR=2.40
    SURFACE_ROLLING_K=1.29583
    
    
    
    
    


    For the rain tires you should insert this code in the tyre.ini of your car and make the following changes:

    1. Copy the lines:
    WIDTH = 0185
    RADIUS = 0.2888; tire radius in meters
    RIM_RADIUS = 0.1905; rim radius in meters (use 1 inch more than nominal)
    from the previous data of your car.

    2. replaces _2 with the number +1 that appeared last in the file. In case of doubt in _1

    If you now select these tires in the setup, rain on the road is simulated on each track.

    Tire wear is best switched off because it is only very low in wet conditions.
     
    Last edited: Mar 12, 2018