Wired WheelCollider Behaviour

This is what I did,

  1. I set up a car with four WheelCollider and I left the forward and sideways friction curves unchanged with stiffness set to 1.0.

  2. I fixed the car against a static wall, so that the wall is in front of the car to prevent it from moving forward.

  3. I applied a continuous constant 1000 to all the wheels motorTorque.

Now analyzing the rpm of the wheels,

When the stiffness of the friction curves are all set to 1.0 and the rpm of each wheel is 4.9.

After I changed the stiffness of all the friction curves to 0.001 I get 4.7 rpm! (decreased rpm with decreased stiffness)

And with stiffness equal to 0.00001 I get 4.7 rpm again!

However, when I set the stiffness to 0.0, the rpm starts to increase quickly and continuously.

Now if you still didn't figure the problem out, the friction calculations are simply wrong, because in reality, when the friction decreases, the wheels should spin faster and achieve higher rpm values even if the car doesn't move.

Please tell me if I'm doing something wrong.

Some things to take into account here:

  • The motorTorque value is simply translated into forward slip (see WheelHit struct)
  • The RPM value is just the ground speed + forward slip. If the car cannot move you only get RPM = forward slip.
  • Stiffness is a multiplier for the extremum and asymptote values. These values modify the friction curve in a non-intuitive way (little to do with the typical slip vs force graph), so you can expect those and similar non-intuitive results.

I plan to write a document with the true facts on the WheelCollider, so you could better understand and use its features.