Mate a uno pero creo que no les cayo bien 😦
Introducción
Diseño y Prototipado Rápido de RPGs con Unity
Creación de un Roguelike en 2D con Unity
Corte y Configuración de Sprites para Videojuegos en Unity
Creación de Paletas y Capas en Unity para Diseñar Escenarios 2D
Capas de Ordenación y Colisiones en Unity para Videojuegos 2D
Uso de Gráficos en Proyectos de Unity
Personaje principal: Movimiento y Animaciones
Controlador de Movimiento en Unity: Script PlayerController
Animación de Personajes en Unity: Creación de Clips y Timelines
Creación y gestión de animaciones en Unity con Animator
Creación de Blend Trees para Animaciones de Personajes
Controlador y Animador de Personajes en Unity
Programación de cámara que sigue al jugador en Unity 2D
Corrección de Bugs Gráficos en Unity: Creación de Materiales Adecuados
Colisiones y Movimiento en Unity con Rigidbody 2D
Diseño y Creación de Escenarios en Videojuegos 2D
Escenarios Avanzados
Programación de Transiciones de Escenas en Unity
Uso de Don'tDestroyOnLoad en Unity para Gestión de Objetos Persistentes
Sincronización de Escenas con Spawn Zones en Videojuegos
Transiciones y Gestión de Escenarios en Videojuegos RPG
Enemigos Avanzados
Configuración de Enemigos en Videojuegos: Animaciones y Física
Programación de Movimiento Aleatorio para Enemigos en Juegos de Rol
Aleatoriedad en el Movimiento de Enemigos en Videojuegos
Detección de Colisiones y Reinicio en Unity
Gestión de Vida en Videojuegos: Creación de un Manager de Vida
Configuración de Armas y Colisiones en Unity para Videojuegos 2D
Programación de Vida y Daño en Enemigos de Videojuegos
Animación de Espada en Unity para Personajes 2D
Animaciones de Ataque en Unity con Blend Tree y Parámetros
Programación de Ataques y Animaciones en Videojuegos
Normalización de Velocidad en Movimiento Diagonal en Unity
Optimización de Código en Controladores de Juego
Efectos Visuales y Colisiones en Ataques de Videojuegos
Creación de Efectos de Explosión con Partículas en Unity
Crear un Canvas de Daño en Unity para Videojuegos
Programación de Texto de Daño en Unity
Creación de un HUD para mostrar la barra de vida en videojuegos
Creación y Gestión de un UI Manager en Unity para Videojuegos
Personaje principal avanzado
Efectos Visuales de Daño en Unity: Parpadeo y Color de Texto
Implementación de sistema de experiencia y niveles en videojuegos de rol
Implementación de Estadísticas de Nivel en Juegos de Rol
Sistema de Defensa y Niveles en RPG: Implementación y Ajustes
Creación y Movimiento de NPCs en Videojuegos RPG
Limitación de Movimiento para NPCs en Unity
Diseño de Interfaz de Diálogo en Videojuegos con Unity
Programación de diálogos interactivos para NPCs en videojuegos
Implementación de Diálogos Dinámicos en Videojuegos de Rol
Control de Movimiento del NPC durante Diálogos en Videojuegos
Control de Diálogos y Movimiento en Videojuegos con Unity
Quests
Creación y Gestión de Misiones en Juegos de Rol
Creación de Misiones Triggers en Videojuegos con Unity
Creación de Misiones de Recolección en Videojuegos
Creación de Misiones para Derrotar Enemigos en Videojuegos
Corrección de Bugs en Diálogos y Animaciones de Videojuegos
Límites de cámara en juegos 2D: implementación y ajuste
Ajuste Dinámico de Límites de Cámara en Unity
Audio
Efectos de Sonido en Videojuegos con Unity
Gestión de Música de Fondo en Videojuegos con Unity
Control de Volumen de Audio en Videojuegos con Unity
Gestión de Volumen Global en Videojuegos
Creación de un Sistema de Economía Virtual en Videojuegos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
En el mundo de los videojuegos, equipar a los personajes con armas efectivas y visualmente atractivas es esencial para el éxito del juego. En este tutorial, te explicaremos cómo otorgar un arma a tu jugador en Unity, centrándonos en los sprites y la configuración de colisiones. Aunque tomaremos como ejemplo una espada, puedes aplicar estos principios para otros tipos de armas como hachas o varitas mágicas.
Para comenzar, nos dirigimos al editor de Unity donde tenemos guardados nuestros sprites. Estos deben ser cortados para utilizarse correctamente. Puedes elegir entre realizarlo manualmente o usar la herramienta de corte automático en el Sprite Editor. Lo importante en este paso es garantizar que el sprite esté perfectamente dividido y que cada parte tenga un nombre adecuado, como "Sword", "Axe", "Staff", etc.
También es crucial ajustar el pivote del sprite para que concuerde con la posición donde el jugador sostendrá el arma, es decir, en el centro del mango.
sprite.pivot = new Vector2(16, 16); // Ajustar el pivote al centro del mango
Una vez definidos los sprites, es común encontrar que el arma sea desproporcionalmente grande respecto al personaje. Esto se soluciona ajustando los píxeles por unidad en el inspector de Unity, aumentando el valor para reducir el tamaño del sprite.
weapon.pixelsPerUnit = 80; // Reducir el tamaño del arma
Ten especial cuidado con la capa de ordenación (sorting layer) al colocar el arma. Debe coincidir con la capa del jugador para que no desaparezca detrás de otros objetos.
El próximo paso es implementar la detección de colisiones usando Polygon Colliders. Esto es útil, especialmente cuando las formas del arma son irregulares y un Box Collider no se ajusta adecuadamente.
public class WeaponDamage : MonoBehaviour {
private void OnTriggerEnter2D(Collider2D collision) {
if (collision.gameObject.tag.Equals("Enemy")) {
Destroy(collision.gameObject); // Destruir el enemigo al colisionar
}
}
}
Recomendamos que el Polygon Collider sea un trigger para que pueda detectar las colisiones sin detener el movimiento del jugador.
Para facilitar el cambio de armas en el futuro, agrega un objeto vacío en el que irá alojada el arma que actualmente se lleva equipada. Este objeto puede llamarse Weapon
.
GameObject weaponSpot = new GameObject("Weapon");
weaponSpot.transform.parent = player.transform; // Asociar al jugador
Coloca el arma dentro del WeaponSpot
. El arma debe quedarse en la coordenada (0,0,0) relativa al WeaponSpot
, permitiendo cambios sencillos y rápidos de arma según lo necesites.
Este es solo el primer paso en implementación de armas. En futuros desarrollos, puedes añadir funcionalidades como:
Con estos pasos, has aprendido a equipar a tu personaje en Unity con un arma, un componente vital para casi cualquier videojuego de acción. Sigue experimentando, agregando nuevas funcionalidades y perfeccionando la experiencia de juego para crear un título atractivo y envolvente. ¡Ánimo, estás en el camino correcto!
Aportes 4
Preguntas 0
Mate a uno pero creo que no les cayo bien 😦
exelente,
me ocurría un problema que me detectaba la espada como personaje ya que puse un onCollisionEnter2d ( y era onTriggerEnter2d )
dejo esto para que no le pase a nadie mas uwu
Bastante buena la idea de cambios de armas, creo que trabajare en eso para implementarlos.😁
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WeaponDamage : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag.Equals("Enemy"))
{
Destroy(collision.gameObject);
}
}
}
El capsule collider se ajusta bien a la forma de la espada y no es tan pesado como el poligon collider para el juego
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?