Wheel Friction Curve

Hi ,

Can any one please explain regarding wheel friction curve and its attributes and values in detail…?

You might have more luck with a more specific question.

As you know there is wheel friction curve concept in wheel collider which is mainly used for sliding the vehicle wheels. Again in the wheel friction curve having forward friction and sideways friction can u explain the properties of extremum value , extremum slip, asymptote value and asymptote slip

It’s explained here: Unity - Manual: Wheel collider component reference

Slip values are reported at WheelHit. The “value” properties of WheelFrictionCurve are used for calculating the forces, but there are no specifications available on how the force is calculated.

1 Like

Thank you for your valuable Answer.

I read the link by providing by you.But still not getting how the curve values will calculate on wheel.

2286852--153676--Wheel Friction curve.png
Actually i am working on wheel friction curve to get drifting effect like in asphalt 8. to get that effect i am just tweaking the values since 1 week still did’t get that effect. please suggest me. do i need to read any concept before start with wheel friction curve. to understand above values.

Oh, that’s the WheelCollider in Unity 4:

  • Set a Damper value around 200-600. Zero damper is not a good idea.
  • Set Stiffness Factor to 0.01 - 0.03 at both forward and sideways frictions.

You’ll get something driveable. Experiment with the stiffness values for fine tunning the effect. Note that WheelCollider in Unity 4 has its own design faults and it will never work perfectly. Most likely you’ll get either a sliding vehicle, or a vehicle that rolls over easily at curves.

Your best chance is to find a proper sideways stiffness factor that mostly works in your specific case. If the vehicle rolls over, either decrease the stiffness or lower the position of the Center of Mass for the vehicle. You can also check out this article on how to increase stability by simulating anti-roll bars:

Hope this helps!

What if you’re using Unity 5’s wheel collider, whats the average values to get a car that can drift at the corners?

I’ve been unable to extract any logic out of the Unity 5 WheelCollider’s friction curves. My vehicle physics packages disable the WheelCollider friction (zero to all values) and implement the tire forces by scripting.

1 Like

Thats too bad, thanks for the input anyway. I keep seeing videos on youtube of people who used U5’s wheel collider and managed to get the car to drift without helper codes, but they’re usually vague on how they achieved this and I could not reproduce the intended behaviour.
=(

That’s understandable because even with precise WheelCollider settings the behavior will surely be different in different vehicles. The WheelCollider behavior is heavily affected by many other properties of the vehicle such as the mass, the center of mass or the inertia tensor. Thus, the only 100% reliable way of reproducing a specific behavior without helper codes is to having an exact clone of the vehicle.

1 Like

What about the friction curve of tank tracks? I’m recently making a tank control script that’s supposed to be realistic, but Unity’s wheel collider seems to be focused on wheels with rubber tires and not metal continuous tracks.

Somethings I think just translating your cars transform and customizing your handling is better than the wheelcollider, the friction curve is too difficult to get right. Keep in mind though you can’t just find one set of perfect values for the friction curve and then just forget it. The way to truly get your desired behavior is to dynamically change the values through scripts.

Another possible trick for purely arcade vehicles is just using a CharacterController but with a car mesh. One could use scripting for the visual car to have its wheels on the ground, then develop the gameplay by applying rules to the CharacterController (i.e. rotation rate based on the forward speed and so on).

With the PhysX implementation definitely, but I wouldn’t write off physics-based control in general.

I created a wheel-force based controller with an arcade-y style. For sure, it’s early days (just finished writing it up yesterday!) and mostly for fun, but it seems to behave really well, in that its easy to tune, with parameters that are not too sensitive and have few side effects.

It does this by using the same approach as the WheelCollider, but with simplified dynamics, and solutions to numerical stability that don’t involve over-damping or magic numbers.

Even with impulse based physics engines its (usually) possible to compute the exact inputs required to get basically position control of simulated objects, but now you have the ability to let the engine loose when you don’t want to code the behaviours by hand!

Need to share some observations regarding built-in wheel collider.
It’s all related to this free Vehicle Tools provided by Unity.

I tried to turn behavior of the family car in this asset into a behavior of a racing car to understand physics of WC.
Disable Easy Suspension script to customize WC params manually.

Controller params.

Rigid Body Mass: 2000
Max Torque: 1000                    // set RPM to 10000, it will go to 100 kmh in 3 seconds and can climb mountains 
Brake Torque: 30000

WC params

Mass: 20
Radius: 0.3
Wheel Damping Rate: 0.5 .         // ability to save current state, set close to 0 to accelerate faster
Suspension Distance: 0              // switch between lamborghini (0) and monster truck mode (5)
Force App Point Distance: 0 .     // can flip after sudden turn, increase to 100 to push car to the ground but harder to turn

Spring: 10000                             // useless
Damper: 10000                           // useless
Target Position: 0.5                     // useless

Forward Friction.

Extremum Slip: 1
Extremum Value: 1                      // increase to 5 to accelerate faster
Asymptote Slip: 1                        // useless
Asymptote Value: 1                     // useless
Stiffness: 1                                  // just a coefficient that increase an impact of Value

Sideways Friction.

Extremum Slip: 1                         // when Slip == Value, it looks like a DRIFT mode
Extremum Value: 1                      // increase to 5 to simulate unrealistic turns to 90 degrees, like in GTA, can flip easily
Asymptote Slip: 1                        // useless
Asymptote Value: 1                     // useless
Stiffness: 1                                  // just a coefficient that increase an impact of Value

P.S. Useless doesn’t means that parameter doesn’t make sense at all, it just means that it doesn’t affect my gameplay experience significantly and can be set to some default value.

1 Like

Unity.WheelCollider is bad, better use custom WheelCollider.

I Have figured out the physics for cars and i could finally get them to work in unity correctly.i will be making a video tutorial next week explaining everything about friction.actually there was more concepts than what i thought!

1 Like

Did you make the video? If so link me please :slight_smile:

1 Like

Hi, sorry if i’m replying very late but good news, i wanted to make the video but at that point i did not have a powerful PC to handle recording. now i have a bought a 9900k rtx 2080 and 16 gigs of ram :). i also created a youtube channel that i will be thankful if you subscribe to my channel. my channel name is selen games. i have not made the car physics tutorial yet but i plan to make it in the upcoming months. its a bit complicated and long tutorial so i have to work more on it to make good content.

1 Like

could you give a link to your tutorial pls?