- Home /
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(){
rigidbody.centerOfMass=Vector3(0,-0.5,0.3);
}
function FixedUpdate () {
power=Input.GetAxis("Vertical") * enginePower;
steer=Input.GetAxis("Horizontal") *500 * maxSteer;
rigidbody.AddTorque(0,steer,0);
rigidbody.AddForce(0,0,power);
}
Is this code working for you? Is the car driving on the XZ plane with 'Y' being up? Line 14 and 15 look wrong for any car setup I can envision.
Try doing Rigidbody.AddRelativeForce Idk just a shot in the dark
Answer by robertbu · Dec 22, 2013 at 01:04 AM
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:
rigidbody.AddTorque(0,steer,0);
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;
Answer by fred_gds · Dec 22, 2013 at 12:49 AM
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.
rigidbody.AddTorque(0,steer,0);
you're right it's supposed to turn in the y axis but it still just keeps going straight. I need it to move with the orientation of the car.
Your answer
Follow this Question
Related Questions
Unity Car Tutorial 1 Answer
How to set max speed for this car ? 1 Answer
Rapid fire Help 1 Answer
physx joint clutch 0 Answers