So here’s the problem. I have a cube, its original I know. Anyway, whenever I move forward it rotates, drags, or tilts, or whatever you wanna call it, to the right.
The cube is a rigid body. But when you I disable gravity it works just fine. I tried messing with the rigid body settings but it doesn’t change anything. The code it self is from the scripting reference for a simple car movement script.
The code:
#pragma strict
var speed : float = 5.0;
var rotationSpeed : float = 300.0;
var jumpHeight : float = 10;
var canJump : boolean = false;
function OnCollisionEnter(floorCol : Collision)
{
if(floorCol.gameObject.name == "Floor")
{
canJump = true;
}
}
function OnCollisionExit(floorCol : Collision)
{
if(floorCol.gameObject.name == "Floor")
{
canJump = false;
}
}
function Update ()
{
// Get the horizontal and vertical axis.
// By default they are mapped to the arrow keys.
// The value is in the range -1 to 1
var translation : float = Input.GetAxis ("Vertical") * speed;
var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed;
// Make it move 10 meters per second instead of 10 meters per frame...
translation *= Time.deltaTime;
rotation *= Time.deltaTime;
// Move translation along the object's z-axis
transform.Translate (0, 0, translation);
// Rotate around our y-axis
transform.Rotate (0, rotation, 0);
if(Input.GetKeyDown("space") && canJump)
{
rigidbody.AddForce (Vector3.up * jumpHeight);
}
}