tenta isso
private float eixoX ;
private float eixoZ;
private Vector3 direcao;
void Start(){
}
void Update(){
direcao = transform.position; // pega e atualiza sua posicao atual
direcao.x += Input.GetAxis("Horizontal") * Time.deltaTime; // se você apertar para o lado ele adiciona o valor na sua posicao atual
direcao.z += Input.GetAxis("Vertical")* Time.deltaTime;
transform.position = direcao; // seta a posicao no personagem
}
ou
private float velocidade = 10;
void Start(){
}
void Update(){
if( Input.GetAxis("Horizontal") >0){ // esquerda tecla D
transform.Translate(velocidade * Time.deltaTime,0,0);
}
if( Input.GetAxis("Horizontal") <0){ // direita tecla A
transform.Translate(-velocidade * Time.deltaTime,0,0);
}
if( Input.GetAxis("Vertical") <0){ // baixo tecla S
transform.Translate(0,0,-velocidade * Time.deltaTime);
}
if( Input.GetAxis("Vertical") >0){ // Cima tecla W
transform.Translate(0,0,velocidade * Time.deltaTime);
}
}