Hi! I’ve recently encountered a problem with my player GameObject’s script. As the question says, my object is shaking everytime it moves towards any object. Is there some way I can stop it from doing so? Here is my script:
var MoveSpeed : float = 2.5f;
var RunSpeed : float = 5f;
var Forward : float = 3.5f;
var JumpHeight : float = 10000f;
var Jumped = false;
function Start ()
{
rigidbody.freezeRotation = true;
}
function Update ()
{
if(Input.GetKey(KeyCode.Space) && !Jumped)
{
Jumped = true;
rigidbody.AddForce(Vector3.up * JumpHeight * Time.deltaTime);
}
//Player movement
if(Input.GetKey(KeyCode.W))
transform.Translate(Vector3.forward * Forward * Time.deltaTime);
if(Input.GetKey(KeyCode.S))
transform.Translate(Vector3.back * MoveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.D))
transform.Translate(Vector3.right * MoveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.A))
transform.Translate(Vector3.left * MoveSpeed * Time.deltaTime);
//Player run movement
if(Input.GetKey(KeyCode.LeftShift))
{
if(Input.GetKey(KeyCode.W))
transform.Translate(Vector3.forward * Forward * Time.deltaTime);
if(Input.GetKey(KeyCode.S))
transform.Translate(Vector3.back * MoveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.D))
transform.Translate(Vector3.right * MoveSpeed * Time.deltaTime);
if(Input.GetKey(KeyCode.A))
transform.Translate(Vector3.left * MoveSpeed * Time.deltaTime);
}
}
function OnTriggerStay ()
{
Jumped = false;
}
That’s all! I don’t know if its because I’m using Translate. Sorry, I’ve only started Unity about a week ago.