Inconsistent Part friction simulation for spheres

I’m working on a constraint-based vehicle chassis and using the ball variant of Parts to simulate tire traction. While testing, I observed that friction simulation seems to vary depending on the direction of acceleration. Specifically:

  • At “cardinal” directions relative to world, (0°, 90°, etc.) the wheels simulate less friction
  • At “intercardinal” directions (45°, 135°, etc.) the wheels simulate more friction

I recreated this behavior on a simplified chassis in a new file.

Place Setup: The chassis takes a friction value (in the bottom left) and adjusts the wheels’ CustomPhysicalProperties accordingly. It tests for a 0-50 time, the angle at which acceleration began, and the ratio of wheel speed to car velocity, or wheelspin (shown in output window). For example, 1 means that the speed calculated by wheel rotations is the same as the chassis’ actual velocity, 2 means that the wheel speed is twice as high as the actual velocity (wheelspin). This wheelspin measurement is meant to demonstrate how tire friction interacts with surfaces.

Case 1 (Intended Behavior/Cardinal Directions): There is some wheelspin as the chassis accelerates (the wheelspin ratio is significantly above 1) until the vehicle reaches its max speed.

Case 2 (Alternate Behavior/Intercardinal Directions): The wheelspin ratio stays relatively close to 1, indicating no wheelspin. The 0-50 time is also ~0.4s less. Setting the tire friction value to 1 results in the chassis behaving similarly in all directions.

Here’s the repro file:
frictiontest.rbxl (76.1 KB)

Here’s a link to the original post that I made in June which has some additional information.

1 Like

Thanks for posting!

You’ve discovered an interesting feature of the friction model that we use in Roblox. This is referred to as the “box” friction model, and is commonly used in real-time physics engines.

The basic idea is that we approximate the friction cone, which describes the relation between the normal and friction forces, by a box. We make this approximation to simplify the equations we solve. The cone model leads to a nonlinear problem, whereas the box model leads to a linear problem that is much faster to solve.

https://www.researchgate.net/figure/The-friction-cone-approximated-by-a-box-where-the-limits-of-friction-impulses-in-each_fig8_353790043

3 Likes