TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Sin valoraciones

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Ahora vamos a instalar dentro de nuestro Unity un package llamado Input manager o Input System que nos servirá para configurar los controles de nuestro personaje. Cuando hablamos sobre “input” nos referimos a cualquier estímulo que llega al vi­deojuego por parte del jugador o jugadora, es decir, un clic con el ratón, pulsar una tecla, pulsar el botón de un mando, etc. El videojuego ha de registrar ese “input”, identificar de qué tipo es y actuar según se haya programado.

Abrimos desde la ventana window la opción del Package Manager y buscamos en la terminal de Unity registry el paquete de los Inputs. Posteriormente lo instalaremos en nuestro proyecto.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Espera a que se instale este nuevo paquete dentro de Unity. Nos pedirá que cerremos nuestro editor, guarda todo lo que has hecho hasta ahora y vuelve a abrir el proyecto y verás que dentro del package manager del proyecto.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Ahora nos venimos a la carpeta Assets dentro de la carpeta Scripts volvemos a crear otra carpeta llamada Inputs y dentro de esta pulsamos el botón derecho y le damos a Create> Input actions y lo llamamos Player actions

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Damos a intro y pulsamos dos veces en Player actions. Se nos abre una ventana donde podre­mos configurar los controles de nuestro player. Se divide en varias columnas.

En la primera columna Actions maps es donde vamos a definir un conjunto de controles comunes. Podemos poner un Action maps para los menús porque podemos querer unos controles diferentes para los menús otro para el inventario, otros para el juego en si como por ejemplo controlar el Player.

En la segunda columna tenemos los Actions que son los controles, moverse, saltar, correr, interactuar. Y la tercera columna son las Properties son las propiedades que va a definir lo que pongamos en nuestra columna de Actions

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Otra cosa que hay que entender son los Control Scheme son básicamente los tipos de con­troladores que puedes usar o que quieras usar en tu proyecto.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Para nuestro proyecto vamos a añadir dos Controladores uno lo llamaremos Keyboard en el menú que se nos abre al pulsar Add Control Scheme. Para así poder controlar nuestro perso­naje con el teclado mientras estamos editando desde nuestro proyecto en Unity.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Dentro de la lista que aparece vacia elegimos el controlador de Keyboard para que reconozca los controladores del teclado de nuestro ordenador.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Luego solo tenemos que guardarlo para finalizar

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Y el otro controlador que añadiremos se llamará Gamepad que serán los controles de nuestro jugador pero para dispositivos móviles

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

A la hora de añadir en la lista el Gamepad verás que te da todas las opciones del mercado pero nosotros vamos a coger el genérico porque aunque el juego será táctil, nosotros vamos a meter un joystick en la pantalla

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Una vez que hayamos añadido nuestros controladores a nuestro editor de controladores nos aparecerá un asterisco. Eso nos está diciendo que debemos guardar los cambios. Por lo que seleccionaremos el botón de guardar.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

El siguiente paso será crear un Action map que lo llamaremos PlayerControls

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

actionmaps es genérico para todos los controladores que tenemos, es decir nos sirve tanto para el Gamepad como el Keyboard.

El siguiente paso será añadir una nueva acción. Borramos la que nos aparece por defecto clicando en el + y seleccionando la opción delete.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Ahora le damos a + y creamos una nueva action que llamaremos Movement

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Dentro de la columna de las propiedades cambiamos la opción de Action type a value. Por­que va a ser un valor 2d tanto en la horizontal (izquierda y derecha) como la vertical (arriba y abajo)

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Al estar editando nuestro control dentro de la opción Gamepad debemos seleccionar dentro de los valores del Control Type el Vector 2

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Volvemos a la columna de Action y nos centramos en la opción de No bending, esto quiere decir que aún no le hemos dicho a Unity que nuestra action llamada Movement está unida algún tipo de controlador. Por lo que seleccionamos el Bending y desde la columna de Pro- perties le asignamos un camino (Path) para que los conecte.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Seleccionamos Gamepad y dentro de las opciones que nos aparecen elegimos la opción Left stick

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

De nuevo abrimos la columna de Properties y comprobamos que esté marcada la opción Gamepad dentro de las opciones de Use in control scheme

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Ahora vamos a repetir el proceso para el control del Keyboard solo que en su bending elegimos la opción Add 2d Vector Composite

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Y así nos crea ya directamente los cuatro controles de la horizontal y la vertical. Ahora deberemos configurar uno a uno para que se le asigne las teclas del teclado que hará que funcione.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

Por lo que seleccionamos el primero que es Up y dentro del path añadimos Keyboard para luego buscar la tecla que hará que nuestro personaje se mueva hacía arriba.
Un pequeño truco si no queremos estar buscando la tecla entre todas las opciones le tenemos que dar a la opción Listen y pulsar a la W con esto ya la tendremos seleccionada sin necesidad de buscarla entre todas las opciones.

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

TEMA 4 INPUTS Y CONTROLADORES DEL PERSONAJE

 

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