WheelCollider friction explored

I’ve been experimenting with wheelcolliders and I’m having a bit of a hard time understanding the settings for friction.

I assume that Extremum is synonymous with “Static” and “Asymptote” with Dynamic.

So the Extremum slip point is where an object will start to slip or “Break Free”. Like pushing a desk, you have to push hard to get it started.

The Asymptote slip value is the resistance to movement once an object has started moving. The desk, once moving, takes less effort to keep moving.

Next is the “Slip” and “Value” items. I’ve got a suspicion what they are which I’ll explain and I’m hoping someone can confirm or correct me.

“Slip” appears to be the amount of slipping that can occur before reaching the break point where dynamic friction takes over. So even though the object hasn’t “broken free” it still slips.

“Value” appears to be the amount of force required to “break free” for Static Friction and the amount required to “level out”, or stop dropping, for dynamic friction.

So an approximate slip amount before breaking free would be something like

Force / ExtremumValue * ExtremumSlip. In reality the slip amount is on a curve and this formula is plain proportional.

At this point I haven’t a hunch what Stiffness means. I took physics a few times and learned about coefficients of friction but no “stiffness” was ever involved.

So am I right, wrong, close, waaay cold, or what?

Thanks!

Edit: I just had a thought. Is stiffness the “curviness” of the static curve? The higher the stiffness the sharper the curve is around the slip/value points?

1 Like

Well I did a lot of experimentation today and the above doesn’t seem to be the case. I cant make any sense of the settings at all. If I lower the Extremum slip it slips more, if I increase it the slip also increases.

Unity really needs to explain what the settings actually do.

1 Like

They explained it very well: Unity - Manual: Wheel collider component reference
Look at bottom of this page. Treat extremum and asymptote values as “milestones” in friction curve, like they visualised in picture.

1 Like

I’ve also been unable to extract any logic out of the WheelCollider friction. While the docs explain how should it behave “ideally”, the experiments show other results. Moreover, it looks like forward slip and sideways slip as reported by GetGroundHit are using different units among them.

2 Likes

i have the same prole, every one can help me to add friction?
in the guide NOTHING is clear how to increase, decrease friction

3 Likes

I realized exactly what you said. The lateral slide and slide forward does not seem to relate to each other.

Another thing I also noticed is that information is missing from the Unity documentation. Let me give you an example: You can use the following values for forward friction:

1
2
1
2
1

or

10000
20000
10000
20000
1

For a curve, this should yield equal results, but that is not the case. I am very curious to know how the engine works internally with these values.

For anyone looking to simulate wheel collider friction
In versions over 5.4, wheel collider comes with “Wheel damping” set it to desired value.
Ex: For mass of 75 wheel damping of 200 looks neat.

1 Like

I think below cases are identical:
1
2
1
2
10000

or

10000
20000
10000
20000
1

Yes. I did some tests with exactly the same vehicles, changing only the wheel colliders.

Apparently they behave equally.

1 Like

I am also exploring this relatively boring component to understand and use when you want to recreate the slightest realism in the behavior of the wheels. With several researches on the physics of the wheels of a car, I realized that the value “ExtrememSlip” is considered as the coefficient of kinetic friction of sliding when the wheel starts to skid. For the value “Asymptote”, it represents the coefficient of static friction.
As for the values “ExtremumValue” and “AsymptoteValue”, I believe that is the percentage of stiffness of the wheel.

5464809--558612--Siewei_Zhang-slip-ratio.jpg
5464809--558615--WheelFrictionCurve.png

So can anyone tell me, what values increases friction while moving and while at rest?

You might find this useful GitHub - AlTheSlacker/UnityCar: Unity vehicle dynamics there is a lot of documentation there and a useful excel spreadsheet, which explains how to set up a basic vehicle model using the standard wheel colliders, I just made it for fun: There are far more sophisticated models on the asset store - search for Edy.

In response to your question on friction, the initial, quasi-linear portion of the curve determines the normal grip level, with the values after the extremum point determining the sliding friction (asymptote). The extremum point represents where the sliding of the contact patch starts to become dominant over the distortion of the contact patch material. So extremum and asymptote together determine the “friction” response of the tyre, depending on the level of slip.

PhysX does not use a static friction for wheel colliders that are not moving (well, at least this was the case a few years ago) - it cheats and uses a constraint to prevent rolling / sliding - this is not exposed to the user. If you want to allow the vehicle to slip, apply a very small torque to activate the colliders, which will then slip until they come into equilibrium with the sliding force.

I hope that helps.

3 Likes

I am total noob but this is what I got. My vehicle was slipping a lot before coming to stop position. So I increased Forward friction Extremum Slip and Forward friction Extremum Value and now my vehicle is stopping with a very little slip. Any one wanting to modify friction between tyre and ground can play with these two parameters.

2 Likes

For anyone having trouble with collider friction values, i found a method that can be usefull in basic level


I am just changing stiffness values with these options and playing with center of mass for rolling down issues.

I tried it for Unity 2020.1.3

1 Like