TEMA 9 SISTEMA DE COMBATE (continuación)

Sin valoraciones

TEMA 9 SISTEMA DE COMBATE (continuación)

Y el enemy position haremos lo mismo que hicimos para el player position. Arrastraremos el objeto enemy position que está en la jerarquía al recuadro de enemie position de la configuración del CombatTrigger dentro del LevelInitializer.

TEMA 9 SISTEMA DE COMBATE (continuación)

Nos faltaría crear el canal de eventos. Y para eso nos vamos al menu superior horizontal y donde pone Window elegimos la opción de SO Code Generation.

TEMA 9 SISTEMA DE COMBATE (continuación)

Dentro marcaremos las opciones de Game Event y Event Listener. En la cajita del Type Name tenemos que usar lo que queremos que es CombatRequest para que nos cree los eventos necesrios con nuestro tipo de dato custom mientras que en la cajita del Menu Name pondremos Combat Request.

TEMA 9 SISTEMA DE COMBATE (continuación)

Una vez que lo tengamos creado ya podremos irnos a la carpeta de Scriptable Objects>Events y desde ahí pulsar el botón derecho y seleccionar del desplegable la opción de Create>GameEvents>-Combat Request.

TEMA 9 SISTEMA DE COMBATE (continuación)

Le llamaremos CombatRequestGameEvent.

TEMA 9 SISTEMA DE COMBATE (continuación)

Así que nos volvemos de nuevo a LevelInitializer.

TEMA 9 SISTEMA DE COMBATE (continuación)

Y desde el canal de eventos(Broadcasting events) le decimos que coja el CombatRequestGameEvent que acabamos de crear. Juego

Solo nos queda un detalle el Combat Manager ahora mismo no está escuchando eventos así que lo abrimos desde la ventana de jerarquía y en el inspector añadiremos un componente SO architecture>EventListener>CombatRequest

TEMA 9 SISTEMA DE COMBATE (continuación)

Le decimos el canal de eventos que tiene que usar en la opción de Event>CombatRequestGameEvent

TEMA 9 SISTEMA DE COMBATE (continuación)

Y en la opción Response (CombatRequest) es decir en la acción. Añadimos una dependencia pulsando en el +

TEMA 9 SISTEMA DE COMBATE (continuación)

Seleccionamos y arrastramos el componente de Combat Manager a la cajita de información del Response

TEMA 9 SISTEMA DE COMBATE (continuación)

Y luego dentro de las funciones seleccionamos CombatManager>SetupCombat

TEMA 9 SISTEMA DE COMBATE (continuación)

Ya con esto guardamos lo que ya es Gameplay con el comando Ctrl+S o Cmd+S. Salimos de aquí pulsando en los tres puntos que se encuentra a su derecha y la quitamos eligiendo la opción Remove SceneJuego

TEMA 9 SISTEMA DE COMBATE (continuación)

Importante dentro de la configuración del LevelInitializer en la opción de On Dependecies Loaded añadiremos una acción pulsando en + donde le vamos a decir que cuando inicie la escena se mande el Combat Trigger y que en sus funciones coja Combat Trigger> TriggerCombat

TEMA 9 SISTEMA DE COMBATE (continuación)

Guardamos nuestros cambios y ahora vamos a configurar el botón que hace posible que nuestro player ataque y para eso nos venimos Assets>Scenes>Gameplay

TEMA 9 SISTEMA DE COMBATE (continuación)

Lo abrimos y desde la ventana de jerarquía buscamos el componente Ability Button

TEMA 9 SISTEMA DE COMBATE (continuación)

Lo seleccionamos y nos vamos al inspector para configurarlo. Dentro de sus opciones nos vamos al OnClick y le damos al +

Juego

TEMA 9 SISTEMA DE COMBATE (continuación)

Arrastramos el CombatManager a la cajita donde pone None(Object)

TEMA 9 SISTEMA DE COMBATE (continuación)

Y dentro de las funciones elegimos CombatManager>OnPlayerAttack

TEMA 9 SISTEMA DE COMBATE (continuación)

 

Desarrollar un sistema de combate en Unity implica la implementación de mecánicas específicas para el combate, como la detección de colisiones, la gestión de la salud del jugador/enemigo, la animación y otros elementos relacionados:

1. Crear el Personaje/Enemigo:

1.1. Modelo 3D/2D: Importa o crea los modelos para tu personaje y enemigo.

2. Implementar la Salud:

2.1. Scripts de Salud:

  • Crea un script para gestionar la salud (HealthController).
  • Controla la cantidad de salud y actualiza la interfaz de usuario (UI).

2.2. Colisiones:

  • Usa colliders para detectar colisiones entre el jugador y los enemigos.

3. Controlar el Combate:

3.1. Scripts de Combate:

  • Crea un script para gestionar las acciones de combate (CombatController).
  • Implementa métodos para atacar y recibir daño.

3.2. Animaciones:

  • Asocia animaciones al combate.
  • Utiliza el sistema de animación de Unity para cambiar entre estados de animación (atacar, recibir daño, etc.).

4. Input del Jugador:

4.1. Entrada de Teclado/Ratón:

  • Implementa scripts para manejar la entrada del jugador (teclas, clics, etc.).
  • Asigna acciones a los controles, como atacar, bloquear, etc.

5. Enemigos:

5.1. IA del Enemigo:

  • Implementa una lógica simple para el comportamiento del enemigo (seguir al jugador, atacar, etc.).
  • Utiliza la inteligencia artificial o patrones de diseño para gestionar la toma de decisiones del enemigo.

6. Interfaz de Usuario (UI):

6.1. Barra de Salud:

  • Crea una barra de salud que refleje el estado actual del jugador/enemigo.

7. Sonido y Efectos Visuales:

7.1. Sonidos:

  • Asocia efectos de sonido a las acciones de combate.

7.2. Partículas y Efectos Visuales:

  • Agrega partículas y efectos visuales para realzar la experiencia de combate.

8. Optimización y Pulido:

8.1. Optimización:

  • Optimiza el código para un rendimiento eficiente.

8.2. Pulido:

  • Añade detalles adicionales, como transiciones suaves entre animaciones, retroalimentación háptica, etc.

9. Pruebas:

9.1. Pruebas de Jugabilidad:

  • Realiza pruebas exhaustivas para garantizar un combate fluido y sin errores.

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.

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