Racing game basic javascript question

I have decided to make a basic racing game without using wheelcolliders.

I have been applying a force in the back of the car, and then a torque to turn the car.

The problem is, the momentum from the force is carrying the car straight whether or not it is turned.

Actually it isn’t even the momentum. The car seems to continue straight regardless of it’s turn angle.

What is a good way to have the momentum change direction with the car?

Here is my code:
#pragma strict

var enginePower=10000.0;
var power=0.0;
var brake=0.0;
var steer=0.0;
var maxSteer=25.0;

function Start(){

function FixedUpdate () {
    power=Input.GetAxis("Vertical") * enginePower;
    steer=Input.GetAxis("Horizontal") *500 * maxSteer;

well first of all you should do the physic calculations in fixedUpdate()

So then I don’t quite understand why you are turning the car around the same axis in which you are adding the force.

You would want the car to turn around it’s y-Axis.


As a starting point, significantly increase the Rigidbody.drag in the Inspector. You’ll have to significantly increase the force applied each frame as well. You likely want to significantly increase the Rigidbody.angularDrag too.

Note line 15 should be:

rigidbody.AddForce(transform.forward * power);

As @Fred’slphone indicated, line 14 should be:


And as he says, all the code should be in FixedUpdate(), not Update().

If you want an immediate change in direction, you can insert this line between lines 14 and 15:

rigidbody.velocity = transform.forward * rigidbody.velocity.magnitude;