Editing the non-linearity in ETS2/ATS

jyry
Posts: 149
Joined: 09 Aug 2018 13:25

Editing the non-linearity in ETS2/ATS

#1 Post by jyry » 01 May 2020 21:18

Hi, I use T150 set to 1080 degrees of rotation (on the steering wheel I exchanged the wheel for the size of 38cm :D )
I had nonlinearity to the maximum, but the feeling of driving was still not realistic for me. The driving was still very sensitive and linear, it wasn't even like in a car, and not like a truck at all.
I tried a mods to adjust the driving to realism, but it was still not good. I thought the steering wheel just couldn't be set to reality.
But now I have found advice on how to edit controls.sii

here I attach the original text from the author of this adjustment:
"One way to fix this is to use non-linearity. This makes the steering less sensitive near the center, while still allowing for full steering lock. But as you may know, using it is awful. That's because the way ETS/ATS calculates non-linearity causes a dead-zone at the center of steering, which feels sluggish and unresponsive. This non-linearity is mostly useful for game-pads.
The goal of this post is to fix that non-linearity, and luckily, it's very easy for you to implement the fix. The way it's fixed is by changing the non-linearity calculation to make the steering linear (no dead-zone) near the center, then having it ramp up near full lock, so that you can still turn your wheels all the way."

the following parameters are interchanged:
"mix steering `dsteering - (pow(normalize(abs(sel(c_jisteer, -j_steer?0, j_steer?0)), c_steer_dz), (1.0 + c_steer_func * 0.5)) * sign(sel(c_jisteer, -j_steer?0, j_steer?0)))`"
for
"mix steering `dsteering - (( A / B * 1/70 - 1) * (1 - pow(normalize(abs(j_steer?0), c_steer_dz), 4)) * c_steer_func/2 + 1) * normalize(abs(j_steer?0), c_steer_dz) * sign(sel(c_jisteer, -j_steer?0, j_steer?0))`"

In the replacement line, you'll see A and B near the beginning. Change these. A is the number of degrees your steering wheel rotates (e.g. 1080 for T150). B is the steering ratio. (for my T150 38CM is the best settins: "mix steering `dsteering - (( 1080 / 45 * 1/70 - 1).......)
Choose a steering ratio. This is the sensitivity near the center of steering. A higher number means lower sensitivity. A normal car is usually around 15-20. A truck might be 20-40. I like mine at 35 for 1080 - 38cm steering wheel. For reference, default steering with a 900 degree steering wheel is 12.86, way too low!
Open the game, go to settings, and set steering non-linearity to max (full right). Your sensitivity should be at max as well (always when using a steering wheel). The steering near the center of you steering wheel should now have the steering ratio you set in the replacement line. If this is too little sensitivity, dial the non-linearity slider back. Turning it down makes the steering more sensitive near the center. At 0 (full left) the steering is completely linear, and the fix has no effect.

Now I have finally set up the steering wheel as I always wanted, with a great deal of non-linearity and the feeling of driving is really close to the reality in the truck. Now I play ETS2 / ATS with much more pleasure than before :) .
(I did not find this information on the forum. It is possible that this editing of controls.sii is already presented here on the forum, and if so, I apologize for the duplication, and the moderator delete the topic.)
moreiralife
Posts: 7
Joined: 17 Mar 2020 23:49

Re: Editing the non-linearity in ETS2/ATS

#2 Post by moreiralife » 13 Jun 2023 19:07

bro i live way how u explain but in to dumb to do that, i have g29 with 900º i think xD
can u do a comand to i copy and past? :D
i love realism and i cnot find a mod to do that, like 1800º realistic feel wheel and animation...
User avatar
supric
Posts: 1078
Joined: 08 Jun 2013 09:44
Location: Russia, Tula

Re: Editing the non-linearity in ETS2/ATS

#3 Post by supric » 17 Jun 2023 10:05

Additional settings of steering gear ratio
If you are using you controller’s full range (900 degrees) with a default steering wheel angle (38 degrees, max_visual_rotation in physics.sii) we got steering gear ratio 900 / (38 * 2) = 11.85. This value can be used in small sport cars (IRL), but it’s not applicable even on civil cars, not to mention about trucks. For example, Iveco Hi-Way have steering gear ratio from 22 to 26 (you can find it in specs sheets), that isalmost twice higher. If you want to make truck steering more realistic, you can do one of the next:
1) Increase nonlinearity in game settings.
Advantages: standard in-game feature.
Disadvantages: sensitivity near central position is too low, animated steering wheel in interior doesn’t correspond with your controller.
2) Decrease max_visual_rotation in physics.sii
Advantages: remove disadvantages of 1.
Disadvantages: maneuvering in tight spots is very difficult.

How to make it universal & useful? I recommend to change steering formula in controls.sii this way:
config_lines[261]: "mix steering `dsteering - (0.5 * normalize(abs(sel(c_jisteer, -j_steer?0, j_steer?0)), c_steer_dz) + (0.25 * c_steer_func) * (pow(normalize(abs(sel(c_jisteer, -j_steer?0, j_steer?0)), c_steer_dz), (1.0 + c_steer_func * 0.5)))) * sign(sel(c_jisteer, -j_steer?0, j_steer?0))`"
* index 261 can be different in different game versions, all other content is the same

What we got? Using only 1 nonlinearity slider, we can switch between nonlinearity & full range of steering. If we want to maneuvering – we can set nonlinearity slider to maximum and got the full steering range. If we get to the highway – we can set nonlinearity slider to minimum and got realistic sensitivity of truck’s steering wheel and 50% of a full range. All range will be linear with a total steering gear ratio:
900 / (2 * 0.50 * 35) = 23.68, that is very close to real life trucks.
Only one small problem is left. Animation of interior steering wheel doesn’t corresponding with your controller. Since 1.42 SCS makes possible to set up visible steering wheel animation rotation (search it in game menu or set uset g_steer_anim_range "1800" in config_local.cfg in profile folder) that makes animation range 1800 degrees (instead of default 900), or 4.5 rotation.

Return to “Steering wheel + pedals”

Who is online

Users browsing this forum: CCBot [Bot]