Como mover al jugador en Unity

Javier Muruato Sanchez
2 min readApr 8, 2021

En esta ocasión veremos como mover al jugador utilizando el teclado y el método antiguo de Unity. Lo haremos así, ya que es la opción por defecto.

Lo primero que debemos hacer es crear un cubo que será nuestro jugador, posteriormente el script de jugador y finalmente agregaremos este último a nuestro objeto (el cubo).

Dentro del script deberás poner el siguiente código:

Como verás, lo único que deberás hacer es incluir la línea de transform.

transform.Translate(new Vector3(Input.GetAxis(“Horizontal”), Input.GetAxis(“Vertical”)));

Explico:

  • transform → es para accesar al objeto y a sus posiciones.
  • Translate → es para mover el objeto
  • Vector3 → es para crear el vector de movimiento, en este caso eje x y y. Dejaremos fuera el eje z por simplicidad.
  • Input.GetAxis → permite obtener las entradas del eje, ya sea un joystick conectado o las flechas del teclado

Ahora, a estas alturas no es fácil de observar, pero el calcular el movimiento de esta manera hay variaciones. Si tomamos en cuenta el framerate, el juego se movería a diferentes velocidades si corre a 30, 60, 120 fps.

Para evitar esto, utilizaremos el valor Time.deltaTime , el cual nos da el tiempo transcurrido entre el frame anterior y el actual, por lo tanto cambiamos el calculo de frame a frame a un cálculo basado en tiempo. Si aparte, queremos cambiar la velocidad, podemos incluir una variable velocidad para hacer el movimiento más rápido o lento. El código quedaría así:

Observa que cambiamos a dos líneas, la primera para el movimiento horizontal y la segunda para el vertical y en lugar de usar new Vector3, estamos usando Vector3.right y Vector3.up.

¡Prueba el código y empieza a mover a tu jugador!

--

--

Javier Muruato Sanchez

Implementador de soluciones tecnológicas, reciente apasionado de las ventas y gamedev in the making