TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Sin valoraciones

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

El siguiente paso será descargarnos unos controladores o joystick virtuales para poder mover­nos con el personaje desde el punto de vista de que es para móviles. Para ello nos vamos a una página web llamada Kenney y dentro de está nos descargaremos OnScreenControls

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Una vez descargada la carpeta seleccionamos los controles que nosotros queramos y los metemos dentro de la carpeta de Art>Sprites>UI . En este ejemplo vamos a utilizar transparentLight pero tu puedes usar el que quieras.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Por último vamos configurar las propiedades de los sprites que hemos importado ya que al impor­tarlos a nuestro proyecto están cogiendo el preset que hicimos anteriormente donde le dimos un tamaño de 16 px pero aquí en nuestros mandos vamos a darle 100 para que no se pixelen. Así que seleccionamos todo desde la carpeta y en el inspector lo dejamos tal como aparece en la imagen:

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Para poder interactuar con nuestros botones en nuestra pantalla deberemos crear un Canvas, así que para ello damos clic derecho encima de nuestra pestaña de Jerarquía y elegimos Ui>Canvas

Juego

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Esto nos va a crear el objeto Canvas y tenemos que dicirle desde la pestaña Inspector que el Ren- der Mode sea Screen Space Overlay

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Luego le vamos a decir que este Canvas cambie de tamaño cada vez que cambie la pantalla.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Nos pedirá una medida de referencia, aquí tenemos que poner la medida de la pantalla del movil más pequeño que nos proporcione Unity. Dentro de sus opciones elegimos la opción con menor resolución. En este caso lo vamos a dejar a X 640 por Y 1136

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Lo demás lo dejamos tal y como está

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Ahora dentro del Canvas clicamos en el botón derecho y creamos una imágen

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Dicha imagen va a ser nuestro Joystick así que lo renombramos así

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Vamos a asignar que esté abajo a la derecha desde la pestaña del Inspector pulsando encima del recuadro que se señala en la imagen:

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Y después vamos a poner los siguientes valores dentro de PosX, PosY, PosZ y su ancho y alto

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Ahora vamos a asignarle la imagen de nuestro joystick dentro del apartado Image. Para ello buscamos dentro de la carpeta donde tenemos nuestros controles que hemos importado antes la imagen transparenüight05

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Con esto tenemos la parte exterior de nuestro joystick ahora haremos que se vea su parte interior. Para ello colocamos el cursor encima del objeto que hemos llamado joystick y pulsamos en el botón derecho volvemos a elegir del desplegable las opciones Ui>Image. Renombramos la imagen como KnobJuego

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

El ancho y el alto lo dejamos 100 x 100 y va a estar centrado. La imagen que le asignamos al sprite será transparent.light09

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Ahora ya tenemos nuestro joystick visible. El siguiente paso será darle funcionalidad y para ello debemos añadirle un componente llamado On-Screen Stick

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Ahora dentro de este componente vamos a seleccionar en el Control Path que sea Gamepad>Left Stick

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Si fallara el joystick y te diera una serie de errores se debe a que el canvas al crearse se crea con una serie de eventos que vienen por defecto pero nosotros estamos utilizando el nuevo sistema de inputs por lo que para solucionarlo solo tenemos que seleccionar nuestro objeto EventSystem y decirle desde el ins­pector que queremos que remplace por el Sistema nuevo de inputs que hemos creado:

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

Haciendo eso se nos abrira esta serie de opciones y lo tendremos solucionado

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE (continuación)

 

La gestión de inputs y controladores de personajes en Unity puede realizarse de varias formas:

1. Configurar Inputs en Unity:

1.1. Ir a Edit -> Project Settings -> Input Manager:

  • Define los inputs que necesitarás para tu juego.
  • Puedes agregar nuevos botones y asignarles nombres significativos.

2. Crear un Script de Controlador de Personaje:

2.1. Crear Script de Controlador de Personaje:

  • Crea un nuevo script llamado ControladorPersonaje.
csharp
using UnityEngine; public class ControladorPersonaje : MonoBehaviour { public floatvelocidad = 5f; public float velocidadRotacion = 200f; void Update() { MoverPersonaje(); RotarPersonaje(); } void MoverPersonaje() { float movimientoVertical = Input.GetAxis("Vertical"); float movimientoHorizontal = Input.GetAxis("Horizontal"); Vector3 movimiento = new Vector3(movimientoHorizontal, 0f, movimientoVertical) * velocidad * Time.deltaTime; transform.Translate(movimiento, Space.Self); } voidRotarPersonaje() { float rotacion = Input.GetAxis("Horizontal") * velocidadRotacion * Time.deltaTime; transform.Rotate(Vector3.up, rotacion); } }

3. Asociar el Script al Personaje:

3.1. Asociar el Script:

  • Asocia el script ControladorPersonaje al GameObject del personaje en el Inspector.

4. Ajustar Parámetros del Personaje:

4.1. Ajustar Parámetros:

  • En el Inspector, ajusta la velocidad y velocidad de rotación según tus necesidades.

5. Ejemplo de Controlador de Cámara (Opcional):

5.1. Controlador de Cámara:

  • Si utilizas Cinemachine, puedes crear un script para permitir que la cámara siga al personaje.
csharp
using UnityEngine; public class ControladorCamara : MonoBehaviour { public Transform objetivo; void LateUpdate() { if (objetivo != null) { transform.position = objetivo.position; } } }

6. Configurar Inputs en el Script de Controlador de Personaje:

6.1. Configurar Inputs en el Script:

  • Puedes configurar las teclas o botones de input directamente en el script o mediante variables públicas.
csharp
public class ControladorPersonaje : MonoBehaviour { // ... void MoverPersonaje() { floatmovimientoVertical = Input.GetAxis("Vertical"); float movimientoHorizontal = Input.GetAxis("Horizontal"); Vector3 movimiento = new Vector3(movimientoHorizontal, 0f, movimientoVertical) * velocidad * Time.deltaTime; transform.Translate(movimiento, Space.Self); } void RotarPersonaje() { float rotacion = Input.GetAxis("Horizontal") * velocidadRotacion * Time.deltaTime; transform.Rotate(Vector3.up, rotacion); } }

7. Asociar el Controlador de Cámara (Opcional):

7.1. Asociar el Controlador de Cámara:

  • Asocia el script de controlador de cámara al objeto de la cámara y establece el objetivo como el personaje.

8. Ejecutar y Probar:

8.1. Ejecutar y Probar:

  • Ejecuta la escena y prueba los inputs para asegurarte de que el personaje responda correctamente.

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER