New Input System
Clase 10 de 32 • Curso de Programación 2D con Unity: Intermedio
Resumen
¿Cómo mover un personaje en Unity utilizando el New Input System?
Implementar el movimiento de tu personaje en Unity puede parecer complejo al inicio, pero con el New Input System, este proceso puede simplificarse considerablemente. Este sistema es mucho más robusto y flexible que te permitirá adaptarte a cualquier plataforma. A continuación, te explicamos cómo ponerlo en práctica.
¿Cómo instalar el New Input System?
Para empezar, es necesario instalar el New Input System en Unity. Sigue estos pasos:
- Abre Unity y ve a
Window
>Package Manager
. - Asegúrate de tener seleccionados los paquetes en el registro de Unity.
- Busca
Input System
y haz clic enInstalar
.
Unity podría reiniciarse durante la instalación para importar los assets necesarios del paquete.
¿Cómo configurar las entradas básicas?
Con el New Input System instalado, sigue estos pasos para configurar las entradas básicas:
-
Creación del Settings Asset:
- Abre
Edit
>Project Settings
. - En
Input Manager
, verás una alerta relacionada con la existencia de otro sistema de inputs. Crea un nuevoSettings Asset
en el tabInput System Package
.
- Abre
-
Preparación del escenario:
- Elige tu escena principal y asegúrate de que tus assets principales están listos. Cambia el nombre de la escena a
Main
y recargala si es necesario. - Renombra tu objeto jugador a
Player
.
- Elige tu escena principal y asegúrate de que tus assets principales están listos. Cambia el nombre de la escena a
-
Asignación del componente Player Input:
- Añade un nuevo componente llamado
Player Input
al objeto Player. - Creará un
Action Input Asset
, que se debe guardar en la carpeta de scripts.
- Añade un nuevo componente llamado
¿Cómo programar el movimiento del personaje?
Ahora que la configuración básica está lista, es hora de escribir el código para mover al personaje.
using UnityEngine;
using UnityEngine.InputSystem;
[RequireComponent(typeof(RigidBody2D))]
public class PlayerController : MonoBehaviour
{
private RigidBody2D rb;
private void Start()
{
rb = GetComponent<RigidBody2D>();
}
private Vector2 movementInput;
public void OnMove(InputValue value)
{
movementInput = value.Get<Vector2>();
}
private void FixedUpdate()
{
rb.velocity = movementInput;
}
}
¿Cómo ajustar la velocidad del personaje?
Para adaptar el comportamiento de movimiento a tu escenario, puedes ajustar la velocidad del personaje creando una variable de velocidad.
public float speed = 2f;
private void FixedUpdate()
{
rb.velocity = movementInput * speed;
}
Recuerda ajustar esta variable en el inspector de Unity. Ahora tu personaje se moverá más rápido o más lento según lo que necesite tu juego.
Recomendaciones finales
- Verifica que el componente
PlayerController
esté aplicado al objetoPlayer
. - Modifica la gravedad del
RigidBody2D
si tu personaje cae de manera indeseada. - Explora más funciones y configuraciones del New Input System para implementar nuevas mecánicas de juego.
Con estos pasos, lograrás implementar un movimiento básico para tu personaje en Unity utilizando el New Input System. Continúa explorando, aprendiendo y experimentando para perfeccionar tus habilidades en desarrollo de videojuegos. ¡El mundo del juego es tuyo para crear y disfrutar!