- Home /
Help with Basic Movement Script
Hi, i'm a beginner on unity3d and I followed a tutorial to make an easy game I make my "car" on unity and make this javascript:
var forwardSpeed : float = 3; var turnSpeed : float = 2;
function Update() { //this is the forward speed that will actually happen var forwardMoveAmount = Input.GetAxis("Vertical")*forwardSpeed;
//actual turn amount var turnAmount = Input.GetAxis("Horizontal")*turnSpeed;
transform.Rotate(0,turnAmount,0); }
but the car only rotates (with the side arrows)... I want the car to move forward and backward with the other arrows... could you help me plz? I attach you a photo of the model I don't know if it can be the problem... http://img4.imageshack.us/img4/83/moversefototodo.jpg
PD : do you know if I can add rigid body and will work too?
Answer by ByteSheep · Mar 09, 2013 at 06:20 PM
You are calculating how quickly you would like the car to move, but you aren't actually applying the movement to the object. You could try something like this:
var forwardSpeed : float = 3;
var turnSpeed : float = 2;
function Update() {
//this is the forward speed that will actually happen
var forwardMoveAmount = Input.GetAxis("Vertical")*forwardSpeed;
//actual turn amount
var turnAmount = Input.GetAxis("Horizontal")*turnSpeed;
transform.Rotate(0,turnAmount,0);
transform.position += transform.forward * forwardMoveAmount * Time.deltaTime;
}
P.S. Sure you can add a rigidbody to the car object!
or a wheel collider, which is more realistic but a bigger pain to get running.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Car movement script ? 1 Answer
each enemy have different damage amount, how to calculate the hp remain??? 1 Answer
Space Invaders movement? 1 Answer
Vehicle/car/ Movement 0 Answers