I made my own movement script for a top down shooter game I’m making but the way it works lets me walk through walls and I don’t want it to do that.
var upSpeed : float = 10;
var leftSpeed : float = 10;
var rightSpeed : float = 10;
var downSpeed : float = 10;
function Update () {
if (Input.GetKey(KeyCode.W))
{
transform.Translate(Vector3.up * upSpeed * Time.deltaTime, Camera.main.transform);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector3.left * leftSpeed * Time.deltaTime, Camera.main.transform);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(Vector3.down * downSpeed * Time.deltaTime, Camera.main.transform);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector3.right * rightSpeed * Time.deltaTime, Camera.main.transform);
}
}
Basically I want to be able to move my character up, left, right, and down regardless of where my player is looking (which is always at the mouse cursor). I got it to do that but now I can move through the terrain and other objects that have colliders.
Any help would be appreciated!