RainFX is coming, it's a must have and what about making the old car mods work in the wet

Edit 9-Apr-2021: a PDF with the instructions.

It's not a huge task and if you have a lot of nice cars that don't have working wipers I may provide here a beginner-friendly tutorial for Blender editing. So if more than 2 people say that they want to learn how to get from this
Screenshot_alpine_a110_ks_red_bull_ring_18-2-121-16-17-37.jpg


to this

Screenshot_alpine_a110_ks_red_bull_ring_18-2-121-18-51-18.jpg
Screenshot_alpine_a110_ks_red_bull_ring_18-2-121-18-52-21.jpg
Screenshot_alpine_a110_ks_red_bull_ring_18-2-121-18-54-34.jpg
Screenshot_alpine_a110_ks_red_bull_ring_18-2-121-18-54-44.jpg


write a reply in this thread and I will follow.

Cheers!
 
Last edited:

If you don't feel sure about posting in an open thread send me PM with specific questions and I will try to help you get started. I made the wipers on the Montreal work for me so you may ask questions on that if you prefer. I think learning Blender (or anything) comes faster and better when there's an incentive and useful results in the process. Not basic modeling with the default cube+light+camera. And don't waste time on memorizing the key shortcuts. They will stick in your head only if you use them a lot. Everything you need you will find in the menus.
You're right but I will try with the escalade because it will be easier to catch where I get stuck and I can ask specific question about it. I'm pretty sure if I success with escalade model then will be more straightforward to work on other models too. If I have time I try this week and then send you some update. Otherwise will try next weekend. Thanks again
 
I've had all kinds of fun trying to get the windscreen/wipers to work, invariably ending up with a wet dashboard in most cases with the wipers wiggling perpendicular to the screen.

An idiot's guide would be very handy!
 
I've had all kinds of fun trying to get the windscreen/wipers to work, invariably ending up with a wet dashboard in most cases with the wipers wiggling perpendicular to the screen.

An idiot's guide would be very handy!
It all depends on understanding of car's objects hierarchy and basic skills in Blender. For the first part I trained by reading the "..\AssettoCorsa\sdk\dev\car_pipeline_2.0rev\AC_Pipeline_PUB_Rev2.0.pdf" and opening in Blender a model of Kunos car. It can help you if next to the Blender window in which you work on wipers you open another instance of Blender in which you load a model of Kunos car and compare the structures. Then try to animate the wipers on the Kunos model to get the idea of what rotations on which parent to include in the keyframes. It can be fun discovering that even on Kunos car there can be wrong parenting as in my test subject Porsche_Boxster_S_LODA.FBX which i chose at random. It's parenting on wiper blades appears wrong and the animation starts working correctly only if I change the parenting on the blade substructure. Below - the left wiper works after I changed the parenting. Right wiper won't comply until edited.
parents.jpg

Changing the origin of the blade substructure to the pivot at the base of the wiper can't do the proper trick.

In my pdf I tried to point out only the most important that is specific to making wipers work. I'm willing to expand any of it's parts should there be a need for it.
 
Last edited:
Today I had an edit of some poorly made glass mesh
glass not smooth.jpg

and while making the wipers and internal glass as usual I thought it would be useful to add the tips here. Do this before duplicating the glass meshes:
glass not smooth2.jpg

glass not smooth3.jpg


Then if still isn't smooth select all edges in edit mode and:
glass smooth.jpg


Now that looks much better come rain or shine:
glass smooth2.jpg


This exact tip works the same on any mesh that shows broken reflections because of unwanted seams. Check it out on the skirts of the same car:
glass smooth3.jpg
glass smooth4.jpg
 
Last edited:

If you don't feel sure about posting in an open thread send me PM with specific questions and I will try to help you get started. I made the wipers on the Montreal work for me so you may ask questions on that if you prefer. I think learning Blender (or anything) comes faster and better when there's an incentive and useful results in the process. Not basic modeling with the default cube+light+camera. And don't waste time on memorizing the key shortcuts. They will stick in your head only if you use them a lot. Everything you need you will find in the menus.
it takes me some hours but I completed the Escalade. Well, it's not perfect, I need to try again and make a better animation. It's a bit tricky to align the wipers onto the window and let them work. The rear wiper doesn't clean at all. I think it falls inside the car so I should rotate a bit. Then there's some drops inside the car but that's not a proplem as I don't notice while I'm driving. There's also something wrong with the mirrors as you can see. I think I have something to do with kseditor, have I?
Anyway it was a lot of fun and made me understand a bit of blender. I'll try again next days.
Thanks


Screenshot_cadillac_escalade_esv_platinum_rt_bannochbrae_24-4-121-0-46-52.jpg

Screenshot_cadillac_escalade_esv_platinum_rt_bannochbrae.jpg
 
Last edited:
tricky to align the wipers onto the window and let them work
If you attach a screen of what the trouble is it may be possible to clear it out. The important bit of aligning is at the start with positive rotating the main parent (WIPER_*) on "X" so it becomes aligned perpendicular to the windscreen. If that has been too little or too much then trouble starts as it's difficult to compensate with rotations of second-level parent (Wiper_*_arm). What I do at this point is: place the geometry in the "0" position (frame 0), clear the parent on both arm and blade, rotate WIPER_* and reattach the geometry in the structure. After that rotating the second-level parent on "Y" improves with almost no need for additional rotating on "Z" or "X". I'm avoiding rotating the second-level parent by the gizmo because that always causes wobble during animation between the key frames and wiper either goes too high or inside.
rear wiper doesn't clean at all
I'm not familiar with CSP and it's ways of generating the rainFX. There is a proposed fix for wipers that don't clean. For the Caddy:

[WIPERS_TRACE_...]
SURFACE = cad_escalade_12_cockpit_glassLF_glass___55_vertices_100_976376e
WIPERS = GEO_wiper_T_blade

I found to my surprise that after loading the car with CSP 0.1.74 pr98 it doesn't behave as before and needs the above code. And after I reloaded - front left wiper stopped cleaning. Edited the code some more to add the front surface but with not good results. It's a bug in this version I guess. Maybe joining the objects of the external glass on the model can resolve it. The Mito and Audi S1 wipers can work on the front and rear but their glass is not divided. Regarding the Montreal there's no need for code to work
Clipboard02.jpg

some drops inside the car
That is seen not because the wipers went in but more probably because the geometry on the regular mod cars is less airtight than on the official cars and the more carefully done mods. The gaps between the dash, the windscreen, the pillars and the roof can be barely visible but enough for the effect to get in. As you progress into 3d editing you will figure out ways to close the gaps and then there will be no water on the dash.
something wrong with the mirrors
Mirrors on almost all mod cars are given the wrong shader and texture. It has to be "ksPerPixelReflection" and using a diffuse named "mirror.dds". Example of this file can be taken from "..\sdk\dev\car_pipeline_2.0rev\Common Texture\" in the game's folder. Page 38 of "AC_Pipeline_PUB_Rev2.0.pdf" points a good way to deal with the problem. If you don't want to reopen the model to deal only with the mirrors a hack of a solution is to make a copy of the "mirror.dds" file, rename it to "MIRROR_PLACEMENT.png" and place a copy of that in each skin folder. But doing the shader and texture in ksEditor is better. There you must change "fresnelMaxLevel" to ~0.4 and ksSpecularEXP to ~200 to get the mirror reflectivity on the objects.
Then check the contents of "mirrors.ini" in car's data. There the names of the objects for mirrors have to correspond exactly with the ones on the model. Blender has a bug that causes long names of objects to become auto-modified and that's the cause of trouble with mirrors and lights on some mod cars.To correct that edit the "mirrors.ini" to have the truncated names instead of the long ones. Like:
[MIRROR_0]
NAME=cad_escalade_12_cockpit_mirrorL_mirrorLeft___45_vertice_28e6510

[MIRROR_1]
NAME=cad_escalade_12_cockpit_interior_mirrorMiddle___41_vert_3c27b4f

[MIRROR_2]
NAME=cad_escalade_12_cockpit_mirrorR_mirrorRight___45_vertic_e2f50b9

And if you don't find the physics on that SUV too good (RWD and wrong power curve among other things) - try mine

Ctrl+G in game turns on the automatic gearbox so it resembles more the actual lazy ride that it is.
was a lot of fun
It sure is :) Modding support of Assetto Corsa is it's best feature.
 
Last edited:
Unfortunately I didn't have time to retry yet but this week I'll have 2 days vacation so I think I'll go on.
In your last post you gave me all the information I need to complete the job. In particular about the tricky rotation. Actually I tried to rotate the second level structure during the animation but this leads to weird results. I suspected I should work on first level parent and you confirmed that.
Example of this file can be taken from "..\sdk\dev\car_pipeline_2.0rev\Common Texture\" in the game's folder. Page 38 of "AC_Pipeline_PUB_Rev2.0.pdf" points a good way to deal with the problem
I didn't know about this documentation so I can give it a look to find some more useful information.
I'm pretty sure at this point this thread is complete enough to help anyone who likes to modify some cool models. I'll talk about it on the discord server I'm in, where there's many assettocorsa driver and someone could be interested.
If I have more to ask I'll post here as usual.
And as always thank you for all this information and the passion you had to help me. Good job!!
 
Today I modified a Jaguar E-Type but have some problems. Even if the animation works in blender (as you can see in the image) it doen't work during the game. I called the file "car_wiper[extension]" and put it in the animation forlder and saved a .kn5 file of the car after fixing opaque windows in kseditor.
Do you have some suggestions?

Screenshot_20210605_184342.jpg
 
Last edited:
suggestions?
Sure you selected all wipers objects to export in "car_wiper.ksanim"? On your picture that should be everything from "WIPER_L" down to "GEO_Wiper_R_blade".

Make sure you have "Car Instruments" module of CSP active, test the wiper animation in CM Showroom. Which version of Sol? Do other cars have working wipers? I don't hurry up to get the latest Sol and wait for the bugfix versions that Peter always uploads couple of weeks after major release. As he'd done today.

On a different note - that wiper in front of the driver (assuming it's RHD) is too short and would not do a good job of clearing the water. In such cases I either change the scale on the blade of the original or replace it with duplicate of one other wiper.

I got curious and will attempt to animate the same car. I have "Full Throttle AC Mods 1.2" version - is it the same?
 
Last edited:
modified a Jaguar E-Type
Screenshot_jaguar_etype_ek_nagao_5-5-121-21-31-35.jpg


Quick test - made the windscreen and one of those work. Sol v 2.0.2 still delivers. I'm thinking of changing material on the blade to chrome and isolate only the rubber as it should have been done.

That wiper animation is tough not only because of the curved glass but also the wipers are modeled after a LHD and are pointing the wrong way


There is a way of correcting this in Blender using "Mirror" > "X Global" on the wipers geometry. If you feel up to the challenge do it and we'll compare results.
 
Last edited:
Sure you selected all wipers objects to export in "car_wiper.ksanim"? On your picture that should be everything from "WIPER_L" down to "GEO_Wiper_R_blade".
Yes, the image just shows animated wipers, during save I selected all wipers structures.
ake sure you have "Car Instruments" module of CSP active, test the wiper animation in CM Showroom.
I should check.....
Which version of Sol?
2.1.1
On a different note - that wiper in front of the driver (assuming it's RHD) is too short and would not do a good job of clearing the water.
I should check this too, but only after fixing wipers animation
I got curious and will attempt to animate the same car. I have "Full Throttle AC Mods 1.2" version - is it the same?
I don't remember where I get this car from, but I've uploaded on my mega account
https://mega.nz/file/BGATVYoS#uiuN90frmjoj_gLTJKtYFLUriVIppQLHobf_4InIXUc
I think you have v 1.2 of my same car so most part shoud be compatible
 
jaguar_etype_ek_nagao_.jpg
jaguar_etype_ek_nagao__.jpg

Worked on the car that I had. One niggle is the wiper arms look hollow from driver's seat. That depends on CSP and I can't seem to find the right setting to control it. Tried everything regarding culling and draw order and am willing to accept defeat.
 
I've found that for some reason with Sol 2.1.2 automatic wiper doesn't work. In manual mode they works well
Screenshot_jaguar_etype_ks_nordschleife_6-5-121-13-38-54.jpg

even from the inside
Screenshot_jaguar_etype_ks_nordschleife_6-5-121-13-37-48.jpg


There is a way of correcting this in Blender using "Mirror" > "X Global" on the wipers geometry
this time I skip this step because it works but I'll try with another model. I'm getting more confidence with blender and now the process is pretty straigthforward.

Operating in the "View Layer" window (top right) is necessary and using of "." key on the Numpad can get you quickly on the row of the object you need.
Some posts ago you talked about this technique to change parent. I have a compact keyboard without numpad. Can I remap that key to some other one?
[EDIT] I've found the answer. It's "." on the keyboard
 
Last edited:
As usual, I am late to the party, but all this rain thing is nothing short of amazing! I also grabbed the E-type - not even reading this thread to the end, just getting the guide - as my first try and managed to get the wipers working!

@alekabul, thank you very much for the comprehensive guide! I am new to Blender and without your guide I'd be thoroughly lost. Great stuff! :thumbsup:
 
"That is seen the because the wipers went in but more probably because the geometry on the regular mod cars is less airtight than on the official cars and the more carefully done mods. The gaps betwen the dash, the windscreen, the pillars and the roof can be barely visible but enough for the effect to get in. As you progress into 3d editing you will figure out ways to close the gaps and then there will be no water on the dash."
Sir, can you help me to find out what my problem?
Rain works great with all cars (default kunos) and other mod, especially Esprit's really working great (attachment sample, black car)
But I have 1 car mod, the raindrop is only visible outside the car. But not visible inside the car / cockpit camera (attachment, blue car)
From Object Inspector --> I can confirm all material (windshield, window) RainFX is enabled. What settings do I need to look?
 

Attachments

  • Screenshot_mitsubishi_evo8_ks_brands_hatch_22-6-121-18-2-57.jpg
    Screenshot_mitsubishi_evo8_ks_brands_hatch_22-6-121-18-2-57.jpg
    564.1 KB · Views: 100
  • Screenshot_ffd_mitsubishi_lancer_evo3_ks_brands_hatch_22-6-121-18-4-45.jpg
    Screenshot_ffd_mitsubishi_lancer_evo3_ks_brands_hatch_22-6-121-18-4-45.jpg
    575.9 KB · Views: 111
  • Screenshot_mitsubishi_evo8_ks_brands_hatch_22-6-121-18-2-39.jpg
    Screenshot_mitsubishi_evo8_ks_brands_hatch_22-6-121-18-2-39.jpg
    857.6 KB · Views: 125
  • Screenshot_ffd_mitsubishi_lancer_evo3_ks_brands_hatch_22-6-121-18-4-24.jpg
    Screenshot_ffd_mitsubishi_lancer_evo3_ks_brands_hatch_22-6-121-18-4-24.jpg
    883.1 KB · Views: 125
raindrop is only visible outside the car. But not visible inside the car

That is a symptom of missing internal glass or wrong shader on the internal glass. If you can check with Object Inspector by clicking from the inside and see if there is internal glass that has ksWindscreen shader that may clarify things a bit. The actual name of the mesh and material can be different but it must work none the less.
 

Attachments

  • not raining.jpg
    not raining.jpg
    486.6 KB · Views: 81
  • raining.jpg
    raining.jpg
    428.5 KB · Views: 84
  • external.jpg
    external.jpg
    726.4 KB · Views: 108
Last edited:
That is a symptom of missing internal glass or wrong shader on the internal glass. If you can check with Object Inspector by clicking from the inside and see if there is internal glass that has ksWindscreen shader that may clarify things a bit. The actual name of the mesh and material can be different but it must work none the less.
OOh. Great. I found the problem. from external it's same as your screenshot, ksPerPixelReflection. But, from internal / cockpit camera, there is no clickable object on windscreen.

I try another car with working raindrop from internal, yes the shader ksWindScreenFX is there, no wonder it's working.

can you tell me which steps to do, to make the shader work from inside?

EDIT:
found it on your user manual page 49. need to change the shader using ksEditor. THANK YOU!

EDIT2:
Page 8, using blender to flip object. Ok let's try. thank you for your information.
(attachment, there is red in windscreen, is it really need to use 3DSIMED ?) - attach 1

EDIT3:
after editing from blender, Yes raindrop can be seen from cockpit view!
But there is same problem with other user post here, (raindrop also seen at dashboard, rear view mirror not working), but my glass material become black, and . Why is that ?
is this blending (opaque) related ?
 

Attachments

  • red.JPG
    red.JPG
    51.2 KB · Views: 95
  • red2.JPG
    red2.JPG
    235.3 KB · Views: 110
  • red3.JPG
    red3.JPG
    205.5 KB · Views: 93
Last edited:
my glass material become black
Page 51 in the pdf. Set the internal glass to "AlphaBlend" in ksEditor. Also in editor right-click on the glass of the headlamps and the external windows and correct it's transparency and blending.
ext glass.jpg

For the mirrors - to make them work do as I said before: "check the contents of "mirrors.ini" in car's data. There the names of the objects for mirrors have to correspond exactly with the ones on the model. Blender has a bug that causes long names of objects to become auto-modified and that's the cause of trouble with mirrors and lights on some mod cars.To correct that edit the "mirrors.ini" to have the truncated names instead of the long ones."
To make the mirrors appear reflective change the shader on the mirrors materials to ksPerPixelReflection and enter the following values
mirrors.jpg


"using blender to flip object. (attachment, there is red in windscreen, is it really need to use 3DSIMED ?) - attach 1"
What I see on your pics is the duplicated windscreen that is showing the same texture as the external object from which it was duplicated. That dirt near the edges in "red2.jpg" which shows red in "red.jpg" may be a different object which is facing the wrong way. Usually the cars have separate "black glass" objects near the edges of the transparent glass. In Blender select that red object before duplicating the windscreen and in edit mode flip its normals to make it work on the outside as originally intended. That may plug the gap and stop the rain from falling inside the cockpit.
black glass.jpg


After you do the duplicating and flipping on the glass properly you should see in Blender not red but magenta as the two different glass objects overlap
ext+int glass.jpg


Probable reason for all the trouble with materials in ksEditor is the truncating of long names on some of the objects which after export from Blender no longer correspond with the names in .ini file for the model. Look carefully for other problems besides the glass and mirrors.
 
Last edited:
Page 51 in the pdf. Set the internal glass to "AlphaBlend" in ksEditor. Also in editor right-click on the glass of the headlamps and the external windows and correct it's transparency and blending.View attachment 490399
For the mirrors - to make them work do as I said before: "check the contents of "mirrors.ini" in car's data. There the names of the objects for mirrors have to correspond exactly with the ones on the model. Blender has a bug that causes long names of objects to become auto-modified and that's the cause of trouble with mirrors and lights on some mod cars.To correct that edit the "mirrors.ini" to have the truncated names instead of the long ones."
To make the mirrors appear reflective change the shader on the mirrors materials to ksPerPixelReflection and enter the following valuesView attachment 490394

"using blender to flip object. (attachment, there is red in windscreen, is it really need to use 3DSIMED ?) - attach 1"
What I see on your pics is the duplicated windscreen that is showing the same texture as the external object from which it was duplicated. That dirt near the edges in "red2.jpg" which shows red in "red.jpg" may be a different object which is facing the wrong way. Usually the cars have separate "black glass" objects near the edges of the transparent glass. In Blender select that red object before duplicating the windscreen and in edit mode flip its normals to make it work on the outside as originally intended. That may plug the gap and stop the rain from falling inside the cockpit.
View attachment 490402

After you do the duplicating and flipping on the glass properly you should see in Blender not red but magenta as the two different glass objects overlap
View attachment 490407

Probable reason for all the trouble with materials in ksEditor is the truncating of long names on some of the objects which after export from Blender no longer correspond with the names in .ini file for the model. Look carefully for other problems besides the glass and mirrors.
This black glass problem is now solved, because I'm not really familiar with blender, your manual is really helped very much!

I think I wrongly rename the mesh and it's structure (page 11 your manual). I'm using blender 2.93.1 when duplicated the mesh, the name not changed to 001 but just shorter name, then when I rename it, all other mesh using that material is also changed. And this particular mod using same material name (that I renamed) for headlight, LF Glass, LR Glass, LR Glass, and RR Glass. That's why it's black. So I ended editing all the material value to isTransparent True in KsEditor.

Finally I can make this wet windscreen to work, with duplicating and some move (at X and Z axis) for make sure it precise (and close the gap) in blender. (finally.JPG)

--------Start from here, my question a little out of topic------
"Probable reason for all the trouble with materials in ksEditor is the truncating of long names on some of the objects which after export from Blender no longer correspond with the names in .ini file for the model. Look carefully for other problems besides the glass and mirrors."

I can confirm this, and I need to made changes object name in my ext_config.ini files since all lights used different name object now. Another problem still not solved is headlight effect on track, that's just in data/*.ini file right? Or is there any object that also become different name? (no_track_effect.JPG)

EDIT 1:
Headlight problem solve! actually there is just setup in ext_config.ini
[LIGHT_HEADLIGHT_0]
AFFECTS_TRACK=1
NAME=*MESH NAME LEFT HEADLIGHT - FOR ON TRACK EFFECT*
COLOR=10,8,7,1
FALLBACK_HEADLIGHTS_COLOR=255,241,224
BIND_TO_EXTRA_A=1
LAG=0.5
SIMULATE_HEATING=1
LOCATION=FRONT
CAST_LIGHT=1

[LIGHT_HEADLIGHT_1]
AFFECTS_TRACK=1
NAME=*MESH NAME RIGHT HEADLIGHT - FOR ON TRACK EFFECT*
COLOR=10,8,7,1
FALLBACK_HEADLIGHTS_COLOR=255,241,224
BIND_TO_EXTRA_A=1
LAG=0.5
SIMULATE_HEATING=1
LOCATION=FRONT
CAST_LIGHT=1

[EMISSIVE_EXTRA_A_1HEADLIGHTS]
NAME=*MESH NAME RIGHT HEADLIGHT - FOR EMISSIVE HEADLIGHT*
COLOR=80,255,147,41
FALLBACK_HEADLIGHTS_COLOR=224,255,255
BIND_TO_EXTRA_A=1
LAG=0.5
SIMULATE_HEATING=0
LOCATION=FRONT
CAST_LIGHT=1

[EMISSIVE_EXTRA_A_2HEADLIGHTS]
NAME=*MESH NAME RIGHT HEADLIGHT - FOR EMISSIVE HEADLIGHT*
COLOR=80,255,147,41
FALLBACK_HEADLIGHTS_COLOR=224,255,255
BIND_TO_EXTRA_A=1
LAG=0.5
SIMULATE_HEATING=0
LOCATION=FRONT
CAST_LIGHT=1

For the mirror, I used the step you wrote in post before, and editing mirror.ini really helping. Is it really necessary to use mirror.dds. And Is this correct image ? (mirror.JPG). Because now the mirror is working but looks like it have wrong angle. so If I can see right mirror, middle mirror not showing anything. When I adjusted the POV, I can see middle mirror, but I am out of the car.

Thank you very much for your advice and help!
 

Attachments

  • mirror.JPG
    mirror.JPG
    10.9 KB · Views: 86
  • finally.JPG
    finally.JPG
    231.6 KB · Views: 82
  • no_track_effect.JPG
    no_track_effect.JPG
    237.7 KB · Views: 82
  • HEAD.JPG
    HEAD.JPG
    176.4 KB · Views: 91
  • INSIDE.JPG
    INSIDE.JPG
    216.7 KB · Views: 94
Last edited:
Is it really necessary to use mirror.dds. And Is this correct image ? (mirror.JPG). Because now the mirror is working but looks like it have wrong angle. so If I can see right mirror, middle mirror not showing anything. When I adjusted the POV, I can see middle mirror, but I am out of the car.
The image for the mirrors don't matter if you make the material all reflective and ksAmbient is "0". Kunos advised modders to use only png and dds for textures so .jpg is not the best option. If you look into your game's folder "..\sdk\dev\car_pipeline_2.0rev\Common Texture\" there's a "Mirror.DDS" that you can use.
Making the mirror material reflective is not a substitute for proper editing of "mirrors.ini" in car's data. For example
Code:
[MIRROR_0]
NAME=MirrorL

[MIRROR_1]
NAME=MirrorC

[MIRROR_2]
NAME=MirrorR
is the correct order and syntax for enabling the left, center and right mirrors. In your case for the car paste the specific names from the model. If you have "Real Mirrors" enabled in CSP options there is additional code for the config that allows for adjusting the angle of each mirror
Code:
[REAL_MIRROR_0]
ROTATION=0.05, 0.02
[REAL_MIRROR_1]
ROTATION=-0.01, -0.03
[REAL_MIRROR_2]
ROTATION=-0.01, 0.01
In that code the order is the same as in "mirrors.ini" from car's data. You can see the results of each edit from the car's seat as soon as you save the ext_config file.
 
Last edited:
Back
Top