¡Hola! Bienvenidos a este video donde les mostraremos cómo crear un primer producto mínimo viable de un juego RPG del tipo combate de magia en la modalidad Survival en tercera persona.
Para esto utilizaremos el activo gratuito de la Market Place de Unreal el Dynamic Combat System – Magic. Además de eso lo acompañaremos de un entorno fotoescaneado procedural también gratuito con altas prestaciones gráficas: el Enviroment Set.
Componentes de habilidad – Dynamic Combat System Magic
AbilityComponent es el intermediario entre el personaje (jugador o IA) y la habilidad (hechizo).
Observa el estado del propietario y la habilidad, si la habilidad se está lanzando, si se presiona la entrada, el montaje de animación de habilidad utilizado recientemente, la transformación de efecto de habilidad, etc.
Entonces, cuando el propietario presiona o libera la entrada de Ability, no llama directamente a eventos desde el plano de Ability, sino que llama a funciones de AbilityComponent, que a su vez informa sobre la habilidad en sí.
Variables útiles
CurrentAbility – Habilidad almacenada actualmente
IsPressed: si la entrada de habilidad se presiona o se suelta
IsCasting: si Ability está actualmente lanzando
RecentPlayedMontage: último montaje de animación utilizado por Ability
UpdateEquipmentAbility: si la habilidad debe actualizarse automáticamente según el elemento equipado en el componente de equipo
Funciones útiles
AbilityPressed: establece la variable IsPressed en true e informa a Ability al respecto
AbilityReleased: establece la variable IsPressed en false e informa a Ability al respecto
AbilityEffect: informa a Ability de que debería generar un efecto
StartAbility: comprueba si Ability se puede lanzar, luego establece la variable IsCasting en true
EndAbility: establece la variable IsCasting en false y finaliza la habilidad
UpdateAbility: actualiza la capacidad almacenada actualmente
PlayAbilityMontage: reproduce el montaje en la malla del personaje propietario y lo almacena en variables
StopAbilityMontage – deja de jugar el montaje de habilidades
La función EndAbility toma el parámetro de tipo E_AbilityEndResult para determinar el motivo del final de la habilidad.
Terminado: la habilidad ha finalizado con éxito el lanzamiento
Interrumpido: la capacidad se interrumpió, p. cuando el dueño se aturde
Cancelado: la habilidad fue cancelada por el propietario
OutOfMana: no había suficiente maná para mantener la habilidad de lanzar
Destruido – la habilidad ha sido destruida
AbilityComponent también es responsable del indicador de hechizo (indicador verde en el suelo que muestra la ubicación de la habilidad).
ShowSpellIndicator: muestra el indicador de hechizo, toma el material y el radio como parámetros
HideSpellIndicator: oculta el indicador de hechizo
UpdateSpellIndicatorLocation: actualiza la ubicación actual del indicador de hechizo