Is it possible to make semi-realistic car physics without scripting?

Trying to make a stock car racing game. I’m not aiming for insanely accurate physics, but I want the cars to behave at least somewhat similarly to a real car at high speeds.

The car I’ve made uses HingeConstraints for the wheels (back wheels are motors, front wheels spin freely), plus another servo HingeConstraint that pivots the front axle for steering. Everything including the player character is massless except for the tires (which use invisible spheres for collision), axles, and chassis.

Here’s an example: At high speeds, pivoting at a sharp angle (by steering or getting hit by another driver) would usually cause the car to spin out. My car does indeed spin out when turning at high speeds, but instead of continuing to spin in the original direction like in real life, it stops as soon as it turns around due to the spinning of the tires cancelling the forward speed out, so it just does a 180 every time and stops no matter the speed. The chassis has a very high mass (1600 RMU) but its as if it has zero momentum. I’ve tried changing the mass and friction of various parts including the baseplate but it’s more or less the same result every time.

My understanding is that Roblox’s physics engine is sophisticated, but not perfect. Would I realistically be able to accomplish my goals by messing with physical properties and constraints? If so, what should I do?

2 Likes

The issue is likely your mass distribution and how friction is interacting with those spheres. If the chassis has high mass but zero momentum, you probably have something overriding the velocity or a constraint fighting the inertia. You’ll never get decent high-speed rotation without using VectorForces to simulate lateral grip, because standard friction alone is too unpredictable for racing.

1 Like