Transcripciones
1. Video general: Me encantan los juegos de 0.5 d. Hay algo en tener el estilo de dos D art mientras se puede interactuar
en una voluntad de tres D. Entonces esta es una descripción rápida costo
de
desarrollo de juegos de 2.5 d. Cubrimos mucho de
lo que vas a
aprender para que puedas
pasar de, ya sabes, ver las cosas desde
la pequeña escala a
la escala más grande del
desarrollo de juegos en su conjunto. Entonces, lo primero
que vas a aprender fundamentalmente va a ser mi sencillo proceso de cuatro pasos para diseñar y crear
cosas para tu juego. Básicamente, está diseñado, crea el arte, y
luego agregar el audio. Ese va a ser el
núcleo de todo lo demás que suma y cómo crear e implementar un personaje de dos D con movimiento y
luego algo de combate. Entonces con este personaje, es capaz de realizar
un combo de tres hits, incluyendo combos aéreos, también Y cuando construyas
el personaje, vas a aprender a
configurar los controles para PC para que
puedas controlar el personaje usando el
mouse y el teclado. Y además de eso,
también vas a aprender a crear estos controles de personajes usando un controlador también. Entonces tendrás
esas dos opciones. Y todas estas
características se van a construir sobre el motor
irreal y
utilizando el sistema de planos para
que todo lo que necesitas sea una
comprensión básica de la lógica, y puedas
crear el personaje Ahora,
lo genial de los planos, cierto, es que
vas a poder
hacer cambios
rápidamente en tu código Y en caso de cualquier cosa, se
puede ver fácilmente el
código vivo en tiempo real. Entonces ahora, cada vez que realizo
una animación de ataque, puedo ver a qué línea de
comida se llama. Este es un ejemplo sencillo
de un ataque de tres golpes. Entonces puedo decir cuando el
ataque rápido se llama solo, o cuando el jugador ha
presionado los tres ataques, y está luchando, más bien está
disparando todo el combo, y aprenderás esto también
en el tutorial. Ahora, antes de
hablar de algunas de las otras características
del tutorial, una cosa que me encanta de
aprender es la claridad. No estaba contento con muchos
de los otros tutoriales que yo mismo
compré cuando estaba
aprendiendo el desarrollo de juegos. Pero no te preocupes esta vez, va a
haber
mucha claridad para esta. Entonces, una cosa que vas a ver mucho es mucho acercar Entonces lo que eso significa es
la mayor parte del tiempo, voy a acercar exactamente
dónde está mi mouse, y voy a
mostrarte detalles sobre qué es lo que
estoy haciendo para que
puedas obtener una comprensión bastante genial
y clara de todo lo que estoy cambiando Cada variable, cada
vez que gire un dial, habrá algo de
zoom para darte la claridad exacta que
necesitas para saber exactamente
lo que estoy haciendo. También me gusta que
mis explicaciones sean muy
claras y contenidas. Pero ahora avanzando, también va a aprender sobre
los enemigos y la IA enemiga. Oh, mira, hay
un enemigo a distancia. Una de las cosas que
vas a aprender es cómo conseguir enemigos y crearlos que hagan daño
al jugador,
incluyendo enemigo a distancia
que ataca desde lejos y un enemigo mucho más cercano a
distancia que hace daño al jugador caminando
hacia él y atacando Pero no se trata sólo de
ser atacado por enemigos. También vas a
aprender a dar
inicio a las cabezas de los enemigos para que cuando
reciben daño, puedan morir. Entonces nuestro jugador tiene la capacidad de
contraatacar, lo cual es genial. Entonces los enemigos son carbón
y todo, ¿verdad? Pero otra cosa
que vas
a tener que hacer es el diseño de niveles. Entonces te voy a
enseñar paso a paso cómo
vas a estar haciendo un diseño de niveles
adecuado y
haciendo diseño de niveles
adecuado y niveles que tengan
sentido para que los jugadores usen, así
como los conceptos básicos de cómo incorporar activos en un motor irreal y cómo utilizarlos y hacer diferentes cambios en la
iluminación y el entorno Bien. Y cuando
termines de aprender todo eso, vas a terminar en un proyecto final donde
vas a crear un personaje jefe que vas a
usar para tus propios juegos. Y una vez
que crees ese personaje, habrías aprendido completamente
todo lo que necesitas
saber sobre el desarrollo de
juegos de 2.5 d. Así que eso cubre prácticamente todo lo que vas a
estar aprendiendo en el tutorial. Te deseo buena suerte y
asegúrate de tomarte tu tiempo,
aprender todo paso a paso, y oye, el juego de tus sueños
no va a hacerse solo. Te deseo buena suerte
y me encontrarás en el siguiente video.
Vamos a seguir adelante.
2. 001 Obtén Unreal Engine y comienza el proyecto: Bien, así que para empezar, tenemos que asegurarnos de sacar las cosas básicas del camino Vas a necesitar Motor
NRL 5.4. Simplemente consigue el lanzador de Epic
Games. Asegúrate de
descargar UnrelEngine. Se puede ir a la biblioteca. Y desde dentro de la biblioteca, ya
sabes, básicamente, tienes la opción de elegir
diferentes versiones de motor, ya
sabes, llegar tarde. ¿Bien? No
necesitas nada más. Sólo consigue los lats. El último a
partir de la grabación es 5.4. He organizado los planos para asegurarme de que
funcionarán con cualquier versión de Unreal hasta
2025 como mínimo,
muy raramente
cambian el código de blueprint, ya que es solo C plus
plus recogido Una vez que lo hayas hecho,
inicia el motor, y una vez que lo inicies, vas a venir y dar
clic aquí en Juegos. Entonces te va a pedir, ya
sabes, configurar
tu proyecto de juego. Ahora, configurarlo como
un proyecto en blanco. No queremos comenzar
con ningún archivo de plantilla. Empecemos de una pizarra en blanco. Y luego en el lado derecho, Asegúrese de que la plataforma de
destino sea de escritorio y luego
configúrela para blueprint Si haces clic en
CiplusPlus tendremos que hacer mucho C
plus escritura, pero es mucho más rápido
comenzar desde aquí con el código
Blueprint Es mucho más fácil
comenzar con él. En cuanto a los presets de calidad, estos no son muy relevantes Puedes dejarlos como están. Puedes dejar de lado el contenido de
inicio, y puedes
dejar atrás por ahora Realmente no necesitaremos
rastreo para este proyecto, y es muy intensivo
gráficamente. Con toda esa configuración, simplemente baja aquí y
selecciona el nombre de tu proyecto. Solo voy a llamarlo videos
actualizados para la plataforma
2.5 d porque aquí todos
estos videos se están actualizando de los
originales en el curso, y luego puedes decidir
sobre el nombre del proyecto. Voy a llamarlo 2.5 d Oh, no
puedo poner barras espaciadoras. No, voy a
llamarlo el viaje de un héroe. Sí, así va a ser
lo que yo llamo el proyecto. Con esa configuración, ahora podemos
meternos en un motor irreal.
3. 002 Configuración del nivel de desarrollador: Y una vez que Unreal
Engine haya arrancado, esto es con lo que
van a ser recibidos Entonces, lo primero es, cerremos esa ventana del
navegador de contenido y echemos
un vistazo a cómo Unreal
Engine expone las cosas. Entonces notarás en la esquina superior derecha
que es nuestro proyecto. Entonces tenemos una gran pantalla
en el medio que es nuestra ventana de editor. Esta es nuestra ventana gráfica, nuestra mirada al mundo que
vamos a crear Si hacemos clic dentro de él. Entonces ahora mismo, he
hecho clic dentro de él. Puedes mirar a
tu alrededor usando el mouse después de mantener presionado
el botón derecho del mouse. Para que puedas ver mi ratón ahí. Estoy sosteniendo el botón
derecho del ratón, y puedo mirar a mi alrededor. Y luego usando WAS D, voy a poder moverme desde dentro del mundo. Entonces ahora que tenemos
nuestro botón del ratón, podemos usar W A para
movernos hacia la izquierda, para movernos hacia atrás, y
D para movernos hacia la derecha. Entonces con esos dos,
básicamente podemos volar alrededor del mundo. Bien. Pero este es un mundo grande, y no necesitamos
un gran mundo abierto. Y dependiendo de tu PC, tu PC podría incluso
estar estresado. Así que vamos a eliminar este mundo
abierto que tengamos algo un poco más claro para usar cuando
nos metamos
en este proyecto. Ahora, para hacer eso, todo lo que tenemos hacer es que vamos a
necesitar crear un nuevo nivel. Ahora, para crear el nuevo nivel,
lo que vas a hacer, es que vas a
venir aquí a la esquina superior izquierda a
la esquina superior izquierda, vamos a hacer clic en Archivo
y después de hacer clic en archivo, solo
vamos a
crear un nuevo nivel. Ahora eso nos va a abrir
un par de opciones. Podemos crear un nivel salvaje
abierto. Podemos crear un nivel básico. Haga clic en Básico. Solo necesitamos
establecer un nivel básico. Ah, perfecto. Ahora que tenemos
este nivel básico, voy a retroceder. Observe que todo lo que es es este único
objeto rectangular aquí. Se trata de un skybox.
Podemos mirar a su alrededor. Hay un sol agradable, y hay nubes listas para que
podamos usar y comenzar
nuestro juego desde. Este es el buen punto de
partida que necesitamos. Pero ahora que hemos
creado nuestro nivel, vamos a necesitar
guardarlo dentro de nuestro contenido. Entonces, ¿a qué me refiero con contenido? Si vienes y presionas Control y barra espaciadora
al mismo tiempo, va a abrir
un navegador de contenido. ¿Bien? Ahora, dentro de ese navegador de contenido
en la parte inferior izquierda, fíjate que nos está mostrando
contenido. Así que haz clic en eso. Esos son todos los archivos que usarás
dentro de tu juego. Y luego queremos
crear una nueva carpeta. Y llamemos a esa
carpeta niveles. ¿Bien? Entonces ahora tenemos
nuestra carpeta de niveles aquí. Ahora, solo queremos
guardar nuestro nivel actual, bien, este nivel plano
en esa carpeta. Observe que cada vez que haga clic de distancia, debe presionar
Control y la barra espaciadora una vez más para abrirla. Ahora, para guardar ese nivel, volveremos a subir a donde
podemos seleccionar Archivo, y notaremos que existe la opción de
guardar el nivel actual como. Así que vamos a guardar el nivel actual como. Bien, abre la ventana. Entraremos en niveles, y simplemente llamemos a esto me gusta usar números
cuando estoy nombrando niveles Ahora, el nivel que estamos creando va a ser el nivel
desarrollador. Entonces lo llamaré cero, cero, cero, un espacio. Oh, sí, un guión y nivel
desarrollador porque este es el nivel que vamos a utilizar para básicamente crear todas
las cosas que
van a entrar en el juego. Ahora, tenemos nuestro nivel de
desarrollador listo, pero hay una última
cosa que tenemos que hacer. Necesitamos configurarlo para que
cuando arranquemos Unreal Engine, nos metamos en este nivel exacto, y también necesitamos configurar papel Z D que vamos a
usar porque
nos ayudará a usar porque
nos ayudará lidiar con dos
d sprites Hagámoslo en
la siguiente lección.
4. 003 Instalación de Paper Zd y carga a nivel de desarrollador en el inicio: Ahora justo después de haber
configurado nuestro nivel inicial, ahora
vamos a
agregar un plug in, así que cierra el motor real y
vuelve al lanzador de Epic Games. Vaya al mercado y una vez que esté en
el mercado, simplemente buscaremos. Los términos de búsqueda que
utilizo son Z y D. ¿Cierto? Y deberías obtener
inmediatamente el papel Z, en realidad, que
debería ser papel Z D, papel, Z y D. Entonces esos son
los términos de búsqueda que estoy usando. Se puede ver que ha surgido el papel
Z D, y esto va a aparecer. Y está diciendo, Oye, papel Z D, y todo lo que tienes que hacer es hacer
clic en Instalar en Motor, y te va a
preguntar qué motor quieres instalar también. Por supuesto, instálalo a tu último motor
que seleccionaste. Es una descarga razonablemente
pequeña, solo 71 megabytes
y luego está hecha Y ahora después de algún tiempo, se debería hacer la descarga. Está completamente instalado en el Motor. Puede que no se muestre así aquí, pero podemos ir a la biblioteca, y podemos verificar, veamos, los plugins instalados. Te está mostrando
Quicksabidge y papel Z D. Eso es perfecto. Simplemente ciérrelo, y luego podremos
lanzar Unreal Engine Ahora, una vez que estés de vuelta
en UnRel Engine, realidad te está
notificando que, Oye, hay un nuevo
enchufe disponible Así que sólo voy a ir a
administrar plugins. Voy a escribir Z D aquí. Entonces UnRel buscará,
y ahí estamos. Tenemos el plugin paper Z D. Y va a decir, Oye, solo reinicia para que el editor haga
los cambios y solo
reinicie UnrelEngine nuevamente Perfecto. Ahora, el motor se ha reiniciado y este
plugin ya está funcionando Pero fíjate que una vez que saltamos de
nuevo a Unreal Engine, ahora nos está mostrando
este nivel abierto, que no es lo que queremos Queremos que nuestro nivel de
desarrollador real sea lo primero que veamos cuando
arrancamos en Unreal Engine Para resolverlo, vaya a archivo, vaya a Editar y luego vaya
a la configuración del proyecto. Entonces lo que quieras buscar, vamos rápidamente se congela. Le voy a dar 1 segundo. Bien, se ha descongelado. Entonces lo que quieres
buscar es que voy
a escribir el inicio del término de inicio. Bien. Entonces ese es el
término que usé para buscar. Pero esencialmente, te va a mostrar las opciones de, oye, mapa de inicio del
editor, y
ahora mismo está configurado para OpenWorld Así que simplemente puedes hacer clic en eso, y ahí tenemos
nuestro nivel de desarrollador, así que lo configuraré a nivel de
desarrollador. Bien. Y ahora que
he terminado con eso, en realidad
voy a cerrar esto y voy a reiniciar
Unreal Engine una vez más Todo bien. Entonces ahora he
vuelto a cargar en Unreal Engine, y aquí estamos ahora estamos
en el nivel de desarrollador Por lo que ahora está correctamente configurado. Tienes los plugins. Tienes tu simpático estoy presionando. Voy a presionar
Control y barra espaciadora, y notar que tienes
nuestro contenido agradable con un nivel vacío, no del todo vacío, pero es
un buen nivel de punto de partida, y ahora estamos listos para
comenzar a agregar algunos elementos de
juego. Empezaremos agregando
un elemento de juego, que va a ser
el personaje del jugador. Entonces pasaremos por un poco de planificación y filosofía de
desarrollo de juegos. Aunque ese va a
ser un video muy corto, no
va a ser demasiado largo
y luego
volveremos a este
nivel de desarrollador y comenzaremos a elaborar los componentes de
nuestro juego de plataformas de 2.5 d Hagámoslo en el
siguiente video. Vamos.
5. 004 Cómo añadir un personaje jugador al mundo: Todo bien. Ahora que estamos
dentro de Unreal Engine, tenemos nuestra configuración de
nivel base Vamos a añadir en
el primer objeto. Y solo para
asegurarnos de
que es algo realmente importante, comenzaremos por agregar
un personaje de jugador. Entonces, para agregar un personaje de jugador, vamos a mantenerlo
realmente simple, ¿de acuerdo? Todo lo que tienes que hacer es que
vas a necesitar presionar Control y barra espaciadora para que
aparezca ese menú, ¿de acuerdo? Ahora, una vez que se abra ese
menú, queremos bajo contenido. Queremos venir aquí y
vamos a crear una nueva carpeta. Solo para mantener las cosas organizadas, hemos creado una nueva carpeta. Ahora, para mantener las cosas organizadas, voy a presionar F dos después seleccionar y voy a llamar
a estos personajes. Bien. Entonces tenemos una
carpeta para niveles, otra carpeta para personajes. Voy a hacer doble clic en la carpeta de caracteres y
voy a crear otra carpeta. Ahora, esta carpeta, la
vamos a llamar jugador. Eso es esencialmente porque es el viaje del héroe y
vamos a tener
un personaje jugador que usaremos en el mundo. Voy a hacer doble clic
dentro del jugador, y luego voy
a hacer
clic derecho y quiero
buscar la clase de plano Nos va a dar algunas opciones. Ahora, entre las opciones, notarás que
hay personaje, hay pan, hay actor. Simplemente ve y selecciona
un personaje. Bien. Ahora con eso,
nos
ha creado un pequeño archivo
aquí, un plano Lo seleccionaré F dos de nuevo, y después voy a llamar
a este héroe. ¿Verdad? Ahora, sabemos que héroe va a ser
nuestro personaje jugador. A continuación, vamos a poner a
este héroe en el mundo. Sólo voy a hacer click y
arrastrarlo al mundo. Y, boom, ahí está. Este simple objeto que
en realidad es totalmente invisible
es nuestro héroe actual. Ahora, ya que estamos
usando un plano, cualquier cambio en un plano lo
cambia Ahora déjame volver a hacer
clic en el Héroe. Ahora mismo, todo lo que es es una
cápsula básica que es invisible. Vamos a agregarle un objeto. Estoy haciendo doble clic en héroe. Observe que está cargando una ventana
totalmente diferente. Personalmente prefiero que no esté en
otra ventana. Yo hago clic en eso, lo arrastro, y
lo arrastro aquí. Ahora puedo pasar
del nivel desarrollador por aquí de vuelta al plano del
héroe, ¿de acuerdo? Ahora dentro del plano del Héroe, hay algunas cosas
que podemos ver A la derecha hay algunos detalles. Aquí tenemos los detalles, y también tiene un par de elementos
diferentes que
vamos a estar usando. Eso básicamente altera
las cosas del personaje. Y luego del
lado izquierdo, tenemos componentes. Los componentes tienen que las diferentes partes
del personaje. Ahora el componente de
carácter de línea base viene con una cápsula. Una cápsula es este
objeto de aquí, ¿de acuerdo? Es un colisionador. Nos meteremos más en eso más adelante. Y luego tiene un componente de
flecha que básicamente muestra
la dirección. Bien. Y después del componente
flecha, hay una malla básica de caracteres, y luego hay un componente de
movimiento de personaje. El componente de movimiento del personaje es algo que usaremos para marcar el movimiento
del personaje de izquierda
a derecha y saltar. Pero ahora mismo
vamos a agregar otro componente
porque actualmente el jugador es completamente invisible y
no queremos que sean
completamente invisibles. Si hago clic en cualquier
otro lugar y vengo aquí, note que el jugador
es solo una malla, y si le pego play en el
juego, no hay nada ahí. Me estoy moviendo alrededor del
mundo con WAS D y estoy manteniendo pulsado el
botón derecho del ratón y ahí
no hay nada. Déjame presionar un escapo para que
salga por esa ventana. Esto es completamente invisible. Empecemos agregando un componente simple para que podamos
ver dónde está el jugador. Voy a añadir un simple cubo. Ahora que he
añadido un simple cubo, no
voy a tocar nada
aparte de solo el cubo. Voy a seleccionar el cubo. Bien. Y luego en el lado
derecho debajo de los detalles, observe que hay escala, que es el eje X, eje
Y, y el eje Z. Eje Y, más bien, el eje X es
ancho el eje Y es profundidad, y luego el eje Z, como
habrás adivinado, es la altura Voy a reducir
su tamaño en el eje X hasta que esté casi
dentro del colisionador Voy a reducir su
tamaño en el eje y. Ahora, estoy usando
Worst D cada vez que
escribo da click en Worst D
ahí para que pueda ver eso. Eso es generalmente sobre. No creo que tenga que
hacer nada más aquí. Ahora voy a pegarle a compilar. Y luego de vuelta al nivel de
desarrollador. Al menos ahora cuando miro a mi alrededor, puedo ver al personaje del jugador. Entonces este es nuestro personaje jugador en estos
momentos. Lo podemos ver. Lo siguiente que
vamos a hacer es asegurarnos de que una vez que golpeemos play, lugar de estar en la cámara de desarrollo
flotante, estemos apegados al personaje
del jugador Y hacer eso es muy básico. Todo lo que tienes que hacer es hacer clic
en el personaje del jugador aquí. Y luego ve a tu panel de
detalles. Y luego dentro
del panel de detalles, queremos buscar bajo búsqueda. En realidad, déjame
mostrarte exactamente por qué es sin buscar. Quieres desplazarte hacia abajo, y lo que quieres buscar es la opción de poseer
o poseer Auto. Ahora, mirando hacia abajo,
veamos por qué es auto poseer. Vas a desplazarte. Ahora,
vamos a buscarlo. Autoposeer. Aquí notarás que estos son los
términos de búsqueda autopossess, y nos está dando un par
de opciones diferentes Dice autoposeer
AI colocado en Wil. Digamos que discapacitados. Nunca debería ser
poseído por la IA. Es un peón. En cambio, simplemente
diremos jugador de
autoposesión. Jugador cero, ya es suficiente. ¿Bien? Ahora, si entramos
ahora y presionamos play. Observe, estoy haciendo clic,
me estoy moviendo. Déjame intentar
mostrar de nuevo lo que estoy presionando
en el teclado. Estoy presionando peor
día y no
pasa nada porque hemos tomado el control del personaje
jugador, pero aún no hemos implementado los controles para el personaje
jugador. Pero este es un comienzo
bastante sencillo. Al menos ahora tenemos un objeto personaje
jugador. En el siguiente video, vamos a agregarle una cámara y luego le
agregaremos algo de arte.
6. 005 Importación de arte a Unreal Engine para el personaje jugador: Todo bien. Ahora tenemos nuestro personaje básico de jugador
que está justo frente a nosotros. Se está poseyendo en
inmediato comienza el juego. Entonces, cuando hacemos clic en Reproducir, estamos conectados a eso. Estamos listos para
tomar el control de ello. Ahora, sólo vamos a agregar en una cámara al personaje del
jugador. Tenemos una bonita
vista de dos D como del personaje. Entonces volveremos
al plano y
agregaremos otro componente Ahora bien, este componente simplemente
obtendrá un brazo de resorte, ¿verdad? Déjame ver el brazo de resorte de resorte. Ahora, el componente del brazo de resorte, puedes notar que está
justo ahí, ¿verdad? Ahora, al hacer clic en el componente del brazo de
resorte, es básicamente como un brazo de hígado, algo así como un brazo de cámara
cinematográfica Ahora agregaremos
otro componente y simplemente
buscaremos cámara. Ahí estamos. Entonces ahí estamos. Tenemos la cámara, tenemos el brazo de resorte. Entonces vamos a compilar eso. Y luego cuando
volvamos al juego,
fíjate una vez que selecciones
el componente jugador, ahora en la parte inferior derecha, hay una pequeña
cámara que te muestra. Lo que
está viendo la cámara, ¿verdad? La cámara que has
conectado al reproductor. Déjame moverme un poco hacia atrás. Se puede ver ahí es
donde está la cámara. Y la forma en que está configurado
actualmente, está configurado para que ese movimiento,
la cámara esté mirando al personaje desde
el lado izquierdo, lo la cámara esté mirando al que significa que
para que
el que significa que
para que jugador se
mueva hacia la izquierda y hacia la derecha, se
estará moviendo hacia la izquierda y hacia la
derecha en el eje Y. Ese es este eje verde, y la profundidad estaría siendo
manejada por el eje X. Bien. Ahora, a partir de aquí, simplemente
presionamos play. Vala, ahora estamos conectados directamente
al personaje jugador, y esta es la cámara que
el personaje jugador más bien, esta es la cámara que se adjunta al personaje
jugador Eso es genial. Ahora, antes avanzar hacia un proceso
de planificación más profundo, agreguemos también algo de arte al
personaje del jugador. Todo bien. Ahora, para agregar arte
al personaje del jugador, hay una carpeta que te ha sido proporcionada y
comprimirla, entra, consigue todos los sprites
y cópialos,
y luego entra en
la carpeta de hey, el viaje de un héroe, esa debería ser la carpeta
basada en cómo la nombraste Entra en contenido,
entra en personajes. Lo organizamos de esta manera. Entra en el jugador
y el arte, y luego vas a
pegar todo el arte aquí. Y una vez hecho eso,
pasa a Unreal Engine. Ahora, dentro de Unreal Engine, notarás después de que
pegamos en ese arte, un pequeño pop up está mostrando 124 cambios en los
archivos de contenido fuente que se han detectado ¿Te gustaría importarlos? Y es muy sencillo,
simplemente decir importación. Entonces Unreal Engine
va a traer todos esos archivos
que hemos importado Ahora que tenemos
esos archivos aquí, simplemente
entraremos en el arte noto tenemos todos estos
diferentes sprites que estaremos usando para
nuestro personaje jugador Estos son algunos sprites
muy agradables, algunos sprites básicos
que vamos a usar Ahora, para poder
avanzar aquí, lo primero es que
quieres controlar A,
has seleccionado
todos los sprites, y luego vas a hacer clic derecho y después de hacer
clic derecho , vas a ir
a Acciones de Sprite, y básicamente quieres
aplicar los ajustes de
textura de papel dos D. Bonito. Entonces ahora,
notarás que tus sprites tienen la configuración correcta para los fondos
y la transparencia Esto significa que los
sprites ahora son utilizables. Ahora que has importado
los sprites y aplicado algunas
configuraciones de sprites, a continuación, vamos a
aplicar un sprite básico a nuestro
7. 006 Cómo configurar una animación de inactividad sencilla y gestionar sprites y folioscopios: Todo bien. Ahora que tenemos nuestros sprites dentro
del motor irreal, ahora
es el momento de
ponerlos realmente en uso. Entonces para hacer eso, volvamos al plano
del héroe Y ahora a partir de aquí,
vamos a agregar otro componente y
simplemente vamos a
buscar un componente sprite,
y tenemos un componente sprite de papel y un componente sprite de papel Ahora simplemente haremos clic en el componente sprite de
papel, y eso es todo lo que tenemos que hacer Ahora que hemos
seleccionado el sprite, tenemos un par de opciones En el lado
de los detalles del sprite, observe que tenemos
la capacidad de
seleccionar entre un montón de
sprites que hemos creado Empecemos por
crear un Sprite. Si presiono Control
y Barra espaciadora, eso es básicamente universal
para si quieres sacar. Control y Barra espaciadora, traerá a colación
nuestra selección de archivos. Y luego vengo aquí abajo. Digamos que simplemente
vine aquí al Air tak, y salí y fui a Sprite Actions y hice
clic en Crear Ahora ese único PNG se
convertirá en sprite. Si hago clic lejos, y
vuelvo a los sprites de origen aquí. Puedo desplazarme hacia abajo y mostrará el ataque aéreo de
aventura. Ahora, inicialmente,
habíamos montado un cubo, pero ahora está
tapando nuestros sprites Así que simplemente voy
a presionar eliminar porque ya no
necesitamos ese cubo. Entonces volveré a hacer clic en el sprite de
papel. Ah, hay un problema
con el posicionamiento. este momento, seleccione Estaba seleccionando el resorte cuando
seleccioné el sprite Entonces déjame arrastrar eso
y ponerlo de nuevo en
el colisionador de cápsulas En realidad, déjame borrar
eso muy rápido. No estoy arreglando esto en post. Dejaré ese
error ahí dentro. Voy a volver, simplemente
añadir un sprite de papel. Bien, entonces voy a
agregar un sprite de papel. Ahí está. Ahora está
en la posición correcta. Y entonces porque su posición
debería estar en el centro, y luego cambio
el sprite fuente
al ataque aéreo, y ahí está Nuestro ataque aéreo ya está aquí. Y si entro al nivel de
desarrollador, note que nuestro ataque aéreo está aquí, pero necesitamos cambiar la dirección de la cámara porque
si pulsamos play ahora mismo, no vemos nada porque el sprite está siendo
mirado desde un ángulo Entonces volveremos aquí. Seleccionaremos el brazo de resorte. Con el brazo de resorte seleccionado, saldremos aquí y
vamos a cambiar
la rotación. Ahora queremos que se
rote 90 grados. No, eso está en el eje X. Lo queremos 90 grados en
vamos a ver el eje Y. No, ese es tu. Lo queremos 90 grados. Perfecto. Queremos que sea negativo 90
grados en el eje Z. Eso es negativo 90. Se puede ver lo
que he seleccionado ahí. Entonces esta vez ahora, cuando volvamos
aquí y pulsamos play,
fíjate que estás viendo el sprite
ahí mismo. Eso es bueno. Ahora, hay un par de
cosas que vamos a hacer. Número uno,
vamos a ajustar el escalado para que el
sprite quede en la parte inferior, y sea el tamaño apropiado Entonces estoy seleccionando
el sprite de papel. Estoy ajustando su posición para sea inferior a donde
empezó inicialmente. Y entonces voy a
aumentar su escala. Voy a dar click en este registro para que tenga
una escala uniforme bloqueada, y luego voy a
aumentar su escala. Entonces
lo levantaré un poco. Perfecto, y haz clic en eso. Y ahora cuando hacemos clic en Reproducir, vemos ese
ataque con espada como nuestro sprite Esto no es lo que
realmente vamos a usar, sino que es bueno saber cómo funcionan juntos
los sistemas. Ahora, con todo eso, volveremos con el héroe y
vamos a volver a sacar a
colación todos nuestros sprites Ahora, vamos a
escribir lo que queremos buscar es el sprite inactivo Entonces haremos click de
Idle cero a Idle tres. Bien, de IDO
cero a IDO tres, y luego volveremos a
hacer clic y
esta vez acciones de Sprite, vamos a crear Sprite Entonces ahora tenemos estos sprites. Estos son los sprites reales. Observe que los nombres
tendrán sprite junto a ellos. Estas no son imágenes,
son sprites. Entonces simplemente voy a hacer clic
del cero al tres, y luego voy a hacer clic
derecho de nuevo. Pero esta vez, en lugar
de crear un sprite, vamos a
crear un flipbook Un flipbook es un conjunto de sprites
que están agrupados. Ahora fíjate, si miras el flipbook Déjame
hacer click un poco Déjenme volver a abrir eso. Deberías poder
verlo claramente de tu lado. Cuando estoy rondando sobre
él, está mostrando la animación de
sprites Eso es fantástico. Ahora
en lugar de tener un sprite, queremos un flipbook de
animación inactivo Ahora para implementar eso
en un motor real, simplemente
volveremos
al sprite de origen Bien. Y te darás
cuenta ahora mismo, no nos está mostrando sprites. Más bien, no
nos está mostrando el flipbook. Sólo
nos está mostrando los sprites, y eso es lo que
vamos a cambiar Así que ahora volveremos. Eliminaremos los sprites de papel porque hemos entendido cómo
poner sprites en el juego Bien, simplemente borraremos eso. Y esta vez, lo que queremos es un flipbook de papel y
luego agregarlo Entonces este es nuestro flipbook. Y ahora voy a seleccionar el flipbook y luego va a
buscar flipbook fuente Lo abriré y haré clic en aventurero Idol Flip Book Ahora veamos cómo se
ve en juego. Ahora cuando presionas Play, puedes ver que tenemos a
nuestro pequeño aventurero ahí moviéndose hacia arriba y hacia abajo
basado en el flipbook Vamos a pasar por
el mismo proceso básico. Vamos a entrar, queremos mover
el flipbook escribir. A ver, alrededor de 70 unidades
negativas parece ser la cantidad correcta. Y luego vamos a
encerrar la báscula y
escalarla hasta aproximadamente creo que cuatro
veces parece estar bien, y luego escalarla de nuevo. Quieres que sea solo tocando el fondo de nuestro porque esto es lo
realmente importante. Esta colisión aquí mismo, esa cápsula
es lo más importante. Déjame aumentar eso
a cinco Perfecto. Entonces a las cinco y a unas
20 unidades en el Xaxis, parece estar
funcionando perfectamente Entonces ahora cuando presionamos Play
Notice, nuestro personaje está ahí. Pero la animación id es
razonablemente rápida, ¿verdad? Entonces simplemente buscaré id
aventurero, el flipbook. Y entonces lo que voy a hacer es después una vez que hagas doble clic en
el flipbook desde aquí, ahora el id aventurero está aquí y en el lado
derecho y los detalles,
podemos bajar la podemos bajar Simplemente voy a hacer clic
en eso y bajaré la velocidad de fotogramas para
dejarme bajarla a nueve. Bien, esa es una animación de idea mucho
mejor. Creo que eso es mucho
más realista. Entonces con eso, presionaré
Control S para guardar. Ahora, creo que esta es una
buena animación de flipbook. Ahora tenemos nuestro mundo y
tenemos nuestro carácter básico. A continuación, vamos a entrar en
cómo en realidad ahora empezar a agregar algún código porque ahora tenemos un
carácter simple. Está listo. Hemos aprendido
a usar sprites, cómo poner sprites
en el juego, adjuntarlos a un personaje de
jugador Pero si muestro lo que hay
en mi teclado, ahora mismo, todavía
no somos capaces de
movernos e interactuar. Entonces vamos a aprender
a hacer todo eso después de una pequeña sesión sobre cómo
planificar y ejecutar el diseño de juegos. Vamos a meternos en eso a continuación.
8. 007 Cómo planificar tu juego: Todo bien. Entonces ahora
necesitamos pasar por un concepto básico que te va a ser muy útil para
que sigas adelante. Esto funciona en todas las áreas de la vida, pero en el desarrollo de juegos, es de utilidad única, ¿de acuerdo? Entonces, permítanme comenzar con solo decir que la planeación está dominada Bien. Planear está bien.
Es así de simple. Y con la planificación, lo único que quiero
decir es que vas a aprender a escribir
cosas y seguirlas. Eso significa que
cuando decidas cómo funciona
el juego o los
personajes o cualquier sistema, solo escríbalo y trata
de darle vida a eso. Déjame ahora compartir contigo un poco más profundo cómo
voy a mostrarte cómo hacer eso para
asegurarte de que tengas éxito porque la mayoría de lo que
hace que los proyectos de juegos indie fallen, los
proyectos juegos fracasen, fracaso
general en
general es la falta de una planificación
adecuada y clara
y de seguimiento. ¿Bien? Ahora, déjame explicarte
eso con un poco más de detalle. Todo bien. Entonces la forma
de pensarlo para desarrollo de
juegos es un
sistema sencillo al que me gusta
llamar D a A. ¿Bien? Así es como lo llamo yo. Yo lo llamo D, a A. Ese es esencialmente el
sistema que vamos a usar para este desarrollo de
juegos, y debería terminar teniendo
bastante sentido para ti. Ahora, Diseño. El diseño va a significar, digamos que decidimos que
nuestro personaje jugador debería poder atacar con
una espada y saltar por ahí. Eso
es fundamentalmente, y más adelante le
daremos un arco y una flecha
para un compromiso de largo alcance. Eso es diseño básico, diseño
de niveles. Simplemente dibujas cosas. Una vez que hayas terminado con
esa cosa básica, vamos a codificar. Código significa para este ejemplo, planos,
aprender a usar planos Entonces sabemos dónde
queremos que salte. Qué planos necesitamos
organizar para que él pueda
saltar, ¿de acuerdo? Entonces sabemos, Oye, necesito
organizar ese nodo de blueprint,
este nodo de blueprint, ese, y luego el salto va
a estar disponible, ¿ Una vez que hayamos terminado con
el bit de codificación, vamos al arte. El arte se trata de los sprites,
la animación de Sprite. Más adelante, si alguna vez haces
un proyecto de diseño de tres D, va a incluir el
modelado y la animación, pero se condensa en arte. Entonces por último pero definitivamente
no menos importante es el audio. El audio se trata de obtener
el sonido adecuado para el juego. Ahora con este sencillo ejemplo que quiero que tengas en mente, empecemos a trabajar
en el personaje del jugador, diseñándolo un poco para que entendamos
lo que queremos que haga, y luego pasaremos al código. Y después del código,
vamos a pasar al arte y luego al audio. Bien. Hagámoslo de inmediato. Ahora, vamos a mantenerlo
realmente, muy simple. ¿Bien? Entonces déjame copiar esto de nuevo. Entonces estamos diseñando un personaje de
jugador, ¿verdad? Entonces, ¿qué queremos
que haga, verdad? Entonces, para empezar, queremos
que se mueva de izquierda a derecha. Bien. A continuación, queremos que
tenga un ataque con una espada. Después de eso, también necesitábamos
tener una barra de salud básica, ¿verdad? Necesita ser capaz de
recibir daños. Vamos a llamarlo
barra de salud y daños. Y luego en realidad justo después del ataque con la
espada y la barra de salud, también
queríamos
tener un arco y una flecha. Para disparar a Range. Ahora, ese es el final de
la fase de planeación. Es un plan muy sencillo. Es un plan básico, y vamos a
pasar por cada 11. Oh, espera, muévete a izquierda
y derecha, y salta. Bien, perfecto. También puede saltar. Entonces, con eso en mente, pasemos de inmediato
al siguiente video
donde vamos a aprender un poco sobre el movimiento, configuración de controles y
empecemos las cosas desde ahí.
9. 008 Explicación detallada de cómo agregar entradas del controlador: Todo bien.
Empecemos rápidamente con lo primero es movernos a
la izquierda y a la derecha y luego saltar. Empecemos. Volvamos a
Unreal Engine. Bien. Ahora que estamos de vuelta en Unreal Engine con
nuestro personaje jugador, queremos tener la capacidad de movernos
a izquierda y derecha, y vamos a comenzar
con los controles Ahora, solo para mostrarte visualmente, tengo mi teclado, así vas a
poder saber cuando presione AWS y D. Nos
centraremos mayormente en A y D para comenzar. Y luego además de eso, cuando quieras tener
este trabajo en Controller, también te
mostraré cómo
hacerlo para que el movimiento
se base en el posicionamiento de tu
controlador y tus botones. Ahora, para empezar, lo que
queremos hacer es que
vamos a presionar Control y Barra
espaciadora una vez más, y fuera de los personajes, volvamos a la carpeta de contenido
general, y justo por aquí, vamos a crear una nueva
carpeta y llamarla Controles. La razón por la que lo estamos llamando controles es
porque va a tener todo lo que estamos usando para determinar los
botones que el jugador puede presionar. ¿Bien? Así que vamos a entrar en eso. Entonces, dentro de los controles, comencemos con
un control simple, que se está moviendo hacia la izquierda y hacia la derecha. Entonces vas a hacer click izquierdo. Y después de hacer click izquierdo, quieres ir a entradas. Que está aquí, y lo que
quieres es que quieres
una acción de entrada. Empezaremos con solo uno. Y vamos a
llamarlo mover a la derecha. Entonces esta acción de entrada o
este botón va a
hacer que el jugador se mueva
hacia la dirección correcta. Y entonces vamos a volver a
entrar en insumos. Pero esta vez, lo que
buscamos es un contexto de mapeo de entrada.
Haremos clic en eso. Y simplemente lo vamos
a llamar mapa jugador. Entonces tenemos Move wight, que es una acción de entrada única, y tenemos el mapa del jugador. El mapa del jugador es básicamente, como puedes
ver en los íconos, va a ser la colección de acciones de entrada
que puedas presionar. Ahora, para
asegurarnos de que move wright
esté funcionando correctamente, primero
vamos y hacemos doble
clic en Mover a la derecha, y va a
abrir esta ventana. Entonces puedes comenzar con una descripción de acción
simple, y simplemente podemos describirla como
mueve el jugador. Derecha. Puedes quedártelo así. Y entonces, ¿debería
activarse cuando se pausa? No, no debe
activarse cuando se pausa. Y luego reservar todas las asignaciones. Esencialmente puedes
hacerlo para que esto no pueda ser anulado,
o ahora lo dejaremos Y luego tipo de valor,
esto es importante. Ahora, podemos cambiar
el tipo de valor. Ahora mismo nos fijamos en
un booleano digital. Eso se puede ver ahí mismo. Los booleanos
son esencialmente unos y ceros. Entonces, si lo configuramos en un booleano, está encendido o apagado También podemos establecerlo como Eje uno D o Aces dos
D. Pero esencialmente, establecerlo a Aces uno D va a asegurarse de que
es un valor 0-1 Por simplicidad
y por demostración, comenzaremos teniendo que
solo sea una capa de abucheo digital. Ahora que esto está hecho, simplemente
cerraremos esto. Y luego otra vez la barra
espaciadora de Control, abriremos el mapa del jugador. Ahora fíjese en el lado izquierdo, hay algunas asignaciones Simplemente agregaremos uno
haciendo clic en el más, y cuando nos desplazemos hacia abajo, notaremos que
nos está mostrando el movimiento a la derecha. Da click en ese movimiento a la derecha,
y luego desde aquí, simplemente
podemos hacer clic en esa
pequeña flecha para desplazarnos hacia abajo. Ahora nos está demostrando que no hay
acciones apegadas a ello. Sin embargo, lo que
podemos hacer es simplemente hacer clic en eso y
luego deberíamos ser D. Así que he hecho clic en
D en el teclado ¿Bien? Eso es lo que
puedes hacer porque esencialmente lo que
Unreal Engine es capaz de hacer es
escuchar tu teclado Entonces, si vuelvo a hacer clic en él
y hago clic en la barra espaciadora, cambiará la
entrada a la barra espaciadora Si
vuelvo a hacer clic en él y presiono W W, ese es esencialmente el concepto. Podemos dejarlo en D por ahora. Y luego simplemente haremos
clic en la clase, lo que agregará otro enlace. Esta vez quiero hacer clic
en el teclado. Simplemente voy a
abrir mi mando, y voy a presionar
en seleccionar este valor, y estoy presionando el botón derecho del gamepad
en mi Yo he presionado eso y lo ha
guardado justo por aquí, lo cual va a ser bueno. Eso es todo lo que tenemos que
hacer desde aquí, ¿de acuerdo? Entonces ahora lo hemos configurado para que haya una acción de entrada de movimiento
a la derecha. Y en los detalles del mapa del jugador, si presionas D, se
ejecutará mover a la derecha. Si presionas el
botón derecho en tu teclado, más bien, lo siento, en
tu controlador, moverá al personaje del
jugador hacia la derecha o más bien
ejecutará la acción mover a la derecha. Con todo eso hecho, ahora
podemos entrar
al jugador Blueprint y
agregar esos controles en Así que ve al héroe Blueprint. Y ahora hemos empezado a hacer ajustes al plano
real del jugador Ahora, lo primero que
vamos a hacer es que
queremos asegurarnos de una barra espaciadora de
control. Queremos asegurarnos de
que el mapa del jugador sea el contexto de entrada que se
está utilizando en Unreal Engine Ahora vamos a hacer eso en un nodo conocido como el
nodo start play. Ese es este nodo. Comenzar
juego significa que este es el código que se dispara cuando el motor
irreal apenas arranca, o cuando este objeto se
genera en el mundo Entonces hagámoslo. Ahora, lo primero
que vamos a hacer es desde un simple clic derecho, queremos obtener controlador. Eso es lo que queremos. Aviso pata, consigue
controlador, eso es bueno. Entonces a partir del valor de retorno, lo que queremos es que queramos
lanzar controlador de dos jugadores. Esencialmente lo que eso
hace es que le estamos diciendo a
Unreal Engine que por favor acceda a todos los controles
de este reproductor, y luego el casting es
conectarlo para que cada función corra
a través de ese objeto fundido Esa es una forma generalizada
de ver las cosas. Después conectaremos
la jugada de inicio al elenco al controlador
del jugador. Una vez hecho eso, ahora tenemos
nuestro controlador cargado, estamos fundidos a
él para que podamos acceder a
funciones desde él Ahora, como el controlador del reproductor, quieres arrastrar
eso y escribir mejorado y ahí estamos, ir a la segunda opción, es
decir conseguir mejorado subsistema jugador
local. Esto va a ser lo que nos
permita seleccionar las diferentes entradas que
vamos a utilizar. Y una vez hecho eso, lo
arrastraremos por última vez, y queremos agregar contexto de
mapeo. Simplemente puede escribir agregar mapa después de hacer clic
derecho y eso
agregará el contexto de mapeo. Entonces conectaremos
ese nodo por aquí. Y luego bajamos y
ahí estamos mapa de jugadores. Recuerda ese contexto de entrada del
mapa del jugador, ese es el que seleccionamos. Ahora que tenemos eso seleccionado, echemos rápidamente un vistazo a
cómo se está ejecutando este código. El evento comienza a jugar
significa que va a comenzar el juego haciendo esto. Básicamente, se está saliendo del plano del personaje del
jugador Pero como el personaje
jugador está en el mundo cuando comience
el juego, comenzará haciendo eso. Se explica por sí mismo
en el evento comenzar a jugar. Entonces es conseguir
el controlador, bien, y luego lanzar eso
como controlador de jugador. Entonces tenemos acceso
a esas funciones. Obtenemos el
subsistema jugador local para entradas, bien. Y luego decimos: Oye, usa el mapa del jugador como contexto
de mapeo. Ahora, con todo esto
hecho y configurado, ahora
podemos usar
la entrada que configuramos. Ahora déjame arrastrar todos
estos otros nodos
aquí abajo para que podamos tener una visión
clara de esto. Lo siguiente que
vamos a hacer solo por simplicidad y para
asegurarnos de que esto funcione, vamos a hacer clic derecho y vamos a
buscar esa entrada. Ahora bien, ese insumo lo
llamamos mover a la derecha. Entonces tecleando, muévase y
observe
que hay ese evento de acción ya
configurado por aquí. Como es un booleano,
es como, Oye, cuando se activa en la acción de
entrada mejorada, muévete Simplemente arrastremos
esto y queremos
comenzar con solo imprimir. Imprime esa cadena. Y el texto,
vamos a decir, Oye, jugador se mueve a la derecha. Y eso es todo. Voila bien. Ahora, con solo eso, vamos a
poder probar y ver si esto es
leer nuestras entradas. Entonces lo que quieres hacer en
este punto es hacer clic en Compilar y luego entrar en
el nivel de desarrollador. Ahora, cuando presionas play, en el lado izquierdo,
cada vez que presionas, comencemos con el teclado. Entonces voy a presionar D en
el teclado. Eso es bueno. Entonces sabemos que esto
en realidad está funcionando correctamente. Déjame acercar para que
el texto sea claro aviso. En el momento en que presiono D en el
teclado y estoy en Aldon, necesito presionar play Presionemos play. Aquí estamos. Entonces ahora que el juego se está ejecutando, cuando presiono D en el teclado, está imprimiendo esas acciones
imprimiendo ese texto en pantalla. Es decir, oye, el juego se
mueve a la derecha. Eso es bueno. Pero ahora, vamos
a probar esto con el controlador. He agregado en el controlador. He pulsado play o justo por aquí,
he pulsado play. Vuelve aquí y
veamos si sale el texto. Entonces cuando golpeo justo
en el controlador, sí, está registrando
que el jugador se está moviendo. Cuando golpeo D en el
teclado, se está registrando. Entonces ese es el
fundamental básico de dejar que tus entradas sean leídas más bien
dentro del motor irreal Ahora que eso está hecho, agreguemos
realmente al movimiento. Pero justo antes de
agregar en el movimiento, quería mostrarles
esto también. Una de las cosas buenas
de los planos. Entonces ahora, fíjate,
voy a golpear play. Ahora estamos en este mundo. Estoy haciendo clic en el héroe, y tú eres capaz de ver lo que están haciendo
los planos Estoy arrastrando eso solo para que vaya a estar un poco más a la
derecha de la pantalla Esta es una
forma útil de depurar y ver cómo funcionan realmente
los blueprints Ahora en el fondo, he hecho clic en el juego Ahora, actualmente estoy en el juego. Déjame salir del juego. Ahora como debug Object, voy a seleccionar Hero. Ahora con ese seleccionado, voy a presionar Reproducir. Ahora estamos jugando en juego. Observe el momento en que presiono
el botón derecho de mi teclado, muestra
que se está presionando
el movimiento hacia la derecha. Déjame mostrarle mi controlador y algunos de mis peores días para
que quede mucho más claro. Vuelvo a hacer clic en jugar. Así que fíjate cuando
presiono mi controlador, eres capaz de ver visualmente los planos mostrando
lo que está funcionando Para que veas que eso ha sido despedido y está funcionando. Cuando presiono D,
se apaga y funciona. Cuando presiono cualquier otro
botón, no pasa nada. Cuando presiono cualquier otra cosa en el teclado,
no pasa nada. Para que puedas configurar fácilmente tu plano en
tal vez una segunda pantalla Al otro lado
de tu monitor, cuando quieres hacer algunas comprobaciones dobles
básicas, es bueno poder
ver tu código visualizado Ahora agreguemos el movimiento
a nuestro personaje jugador. Para agregar la
entrada de movimiento, esencialmente, vas a usar el nodo de entrada de movimiento
ARD. Aquí mismo, después de
la cadena de impresión, simplemente arrástrela hacia afuera, y luego usará movimiento
ARD y de
ahí se desplazará hacia abajo, y notará que hay que
agregar entrada de movimiento. Haga clic rápidamente agregue eso. Entonces, en cuanto a la dirección salvaje, necesitamos tomar una decisión sobre en qué dirección
nos estamos moviendo. Ahora bien, sabemos a ciencia cierta
que para nuestro
personaje jugador en este momento, si miramos estas direcciones, la Y está controlando la profundidad, la X está controlando el movimiento
izquierdo y derecho, y Z es el movimiento vertical. Ya que sabemos que
para movernos a la derecha, eso significa que queremos movernos
positivamente en la dirección X. Simplemente
decidiremos que vamos a tomar la decisión de
que para dirección salvaje, simplemente
diremos uno
en la dirección X. Ahora con solo eso,
pulsa compilar y luego volver al nivel de
desarrollador y jugar. Y ahora cada vez
que actualmente estoy golpeando D en el teclado y se mueve en la
dirección correcta, eso es bueno. Actualmente lo estoy presionando
en mi controlador de juego, y está haciendo lo mismo. Ahora, déjame
visualizarlo por ti. Deberías estar viendo
exactamente lo mismo en tu pantalla si has
estado siguiendo correctamente. En caso de cualquier cosa,
siempre retroceda y refiérase. Entonces en mi controlador, presiono a la derecha. El
personaje se mueve a la derecha. En mi teclado, presiono D. El personaje mueve D
y Whoop D fuera del mundo Bien, he presionado escape
para salir de ahí. Pero sí, está bien. Por lo que hemos hecho un insumo
básico de movimiento. En el siguiente video, limpiémoslo para moverlo a
izquierda y derecha y
agreguemos algunas claves más al
movimiento para mejorarlo.
10. 009 Movimiento izquierdo y derecho con teclado y controlador: Todo bien. Entonces ahora que tenemos al
personaje jugador capaz de
moverse hacia la derecha y
tienes un entendimiento
de cómo funcionan las entradas, vamos a agregar movimiento
izquierdaderecha
al personaje y déjame
llevarte a través de cómo
hacerlo correctamente. Ahora, inicialmente,
comenzamos agregando una entrada de movimiento a la derecha y luego simplemente
agregándola al mapa del jugador. Ahora vamos a hacer un
cambio antes de seguir adelante. Cambiemos rápidamente el nombre
de esto de movernos a la derecha a simplemente
llamémoslo movimiento. Porque queremos tener
una acción de entrada que mueva al personaje del
jugador izquierda y también a la derecha. Así que simplemente lo he
llamado movimiento. Bien. Ese va a
ser nuestro punto de partida. Una vez que hayas terminado de
cambiar ese nombre, ahora lo vamos a abrir, y eso es básicamente
simplemente hacer doble clic en él. Y fíjate ahora mismo que
simplemente está configurado como un Blayer
digital, ¿verdad? Ahora, cambiemos eso a
un vector D del eje tres. Eso es esencialmente
lo que queremos que sea eje tres D nos permite
asignarle un valor en los ejes X, Y y Z para
determinar su movimiento. Con eso hecho, lo
siguiente que
vamos a hacer es
entrar en el mapa del jugador. Ahora, actualmente, el
mapa del jugador se muestra como movimiento. D, déjame abrir y
asegurarme de que mis llaves estén visibles. Actualmente está configurado
en D pad derecha, que es eso para moverlo
en la dirección correcta, y también D en el teclado. Pero lo que
queremos es que queremos poder
usar los
sticks analógicos para empezar. Queremos poder usar izquierda
y derecha en los botones, y luego queremos poder
usar A y D también. Ahora bien, para que eso funcione con el vector actual tres
D que lo hemos configurado como, vamos a necesitar
hacer un cambio menor. Entonces empezaremos
dejando a D aquí. A continuación, en realidad vamos a agregar una serie de otros botones. Déjame arrastrar esto. Puedo arrastrar esto
fácilmente para que no me dejen tapar
ninguno de estos botones. Simplemente voy a
seleccionar eso excelente y arrastrarlo
hacia arriba. He hecho clic en eso Voy a llamarlo A porque
vamos a necesitar A y vamos necesitar D. Luego está el pad
direccional a la derecha, y luego voy a
presionar a la izquierda en realidad. Déjame presionar primero a la izquierda y
luego escribir en el pad D, y luego va
a haber otra entrada, que va a ser
el eje X del thumbstick El eje X del thumbstick
básicamente se produce porque hice clic cuando hice
clic en NRLenginet Escuchar, presioné mi eje X un poco hacia la izquierda y
hacia Si hago clic en eso y presiono hacia arriba, va
a escuchar el eje Y. Pero no necesitamos eso. Necesitamos el eje X, así que ahora lo he configurado
correctamente. Ahora, con él configurado en
su forma exacta actual, déjame
mostrarte rápidamente lo que
obtendrías del movimiento de tu
personaje. Ahora, volviendo al plano del
personaje, notarás que ha
habido un cambio Ahora, nuestro plano está
mostrando el valor de la acción aquí. Eliminemos rápidamente
esa cadena de impresión. No es necesario y
conecta el gatillo directamente a la entrada de movimiento. Bien. Ahora con eso
conectado directamente, también
conectaremos
el valor de acción. Observe el valor de la acción. Está mostrando X cero, Y cero y z cero. Podemos conectarlo directamente a la dirección salvaje
justo por ahí. Ahora, con solo este
único cambio básico, guardaremos y compilaremos rápidamente. Y luego déjame arrastrar
esto para que
podamos verlo visiblemente Abriéndolo, estoy
golpeando play para simular. Bien. Entonces ahora, fíjate que cuando estoy usando los sticks
analógicos, ¿de acuerdo? Actualmente estoy usando los sticks analógicos del
controlador. Déjame configurarlo otra vez. El stick analógico controlador
ahora es capaz de mover al personaje del
jugador en un valor negativo en X
y un valor positivo en X, y se puede ver que el
plano está reaccionando Sin embargo, si presiono a la izquierda en
el pad D, se mueve hacia adelante. Si presiono a la derecha sobre el
pad D, se mueve hacia la derecha. Si presiono D en el pad D, más bien, si presiono D en el
teclado, se mueve a la derecha. Si presiono A en el teclado, todavía
se mueve hacia la derecha. Ahora, eso es algo que
vamos a corregir ahora mismo. Así que déjame rápidamente hacer
doble clic sobre el héroe para que el juego me
arrastre de nuevo hasta aquí, Control y barra espaciadora con el
fin de abrir esto, y estoy haciendo doble clic
en el mapa del jugador otra vez Ahora estamos haciendo un cambio
bastante simple. Bajo A, A significa bajo peor D que
esencialmente debería moverte hacia la izquierda. Vamos a encontrar modificadores, y luego bajo modificadores, vas a agregar Se puede escribir. Entonces escalar y abrirlo y luego queremos
configurarlo a negativo uno Y luego ya terminamos
con la configuración de A y luego gamepad izquierda
va a hacer lo mismo Ven aquí, agrega un
modificador escalar para cambiar la escala que usa para que negativo en el eje X
se mueva hacia la izquierda Configura eso como uno negativo. Y con eso, terminamos. Rápidamente presionaremos
Control S para servir. Y ahora nuestro movimiento debería
estar funcionando correctamente. Voy a dejarme
asegurarme de que se
muestre mi teclado y mi mando
presione play left, más bien a la derecha
en el controlador, espero que puedan escuchar
ese clic. Izquierda es hacer lo correcto, y luego en el teclado, A está haciendo lo correcto. D está haciendo
lo correcto, eso es bueno. Entonces supongo que mi palo
tiene un poco de deriva, pero está bien. Eso es sólo un poco
de deriva de palo. Verás eso a la izquierda, a la derecha, y ya terminamos. Ahora que terminamos con movimiento
izquierdista y derecha
fundamentalmente, volvamos rápidamente a cómo
estamos planeando las cosas. Así que muy rápido, recuerden,
diseñe el código art. Ahora ya terminamos con
el diseño básico. Sabemos lo que queremos. algún
movimiento básico de izquierda-derecha. Es simple. Terminamos con el código básico. Ahora mismo, funciona y
funciona correctamente, el movimiento. Ahora agreguemos algo de
arte en el siguiente video para que la animación
de ejecución funcione correctamente. Hagámoslo avanzando. Y una vez que hayamos terminado con eso, agregaremos en el
audio. Vamos.
11. 010 Añadir restricción, corregir la deriva de la barra y configurar la posición del reproductor: Bien, así que hagamos algunas
correcciones menores antes de seguir adelante. Ahora que estamos empezando
a usar el movimiento, selecciona el personaje del jugador. Y después de seleccionar el personaje jugador
justo debajo de los detalles, vamos a transformarlo y
asegurarnos de que el eje Z deje eso, pero asegúrate de que está en
cero, cero en la X e Y, para que sepamos que es ubicación
salvaje cuando
el juego comienza
cero, cero, es básicamente el
centro del mundo entero. A continuación, vamos a arreglar
rápidamente la deriva del stick del
controlador. Sé actualmente cuando
juegas por primera vez, cuando te mueves, siempre
hay un
poco de deriva de palo. Ahora arreglar la
deriva del palo es sencillo simplemente ir al
mapa del jugador salir aquí, ir a los modificadores
y en los modificadores, agregar el modificador y agregar el
modificador conocido como zona muerta Después de que tengas la zona muerta, ya lo hice aquí, deja los valores como están. Con eso, no va
a haber más deriva de pila, como estamos viendo en
el video anterior. Ahora con eso hecho, va a
haber una última cosa que necesitamos endurecer antes
de seguir adelante. Vas a ir al plano
del jugador. Vas a seleccionar
el componente de la cápsula. Y lo primero
que vamos a buscar es que queremos agregar una restricción y lo que
queremos hacer es quererla al plano Z y X. Lo que queremos hacer es
querer su posición sobre la Y.
Y lo que eso significa es
que el personaje jugador ya no
puede moverse
a lo largo del eje Y. Eso va a ser
muy importante. Permítanme hacer
clic en el
propio héroe y bloquear su
posición a lo largo del eje Y. Eso quiere decir que van
a ser correctamente dos D. Ya no se puede mover hacia arriba o
hacia abajo a lo largo del eje y, solo a lo largo de la X,
vamos a
asegurarnos de que no hemos
estropeado nada Eso es perfecto y esto es bueno. Ahora en el siguiente video, agreguemos rápidamente
el movimiento de izquierda a derecha para el personaje del jugador en
cuanto a las animaciones. Vamos
12. 011 Cómo configurar Paperzd para gestionar animaciones: Bien. A continuación, vamos a agregar en una animación en ejecución. Ahora, para agregar en esa animación en
ejecución, lo primero que
vamos a hacer es volver a
la carpeta principal. Estamos volviendo
a los personajes, el jugador, y luego debajo del jugador volverá
a la carpeta de arte. Ahora, bajo el arte, vamos a hacer
una búsqueda rápida. Una de las cosas buenas de los sprites
bien organizados es que podemos escribir eso. Ahora note que tenemos
nuestra animación de ejecución, más bien nuestros sprites de ejecución, yendo 0-5, simplemente
seleccionarlos todos Y luego acciones de Sprite
y crear Sprite. Hecho. Ahora estoy escribiendo Run in de
nuevo, manteniéndolo organizado, y voy a seleccionar 0-5 y luego hacer clic derecho
y crear flipbook Entonces ahora tenemos este
flipbook de Adventure Run. Hagamos doble clic en él y veamos. Entonces ahora tiene las
cinco animaciones moviéndose simultáneamente,
eso es bueno Ahora voy a tomar rápidamente
la decisión de bajar sus
cuadros por segundo 15-5 Bien, ahora está buscando. Aún no está ahí. Alrededor de siete. Alrededor de diez. Bien, creo que diez
fotogramas por segundo, esa es una animación de
ejecución razonable. Ahora que tenemos esta animación
básica de carrera, ¿cómo la vamos a aplicar
a nuestro personaje jugador? Porque en estos momentos el personaje
jugador sigue siendo. Y lo que queremos es cuando el personaje
jugador se mueve, queremos cambiar
a ese sprite ¿Bien? Ahora, para hacer eso, vamos a seguir adelante, y aquí es donde usar el
papel Z D para crear esos caminos de animación
simplifica nuestra vida Entonces vamos a volver
al jugador ahora mismo, déjame cerrar, quitar ese texto. Ahora mismo, nuestro
lado principal del jugador. Aquí tenemos arte, y esta es una buena
carpeta para tener. Vamos a hacer
otra carpeta, y vamos a
llamar a esta animación. Ahora que se establece la
carpeta de animación, podemos entrar en la carpeta de
animación y vamos a empezar a crear
algunos elementos Z D en papel. Así que ve directamente al papel Z D, y lo primero
que vas a agregar es algo conocido como salsa
de animación. Deberías verlo
ahí. Ahora lo que vamos a hacer es lo
vamos a llamar salsa de animación de héroe. Entonces voy a llamarlo héroe. Papel Z de salsa de animación. Sólo vamos a
dejarlo así. Ahora, cuando rápidamente hacemos doble clic en esa salsa de animación, note que tenemos
este gran espacio, pero aquí no tenemos
nuevas animaciones. Entonces lo que vamos a hacer es
que vamos a llegar a la esquina superior izquierda
y vamos a añadir una nueva secuencia de animación. Bien. Y simplemente vamos
a llamar a esto. Voy a renombrarlo. Voy a llamar a esto ocioso. Ahora que tenemos nuestro ídolo listo, he hecho clic en eso del
lado derecho, está mostrando secuencia de animación Voy a desplazarme hacia abajo y
notar que inmediatamente tienes disponible aventurero Id y el
aventurero Run Haga clic en Idle, y
mostrará la animación inactiva. Lo siguiente que
haremos es agregar
una nueva secuencia de animación
y llamarla Ejecutar, pasar por el mismo proceso, seleccionar la animación Ejecutar. Entonces ahora tenemos más bien, tenemos animación ociosa y
tenemos la animación run. Asegúrate de que no esté configurado como una secuencia
multidireccional. Nos encargaremos de la
direccionalidad de esto más adelante. Haga doble clic en Ejecutar.
Esa es la carrera. Se puede ver dónde está
su posición. Parece que
básicamente está un poco adelante desde el centro. Tenemos ocioso. El ralentí está 100% muerto
en el centro. Corre e inactiva. Todo parece
estar revisando. Están alineados
correctamente. Esto es bueno. Entonces ahora tenemos Barra espaciadora de
Control. Tenemos nuestra salsa de animación de papel Z
D. Observe que ha hecho
otra carpeta con animación o secuencias.
No necesitamos tocar eso. Y nuestra animación, básicamente, nuestra
salsa de animación de papel héroe Z D tiene una animación ociosa, y tiene una animación de carrera. Eso es perfecto. Aquí es
donde empieza todo. Ahora que tenemos la fuente de
animación, es básicamente una colección de todas las animaciones que Paper
Z D va a estar usando. Ahora que tenemos eso, a continuación, vamos a crear
un blueprint de animación, Barra espaciadora de
Control una vez más Ahora, esta vez, ve al papel Z D, y lo que quieres es el
papel Z D, nombre BP. Así que fíjate
una vez que hagas
clic en eso , se abre una nueva ventana ,
que te pregunta, entonces, Oye, cuál va a ser la salsa de
animación para padres y
simplemente selecciona la salsa hero
paper Z di animation. Entonces este es el contenedor del que se
sacarán todas las animaciones. Entonces ahora que está aquí,
simplemente voy a cambiarle el nombre. Voy a renombrarlo
héroe papel Zi Anime BP. Ahora, voy a hacer doble
clic rápidamente en ese plano de
animación Y aquí ahora estamos en una gráfica de
animación que va a ser lo que
está a cargo y en control
de todas nuestras animaciones. Hay para estrella
como gráfico de eventos, y luego hay un gráfico de
animación por aquí. Y vamos
a pasar por cómo usar
ambos de manera efectiva. Ahora bien, esto de aquí mismo, el gráfico de animación
es donde vamos a configurar todas nuestras
diferentes animaciones. Pero antes de hacer eso, hagamos alguna configuración básica en
el gráfico de eventos. Entonces, en el gráfico de eventos, hay un nodo llamado event
on int o on initiate, y este es el primer nodo con el
que necesitamos interactuar. Entonces tenemos que decirle
qué hacer al iniciar. Entonces, lo que queremos que realmente haga es que inicie de inmediato, va a configurar el
reproductor como una variable y asegurarse de que el
gráfico de animación esté conectado a él Ahora, para que eso funcione,
lo primero es, vamos a necesitar conseguir
al actor que posee
este objeto, ¿de acuerdo? Entonces vamos a conseguir
al actor dueño, eso es lo primero que
vamos a hacer Entonces, sea cual sea el objeto al
que le
unamos esto, que va a ser nuestro héroe y lo vamos a hacer a continuación. Este va a ser
el actor dueño. Lo siguiente que vamos
a hacer es que vamos a lanzar al jugador. Bien, en realidad, no, no
queremos lanzar al jugador. Queremos el plano. Nosotros llamamos héroe al plano, así que queremos lanzar
al plano héroe que va a ser nuestro
personaje héroe Una vez que hayamos terminado de lanzar
al personaje héroe, simplemente
vamos a
promover esto como una variable, llamémoslo llamémoslo el héroe. Simplemente promoveremos
a variable. Aquí estamos, y es decir
set y se llama héroe. Ahora, con esta configuración, notarás en el lado izquierdo, ahora
hay una variable
llamada héroe. Eso es bueno y eso es todo
lo que necesitamos de aquí. Ahora, pasaremos al gráfico
de animación. Ahora bien, este gráfico de animación
funciona de una manera bastante sencilla. Esta de aquí es
la animación de salida, y necesitamos conectar
un nodo al resultado. Ahora mismo, puede que no tenga más sentido, pero no se preocupe. A medida que te encargues de ello, a medida que lo uses, va
a tener total sentido. Y en caso de que algo
sea confuso, solo envíame un mensaje y
me pondré en contacto contigo. Pero voy a
explicar todo paso a paso para
que tenga sentido. Continuemos en
la siguiente lección. Ahora, antes de seguir adelante, solo para encubrir,
asegúrate de que tu gráfico de eventos, obtenemos al actor propietario, elenco a héroe y lo configuramos
promocionarlo como héroe como variable Asegúrate de tener
tu fuente de animación con la animación inactiva y
la animación de ejecución,
la animación inactiva y
la animación de ejecución. Con esos dos
configurados y organizados, eso es todo lo que vas
a necesitar para seguir adelante.
13. 012 Juega la animación ociosa con Paperzd: Todo bien. Ahora que tenemos nuestra configuración básica del
plano de animación, vamos a volver al plano
del héroe Ahora tenemos nuestra
configuración de flipbook, compilamos rápidamente. Vamos a agregar un nuevo componente y
vamos a escribir Z D lo que queremos es un nuevo componente de animación de
papel Z D. Con ese componente,
vamos a mirar a la derecha, y va a
haber un par de opciones. Dejaremos el nombre de la variable, un papel Zed di y notaremos que está pidiendo una clase de instancia de
animación, y aquí estamos. Es el papel héroe Zi
Animation blueprint que creamos en
el último video Y ahora también está pidiendo
un componente de render, ¿de acuerdo? Entonces el que seleccionaremos,
queremos seleccionar el flipbook de papel Porque el
libro volteado va a ser el componente que
vamos a ser este de aquí mismo, es el que
estamos renderizando
por todas partes a las imágenes Ahora, sólo para asegurarnos de que todo esté
funcionando como se pretendía, lo primero que vamos a hacer es que vamos a entrar aquí y vamos a ir a la fuente
del flipbook Actualmente, se fija
a ídolo de aventura. Sólo vamos
a venir por aquí y vamos a despejar así que
ahora ese flip book no se está
rindiendo por nada. Vamos a usar papel Z D para gestionar
todas nuestras animaciones. Entonces, si
volvemos a la derecha al nivel, ahora notamos que
no se está mostrando nada. ¿Bien? hay absolutamente nada
y moviéndose de izquierda a derecha, y no hay nada,
está bien. Ahora con toda esta configuración, estamos listos para comenzar a agregar
las diferentes animaciones. Entonces vamos a volver
al plano de
animación de papel Z D, y luego vamos
al gráfico de animación, y aquí es donde empezamos a
trabajar en las animaciones Entonces vamos a presionar click
derecho y teclear Estado. Y vamos a
agregar nueva máquina de estado. La máquina estatal,
simplemente la vamos a llamar,
darle el nombre de héroe. Puedes ponerle el nombre que
quieras. Estos son solo los
nombres que estoy usando ya que este es el viaje de un héroe. Voy a conectar de
héroe a animación de salida. Ahora que tenemos nuestra máquina de estado
inicial, y lo que es una máquina de estado
está esencialmente en el nombre. Es la lógica la que decide sobre el estado en
el que se encuentra el jugador. Así que vamos a hacer doble clic en
la máquina del estado para entrar. Y notarás
inicialmente todo lo que tiene está fuera. Eso está bien. Simplemente lo arrastraremos. Y agregaremos otra estadística de
animación Llamemos a este primer
estado de animación inactivo porque esencialmente, una vez que cargues en el juego, lo primero que
veas va a ser, ya
sabes, el personaje
parado ahí inactivo. Ahora que tenemos el conjunto de animación
inactiva, estoy haciendo doble clic en
el interior de eso, y luego voy a
hacer click derecho y voy a solicitarlo para que juegue inactivo. Bien. Por lo que intentará
reproducir esa animación ociosa. Ese es el resultado. Vamos a compilar rápidamente
eso y luego volveremos a subir hasta aquí de nuevo
al gráfico de animación. Entonces, la forma sencilla de
pensarlo es que la máquina de estado está empujando
las animaciones de salida. Dentro del
estado héroe en este momento, de cuando empieza,
que está afuera, todo lo que está mostrando es el ídolo. Y dentro de idol, todo lo que está haciendo es como, Oye, solo toca la animación ociosa. Esa va a ser la salida. Eso quiere decir que ahora mismo, una vez que volvamos al
nivel y pulsamos play, todo lo que deberíamos ver es
la animación inactiva. Y así entra una vez que presionas play, Boom, tenemos la animación
ociosa. Ahora, recuerden, la forma en que se adjunta
la animación inactiva, nuestro flipbook de papel no
tiene ninguna animación
conectada. Es así que ninguno. Es la animación de papel Z D, yendo al héroe
Paper Zed Blueprint, que está controlando eso Entonces ahora mismo, volvamos
a la animación Blueprint. Esto de aquí mismo es lo que está
controlando nuestra animación. Ahora que esto está funcionando
correctamente y
debería estar funcionando
correctamente, a continuación, asegurémonos de que
si el jugador se mueve a una velocidad en
la dirección horizontal, esté reproduciendo la animación de
ejecución.
14. 013 Juega la animación de carrera en Paperzd: Bien. Ahora que lo
hemos configurado para que Pepa z esté manejando
nuestra animación inactiva, ahora nuestro siguiente trabajo es simplemente
reproducir la animación en ejecución Entonces, para hacer eso, volvamos al plano de animación Entonces solo para ser claros, partir del gráfico de animación, haz
doble clic en héroe. Ahora estamos afuera. Ahora, es bastante sencillo
hacer otro estado de animación. Simplemente lo arrastraremos. Crearemos un nuevo estado de
animación. Y a este estado,
vamos a
llamarlo correr. Eso es todo lo que haremos. Lo llamaremos correr. Ahora fíjate que hay algo
aquí que está diciendo, Oye, ocioso para correr. Porque ahora dentro
del gráfico de animación, vamos a estar transitando de una animación a otra Entonces, ¿qué se necesitaría
para pasar de inactivo a ejecutar agregaremos en ese
código y luego llegaremos a la capa externa
de run y la arrastraremos con el
click derecho un click izquierdo, lo siento, derecho de nuevo a inactivo. Entonces todo aquí va
a ir de correr a ralentí. Todo aquí va
a pasar de ocioso a correr. Vamos a entrar en lo que eso va a significar a nivel de código. Así que vamos rápidamente a entrar en
la animación Idle. Todo lo que hace es que reproduce la animación inactiva y
esa es la salida. Bueno. Ahora, vuelve al héroe, entra en la animación de carrera. Actualmente no hay corrida. Entonces lo siguiente que
vamos a hacer es con un simple click derecho, vamos a jugar run. Eso es lo que he escrito
para que lo encuentre Unreal Engine. Y como eso está dentro de nuestra fuente de animación
que configuramos, simplemente
puede vincular la ejecución
a la animación de salida. Ahora eso está hecho. Ahora bien, si tuvieras que
compilar aquí, bien, simplemente compilar rápidamente. Incluso si regresas
y te mueves, no
reproducirás la animación de carrera. Entonces dentro del plano
simplemente entrará en inactivo para correr Y se busca
un valor positivo para afirmar que debe entrar en esa transición, un booleano
positivo Ahora, sólo voy
a compartir contigo la lógica para que
sea simple, ¿de acuerdo? Lo primero que vamos
a hacer es que vamos a conseguir nuestra variable de héroe
y arrastrarla. Así que nos pondremos como héroes, ¿de acuerdo? Eso lo conseguiremos. Después de eso, vamos a alargar
esto de nuevo, y queremos obtener su velocidad. Asegurémonos de desplazarnos hacia abajo. Quieres la velocidad simple de
obtener. ¿Bien? Ahora que hemos
conseguido su velocidad, queremos
dividirla en un pasador estructural. Ahora, ten en cuenta que mover a la izquierda
y a la derecha está estrictamente en X. Así que queremos
alargar el valor X, y lo que queremos
buscar no es igual. decir, si no
es igual a cero, puede entrar en la
siguiente transición. Ahora, solo para volver a explicar
la lógica, estamos haciendo que el personaje
del jugador verifique su velocidad. En el momento en que su velocidad no
es exactamente cero, puedo entrar en
esa transición. ¿Y qué es esa transición? Esa es la animación de ejecución
aquí mismo que hemos configurado para reproducir la animación de
ejecución. Ahora con todo
configurado así, vamos a compilarlo rápidamente
y probarlo. Entonces el jugador se queda quieto. Ahora, cuando te mueves, entra en la animación de carrera. Pero te darás cuenta, aunque
estamos en la animación de carrera, no
estamos saliendo de ella. Entonces tenemos que volver
al plano. Hemos agregado en el código
pasando de inactivo a ejecutar. Vayamos aquí y
copiémoslo todo. Estoy presionando Control C
para copiar todo eso. Entonces salgamos de eso, vamos a correr a ralentí. Literalmente afirma
la carrera al ralentí. Ya terminamos con ocioso para correr. Trabajemos en correr a ralentí. Y para que sea simple, simplemente
pegaré
todo desde antes excepto por un
simple cambio pequeño. En vez de decir, oye, si la velocidad no es cero, lo que queremos comprobar
es que queremos igual, ¿de acuerdo? Entonces, si la velocidad es
exactamente igual a cero, pasará de
la animación de ejecución. Volver a la animación inactiva. Con él configurado de esa manera, volvamos a pasar por
la lógica. Comienza con ir directamente a la animación inactiva y
reproducir la animación inactiva. Si la velocidad en X
es mayor que cero, va a reproducir
la animación de ejecución. Si la velocidad llega a cero, retrocede y reproduce
la animación inactiva. Con eso hecho dentro del papel, este
plano de animación,
volvamos a un
vistazo de verdad en el juego Déjame sacar mi
controlador para esto. Prueba de verdad. He golpeado Play. Perfecto. Cuando me muevo, reproduce la animación de ejecución. Cuando me detengo, la animación
se detiene. Esto es excelente. Las animaciones están alineadas
correctamente. Esta es una buena noticia. Vamos a
saltar rápidamente del puente. Bien. Eso es perfecto.
Eso es bueno. A continuación, permítanme hacer
doble clic rápidamente sobre el jugador para que me
lleven de nuevo aquí. Ahora bien, aunque la animación
está funcionando correctamente, notas
que el personaje
del jugador no
está orientado en la dirección
correcta. Ahora eso va a
ser un simple cambio. Hagámoslo en el siguiente video.
15. 014 Dirección de Changine Sprite basada en la dirección del movimiento: Todo bien. En el
estado actual del juego, si te mueves a la izquierda, con el control
si te mueves a la izquierda, el jugador sigue jugando la
animación a la derecha. Si te mueves hacia la
derecha, el jugador, quiero decir, ese es generalmente
correcto. Vamos a arreglar eso. Para arreglarlo,
todo lo que tenemos que hacer es entrar en el plano del héroe y
tú entres por aquí Ahora, el lugar que queremos
poner el código que
vamos a arreglar que está
más cerca del lado derecho. Lo primero
que vamos a hacer es que queremos obtener velocidad. Desplazarse rápidamente no por
volumen, queremos velocidad. Obtendremos la
velocidad. Ahí estamos. Ahora que hemos
conseguido la velocidad, podemos poner eso
ahí mismo. Queremos dividir
el pin de estructura, eso es obtener el valor. Ahora, ya que nos estamos
moviendo en la X, lo que queremos es la velocidad X. Simplemente obtendremos el valor y queremos hacer
una simple comprobación. Y lo que queremos es que
vamos a hacer una doble comprobación. ¿Es mayor que cero, o es negativo? Simplemente comience con una comprobación básica
de si es mayor que cero. Entonces arrastraremos este nodo, y lo vamos a
configurar en una rama simple. Ahora bien, una rama es básicamente un nodo utilizado para
verificar a los booleanos Si sale como
positivo, es decir, si la velocidad X es
mayor que cero, entonces va a ser verdad. Si es menor que cero, va a ser falso. Ahora, ahora que hemos
terminado con eso, lo que queremos es que
vamos a volver aquí. Vamos a conseguir el libro
volteo de papel ya que eso es lo que va a estar
conteniendo nuestras animaciones, lo
arrastraremos y lo
dejaremos caer justo ahí. Una vez que hayamos terminado con eso, podemos arrastrar esto, y luego queremos
establecer la rotación. Y queremos establecer una rotación
salvaje. Ahora que lo tenemos configurado
para establecer la rotación salvaje, vamos a copiar
y pegar eso, soltarlo aquí, y conectar
el libro volteo aquí también, porque vamos a estar
estableciendo la rotación salvaje dos veces. Entonces diremos, Oye, si es cierto, seguirá
la primera rotación salvaje. Si es falso, seguirá
la segunda rotación salvaje. Ahora, recuerda cuando estás
volteando algo, estás volteando
a lo largo del eje Z. Déjenme demostrarlo rápidamente. Así que permítanme configurar rápidamente este libro de papel para
mostrar el sprite corriendo Entonces lo que queremos hacer es que queremos girarlo
a lo largo del eje Z. Bien. Entonces, como ejemplo, esto es cero grados o lo suficientemente
cerca de cero. Esto es de 180 grados. Entonces lo que queremos es que cuando la velocidad
X
sea positiva, se va a quedar
a cero grados. Cuando la velocidad X es negativa, decir, se
mueve hacia la izquierda, ¿de acuerdo? Queremos que sea de 180 grados. Déjenme volver a poner eso a cero. Y dejar esto claro para que no haya nada que
interrumpa papeles al día Vuelve a la gráfica de eventos. Ahora, vamos a decir, Oye, si la velocidad X es
mayor que cero, set wild rotation
va a ser cero. Si su velocidad X
es menor que cero, lo
que significa que está en negativo, queremos establecer su rotación salvaje
a 180 grados negativos. Ahora, ese es un cambio muy
simple. Espero haberlo
explicado correctamente. Volveremos al nivel de
desarrollador, pulsaremos play, y ahora notaremos cuando
me muevo hacia la izquierda, el sprite sigue y
no vuelve a cambiar de inmediato. Cuando me muevo hacia la derecha,
el sprite sigue esa rotación y se detiene.
Eso es fantástico. Eso es exactamente lo que queríamos. Y ahora vamos a pasar
a agregar algunos sonidos y sonidos de paso
a nuestro personaje jugador.
16. 015 Cómo agregar archivos de audio en ejecución: Actualmente tenemos nuestro carácter. Se puede mover a izquierda y derecha, y lo tenemos listo. Ahora, volvamos a los principios
básicos que estamos usando. Ahora, terminamos con el diseño. Terminamos con código sobre
ese elemento en particular. Ya terminamos con el arte
para esa cosa en particular. Ahora tenemos que pasar al
audio de la animación de ejecución. Hagámoslo ahora mismo, agregando algo de audio
a la ejecución. Entonces aquí es donde nos metemos en
algunas recomendaciones básicas. Número uno, te
recomiendo encarecidamente que como
desarrollador Indie, aprendas a agregar
en tu propio sonido. Entonces vamos a
sumar un sonido de running. Hay muchas maneras de
obtener sonidos de pisadas. Algunos de ellos están pasando
y comprando algunos activos, pero como Indi Dev, solo como un aparte adicional, creo que poder hacer tu propio audio va
a ser muy importante Así que vamos a entrar en lo que
sería eso, ¿de acuerdo? Ahora, ahora mismo, he abierto una aplicación gratuita
llamada Audacity Ahora veamos la audacia. Así que la audacia básicamente
te permite editar y cambiar
diferentes clips de sonido, ¿de acuerdo? Ahora bien, fíjate que este clip de
sonido que
arrastré se llama
yo caminando afuera Esto es básicamente solo
algunos sonidos de pasos, que grabé saliendo, poniendo mi teléfono
casi como cerca de donde
estaba pisando, y va a sonar
como si estuviera avanzando, pero en realidad,
estaba en un solo lugar Ahora, solo
escuchando cómo suena. Bien. Tenemos todos esos
diferentes bits de audio de mí dando un paso. Ahora, no voy a entrar en
todo lo que
puedes hacer con audacia
porque como dije, hay muchas formas de
obtener sonidos Pero una cosa que es realmente útil es que volvamos a reproducir eso. Bien, quiero
descomponerlo fundamentalmente para que
pueda simplemente capturar. Déjame intentarlo y solo quiero
capturar un solo paso. Entonces déjame arrastrar esto
aquí y jugar. Déjame intentar volver a poner mi
mouse en la pantalla, debería simplificarme
explicando lo que estoy haciendo. Solo estoy arrastrando sobre un
área y luego presionando play. Sólo tocará
ese segmento sonoro. Bien, entonces ese es un paso. Bonito. Pero lo que quiero es que quiero obtener el sonido en el primer punto donde
el pie está haciendo sonido. Bien, así que eso es por aquí
hasta aquí. Esto es lo que quiero. Este es el verdadero sonido de paso. Entonces simplemente voy
a copiar eso. Déjame alejar el zoom. Voy a dar click en
Tracks, añadir una nueva pista. Déjame considerarla una pista mono. Entonces aquí abajo,
voy a hacer clic en volver aquí para traer de
vuelta el cabezal de reproducción, y voy a pegar Oh, sí, grabé
esto en estéreo. Entonces cuando agrego una pista, tengo que agregar en una
pista como estéreo. Bien, ahora, click izquierdo y pega. Así que déjame venir aquí, silenciar esto, bajar aquí, y entonces ahora soy yo caminando. Lo traeré de vuelta. Déjame tocar ese sonido. Ese es
un solo paso adecuado Bonito. Ahora que he
aislado un solo paso, voy a repasar a archivo y voy
a exportar audio Ahora está diciendo, oye, ¿
quiero ponerlo en audio.com? Eso es genial. No, quiero
exportarlo a mi computadora. Y ahora que ya he
terminado de exportar eso, voy a pasar por
el arduo trabajo de exportar alrededor de cinco sonidos de pasos
diferentes Ahora, personalmente encuentro
que alrededor cinco sonidos de pasos
es el número ideal, y no voy
a llevarte a través todo
el proceso porque
eso sería un poco aburrido Y voy a incluir estos
sonidos con el proyecto, pero solo quería
poner esto aquí. Ahora, pasemos
al siguiente paso. Una vez que se exportan
los sonidos de paso. Y al exportar,
exportarlos como archivos WAV. Eso siempre es mejor
con Unreal Engine. Y ahora por la magia
del viaje en el tiempo, he organizado esos
cinco sonidos de pasos Ahora, he ido y he creado
una carpeta llamada Audio. Encontrarás esto. Va a ser descargable para ti. He creado otra
carpeta bajo audio, y voy a llamar a
esto pasos, bien Entonces dentro de la carpeta de pasos, voy a pegar vamos a ver
control V. Ahí estamos Voy a pegar el paso uno,
dos, tres, cuatro y cinco Bien. Ahora que tenemos
esto, una vez que consigas esto, simplemente copia estos y los
vas a pegar dentro de una carpeta para nuestro
proyecto en Unreal Engine Entonces encontrar nuestra carpeta de proyectos, entrar en ella, entrar en contenido. Ahora fíjate que hay niveles, controles, personajes.
Eso es genial. Ya que todo este audio es
para un solo personaje, me gusta entrar en
los personajes, hay jugador, es
animación, hay arte. Simplemente voy a crear una nueva carpeta y voy a llamarla audio. Prefiero tener audio en una carpeta separada para cada personaje que me
simplifica encontrar cosas Sé que a algunos desarrolladores les gusta tener una carpeta grande
para todo el audio, pero no me gusta que
esté demasiado desorganizado Entonces entraré en audio. Voy a hacer
otra carpeta y
voy a llamar a esta
carpeta pasos. Bien. Entonces dentro de la carpeta de
pasos es donde voy a pegar Yo pego con Control
viaon Windows, pero puedes pegar sin embargo es si estás en MAC eso
puede ser un poco diferente Ahora que hemos puesto esto dentro de nuestra
carpeta de contenido para nuestro juego, entremos en Unreal Engine y veamos cómo implementarlos. Bien, entonces ahora estamos de
vuelta en motor real. Y fíjate que justo por aquí, primero comienza diciendo: Oye, tres editores de activos se
abrieron antes de que
se cerrara por última vez. Aquí, volvamos a abrirlos, y luego se
han detectado cinco cambios en el contenido
fuente Es decir, ha identificado que aquí hay cinco
nuevos expedientes. Entonces está diciendo,
¿te gustaría importarlos? Sí, me
gustaría importarlos. Así que rápidamente vamos a tener esos
importados y ya está hecho. Entonces entraremos en el nivel de
desarrollador, hemos golpeado
Barra espaciadora de Control para subir esto. Y ahora te darás cuenta
debajo del reproductor,
claro, ha identificado
correctamente esa carpeta para audio para pasos,
y ahí vamos Tenemos el paso uno, dos,
tres, cuatro y cinco. Escuchemos rápidamente cada muestra de audio. Bien. Bueno. Bueno.
Bueno. Bien, entonces tenemos cinco diferentes
sonidos de audio de audio
distintos disponibles para nosotros. El motivo por el
que te recomiendo tener al menos cinco
porque puedes usar uno. Pero si tocas solo uno, entonces no va
a sonar bien. Entonces el siguiente paso
va a ser simplemente agregar esos sonidos a nuestro
personaje porque el personaje en este momento no está haciendo ningún sonido cuando funciona. Arreglemos eso en el siguiente video cuando
agreguemos esos sonidos.
17. 016 Agregar sonido de ejecución espacial cuando el pie del sprite aterriza: Ahora, todo lo que tenemos que hacer es agregar en un
componente de audio para comenzar. El componente de audio se
llama cola de sonido. Una cola de sonido es
solo una forma
inteligente recopilar
múltiples sonidos. Ahora, esa señal de sonido, simplemente
llamémoslo
jugador. Qué pasos. Entonces ese va a ser el
nombre de la cola de sonido. Ahora, si haces doble
clic en esa cola de sonido, abre la
cola de sonido en el motor Anual, y esa es nuestra salida. Si pulsas play, no
deberías escuchar nada ahora porque no se
han conectado sonidos a la salida. Ahora lo que vamos a hacer,
simplemente voy a reunir todos estos. Estoy usando shift y clicando, y los
arrastraré todos a la vez. Ahora, hagamos rápidamente una prueba menor para ver si
esto está funcionando correctamente. Vamos a agregar en el
primer paso de poner, ¿de acuerdo? Y luego una vez que hayamos
terminado con eso, toquemos la señal de sonido. Bien, para que uno esté funcionando
correctamente. Déjame romperlo. Vamos a probar el tercero. Bien, eso está funcionando correctamente. Vamos a probar el quinto. Si esto funciona, todos ellos están funcionando correctamente. Perfecto. Ahora que todos estos están
funcionando correctamente, solo
necesitamos aleatorizarlos Ahora para aleatorizarlos, simplemente haga clic derecho
y busque Lo que debería llevarte a tallar un nodo de sonido llamado aleatorio Entonces con ese nodo aleatorio, voy a empujar la salida hacia arriba, traer este nodo aleatorio por aquí y déjame agregar
un par de entradas. Tienen que ser
cinco. Eso es bueno. Así que estoy conectando todos
nuestros diferentes sonidos de pasos
al nodo aleatorio para que pueda aleatorizarlos para
una variedad Conecte eso a la salida. Ahora, vamos a escuchar cómo
sonaría eso. Perfecto. Ahora tenemos nuestra
cola de sonido correctamente establecida. Ahora con la
cola de sonido correctamente configurada, lo que vamos a hacer es
controlar S para guardar, vamos a cerrar eso, y ahora
tenemos que ir a
nuestro personaje principal. Ir a nuestro personaje.
Lo primero que voy a hacer es dejarme poner al aventurero inactivo aquí para que cada vez que
estemos en el mundo, podamos al menos
ver ahí al personaje Ahora vamos a agregar un nuevo elemento
a nuestro personaje. Ahora que tenemos eso,
pasemos rápidamente al flipbook de papel, y queremos arrastrar nuestra señal de
sonido al Estoy usando Control y
Barra espaciadora para subir esto. Estoy manteniendo presionada
esa señal de sonido y voy a dejar caer encima
del libro de papel. Ahora está aquí, juega
aquí pasos. Está listo para ser usado. Ahora, en cuanto a la posición, empieza estando en
medio del personaje. Quiero
bajarlo un poco hasta cerca del suelo pero no debajo de
él, para que no se enganche. Entonces después de seleccionar eso, baja en la señal de
sonido y
asegúrate de que esto de aquí mismo
esté deshabilitado, autoactive No queremos que
se active automáticamente. Ahora con esta configuración de
señal de sonido tal como está, también
queremos
cambiar la atenuación. Aquí mismo, hay atenuación de
anulación.
Simplemente haga clic en eso. Lo que eso hace es que convierte el sonido en un sonido especial, por lo que el sonido se habrá caído. Una de las mejores formas de tener buen sonido sonoro es cuando se
trata de especialización, cambiar la función de sonido
lineal a natural Esto es más o menos así. Entonces volveremos y cambiaremos los detalles de esto más adelante. Hablando de sonido, una
motocicleta muy ruidosa pasó por
mi oficina. Qué genial. De todos modos, con todo
esto hecho y configurado, tienes los pasos del jugador, la configuración de la señal de
sonido por aquí Ahora, tenemos que hacerlo
simplemente para que cuando el jugador se mueva,
reproduzca ese sonido. Ahora, para hacer eso, tenemos todos los sonidos
configurados en el reproductor. Simplemente tenemos que decirle al
plano cuándo tocarlos. Entonces volveremos a
subir a jugador. Entraremos en animación. Puedes hacer clic en Fuente de
animación, o simplemente puedes
entrar en esta carpeta con secuencias de
animación y hacer
doble clic en Ejecutar. Ahora notarás que
nuestra animación de ejecución está aquí jugando. Entonces
déjame hacer una pausa en eso. Aquí hay una pista llamada
uno, que vamos a estar usando. Entonces voy a conseguir
la cabeza de juego, bien, y simplemente voy a
arrastrarla hasta un punto que veo el pie
tocando el suelo. Boom, ahí mismo.
Justo aquí, alrededor de 1 segundo, ¿de acuerdo? Este primer fotograma de animación cuando el pie
toca el suelo, luego voy a agregar
una animación Notificar. Primero voy a hacer clic derecho. Asegúrate de que notifique
que me muestren, y luego bajaré aquí. Y luego voy a hacer click
derecho otra vez, y después voy a decir,
Hey, Nuevo notificar. Bien. Ahora hay
varios notificadores pero solo usaremos una notificación Nueva Esto es básicamente para
informar motor real. Queremos hacer algo
en ese fotograma, y luego voy a
llamarlo sonido de paso En realidad, déjame
alargarlo un poco más. Sonido de pisada del jugador.
Entonces, en este punto, hemos creado un notificador
para reproducir sonido de paso Vamos a avanzar a lo largo de la
jugada a lo largo, y luego otra vez. Por lo que voy a dar click en
el sonido de paso, Control C para copiar Ven aquí, Control V. Lo pondrá justo por ahí. Entonces tenemos dos puntos
por los que queremos reproducir el sonido. Ahí estamos. Boom, toca el sonido. Eso es todo lo que necesitamos
para esta animación. Entonces debería funcionar correctamente ahora. Con estos player footstep
sound notifier setup, siguiente, simplemente
vamos al papel z
la fuente de animación, Más bien no la fuente,
vamos al plano. Ahora dentro del plano, observe que
ahora hay nuevos notificadores,
haga clic en el que se nombra correctamente, que
es el pisada del jugador Y por aquí, estamos listos. Entonces lo primero que
vamos a hacer es que vamos a conseguir a
nuestro personaje héroe, arrastrarlo por
aquí. Ponte como héroe. Eso es bueno. Y luego volvamos a
verificar en el héroe. Esto se llama pasos de jugador. Bien. Así que vamos a arrastrarlo, y queremos conseguir pasos de
jugador Oh, lo siento. Consigue los pasos del jugador Ahí estamos conseguir pasos
de jugador. Este es el componente de audio
y luego arrastrarlo hacia afuera, y queremos activarlo. Aquí está, activar Activar básicamente
hace que esté activo. Una vez que lo hayamos hecho,
ahora queremos reproducir el sonido. Voy a arrastrar de pasos de
jugador y voy a escribir
play, y aquí está Toca, por lo que
tocará ese sonido. Déjame conectarlo
aquí arriba. Vincular estos dos. Justo después de que se active, reproduce ese sonido, tiempo de
inicio cero. Eso es bueno. Vamos a tener una visión general rápida de lo que
tenemos aquí mismo. Entonces tenemos después de
recibir Notificar como héroe, los pasos del jugador, que es lo que tenemos como componente
de audio, activarlo y jugar Entonces con eso, ahora deberíamos escuchar los pasos del jugador que se están
jugando. Ahora, vamos. Perfecto. Ahora tenemos nuestros pasos conectados a
nuestra animación de dos sprites D. Ahora bien, una cosa genial es porque la tenemos
especialmente atenuada, si entro en el héroe, entrando en la cámara y
aumenté su ubicación
para moverla hacia atrás, digamos unas 500 unidades,
menos 500 unidades Negativo 500 unidades. Notarás que el sonido
es significativamente menos fuerte. Por eso usamos la especialización porque si solo
tocas el sonido, será como si estuviera en
todas partes del mundo. Pero cuando usas atenuación, vas a
tener sonidos basados en la ubicación, y también nos
aseguramos de posicionar la cola de sonido en
un lugar natural Eso es bueno. Ahora vamos a pasar a la animación de salto. Empezaremos
configurando el código en el siguiente video.
18. 017 Cómo usar comentarios para organizar nodos de blueprint: Muy bien, así que ahora nuestro personaje
jugador puede moverse a izquierda y derecha, y somos capaces de escucharlos. Lo siguiente que
vamos a hacer es agregar una función de salto rápido
a nuestros planos
19. 018 Configuración de control y código para agregar un salto: Bien, así que
agreguemos la entrada de salto. Entonces tenemos nuestro movimiento ahí. Simplemente vamos a entrar en entradas y luego vamos
a agregar en una acción de entrada. Vamos a llamar a esta acción
de entrada salto. ¿Ese Jomo? Dónde está la P.
Bien, se llama salto. Ahora, hagamos doble clic rápidamente
en la acción de entrada de salto. Entonces descripción de la acción,
creo que vamos a
describirla como entrada de salto. Creo que es bastante simple. ¿Se activa cuando se pausa? No. ¿Cuál es su valor booleano
digital Para una acción de salto, creo que Booleano
está perfectamente bien Ahora, con toda esa
configuración, vamos a cerrar eso. Y ahora que tenemos
nuestra configuración de salto aquí, volvamos a entrar en el mapa del jugador
una vez más, el mapa de entrada. Tiene todos los insumos para el
movimiento. Eso es genial. Vamos a añadir otro Whoa. Nos iríamos, agregaríamos
otro mapeo. Entonces ese mapeo,
será una acción de entrada. Vayamos por aquí, y el que queremos
seleccionar es saltar
ya que ese es el activo que
acabamos de crear. Eso es genial. Vamos a ir bajo salto, y ahora necesitamos
tomar una decisión de lo que queremos que sea el salto? Voy a
ponerla en el teclado para que sea W W está bien.
Agreguemos otro. W es el núcleo. Sigue expandiéndolos. Pero de todos modos, déjame también
hacerla barra espaciadora. Creo que eso funciona
perfectamente bien. Pero luego déjame
conectar rápidamente mi controlador. Entonces ahora el controlador
está conectado. Bien. Sí, NRL Engine ha reconocido que he
conectado mi controlador Entonces agregaremos en otro. Y quiero, supongo, cada vez que el jugador presiona A, pero es A en Xbox o X en X en, ya
sabes, No, es A en
Xbox, X en PlayStation. Entonces esto debería estar
funcionando correctamente. Entonces ahora nuestra
acción de salto está configurada. Funciona cuando presionamos W. Funciona cuando
presionamos la barra espaciadora, y funciona cuando presiono ese botón X en el mando
o A, si estás en Xbox. De todas formas, así que con
todo lo que estás configurando, volvamos
al plano del jugador Y vamos a
agregar algún código para manejar el salto.
Así que vamos a acercarnos. Quiero buscar salto, y luego bajaré y debería ser
acrecentado eventos de acción. Ahí estamos. Déjame
acercarme un poco más. Acción de entrada mejorada, atasco. El valor de la acción es un booleano, por lo que está activado o desactivado Entonces una vez hecho esto, lo que necesitamos es
simplemente arrastrar
disparado y
digamos, Oye, salta. Esencialmente, tenemos un salto
hecho solo esos dos nodos. Entonces para probarlo, controlar S para guardar, y luego voy a
venir aquí y compilar. Ahora vamos a entrar en el nivel. Ir a jugar dentro del nivel. Y luego, vamos a
probarlo spaceb. Eso es genial. El espacio B está funcionando, pero
eso no es lo que quería. Déjame apagar eso
siendo grabado, siendo no, no, no, no
necesito eso. Prensa prensa prensa barra espaciadora? Bien, tenemos un salto. Moviéndose
a la izquierda, moviéndose a la derecha, fresco. Saltar con la barra espaciadora está funcionando, salto de W está funcionando Y luego aguanta, el controlador Exon no
funciona. Eso es un problema. Volvamos y verifiquemos
rápidamente. Esto podría ser en
su totalidad un problema M. Oh, aquí no. Necesito verificar la entrada en el mapa del jugador. Oh, Control S para
guardar para volver a verificar dos veces, da clic en eso. Gamepad, cara, fondo,
fondo. Bien, genial. Supongo que debo haber
hecho algo mal. Gamepad, perfecto. Bien. Debería estar
funcionando correctamente ahora. Una vez más, prueba rápida. W está funcionando, Spaceb está funcionando. X en el controlador o más bien el botón frontal hacia abajo
funciona. Bien, genial. Ahora que tenemos el salto
trabajando en términos de código, lo siguiente que hay que hacer, recuerda, DCAA, diseñar código arte animación A continuación, vayamos y
agreguemos en algo de arte.
20. 019 Cómo agregar una animación de inicio inicial: Ahora
lo hermoso es que ya tienes algunos buenos
sprites para el salto Simplemente volveremos a
subir personajes, el arte del jugador, y
esto es todo el arte. Sólo
vamos rápidamente a escribir en salto. Bien, entonces tenemos un par de animaciones de
salto diferentes, ¿de acuerdo? Entonces simplemente seleccionaremos
estos tres, bien, estos aventura saltan cero, cero para saltar 003.
Estos funcionarán. Y luego con todos
estos organizados, simplemente
haremos clic derecho en Acciones de
Sprite y luego, ya
sabes, crear sprites Así que ahora que hemos
creado esos sprites, volveremos a escribir salto,
solo verifíquelo y veamos Entonces ahí lo tenemos.
Tenemos esos tres sprites. Simplemente hagamos clic
en todos ellos, y luego vengamos aquí
y creemos un flipbook Crearemos un flipbook y ahora mismo está
diciendo salto de aventura Podemos llamarlo arranque por salto. La razón por la que lo estamos llamando jump start y lo puedes
ver por allá. Esa es la animación es
porque la animación de iniciar el salto puede
ser diferente la animación cuando está
cayendo y nos
meteremos en eso a continuación, pero esto es lo suficientemente bueno
para comenzar, simplemente
seleccionaremos
esto y dope Ahora que tenemos esa configuración
básica de animación, vuelve
a salir a los
personajes una vez más. Ahora, vamos a cerrar el texto, la animación del jugador, e
iremos a la fuente de animación, el papel D. Ya tiene nuestro ídolo. Tiene nuestra carrera, y
simplemente vamos a agregar nuevos. Y haga doble clic en eso. Déjame cambiarle el nombre.
Vamos a llamarlo salto, arranque de tablero. Bien, porque sólo
va a ser para el
inicio del salto. Después de darle click,
ven por aquí, y luego ahí estamos jump start. Y esa es la animación. Entonces tenemos nuestro salto inicial. Tenemos nuestra animación de carrera, tenemos nuestra animación ociosa,
luego tenemos nuestro salto. Sí. Entonces, lo siguiente que vamos a hacer es que
queremos probar esto. Eventualmente vamos
a volver y ajustar los fotogramas para que encaje más
con el personaje, pero esto es
lo suficientemente bueno para comenzar. A continuación, vamos a
volver con el héroe. Aquí estamos, tenemos
este salto básico. Ahora una vez que se activa, es cuando queremos reproducir
esa animación de Hey, el personaje está saltando. Cuando el personaje
está en el aire, queremos saber que
oye, están saltando. Ahora que tenemos eso,
tenemos esto aquí y
nuestras animaciones. Abramos también el plano de
animación. Lo teníamos al recibir Notificar. Podemos cerrar eso. Estamos de
vuelta aquí. Estamos de vuelta aquí. Tenemos nuestro inactivo, tenemos una carrera, y a continuación vamos a
crear un nuevo conjunto de animación, y vamos a llamar a
esto llamarlo jump start. Bien. Porque solo
hay el inicio y luego está cuando el personaje está cayendo
al suelo. Ahora, arrastraremos desde el
inactivo hasta el arranque en salto. También vamos a arrastrar de correr
al inicio del salto, ¿de acuerdo? Y vamos a pasar de, vamos a ver, desde el inicio del salto, mm mm. A ver. No, por qué moverse. Vamos, muévete. Quiero moverme. Estás bien. Entonces esto es todo. Entonces este es nuestro mapa ahora mismo.
21. Lógica de transiciones de animación de saltos 020: Ahora tenemos listo este
conjunto adecuado de nodos. Iremos y haremos doble
clic dentro
del inicio del salto para que podamos adjuntar la animación de
salida y luego simplemente
pulsaremos play jump start. Entonces esos fotogramas iniciales iniciales después de que el personaje haya saltado. Entonces ahora que he guardado eso
volveremos a la gráfica. Entonces cada vez que añadimos en el código, pasará de inactivo a hey, ha comenzado a saltar. Ahora bien, esta forma sencilla de
saber cuándo
debe pasar el personaje de inactivo a
saltar es que vamos a entrar. Vamos a sacar a relucir el
como héroe como siempre. Y entonces ahora que
tenemos acceso a eso, saldremos aquí y
obtendremos velocidad. Y queremos tener
acceso a su velocidad. Esta es la manera realmente sencilla saber cuándo un
personaje está saltando. Y entonces diremos un mayor siempre y cuando sea
mayor que cero, debería poder entrar en eso. Entonces vamos a compilar. Entonces básicamente, si su velocidad vertical
es mayor a cero, deberíamos ver esa animación de
jam. Ahora, vamos a mostrar esto rápidamente. Entonces
en estos momentos, los personajes de ido han golpeado la barra espaciadora. Observe, es reproducir
la animación de salto, pero no está saliendo
de la animación de salto. Entonces, para asegurarnos de que
salga de la animación de salto, volvemos al plano Haremos clic y arrastraremos desde
el inicio de salto de nuevo a inactivo. Y luego dentro de
inactivo, en realidad, prefiero simplemente copiar esto para no tener que volver a
escribir todo. Pero dentro de aquí, voy a añadir en el mismo
código pasando de hey como el héroe, la velocidad. Pero esta vez, en vez
de decir, Oye, eres mayor que, simplemente
voy a decir, Oye, ¿eres igual a? Entonces, si es igual a cero, puede volver a estar inactivo. Vamos a compilar rápidamente eso, volver al nivel. Nosotros en IDO, estamos saltando, volvemos a id, podemos caminar. Estamos saltando de nuevo al ralentí, podemos caminar,
saltar, movernos. Bien. Eso es genial. Eso en realidad no está
mal, no está nada mal. Ahora bien, hay muchas formas en las que
podemos manejar ese salto. Una forma en que podemos manejar
ese salto es simplemente
yendo a ver dónde está
el salto al que vamos en el salto. Sigue escribiendo Jumo
por alguna razón. Entonces iremos al arranque en salto. Iremos a ese libro volteado. Una forma de manejarlo es simplemente
venir por aquí y simplemente configurarlo algo así como tres cuadros
por segundo para comenzar. Bien, está bien.
Alternativamente, puedo simplemente eliminar el
primer fotograma clave, configurarlo para que solo reproduzca
los dos últimos fotogramas. Entonces, permítanme borrar
el segundo también. Entonces ahora solo está jugando ese tipo de cosa de
animación flotante Permítanme aumentarlo a
seis cuadros por segundo. Entonces
parece que está haciendo eso, entonces podemos simplemente cerrar eso. Entonces ahora, creo que esa es una animación de salto mucho más realista y
razonable. Pero fíjate si nos estamos moviendo de
izquierda a derecha y
saltamos, no tenemos esa animación transitada a solo cuando estamos en IDO que
seamos capaces de hacer eso Para arreglarlo, volvemos
al blueprint y usaremos el mismo
tipo de lógica, volvemos al gráfico de animación
dentro de esa máquina de estado Ahora podemos pasar de Run
y básicamente vamos a obtener el mismo código entrar
aquí, copiar todo eso. Para pasar de correr a jumpstart, siempre y cuando la velocidad Z
sea mayor que cero, entrará en esa animación Después copiaremos el mismo código. Así que ahora, oh, no, no, eso va desde el comienzo del
salto de nuevo a la carrera. Pega esto. Entonces, cada vez que la velocidad Z es
exactamente igual a cero, volverá a
esa animación. Ahora, veamos cómo
se ve eso. Aquí estamos. Observe que salté y está jugando
esa animación de salto. Entonces es algo
escalofriante en el aire. Y esa es básicamente la forma simplificada y
fundamental que puedes configurar tu animación de
salto. Ahora tenemos nuestra animación de salto. Tenemos el código para el salto. El código para el salto
está básicamente aquí. Y si alguna vez quieres
cambiar alguna de las características de
salto, simplemente
vas al componente de movimiento del
personaje, y luego en el lado derecho, debajo
de los detalles, hay muchas variables con las que jugar. Déjame simplemente escribir rápidamente en salto para que podamos
ver algunos de esos. Y solo puedes ver muchas cosas que te va a mostrar. Te voy a mostrar velocidad de salto. Se puede aumentar eso,
romper la desaceleración, y hay un par de otros. Ahora, podemos entrar en esto
más adelante cuando comencemos a
hablar de crear niveles y diseñar eso porque en
términos generales, basas tus niveles de cómo quieres que se mueva tu personaje. Entonces nos meteremos en
eso. Pero por ahora, tienes una comprensión de lo básico. Lo siguiente que
vamos a hacer, recuerda, DCAA es ahora agregar algo de sonido
porque queremos que
se reproduzca un audio justo después de que el personaje
salte. Vamos a entrar.
22. 21 Sonido de inicio rápido: Bien. Ahora, entremos y
solo agreguemos un sonido de salto. Ahora, dentro de
sus archivos de curso, he agregado algunos sonidos
básicos de salto. Así que permítanme ir rápidamente al audio y crear una
carpeta separada llamada jumping. Y en el interior, hay
dos sonidos de salto. El número uno es el arranque en salto. Bien, es un poco demasiado silencioso, pero hay un sonido de inicio de salto, y luego hay un sonido de
aterrizaje de salto para cuando
aterrizas en el suelo. Bien, entonces esos son los dos
sonidos que vamos a estar usando. Pero comencemos con
solo un sonido de arranque de salto. Entonces, actualmente,
déjame alejar el zoom. Si vas adentro,
puedes escuchar ese sonido cuando
te mueves hacia la izquierda y hacia la derecha. Pero no hay un
sonido agradable de mity cuando el jugador salta. Entonces vamos a corregir eso. Así que volvamos a entrar en
nuestro reproductor, y luego vamos a
agregar ese sonido de salto. Vamos a entrar en ello.
Entonces esta vez no
usaremos el
blueprint de animación para agregar ese sonido porque
este es un sonido que solo
quieres tener una vez Ahora, hay una manera de
agregar el sonido. Simplemente va a ser que
comenzaremos por la barra espaciadora de control. Tenemos este sonido de inicio de
salto de jugador. Vamos a seleccionarlo, y luego aquí arriba,
vamos a crear una cola. Ahora que se crea la cola, voy a nombrar al jugador. Vamos a llamarlo arranque por salto. Ese es el inicio del salto. Ahora voy a conseguir eso
y lo voy a arrastrar debajo del flipbook
de papel Lo quiero debajo del libro de
papel. Está justo debajo de
aquí. Yo lo seleccionaré. Déjame volver a
la ventana gráfica. Esta es una ubicación razonable
para que el sonido sea. Creo que esa es una buena ubicación. dejaré
ahí y claro, baja aquí. Asegúrate. Veamos que se hace clic en
la atenuación de anulación. Lo dejaremos ahí y
pondremos esto en sonido natural. Y luego queremos asegurarnos que no se reproduce al
inicio, así que nos desplazaremos hacia abajo. Buscamos activación automática
y apagamos la activación automática. Ahora con eso hecho,
digamos que este salto empieza a jugar cuando
el jugador salta. Ahora bien, hay dos
formas de hacerlo. En realidad, hay muchas
formas, pero solo quería mostrarte algo sobre
lo irreal que piensa el motor Si lo arrastramos aquí y
lo sacamos y decimos: Oye, juega. Básicamente le dijimos que
jugara. Se lo hemos dicho para que juegue. Si lo conectamos
bajo disparado, dijiste cuando se activa, haz la animación de salto, y luego después de eso
reproduce ese sonido. Si lo conectamos aquí, compilar, entrar. Ahora escucha. Bien. Ahora puedes
oírlo en realidad. Voy a necesitar aumentar su volumen y
en realidad está funcionando correctamente. Entra. Pero se está reproduciendo cuando
suelto el botón. Déjame poner mis botones en pantalla para que puedas ver. Si te mueves. Observe que reproduce el sonido cuando
suelte el botón.
Eso no queremos. Rompamos este enlace. Queremos que esté aquí en el inicio. Ahora que lo hemos configurado
para que funcione en el arranque, entra. Se reproduce de inmediato, se inicia. Ahora bien, para que el
sonido sea aún mejor, vengamos aquí al componente de arranque en
salto, ¿de acuerdo? Este de aquí mismo. Y entonces lo que queremos hacer es
querer aumentar el volumen. Entonces voy a aumentar el volumen a
algo así como dos. Así que vamos a escuchar. Ojalá sea mucho
más audible porque hay algunas cosas que quieres que el jugador escuche realmente como saltar. Bien. Sí, a las dos veces el volumen, el salto suena bien. Ahora, ahora que ya terminaste
con eso, sigamos adelante. Hemos añadido en un sonido de salto. Ahora recuerda, es DCAA,
diseño, código, arte y audio Hemos hecho el código
para el salto. Nosotros hemos hecho el arte, y
ya terminamos con el audio. Sigamos adelante. Y
en el siguiente video, solo
agreguemos algo de sonido
cuando aterrice el jugador.
23. 22 Sonido de aterrizaje con salto: Bien, bienvenido. Entonces ahora vamos a hacer un
simple sonido de aterrizaje de salto. Bien, entonces para hacer eso, lo primero que
vamos a hacer es
ir al plano de Iroharacter Entonces, como hemos organizado antes, si simplemente vuelves
y haces clic en eso, ¿verdad? Y para cualquier otra persona, básicamente
presionas Barra espaciadora de
Control. Hemos organizado nuestros
planos correctamente, vuelve al jugador El plano del héroe, e iremos a donde configuramos
nuestro manejo de saltos Ahora, en aras de la simplicidad, solo
voy a copiar ese
cuadro básico de comentarios, ponerlo aquí, y luego voy a decir, oye, sonido de
salto de aterrizaje, para
que sepa que todo el código
de aquí es para gestionar el sonido de salto de aterrizaje. Ahora que tenemos eso, lo
siguiente es simplemente
volver a donde ponemos
los pasos del jugador, y luego voy a seleccionar para duplicarlo porque ya
tenemos algunos ajustes básicos como para la gestión de
audio que
quiero mantener igual Ahora que eso está
hecho, simplemente
llamaremos a este aterrizaje en salto. Ahora que tenemos
ese
objeto de aterrizaje de salto configurado dentro de nuestro
jugador, déjame compilar. Arrastraré eso y lo
soltaré aquí mismo. Aquí es donde
realmente nos
adentramos en el
código básico. He acercado el zoom Hay un nodo de aterrizaje de salto. Queremos alargar esto. Después de arrastrarlo, voy a presionar play Entonces sacaremos
el nodo play. Entonces tenemos nuestro salto de
aterrizaje y
tenemos nuestro nodo de juego,
lo cual es bueno. Y ahora simplemente
necesitamos una forma sencilla para Unreal Engine nos diga
que el jugador ha saltado Entonces la forma sencilla de
hacerlo es
simplemente voy a hacer clic derecho y
voy a escribir y,
y notar ya hay un evento llamado On
event On Landed. Voy a arrastrar esto. Lo
conectaré para jugar. Y estamos hechos, fundamentalmente, algo así, pero aún no
hemos terminado del todo. Volveremos al aterrizaje
de salto. Ahora que lo he hecho clic, puedes ver que ahora mismo
todavía está listo para despejar pasos Voy a bajar, más bien, lo siento, estoy seleccionando el sonido. Dentro de los activos ya está el activo para el sonido del jugador de
salto de aterrizaje. Ahora haz clic en eso. Pero ahora está
configurado para que reproduzca el sonido del jugador de salto de aterrizaje ahora que eso está hecho,
entro aquí. Con todo configurado, compila, entro
al nivel, presiono play. Sí, deberías estar escuchando eso. Bonito. Ahora, por supuesto, solo para pruebas rápidas,
rompa el enlace. Vamos rápido. ¿Compilamos? ¿Asegurarte de que esté compilado? No hay sonido de aterrizaje.
Vuelve aquí y luego conecta el evento en
aterrizó a esa jugada, compila. Ahora hay un sonido de aterrizaje. Sí, espero que sea audible. Si no lo puedes escuchar
claramente en el video, tal vez porque he mantenido
el sonido del escritorio demasiado bajo. Pido disculpas, pero debería ser muy fácil escucharlo en el juego. Entonces, a continuación, voy a
subir algunas lecciones nuevas todo sobre el diseño de plataformas
para tu juego de dos D. Ahora bien, una cosa que muchos de ustedes pueden haber
notado o no si están recibiendo este curso más tarde es desaparecí por cerca de un mes. En realidad estaba en el hospital,
pero ahora estoy de vuelta. Todos los demás, no se
preocupen por ello. Simplemente disfruta el resto de
los videos. Vamos.
24. 23 Cómo agregar plataformas a la plataforma: Todo bien. Entonces ahora que tenemos algún movimiento de línea base funcionando, ahora solo vamos a agregar algunas plataformas con las que queremos que
el jugador interactúe. Entonces para hacerlo, esencialmente, vendremos aquí para agregar
rápidamente un objeto, seleccionar formas, y me
gustaría agregar en un cubo simple, y ahí está nuestro cubo simple. Pero donde se posiciona ahora, si muevo al jugador, el jugador no
interactuará con el cubo. Entonces voy a querer ese cubo.
Voy a seleccionarlo. Y entonces en cuanto
a su posición, me aseguraré de que, aguanta, ¿es el Objeto
que tiene un problema? No. Bien. He
seleccionado el objeto. Ponlo a cero en el eje y. En realidad un poco más que cero porque queremos que
no, cero es perfecto. Entonces cero y luego en el eje X, lo
pondré a cero. Ahora, eso lo mueve
directamente al jugador. Así que vamos a tenerlo un poco más a la derecha y luego un poco
más al suelo. Entonces en Z, lo pondré en 50. Bien, entonces esta es una plataforma sencilla y
agradable. Ahora, cuando el jugador
salta, básicamente, cuando presiono hacia arriba, note que el jugador está ahora
en la cima de la plataforma. Vuelve aquí, boom. Pero tenemos un
pequeño problema. Observe que donde
los pies
del jugador justo por encima de la plataforma. Entonces, cuando el jugador está aquí, el jugador está por encima de
la plataforma, que en realidad no es
lo que queremos. La razón por la que esto está
sucediendo es porque el colisionador de cápsulas está
interactuando con el mundo Así que queremos que los pies del jugador estén
realmente tocando
la plataforma, y tendremos que evitar que
el colisionador de cápsulas alrededor del jugador
interactúe con el mundo Entonces, cuando nos acerquemos un poco, notarás que
ves ese espacio, ese espacio justo debajo de ahí. Quieres deshacerte de ese espacio. Ahora bien, para hacer eso, sólo
vamos a
cambiar la posición del
libro volteo de papel para que donde están
los pies esté en el suelo. Así que vamos a entrar en el
personaje de aquí mismo. Genial, ahí es donde está
nuestro flipbook. Y luego estoy seleccionando
el flip book, y solo voy a ajustar
ligeramente su posición Z. Ahí vamos. Así que solo lo
he dejado caer
un poco en la ubicación z. Ahora echemos un
vistazo a eso en juego. Ahora en realidad parece que los pies del personaje están
tocando el suelo, la superficie, lo cual es
muy, muy bueno. Bien. Entonces está este objeto corto que ahora
está en la pared, y somos capaces de saltar sobre él, y podemos empezar a considerar agregar en algunas plataformas más. Aquí estamos parados sobre él, saltando de él, saliendo de él. Bien. Esto es un comienzo. Ahora agreguemos un poco
más a la plataforma. Ya que tenemos esa
plataforma por aquí, simplemente la
seleccionaremos. Hagamos una copia y pegado rápido, y veamos vamos a configurarlo. Sabemos que esta
plataforma se trata de qué? Se trata de 50 en el Xaxis. Entonces, llevemos esto hasta
cerca de 100 en el Xaxis. Y muévelo un poco más
a la izquierda y mira, ¿puede el jugador hacer este salto? Sí, es posible
hacer ese salto, pero no es posible
hacer este salto. El salto del jugador en este momento
es realmente, muy corto, y un salto corto
significa que
realmente no podemos hacer todas esas plataformas
geniales Entonces, en el siguiente video,
vamos
a ver cómo ajustar la altura de salto del
jugador y un par de
cosas más para que
el salto sea un poco más
agradable para una plataforma.
25. 24 Cómo personalizar el movimiento y el salto del jugador: Entonces, cuando entramos en
nuestro mejor activo, hay algo conocido como el componente de
movimiento de personajes. Este es el que determina todas las propiedades del movimiento
de los personajes. Ahora, rápido, si lo
analizamos, va a
haber
un par de cosas. Tenemos gravedad. Entonces ahora mismo
la gravedad está puesta en uno. Ahora bien, si entramos en juego
y el personaje salta, es lo rápido
que
vuelve al suelo. Pero si volvemos y cambiamos la gravedad de
gravedad uno a gravedad, digamos, cinco, para que
podamos ver una gran diferencia. Cuando volvamos, compilemos
rápidamente. Cuando volvemos, ahora, el personaje vuelve
al suelo muy rápido. Ahora bien, si vamos por algo un
poco más suave como la gravedad a, solo cambio la
gravedad dos también. Ahora volvemos y la
gravedad ahora está puesta en dos. La gravedad determina la rapidez con tu personaje jugador vuelve a
caer al suelo. Ahora, como hemos
aumentado la gravedad, necesitamos aumentar el salto. Queremos que el salto
sea mucho más alto. Ahora dentro de estos ajustes,
fíjate que hay
mucho, aceleración, factor de
ruptura
que está desacelerando, masa
estimada, movimiento
predeterminado, no te
preocupes por nadar No necesitamos eso
aquí. Entonces estamos hablando de caminar.
Ahora, ¿qué es un paso? Un escalón es la altura más alta, tu personaje puede
caminar sobre algo. Tienes fricción en el suelo
y velocidad de marcha. Siempre puedes
ajustarlas a tu gusto. Lo que realmente queremos
hacer es cambiar el atasco. Ahora, actualmente, la velocidad del
salto Z es todo de 20 centímetros/segundo Como hemos duplicado la gravedad, para obtener la misma altura de salto, necesitamos duplicar
la velocidad z del salto. Hagamos eso ocho
40 centímetros, perdón, ocho 40 centímetros segundo, que es 8.4 metros/segundo,
lo cual está Ahora
alejemos rápidamente, compilemos, volvamos a entrar y veamos la diferencia
que marca en nuestro salto. Así que fíjate que salta alto y luego baja
al suelo rápidamente. Y ahora tenemos lo que
me gustaría llamar movimiento razonable
para un juego de plataformas Sin embargo, sí necesitamos hacer un
par de cambios. Ahora fíjate, déjame poner mis entradas en la pantalla para que veas lo que estoy presionando. Observe que ahora mismo cuando nos
movemos a izquierda y derecha
en el suelo, nos movemos a cierta velocidad. No obstante, cuando salto, básicamente pierdo, he saltado, estoy presionando, bien, no puedo. He saltado, estoy presionando a la izquierda, apenas ningún movimiento, lo cual no es realmente suave para los plataformas de
movimiento Fíjate si me
mudo, puedo hacer ese salto. No obstante, si no me muevo y salto, no
puedo hacer ese salto. Eso es controlado por
algo llamado control aéreo. Ahora, cuando
volvamos a nuestro héroe, queremos buscar el control aéreo. En este momento, el control de aire
está establecido en 0.05. Vamos a poner eso a. Pongámoslo a uno. Y ahora cuando volvemos
a entrar y
estamos cambiando lo que se siente
al interpretar a un personaje, cuando salto, noto salté y todavía
tengo ese movimiento. Así que cuando estoy aquí, puedo presionar saltar y seguir moviéndome a la
derecha y aún así lograrlo. Ahora, solo esos
pocos cambios básicos, creo que hemos hecho una plataforma lo suficientemente
razonable en términos de plataformas básicas
que podamos tener. Sin embargo, debido a que estamos
usando la filosofía DCAA, ahora tenemos algunas
plataformas básicas que podemos configurar Así es como piensas
sobre las plataformas. Son solo cosas que
el jugador necesita
manejar y puedes
configurarlo de la manera que te
guste en tu juego. Ahora tenemos que averiguar, ¿cómo agregamos algo de arte a las plataformas para
que se vean bien? Y vamos a hacer
un pequeño cambio de cámara en cuanto a cómo se ve
la cámara, y luego vamos
a entrar y ajustar parte del
arte en las plataformas. Ahora para el cambio de cámara, simplemente
volveré al plano
del héroe Seleccionaré la cámara, y un cambio que
me gusta cuando estoy trabajando en plataformas es aumentar
ligeramente la
ubicación de la altura Z de la Permítanme agregar tal vez solo 50
unidades, lo que eso cambia, lo que significa es que ahora cuando miramos cómo
se está mirando aquí al jugador, la cámara está ligeramente
por encima del personaje del jugador. Así que fíjate que no es
plano con el suelo. Lo hemos planteado solo un
poco para que podamos echar un vistazo más fácil a las
diferentes plataformas, que es núcleo ahora
lo que podríamos hacer
además de eso es que podemos ajustar
ligeramente la rotación. Ahora bien, la rotación que vamos a seleccionar es probablemente,
déjame verificar dos veces. ¿Es X? No,
no es rotación X. Debería ser la
rotación sobre este sí. Vamos a rotarlo
hacia abajo en diez negativos. Eso es. En el eje Y en
cuanto a rotación. Lo que significa que la cámara
está ligeramente apuntada hacia abajo. Como pueden ver, cuando
ajusto la rotación Y, puedo apuntarla hacia abajo, lo estoy
haciendo negativo diez. Es algo ligero, pero
solo ayuda al jugador a poder ver más del nivel porque está mirando ligeramente
hacia abajo. Ahora después de hacer ese cambio, en realidad
podemos
levantar la cámara
déjame levantarla hasta
unas 80 unidades. Entonces eso debería
darnos una buena visión
del mundo cuando estamos
mirando hacia abajo. Esto es bueno. Y puedes hacer todo
tipo de ajustes a esto para que se vea
justo para lo que quieras. Como, ahora,
creo que quiero acercar un
poco
la cámara. De negativo 500 a tal vez negativo 450 para que
se vea bien. Y déjame
levantarlo en el cielo a unas 100 unidades
en el eje Z. En el eje Z, está arriba en alrededor
de 100 unidades. Esto es solo para enseñarte, siéntete libre de ajustarlos a algo con lo
que te sientas cómodo. Pero para mí, esto es
bueno para el platforming. Llegamos a ver mucho
de los antecedentes. Llegamos a ver el suelo
de las plataformas cuando
estamos sobre ellas. Esto
es lo suficientemente genial. Bien, ahora en el siguiente video, solo
agreguemos algo de
arte al mundo porque tenemos marcado un movimiento básico de
personajes Tenemos algún
movimiento razonable y saltos, y hemos visto cómo poner
algunas plataformas en el mundo. Hagámoslo en el siguiente video.
26. 25 Cómo agregar recursos de plataforma 3D de Quixel: Todo bien. A la hora de
agregar activos, lo primero
que vamos a hacer es un poco de organización. Así que asegúrate de crear una
carpeta en tu carpeta de contenido, y por favor llámala entorno. También he agregado una carpeta bajo llamada Village porque realmente
quieres
tener tus
activos de entorno organizados y luego crear un blueprint y
llamarlo plataforma Village Y el tipo de
plano que debes crear es un simple plano de
Actor Muy recomendable. Ahora, cuando haces doble clic
dentro de ese plano. Oh, abra el
editor de planos completo, ¿de acuerdo? Observe, es un objeto vacío
simple básico. Y si entro al juego y lo
arrastro y lo pongo
delante del jugador, no
hay nada. Ahora agreguemos en algunos activos
ambientales. Entonces, si eres un modelador de tres D
y tienes las habilidades, simplemente
puedes diseñar tus
propios modelos e importarlos. O puedes agregarlos desde
NRL Engine Marketplace. Personalmente, solo por hoy, voy a mostrarte
cómo usar QuislBdge Ahora en Quisle iniciarás sesión
usando tu cuenta de desarrollador de UnrlEngine Y luego déjame simplemente escribir
bridge ya que estamos en Quisle Bridge y teclear
buscar Y veamos qué trae a colación. Todo esto es núcleo. seleccionar el puente de
piedra japonés, y lo estoy trayendo
en baja calidad. La razón por la que lo estoy
trayendo en baja calidad es porque
este es un juego de 2.5 d, y no lo
cargo con muchos activos
innecesarios en
términos de complejidad Eso pone mucha presión sobre la GPU VA. Eso es una cosa de optimización, pero
puedes hacer lo que quieras. Una vez descargado,
puedes agregarlo rápidamente
al proyecto. Una vez que hayas terminado, agregándolo
al proyecto,
simplemente volveremos. Observe que ahora hay una nueva carpeta antigua de mega
escaneos y entra en ella, Puente de Piedra
Japonés y
haga doble clic en el Puente de Piedra Japonés. Ahora bien, si bien tenemos
este activo aquí, si solo lo arrastramos y soltamos
en nuestro pueblo de plataformas, no
va a
tener ninguna colisión. Entonces lo que quieres hacer
es dentro de los detalles, quieres
buscar colisión. Lo que nos da acceso a
todos los ajustes de colisión. Asegúrese de seleccionar la malla de colisión simple para que
sea su propia malla base, bien. Asegúrese de seleccionarlo para que su malla esté siendo utilizada
para esas colisiones No debería estar en ninguno.
Debe estar en su propia malla. Y luego establezca su complejidad de colisión para usar la colisión
compleja de la manera más simple. Básicamente, se asegura de que
la colisión sólo funcione en la parte donde
hay tres objetos D reales. Es un cambio realmente genial,
simple. El jugador puede
caminar por aquí, pero todo lo demás
tiene colisión funcionando. Ahora con ese setter, volvamos a la plataforma Ahora, dentro de la plataforma, estoy golpeando Control
y barra espaciadora, y solo soy dragón
dejándolo caer ahí. Y con ese arrastrar y
soltar, entremos al juego,
y ahí está. Y cuando le pego a play, el jugador puede caminar sobre
él, lo cual es realmente genial. Lo cual es realmente genial.
Y simplemente podemos obtener esto y copiarlo y pegarlo, y luego arrastrarlo hasta aquí. Entonces ahora tenemos un pequeño puente se está haciendo, lo cual
es realmente genial. Bien, lo cual es muy,
muy genial y muy, muy simple de tener. Y si ahora queremos
empezar a hacer plataformas, podríamos simplemente obtener esta
copia y pegarla, arrastrar esto aquí
y subir esto. A ver si el jugador
puede dar el salto. Viniendo aquí. Boom, y el
jugador puede dar el salto. Esa es la
forma sencilla de importar activos, asegúrate de que tengan
la colisión adecuada para tu 2.5 el juego de plataformas Un último
consejo es tratar de. Hay un par
de cosas más que podríamos hacer con las plataformas, como agregar seguridad en salto, pero no recomiendo
hacer eso Creo que es mejor
probar tus saltos. Es menos dolor de cabeza para ti en términos de corrección de errores
y otros problemas, y es mejor diseñar niveles
limpios
para que cada
salto sea posible. Con eso,
sigamos agregando algo de ambiente al mundo que
podamos
darle vida un poco más. Entonces agregando en un ambiente de tres
días.
27. 26 Cómo agregar activos del almacén de motores irreal para tus entornos: Todo bien. Así que ahora estamos
en la tienda de Epic Games, y ahora nos hemos ido, y hemos
escogido un entorno. Encuentra cualquier ambiente
que te guste. En mi biblioteca, encuentro que tengo un
par de ambientes. Si quieres que sea sencillo, podrías recoger cualquiera de los motores
Unreal muestras gratis Entonces, como ahora mismo
en el marketplace, si entras y
estas cambian semana a semana dependiendo de cuando
recibas este tutorial, hay un cavins gratis Hay un par de otros activos como si hubiera una calle París
estilizada Estos están disponibles
para usted de forma gratuita
para usar en proyectos de aprendizaje, así que siéntase libre de utilizar cualquiera. Por hoy, sin embargo, el
ambiente que realmente
quería agregar fue este ambiente
estilizado, y agregarlo a un
proyecto es realmente simple Simplemente haz clic en Agregar al proyecto. Usted selecciona su proyecto, y lo agregará
al proyecto. Ahora, en el siguiente video, te
voy a mostrar cómo acceder a todos los entornos
aquí en tu proyecto, y nos metemos en uh, pasando de ahí a algunos otros pequeños detalles
técnicos. Ahora, vamos a entrar en eso. Estoy
aquí esperando una descarga. No voy a hacer un video
largo ya que todos esperamos. Sólo tienes
que pasar al siguiente video.
28. 27 Agregar recursos Parte 2: Todo bien. Por lo que he agregado la
sien Infinity Blade al proyecto. Entonces entremos y
veamos qué obtenemos. Entonces ahora notarás que hay
algo del Parque Ambiental dos, que tiene planos,
efectos, mapas, materiales Lo tiene todo, ¿verdad? Pero comencemos con
las medidas, ¿no? Entonces estas son las medidas. Esos son los tres
objetos D que podemos usar. Y si miramos
al mundo ahora mismo, entonces hay un par de cosas. Ahí está el área activa. Y en el juego de 2.5 d, esta línea de aquí es el área activa
donde está el jugador. Y luego está
todo esto por aquí. Ese es el trasfondo.
Y el trasfondo es algo
a lo que queremos añadir algo de vida. Entonces hagamos esto paso a paso. Para empezar, agreguemos
algo de vida al suelo. Así que simplemente
seleccionaremos el terreno. Y en cuanto a materiales, cambiaremos el material. Voy a
buscar un material que sea más el suelo. Entonces déjame buscar terreno. Ahí está el suelo, hay material de presa,
hay tierra de mascotas. Déjame hacer tierra de presa para comenzar. Veamos cómo
se ve esto. Todo bien. Así que ahora, de repente, el suelo debajo del
jugador se ve mucho más granular, mucho más real. Entonces lo siguiente que haremos, agreguemos en algunos
antecedentes. Entonces déjame ver. Entonces, dentro de esto, está este enorme pilar por
aquí. Déjeme agregar eso en. Entonces, incluso solo agregando el
suelo y el pilar, poco a poco
vamos obteniendo un ambiente mucho
más animado. Permítanme agregar un par
de activos más. Voy a añadir una
casita por aquí. Observe que esa es
una casa muy grande. No quiero que esté aquí como una casa grande, la
seleccionaré. No. Interesante. ¿Por qué es eso? Bien. Eso fue definitivamente
una interacción. Voy a mover esto un poco más atrás allá contigo. Entonces tenemos ese gran
templo en el fondo, y así es como
se agrega en activos. Ahora, dependiendo de
lo que quieras y cómo quieras que sea el aspecto de
tu entorno, puedes agregar diferentes
elementos al mundo. Ahora, otra cosa es, te darás cuenta de que
ahora mismo podemos ver los bordes del mundo. Lo que podemos hacer para dejar de
ver los bordes es que puedes seleccionar rápidamente el
objeto de suelo, que es el piso. Vaya a escala y simplemente
lo
escalaremos a unos 50 en todos los lados. Entonces ahora, de repente, está completamente escalado, así que no
podemos ver sus bordes Parece terreno general
yendo a la distancia. Si 50 es demasiado
grande, está bien. Nosotros hacemos 25, seguirá
teniendo el mismo efecto. Alternativamente, podría
configurarlo para que haya
múltiples baldosas de tierra que se múltiples baldosas de tierra que extiendan en
diferentes direcciones. Simplemente no sea demasiado intensivo en
recursos. Ahora bien, tengan en cuenta nosotros como desarrolladores vemos
todo esto sin embargo, un jugador solo
verá esto por aquí. ¿Bien? Ahora, vamos a ajustar el sprite para que encaje un poco mejor con
el mundo tal como es Queremos que tenga un material que le permita proyectar sombras. Como hay tanta
textura por todas partes, tener al jugador proyectando sombras va a ser
mejor para el look. Vamos a meternos en eso
en el siguiente video. Y en realidad, antes
del siguiente video, quiero que sepan
que voy a estar haciendo alguna adición general de activos. No será ningún activo en la línea principal donde realmente está
el juego, solo algunos activos del entorno.
Tú también puedes hacer eso. Es solo escaparatismo para el fondo
al siguiente video.
29. 28 Mírame hacer un diseño de nivel básico y cómo pienso en los niveles básicos: Bien, entonces este video es simplemente un
poco mal acelerando a través de algunos básicos por falta
de una palabra mejor. Ni siquiera
lo llamaré diseño de niveles, principalmente solo colocando
algunas cosas dentro del nivel y solo
ajustándolas. Es ese diseño de nivel,
supongo que eso es diseño de niveles. Pero esencialmente solo usando estos activos y tratando de
posicionarlos de una manera que sea lógica o yendo desde el principio hasta el final
del nivel. Eso es genial. Y entonces solo
quiero que lo haga
tan agujero Oh, espera. ¿Qué? Bien. Entonces estoy usando
mucho del teclado. Déjame incluso mostrar el
teclado, en realidad, porque estoy usando mucha
esperanza y pegando cosas Uh, eh. Bien, eso es genial. Pero entonces quiero, así que ahí está este arco genial. No, estoy borrando eso.
No necesito eso. Esencialmente, solo
quiero tener un conjunto de un par de activos
diferentes que sentido lógico
tener para que haya una
especie de entorno. Bien, eso es sólo un plato. Ahora bien, si la savia bueno que tenemos
alguna continuidad. Y luego
agregaremos algunos acantilados. Voy a rotar estos
porque sin la rotación, no
tienen ningún sentido. Perfecto. Y luego deja caer
esto al suelo, muévalo ligeramente hacia
la izquierda y luego trae esto más
atrás. Entonces tenemos eso. Déjame ver qué vería el
jugador. El jugador verá como rock, y oh, en realidad, déjame cambiar
la posición del sol. Recuerdo correctamente, ajústelo. Solo el posicionamiento
del sol un poco. Oh, para ajustar la
posición del sol, estoy presionando Control L. Solo control y L. Quiero decir, no
puedo tener que sea totalmente oscuro. El color estará bien por ahora. A lo mejor no va a estar tan bien. Por alguna razón, mi sprite
está siendo súper luminoso. Entonces todo lo que voy a hacer es
volver al héroe. Voy a seleccionar ese papel, flip book, enmascarado, iluminado Déjame ver. La iluminación
suele ser lo que es. Oh, Dios mío, no. Déjame ver. Está siendo demasiado brillante. A ver. Color brillante. Déjame bajar su valor de
brillo desde aquí. Ojalá eso ayude a
reducir lo brillante que es. Vamos a ver jugar. No, ayudé un poco,
pero es simplemente brillante. Creo que lo que tengo que
hacer es
ir a la configuración del proyecto. Y luego voy a buscar algo llamado auto exposición. Sí, ya ves que este auto exxposures el
que nos está metiendo Voy a hacer clic en
Auto Exposure off. Y con eso, veamos
cómo se ve el mundo. Sí, esto es mucho más
razonable con Auto Exposure O. Pero ahora déjame ajustar Control L. Déjame ajustar la posición
del sol una vez más. Sí, mucho más razonable. Y ahora echemos un
vistazo a qué material. Está usando un material de máscara con
sprite iluminado. Queremos sprite
sprite lit material. Bien, no
me está enseñando el material aquí, pero para
arreglarlo, volveré aquí. Y luego voy a solicitar, déjame ver los ajustes. Una de las configuraciones
debe ser una de las configuraciones aquí debe
ser Mostrar contenido del motor. Bien, entonces ahora está
mostrando el contenido del motor. Ahora que está mostrando el contenido
del motor, debería ver más materiales. Entonces voy a decir sprite. Tienes que estar bromeando. No, necesito
Sprite iluminado. Oh, sprite. Aunque necesito
asegurarme de que estoy usando el nombre correcto mask
unlit sprite material Y lo enmascaró. Tienes que estar bromeando. Oh, Dios mío. ¿Dónde está el material de sprite iluminado con
máscara Tienes que estar bromeando. Estaba escribiendo este material. Bien, entonces no me está enseñando
eso aquí. Déjame regresar. Volviendo aquí bajo ajustes. Déjame ver. Mostrar localización, mostrar contenido para desarrolladores,
Mostrar contenido para desarrolladores. Eso no debería cambiar nada. En realidad, déjame
ver el contenido del motor. No. No, no
necesito nada de eso. Esto en realidad va
a ser difícil de encontrar. ¿Dónde está ese material? Vuelve al papel héroe, flipbook, busca
sombra proyectada sombra El flipbook es falso, lo he puesto en verdad Entonces, veamos, ¿proyecta
sombras correctamente todavía? Está proyectando una
sombra de algún tipo, pero déjame ajustar el
sol doble check. ¿El sol ya está ahí? Sí. Ahora está proyectando una
sombra algo correctamente. Eso está bien. Eso
va a ser suficiente. Entonces solo el sol una vez más, hombre, déjame alejarme un poco
mientras estoy ajustando esto. ¿Eh? ¿A dónde moví el sol? Ahí está. Camino de regreso ahí. Quiero que venga aquí. Ya sabes, está trabajando en que
básicamente es hacerlo así que el sol se mueve hacia
la dirección negativa. Entonces no estoy acostumbrada a
moverme así. Por eso estoy un poco
luchando. Pero sí, ahí estamos con una sombra adecuada sobre nuestro
despecho y una iluminación adecuada. Creo que esto es mucho mejor. Sin embargo, veamos el espaciado
lógico del mundo. Entonces lo que vamos a
configurarlo como es que lo vamos a hacer para que el
personaje jugador comience aquí. Entonces, ya que está comenzando aquí, permítanme ocultar el contenido
del motor. Eso es traquetear todo. Seleccionaré medidas. Y luego quiero que empiece el
jugador. Entonces el jugador empieza aquí, lo que significa que puedo ajustar esto y hacerlo
negativo 90 grados. Así que aquí es de donde va a empezar el jugador
, ¿de acuerdo? Y entonces quiero detrás de
eso que sea esto. Entonces está claro Oh,
hombre, eso es una especie de activo
terriblemente colocado Déjame conseguirlo
y copiarlo y
pegarlo , traerlo de vuelta aquí. Quiero que quede
claro para el jugador que no hay
vuelta atrás desde aquí. Bien. Pero eso es recorte.
No me gusta ese recorte. Por recorte, quiero decir que
esos dos activos se están conectando de una manera
que no parece natural Entonces voy a traer esto de vuelta. En realidad, lo giro solo
podría hacer eso, y eso resuelve el problema de
recorte Esto se ve un poco más natural. A lo mejor déjame moverlo un poco
hacia adelante. Bien. Perfecto. Así que tenemos. Esto parece razonable. Y luego cuando le pego a play, en realidad, déjame mover rápidamente
el activo del jugador de aquí. Ahora vamos, vamos a seleccionar ese activo del jugador,
moverlo hacia atrás. Quiero que esté justo
aquí. Esto es bueno. He golpeado play. Bien. No está mal. Sin embargo, no me
gusta la colisión de esta cosa. No me gusta su colisión. Déjame ahora hacer una comprobación rápida. ¿Está ajustando el
posicionamiento en la X o Zaxs? Es que parece estar ajustando donde
está el jugador en uno de los ejes. no me gusta porque eso
significa que va a empezar a interrumpir donde está
el jugador Entonces seleccionaré esto de nuevo. Voy a mover su posición. Muévelo solución
aquí para que sea cero, cero en el eje y. Esto realmente puede permanecer
en la misma posición. No va a cambiar nada. Oh, no, está dejando un agujero. No quiero
que haya ese agujero. Vamos a
avanzar un poco esto también. Entonces aquí es donde empieza
el jugador. Pero para protección,
vamos a sumar en algunos límites. Ahora bien, ¿a qué me refiero con encuadernado? Lo que vamos a hacer es que
vamos a agregar lo que queremos que se llame bloque? Sí, este es un volumen de bloqueo. Y vamos a colocar
esto justo por aquí. ¿Está en el lugar correcto? No.
Vamos a moverlo hacia adelante aquí. Básicamente, es un muro
invisible, por lo que el jugador no puede cruzar. Entonces ahora cuando le pego play, el jugador no puede cruzar. El jugador no puede cruzar, lo cual creo que es
genial. Todo bien. Ahora que tenemos eso arriba, voy a
sumar también otra cosa. Creo que voy a
añadir, déjame ver. Vendré aquí
efectos visuales, post procesamiento. Niebla de altura exponencial. Ahora, con esa niebla, veamos. Quiero agregar niebla de altura
exponencial. Densidad de niebla, déjame aumentar
eso Chicos bien. Ah. Esta niebla no está interactuando bien con el
mundo, así que voy a borrar eso. Vendré aquí a nuestra niebla de altura
exponencial de línea base Oh, tiene que ser muy,
camino, muy alto para
empezar a interactuar. Entonces voy a plantear esto un poco. Estoy tratando de
volver a subir al mundo. Fue mi actor principal. Héroe, haz doble clic sobre él
para que pueda volver a levantarme. Bien, entonces seleccionaré la niebla de altura exponencial
y luego dejaré levantarla. Bien, entonces sí, eso
agrega un poco más de niebla. Así que en torno a los 3,000 Perfect. Eso creo que es la cantidad
justa de niebla. Ahora necesitamos
llenar estos vacíos porque hay un agujero en el nivel ahí
que no me gusta. A lo mejor voy a capturar esto. copiaré y pegaré, lo arrastraré aquí, lo traeré de vuelta, y luego lo voy a
rotar un poco para que no
parezca que es
la misma formación rocosa. Haz clic en eso, trae
esto de vuelta también. Veamos cómo se ve de
principio a fin. Parece que ahí hay alguna formación
rocosa. Formación rocosa otra vez. Y sigamos adelante. Mira, aquí hay una
torre de vigilancia como cosa, pero no puedo decir de qué se trata. Estamos solo eso para que esto esté más cerca del suelo
y veamos eso. Después están estas
dos plataformas. Pero quiero que haya
aún más cosas aquí. Copia y pega ese
trapo esto aquí afuera. No, esto no va a quedar lo suficientemente bien. Pero déjame girarlo un poco, ver si encaja. Bien, una especie de
tipo encaja una especie de tipo de ish. Esto es una especie de
sa. Tráelo aquí. ¿Bien? Como que encaja ahí. Alguien notará esta brecha
creo que la gente se dará cuenta. Bien, entonces seleccionaré esto. Haré doble clic en eso, levantaré esto un poco, lo
moveré un
poco hacia atrás para que esa
formación rocosa esté ahí. Yo sólo quiero entonces lo rotemos. El eje X, no. Gírela un poco en
la Y. Sólo un poco. No quiero que el jugador
vea nada raro, pero necesitamos que se llenen todos estos
huecos. ¿Cómo se verá
desde el suelo? Sí, ahí hay recorte, así que lo voy a mover hacia atrás Bien, entonces ahora
no hay recorte. Esto parece una formación rocosa
propiamente dicha. Pero ahora estos dos, voy a seleccionar a ambos
usando turno, traerlos un poco más cerca aquí. Y con esos dos ahí, voy a sumar. Quiero otra malla. Necesito otra malla. Necesito otra malla,
dame algo genial. Creo que qué quiero
escaleras, tal vez otra puerta. No. Lo que quiero es una montaña. Ya que quiero dejarme ver primero si hay una montaña
en estos activos. No. Entonces para que yo
tenga una formación de montaña, solo
voy a hacer
doble clic en esto, empujar esto hacia atrás, y luego
voy a escalarlo. Y luego moverlo hacia atrás,
hacia atrás un poco. Entonces déjame copiar y pegar eso. Y luego voy a arrastrar
esto justo por aquí. Entonces voy a
empujarlo una
vez más para que
coincida ahí arriba. Y luego por último pero no menos importante, voy a conseguir esto, y luego voy a
copiarlo y pegarlo. Pero la pasta, la
voy a mover a lo largo del eje X por ¿sobre qué? Muévelo a lo largo. Déjame alejarme un poco. Déjame
arrastrarlo justo aquí. Que el mundo siga
adelante desde aquí. Arrastra eso. Boom.
Entonces me encargaré de esto. Copia y pega
eso, arrástralo aquí. Voy a darle vueltas
sobre la Y,
acercarla, copiarla
y pegarla otra vez, arrastrarla aquí,
girarla otra vez en la Y. Empujarla aquí y
luego meterla aquí. Ahora bien, creo que
en términos de como diseño de nivel
súper básico o
más bien diseño de entorno, esto debería funcionar. Así que voy a
bajar justo por aquí. Cuando le pego play, el
jugador empieza desde aquí. Realmente no pueden ver
mucho de otra cosa. Esto parece
algo normal. Nada muy sas todavía. Te mueves. Estas son algunas formaciones rocosas. Yo necesitamos agregar algunas plataformas ahí para darle algo de vida. Pero entonces sigues adelante, Oh, estas son las pequeñas
plataformas que estamos usando para probar el salto. Eso es genial. Bien, adiós. Sigue moviéndote. Oh, mira esto. Hay como estas dos estatuas
de piedra por aquí. Me pregunto qué
pasará después. Oh. Oh, esto no está en el suelo, pero eso es fácil de arreglar. Y luego muévete, muévete, muévete. Oh, zona de Bosht. Bien, aguanta. Sostén, aguanta. Entérate de esto. Asegúrate de que esté en
la posición correcta, tráelo al suelo un poco. Déjame seleccionar al jugador.
¿Dónde está el jugador? El jugador, déjeme moverlo a 3 mil, que está
justo por aquí. Lo he hecho avanzar.
Entonces hagamos esta prueba, rap, ra, ra, ra, ra, boom. Y entonces esta zona de aquí
va a ser donde la pelea de
jefes es dura. Y luego habrá que
haber un volumen de bloqueo ahí. Para que el jugador nunca
tenga la idea de cruzar eso. Entonces para hacer eso, déjame
ver qué querría
agregar Déjame simplemente no, no,
no, en realidad. Sí, no, voy a usar esto. No, no
quiero usar esto. Quiero usar otra cosa, algo simple, que
simplemente bloqueará esa zona. Oh, esto se ve bien.
Esto se ve bien. Entonces voy a conseguir que lo
conecte por aquí. Y boom, ahora el
jugador no puede
pasar por aquí hasta que haya
derrotado al jefe final. Ahora también vamos a escalar
eso un poco. Y ahora que está escalado, déjame retroceder un poco Traerlo adelante y perfecto. Esto es. Creo que
esta es la línea de base. Bien, este es un diseño de nivel lo suficientemente bueno
generalizado. Ahora déjenme seleccionar al jugador. Arrástralo todo el camino de
regreso todo el camino de regreso. Por aquí. Yo juego. Entonces aquí es donde
empieza el jugador y retrocede. Bien, un momento,
alguien está en mi puerta. De vuelta de contestar a mi perro. Esto es algo de
desarrollo de juegos realmente normal, por cierto. Um, la vida no se detiene
porque estás buceando en el juego. Bien, entonces cuando
miro esto ahora, no es
lo mejor de mi vida. Pero todos lo hacen, siempre puedes, con más tiempo y más amor, sumar aún más cosas
al mundo. Es genial. Hmm. En fin, sigamos adelante. Y en el siguiente video, vamos a ir
un poco más profundo con plataformas y
ver cómo hacerlo, así
como, ya sabes, gestionar
un sistema de muerte y salud. Esto ha sido un poco diferente. Esto no es realmente
un video tutorial. Espero que hayas aprendido algo. Quería
mostrarte un poco de cómo agregar y organizar
los activos para hacer un nivel. Pero estoy tan segura de que puedes hacer de
una manera más bonita que esta. Y cuando lo hagas, oye,
envíame la foto, ¿de acuerdo? De hecho me interesa. Buen personal, vamos a movernos.
30. 29 Comparte tus comentarios sobre la calidad de la enseñanza y el aprendizaje: Ahora que has pasado algún tiempo en el
curso y aprendiendo, me interesa
recibir tus comentarios sobre
cómo se está
recibiendo la enseñanza y cómo va tu
aprendizaje. Sé lo que significa pasar
básicamente de cerca de la parte inferior
de la clase a la cima. Y qué estrategias se utilizan. Entonces, si estás teniendo algún
reto para aprender, solo comunícate conmigo. Contesto a todos los mensajes
dentro de las 24 horas. Y luego, en cuanto a
mi estilo de enseñanza, por favor dame comentarios
sobre si algo no está claro o no está bien
explicado y demostrado. Realmente es mi
responsabilidad asegurarme que todo el conocimiento
se presente bien y tengas
todo lo que necesitas. Quienes practican todo lo que
se enseña en este tutorial. Además de eso, estamos avanzando
con más lecciones sobre cómo
crear sistemas de combate e
IA para la plataforma 2.5 d. Sigamos adelante y p aprendiendo.
31. 30 Curso Comprobación del conocimiento del progreso: Ahora, en este video, quiero que hagas un chequeo
rápido de conocimientos, y solo necesitas
hacer dos preguntas. Número uno, ¿puedes hacerlo? Número dos, si
no tienes la capacidad de
hacerlo, retrocede,
vuelve aprender y practicar
haciéndolo una o dos veces, y entonces eres
capaz de avanzar. Esta es la clave más
importante y fundamental para aprender realmente las cosas Con eso, repasemos cada una de las cosas que
has aprendido hasta ahora. Así que empezamos
aprendiendo a conseguir Unreal Engine y hacer
un proyecto en Unreal Y luego pasamos
a cómo hacer un nivel básico de desarrollador que sea sencillo para que empecemos a
llenarlo con lo que necesitamos. Y una vez que
terminamos de averiguar cómo configurar ese nivel de
desarrollador, seguimos
instalando papel Z D, que es extraoficialmente
compatible plug in, que vamos
a utilizar para administrar nuestros diferentes activos de sprites
y animaciones Luego pasamos a agregar un
personaje básico de jugador al mundo, que va a
ser lo que estaría usando para interactuar
con nuestro mundo de juego. Esta fue la
configuración inicial sin agregar ninguna habilidad de moverse por el mundo para
el personaje del jugador. Y luego pasamos a cómo
importar arte de sprites
a Unreal Engine Y luego pasamos
a configurar animaciones
inactivas para el
personaje del juego. Una vez hecho eso y
habíamos interactuado con
Unreal Engine, pasamos a algunos consejos
generales sobre cómo planificar tus
diseños de juegos como desarrollador de juegos, que básicamente está
destinado a
enseñarte a reducir
la cantidad de tiempo perderás y concentrarte en las cosas que has
diseñado para tu Y después de eso, pasamos
a comprender cómo funcionan las entradas del controlador dentro del motor Unreal y
cómo utilizarlas. Ahora, con eso marcado, pasamos a cómo agregar
realmente movimiento, movimiento lateral
izquierdo y derecho
al personaje del jugador Y justo después de eso, pasamos
a agregar realmente
la animación para correr cuando el jugador está haciendo
las acciones de movimiento. Y luego hay
múltiples videos sobre cómo
agregar el
sonido adecuado para saltar, aterrizar y moverse en el
mundo a través de correr. Y luego nos adentramos en cómo agregar tres activos D
al mundo, darle algo de vida y cómo trabajar en su colisión para que
sean interactuables. Y el último video fue todo sobre diseño de nivel
general y algunas recomendaciones sobre
cómo organizar tus
activos en tus niveles. Y con todo eso
fuera del camino, ese es el final de los fundamentos
generales del curso. Y ahora que tenemos esa
base trazada. adelante y adentremos en una comprensión mucho más profunda de la IA en el juego, así
como de los sistemas de combate. Si tiene y tiene una buena comprensión de
todo lo cubierto hasta el momento, no
dude en seguir adelante. Si
aún no se ha marcado algo, siéntase libre de regresar y
aprender antes de progresar Con eso fuera del camino, sigamos adelante y sigamos aprendiendo
el desarrollo de juegos. Vamos.
32. 31 Restablecer el nivel de desarrollador en Clear: Ahora para hacer algunos preparativos
rápidos para lo que vamos
a hacer a continuación, ahora
vamos a
apartar y separar
el nivel principal, que es un nivel, que habremos
creado al final de todos estos tutoriales y
nuestro nivel de desarrollador. Ahora te darás cuenta
ahora mismo que tenemos un montón de activos colocados aquí, pero hagamos algunos ajustes. Así que controla la barra espaciadora
ahora mismo bajo niveles. Tenemos un
nivel desarrollador, que es este. Simplemente voy a seleccionarlo, y voy a duplicar. Bien, ahí está la
opción duplicar. Y después de golpear duplicado, voy a llamarlo
001 dash nivel uno. Bien. Entonces ese es su nombre. 001 dash nivel uno. Y después seleccionaré el nivel de
desarrollador. Alejar. Y lo que sí quiero es
eliminar muchos de estos activos. Entonces a nivel de desarrollador, voy a simplemente borrar eso, eliminar eso, no quiero eso. Voy a borrar ese volumen. Quiero que el nivel de desarrollador
sea lo más escaso posible porque quiero que el nivel
desarrollador tenga solo un
puñado de activos Es donde vamos a
estar probando nuestro MAI, no
hay necesidad de que
tenga muchas cosas dentro de él. Siempre es bueno tener
el personal solo para aprender sobre
cómo colocar activos. Ese era el propósito
de ese video. Pero ahora tenemos esto, y luego voy a seleccionar
al personaje jugador, y voy a
ajustar su ubicación en el eje X de menos 8,000, seleccionar a nuestro héroe a cero. Entonces ahora está de vuelta aquí. Entonces he seleccionado el terreno. Y voy a notar
lo que estoy dando click aquí. Va a apenas revertirlo
ligeramente. Entonces voy a
restablecer esa propiedad. He hecho clic en
Restablecer la propiedad, y eso debería ser eso Y ahora que he
restablecido eso por aquí, lo
he restablecido a su material
predeterminado haciendo clic en ese reinicio de
aquí, haciendo clic en eso. Alejemos el zoom. Seleccionaré esa plataforma extra
y la eliminaré. Y ahora volvemos a aquí con solo nuestro personaje básico de jugador. Bien. Ahora, con
esto listo para rockear, sigamos adelante y
adentrémonos en algunos sistemas de combate. Sin embargo, también notarás que si hacemos doble
clic en el nivel uno, eso es Sat, todavía tenemos esto. Entonces, cuando queramos
venir a ver todos estos activos en
juego, podemos venir aquí. No obstante, quiero
volver al nivel de
desarrollador directo, donde desarrollaremos
nuestros sistemas. Esto es. Y siempre
recomendaré tener un nivel desarrollador para
desarrollar los sistemas, y luego puedes agregarlos
a los propios niveles. Eso hecho, sigamos adelante. En el siguiente video,
vamos a crear un sistema de salud sencillo.
33. 32 Cómo crear un sistema de salud sencillo Parte 0: Este es un video actualizado que
muestra cómo
crear un widget. Ahora, lo primero es lo primero, asegúrate de mantener
las cosas organizadas. Tienes una carpeta
llamada interfaz. Ahora aquí, el widget ya
está creado. Se llama Barra de salud, pero esto
te está mostrando cómo crearla. Para crearlo, simplemente
haz clic derecho y luego quieres
bajar a la interfaz de usuario
y seleccionar Widget Blueprint Entonces va a decir, Oye, crea un widget de usuario. Sí, y ahora se crea nuestro
plano, y puedes llamarlo barra de salud Aquí, sólo voy a
llamarlo salud Br dos. Ahora que se crea nuestro Widget
Salud dos, simplemente haz doble clic sobre eso. Ahora nos lleva a la
interfaz del Widget donde llegamos a decidir qué se muestra en la interfaz de usuario cuando
llamamos al widget. Va a tener mucho
sentido en el siguiente video. Sólo tienes que seguir adelante. Lo primero es que queremos
hacer click en Zoom para encajar. Es ese pequeño
icono de ahí. Haz clic en Zoom para
encajar, eso es bueno. Y queremos agregar el primer
elemento de interfaz de usuario para el widget. Vienes a la búsqueda y quieres buscar Canvas. Ahora el panel
Canvas básicamente nos va a dejar arrastrar y
soltar en nuestra pantalla. Se puede ver que toda la
pantalla está aquí. Ahora que tienes la pantalla arriba, simplemente
vamos
a agregar algo de texto, vuelve aquí y
queremos buscar texto, y seleccionaré el texto y lo arrastraré
justo por aquí. Ahora que tengo ese
texto arrastrado aquí, voy a pasar a las propiedades
del bloque de texto y voy
a renombrarlo a barra de Hel Y con eso, he golpeado
Control S para servir, y ahora en el juego, tienes un widget con la barra de salud del texto
que es utilizable. A continuación, entremos en la
creación del sistema de salud.
34. 32 Cómo crear un sistema de salud sencillo Parte 1: Ahora en este video, lo que vamos a
hacer es vamos a crear un sistema de
salud muy sencillo, y la razón por la que la salud es
importante es porque eso es
lo que hace que los juegos sean divertidos, sabiendo que podrías fallar y tu
personaje claro puede morir. Ahora, ahora mismo, nuestro personaje
de línea puede simplemente moverse y atascarse. Vamos a
agregarles rápidamente algo de salud básica. Si nosotros, vamos a cerrar rápidamente todas las demás ventanas y
abrir el jugador ¿verdad? Iremos y seleccionaremos
el plano del jugador,
bien, ahora mismo se llama Héroe ¿Por qué es este sonido de salto inclinado? Debería ser sonido de
aterrizaje de salto, ¿de acuerdo? Ahora que estamos fuera
de eso. Todo lo que vamos a hacer es que vamos a
sumar un número o más bien variable que contendrá
la salud del jugador. Entonces ahora mismo, vamos a ir a
las variables, que está por aquí. Haremos clic en AD. Seleccionaremos
en lugar de Bolean, vamos a configurarlo como un entero ¿Bien? La razón por la que queremos configurarlo como un
entero es porque solo
queremos hacer la
salud 100 y luego aquí, en vez de llamarlo NUVA, llamémoslo salud del jugador Bien. Y ahora que tenemos eso ahora para agregar el
widget a la pantalla, simplemente
comenzaremos desde el segundo nivel de la
secuencia por ahí. Lo arrastraremos y
vamos a escribir Crear Widget, lo que va a llevar a
ese guiño de Crear Widget Y luego es
pedir una clase. Simplemente escribiremos Health Bar que es la
clase que creamos. Y luego una vez
que hayamos terminado con eso, simplemente arrastraremos esto, y luego simplemente vamos a
escribir add to view port, que va a mostrar esto. Entonces agregaremos eso a la ventana gráfica y luego
devolveremos el valor, lo
arrastraremos
al propio objetivo Y con solo eso, bien, con solo eso,
compilamos, hemos golpeado Compile, y luego entramos en el nivel de
desarrollador, y cuando pulsamos play, ahora, notamos en la esquina superior izquierda, hay texto que
dice barra de salud, y ahora tenemos ese widget. Cambiémoslo
de algún texto a una barra de salud real
numéricamente hablando, y luego
descubriremos cómo agregar
algún daño para que podamos ver que esa
barra de salud clara va bajando
35. 33 Cómo crear un sistema de salud sencillo Parte 2: Ahora una barra de salud, sí, volvemos al widget de
barra de salud que tenemos. Una barra de salud es fundamentalmente
una barra de progreso. Una manera fácil de acceder es simplemente voy
a escribir progreso. Ahí estamos. Tenemos
nuestra barra de progreso. Voy a conseguir esa barra de progreso, y la dejaré caer
en el panel de Canvas. Bien. Ahora, déjame
moverlo por aquí. Ahora tenemos esa barra de progreso. Déjame moverlo justo aquí arriba. Déjame extenderlo un poco, ya
sabes, aumentar su ancho. Entonces esta barra de progreso va a ser lo que
contenga nuestra salud. Lo único que
vamos a
cambiar para empezar es
simplemente después de hacer clic en él, simplemente lo
cambiaremos para que sea rojo. Cambia su color para que sea rojo. Eso es todo lo que necesitamos por ahora. Y luego le vamos a hacer algunos ajustes menores. El grande estando
en la zona superior,
fíjate que hay una
opción para hacerla variable. Lo haremos variable. Y entonces lo vamos a
llamar jugador barra de salud. Así es como lo
vamos a llamar. Ahora que nuestra
barra de salud para jugadores lleva el nombre correcto aquí, tenemos el texto
que dice barra de salud. Tenemos la barra de salud del jugador, y tenemos nuestro lienzo listo. Ahora podemos pasar a
ajustarla para que el jugador vaya a ser lo que controle
hasta dónde está esta barra de progreso. Como es ahora mismo, si entramos en el
nivel de desarrollador y golpeamos play, notemos que la barra de salud
no está mostrando ningún progreso, que en realidad no es
lo que queremos. Queremos que esta
barra de progreso
coincida con la
barra de salud uno a uno. Entonces, para hacer eso, necesitamos
vincular estos dos hacia arriba. Entonces volveremos a entrar en el héroe. Y lo que realmente queremos es que este widget de barra de salud esté
conectado con el componente entero de
salud del jugador. Entonces, dentro del plano de los
personajes del jugador nuevamente, iremos y
miraremos el punto en el que todo se sigue agregando a la ventana, que está Así que justo después de crear
el widget de barra de salud, lo
agregamos a la ventana Esta vez, vamos a sumar en un par de pasos intermedios. Entonces lo primero que vamos a
hacer es extender el espacio aquí porque va a
haber
mucho más sucediendo. Y desde el widget Crear barra de
salud, que es que
vamos a salir. Y desde el widget Barra de salud, ten en cuenta que este widget de
barra de salud va a contener toda
esta información. Tiene acceso a este texto, y tiene acceso a
la barra de salud del jugador que ahora hemos convertido en una variable para que podamos acceder a ella. Entonces a partir de aquí, primero vamos a crear una nueva variable. Crear widget Salud B, si haces clic derecho, va a
haber
una opción aquí llamada promover a variable, selecciónala. Ahora bien, lo que
hace promover a variable es que crea
una nueva variable. El cual va a
ser un elemento separado que almacena los
datos del widget. Espero que eso tenga sentido. Si no lo hace, no te preocupes, te
acostumbrarás en Unreal Engine Y vamos a llamar a
ese widget de salud del jugador. Así es como
se va a llamar esa variable. Ahora, ahora que tenemos
aquí
este widget de salud del jugador y es una variable, rompamos rápidamente este enlace y rompamos
este enlace también. Ahora tenemos nuestro
widget de salud del jugador justo aquí. Ahora, lo siguiente que
vamos a hacer es que vamos
a alargar del widget de salud del
jugador. Y lo que queremos es que busquemos la barra de salud del jugador. Entonces simplemente,
ya ves eso, conseguir barra de salud
del jugador. Entonces ahora tenemos la barra de salud
del jugador. Y para mayor claridad, la barra de salud del jugador
es esta barra de aquí, y es la misma barra de
salud del jugador de aquí que convertimos en una variable
para que podamos acceder a ella. Ahora, ahora que hemos llamado
a esa barra de salud de jugador, vamos a alargar
esto y
queremos establecer el porcentaje. Ahora bien, esto de aquí mismo, aviso establecido por ciento es
lo que queremos hacer. Entonces simplemente fijaremos
por ciento y si miramos, está buscando un porcentaje
para establecer también la barra de salud. Ahora, este porcentaje establecido por
aquí, ¿de acuerdo? Ese justo allá
va a ser lo que
usemos para cambiar la cantidad de
salud en esa barra de salud. Ahora bien, para hacer
eso de manera efectiva, pongamos esto por aquí. Permítanme arrastrar esto por aquí
para fines de organización. Y así después de crear
ese widget, vamos a arrastrar esto aquí. Espero que pueda ver esto con claridad. Entonces después de crear ese widget, lo
vamos a establecer como un porcentaje, y luego terminaremos de
agregar a viewpot y luego simplemente
conectaremos esa barra de salud, más bien, perdón,
obtendremos ese valor de retorno, y va a ser el
que agreguemos al viewpot Ahora, espero que todo
esto tenga sentido. Me estoy tomando esto lo más despacio
posible porque hay
muchas cosas que estamos manejando. Lo siguiente que
vamos a hacer
es que vayamos a
la salud del jugador. Actualmente, la
salud del jugador se configura como un entero y se
establece en 100. Simplemente vamos a hacer un ajuste en lugar
de un entero binario. Ya que necesitamos
usarlo como porcentaje, vamos a configurarlo como flotador porque lo estamos
cambiando a un porcentaje. Y luego vamos a conseguir la salud del jugador y la
vamos a
alargar y queremos conseguir salud
del jugador y luego
arrastrarla de nuevo. Y queremos buscar la
función llamada divide. Y deberías ver eso.
Entonces queremos usar divide. Y queremos dividir por 100 porque así es como se
obtiene un porcentaje. Y ya que 100 es la cantidad máxima de
salud que tiene el jugador, y entonces voy
a arrastrar esto
al porcentaje y eso es
esencialmente todo lo que tenemos que hacer. Ahora, vayamos paso a paso. Así que desde el punto evento
comenzar secuencia
de reproducción, lo primero que hacemos es
crear un widget, barra de salud. Y entonces simplemente vamos configurarlo como una variable
llamada player Health widget. Vamos a apuntar a la barra de
salud dentro de ella, y queremos
establecer su porcentaje. Ahora vamos a conseguir
la salud del jugador. Esa es la variable
dentro del jugador. Lo dividiremos por 100
para obtener el porcentaje. Va a ir ahí en el porcentaje que solíamos
establecer como barra de salud del jugador, y luego agregamos a la ventana Espero haberlo tomado
realmente paso a paso. No quiero que te
pierdas nada. Ahora vamos a compilar eso, y cuando golpeemos play, notemos que ahora la barra de salud está llena. Tenemos una barra de salud completa, y si volvemos
al héroe, seleccionamos al jugador infierno, y lo ajustamos para que
el valor predeterminado sea 90, compilamos. Ahora fíjate que está 90%
lleno, está 90% lleno. Si vamos y configuramos
el valor por defecto a diez, Ahora, está 10% lleno. Entonces ahora tenemos una barra de
salud de trabajo donde la variable de salud del jugador determina qué tan llena está
esa barra de salud. Ahora, volveremos a entrar. Permítanme configurar esto en
una línea de base de 100. Entonces comenzamos con una barra de salud
completa. Bien, empezamos con
esa barra de salud completa. Y ahora, a continuación,
vamos a crear algunos obstáculos simples donde cuando el jugador
golpea ese obstáculo, cambia la cantidad
de ayuda que tiene el jugador. Hagámoslo en el siguiente video.
36. 34 Crear un sistema de salud sencillo Parte 3 Agregar un objeto dañado: Ahora que tenemos una barra de salud
básica en nuestro personaje jugador, vamos a agregar de
manera sencilla para dañar al personaje. Entonces después de presionar la barra espaciadora de
Control, he creado una nueva carpeta, y he llamado a esta
carpeta objeto de daño, para que podamos tener un solo lugar para poner en ese objeto de daño. Ahora, dentro de esa carpeta, simplemente
escribiré click y quiero crear una clase de
blueprint Y en cuanto a lo que es, sólo
voy a
llamarlo actor de Blueprint, y luego sólo voy
a llamarlo daño Objeto Porque esto va a ser
algo muy sencillo de tener. Así que haciendo doble clic en
el objeto dañado. Ahora voy a agregar en un
cubo al objeto dañado. Entonces ahora hay un cubo
a su alrededor, lo cual es bueno. Y con eso, entro en
el nivel de desarrollador, y luego solo quiero colocar este cubo
en algún lugar del mundo. Entonces lo he puesto en algún lugar del mundo justo
delante del jugador, asegurándome, claro, que esté en el eje derecho, en
la posición correcta. Ahora cuando intento acercarme a
él, no pasa nada. Sin embargo, voy a entrar en esto. Ahora, voy a agregar
una caja de sombreros a su alrededor. Así que simplemente haremos clic en Agregar. Y luego lo que queremos,
queremos agregar en un
colisionador de cajas, en realidad Vamos a agregar en un colisionador de cajas. Entonces el colisionador de cajas
está ahí ahora mismo. Simplemente voy a escalarlo. Para que sea solo aviso puedo hacerlo demasiado
grande, eso no es bueno. Justo afuera de la caja, ¿de acuerdo? Justo afuera. Eso es perfecto. Y luego en cuanto a colisión, voy a teclear colisión. Ahora, quiero que no
sea dinámica de solapamiento. Quiero configurarlo para
que esté configurado para que se superponga solo
al peón Esa es una muy buena
opción para seleccionar, para que ese colisionador
sólo detecte el peón Con eso hecho, simplemente
compilaremos y luego
entraremos en el gráfico de eventos. Ahora, dentro del
objeto mismo, tenemos este colisionador de cajas Simplemente voy
a conseguirlo y luego hacer clic
derecho y luego agregar evento, y luego en componente, comenzar a superponerse. Este
es el que queremos. Entonces va a que
va a sacar esto a colación. En componente comienzan
solapamiento, ¿verdad? Esa caja. Entonces una vez que tenemos esto
aquí en componente, comenzar a superponerse,
ahora queremos saber, qué componente se
superpone y qué hacemos? Entonces comencemos con algo sencillo. Vamos a arrastrar esto. Y entonces diremos
destruir Actorself. Eso es todo lo que va a hacer. Una vez que empecemos a superponerse, ahora se va a destruir rápidamente para probarlo. En realidad, antes de continuar, hagamos un cambio. Ya hemos establecido comenzar a
superponerse, destruir el yo actor. Pero hagamos
otro ajuste, seleccionaremos nuevamente el
colisionador de cajas y cambiaremos de
solapamiento en el pn Vamos a cambiarlo de eso. Nos superponemos todo dinámico. Para que esto sea un
poco más confiable. Entonces ahora, cuando golpeas play, desaparece, se
destruye a sí mismo Así que hit play se destruye a sí mismo. Ahora, volvemos
al objeto dañado. Si rompemos este vínculo, cuando entremos, fíjese en eso. Ahora se queda ahí. Pero sabemos a sabiendas que la caja de sombreros a su alrededor
está funcionando. Esa es una buena manera de
testificar caja está funcionando. Se destruye a sí misma. Ahora, con esa configuración, hagámosla ahora para que cuando
se superponga con el héroe, le haga daño al héroe Bien. Entonces con eso en mente, volvamos aquí de vuelta
al objeto de daño, y queremos agregar
algunos nodos más. Más nodos. Aquí es
como lo vamos a gestionar. Ahora, el motor irreal incorporado tiene un par de funciones
simples que son útiles para saber cuándo se han aplicado
daños Ahora hay muchas
formas de aplicar daños. Vamos a usar
el más simple. Ahora, eso es simplemente con un
nodo llamado aplicar daño. Ahora bien, fíjate que cuando
traemos daños aplicados, tiene un par de
otras conexiones. Ha dañado actor,
el daño base, instigador de
eventos casa,
ninguna de esas cosas mucho sentido
para nosotros en este momento Lo único que queremos
ajustar es el daño base, que es un número, así que lo llamaremos
diez. Es un flotador. Ahora simplemente tenemos que decidir
sobre el actor dañado, que va a ser el héroe, y luego ya terminamos. Entonces simplemente entraremos, y entonces el otro
actor lo arrastrará
y lo echaremos a héroe. Oh, lo siento, lo neblé. Elenco a héroe. Y ahí estamos porque
entiende que hay un personaje llamado
el héroe. Y ahí está. Así que hemos echado a héroe listo. Y como héroe, esto no
es importante.
Primero conectaremos esto. Entonces el actor dañado
va a ser el héroe, y el daño base
va a ser diez. Y luego una vez que hayamos
terminado con eso, destruiremos al actor. Con eso, vamos a compilar
rápidamente. Ahora, fíjate que cuando
volvemos al juego, si le pegamos,
simplemente desaparece, pero no hay daños claramente indicados
en la barra de salud. Eso es porque la
barra de salud mientras que el héroe. La barra de salud se ha actualizado
sólo en el evento comenzar a jugar. Observe que a partir
del
evento comenzar a jugar, lo primero que
hacemos es configurar la barra de salud y
configuramos su porcentaje. Entonces simplemente necesitamos agregar
otra función, que va a mantener actualizada
la barra de salud. Hay muchas maneras de hacerlo. Este es el último procesador
intensivo que es bueno para usar. Entonces déjame copiar eso
y pegar esto. Añadiendo en un comentario, por supuesto, puedes hacer un comentario
simplemente presionando C. Bien. Pero solo me gusta a veces, ya que ya tiene los ajustes de
estilo que quiero, entonces esto simplemente se
va a llamar actualizar Barra de salud sobre daños. Así es como se llama. Y luego dentro de aquí, simplemente
añadiremos en una función. Se llama a cualquier daño. Entonces queremos cualquier daño. Sí, esto es lo
que queremos. que ese evento suceso sobre cualquier daño. Arrastra esto por aquí. Ahora, una vez que tengamos listo
el evento sobre cualquier daño, simplemente
arrastraremos esto, y luego ahora queremos comenzar a ajustar el valor de
salud del jugador. Por lo que de inmediato se ha hecho el
daño. Lo primero que queremos hacer,
vamos a alargar la salud del jugador. Consigamos la salud del jugador. Empezamos por conseguir
la salud del jugador, y luego la vamos
a alargar, y vamos a restarle Restar. Ahora con ese funcionamiento
restar, vamos a vincular el daño a lo que queremos que reste Por lo que estamos restando
el daño que se ha hecho a la salud del jugador
. Muy importante. Una vez que hemos restado el daño hecho a
la salud del jugador, queremos alargar
ese valor y
queremos dividirlo y ¿por qué lo
estamos dividiendo Lo estamos dividiendo por 100. Bien, porque queremos que
se establezca como porcentaje. Y ahora que tenemos eso, ahora
tenemos el porcentaje de salud que el
jugador tiene ahora mismo. Déjame traer esto por aquí. Trae esto por aquí.
Entonces lo que vamos a hacer es que vamos a conseguir el
widget de salud del jugador y traerlo. Quiere obtener el widget de salud del
jugador, y luego queremos arrastrarlo, y queremos
buscar la barra de salud del jugador. Queremos obtener la
barra de salud desde dentro del widget. Bien, estamos obteniendo la
barra de salud del jugador de la pantalla, y luego simplemente queremos
establecer su porcentaje. Bien. Entonces queremos
establecer el porcentaje, y vamos a arrastrar el porcentaje como el daño
que se acaba de tomar. Y eso va a ser eso. Entonces con eso, podemos
simplemente con eso en mente, ahora
podemos simplemente conectar
evento en cualquier daño. Queremos actualizar
ese porcentaje. Déjame repasarlo una vez más. En el objeto de daño, queremos lanzar al héroe, ese es el personaje del jugador. Bien, quiero lanzar al héroe, ese es el otro actor. Es el actor dañado. Y luego después de eso, se
va a destruir a sí misma. Eso es lo que va a hacer nuestro
objeto de daño. Y luego en el lado del
personaje del jugador, claro, el mejor daño se ha establecido
en diez en el lado del héroe, en cualquier daño, eso significa que
cuando se recibe algún daño, obtenemos ese daño, lo
restamos de
la salud del jugador Dividimos eso por 100. Y luego venimos aquí y
luego widget de salud del jugador, queremos actualizar
el porcentaje. Y en realidad, falta
una cosa más. Porque mientras estamos
dividiendo la salud del jugador, aún no
hemos
actualizado correctamente la salud del jugador. Así que vamos a arrastrar esto un poco. En el medio de
cuando restamos, simplemente
vamos
a establecer la salud del jugador Entonces este valor, arrastrarlo hacia arriba
ahora va a ser el nuevo valor para la salud
del jugador. Y entonces ese
valor de salud del jugador va a ser el que esté conectado como el
porcentaje establecido para la barra de salud. Espero que esto tenga sentido. Por favor, si no tiene
claro sentido, repasarlo otra vez. He tratado de ser lo más
preciso posible. Entonces con eso, vamos a
probarlo en juego. Entonces ahora, cuando repaso el objeto
dañado, ahí estamos. Mi barra de salud se ha reducido. Ahora, digamos que consigo que estos
objetos tienen copia pegada. Ahora son dos, copiar y pegar. Ahora son tres, copiar y pegar, déjame alejar un poco y arrastrar esto aquí,
cuatro, copiar y pegar, cinco, y luego 67, ocho, nueve, diez. Bien, entonces he hecho
diez objetos dañados. El primero ha reducido la salud
del jugador en un 10%. Segundo, 20, 30, 40, 50, 60, 70, 80, 90 y 100%. Ahora hemos encontrado cómo aplicar el daño al
jugador y
asegurarnos de que la compra de salud
esté actualizada correctamente. Ahora, en el siguiente video, vamos a agregar en
una simple pantalla de muerte, y luego
profundizaremos un poco más en la IA después de eso. Entonces en el siguiente
video, estamos haciendo una pantalla de muerte para que cuando el jugador haya ido por debajo de
cierto porcentaje en salud, esté muerto, que
es lo que queremos. Vamos.
37. 35 Verificar si el jugador está vivo o muerto al recibir el daño: Bien, ahora que tenemos a
nuestro personaje teniendo su salud ba
poder ser agotada por objetos Ahora agreguemos un
simple estado de muerte. Entonces lo comprobaremos. Y una vez que la
salud del jugador va por debajo de cero, decimos, el jugador
ha pasado. Entonces, para hacer eso, volvamos
al plano del héroe. Apagemos
esto rápidamente por aquí, alineemos estos y
organicémoslos para que se vean bien. Sólo un poco de pulcritud. Sabes, va un
largo camino con esto por aquí y esto por aquí, y esto por aquí. Ahora, recuerda que esto es
Actualizar barra de salud sobre daños y luego lo conseguiremos. Y entonces sólo voy
a copiar ese diálogo. Por supuesto, como
siempre, puedes hacer otro cuadro de comentarios simplemente
presionando C, pero me gusta cierto
estilo con texto
negro porque eso es
más legible para mí. Y entonces esto va a
ser comprobar si la capa está viva. Eso es todo lo que va a hacer. Entonces justo después de que haya hecho eso, lo que quiero hacer, déjeme arrastrar esto por aquí para
darle algo de espacio. Y entonces voy
a arrastrar esta secuencia de tipos porque
quiero que este
sea un nodo de secuencia básica. Y luego voy a arrastrar
esto por aquí. Y entonces lo que quiero
hacer es buscar una sucursal BRA NCH sucursal, ¿verdad Ahora esta rama
básicamente va a ser lo que verifique para ver si el jugador
sigue vivo, y ¿cómo vamos a hacer eso? Es bastante sencillo.
Vamos a arrastrar en la salud del jugador y queremos conseguir
la salud del jugador. Entonces lo que queremos
hacer es que queremos
buscar menos que o igual,
menos que igual. Eso lo conseguiremos si es
menor o igual a cero, esa será nuestra condición. Lo que eso significa es que si la salud del jugador es
cero, esto es cierto. Si la salud del jugador
es menor que cero, esto también es cierto. Ahora, con eso,
digamos simplemente,
Oye, si es falso, comencemos con algo
sencillo como una cadena de impresión, y diremos que vamos a escribir letras mayúsculas
en vivo, ¿de acuerdo? Entonces controlemos
pegar eso por aquí. Si es cierto que es
menor que igual a cero, podemos simplemente escribir dead. Solo estamos haciendo eso
para simplificar la comprobación si esta comprobación básica de sucursal
está funcionando correctamente. Con eso, vamos a
compilar volver
al nivel desarrollador vivos,
vivos, vivos, bien. Sigue diciendo
vivo, y luego muerto. Se puede ver en la
esquina superior izquierda de su pantalla, está el texto
que decía muerto. Entonces ahora tenemos una
buena manera de detectar que el jugador esté vivo o muerto cuando
termine de recibir daño. Ahora que tenemos
eso, sigamos adelante
y de hecho agreguemos en
una simple pantalla de muerte.
38. 36 Cómo crear una interfaz de usuario de pantalla de muerte: Ahora, para agregar en una pantalla
de muerte, lo primero que
vamos a hacer es crear un nuevo objeto UI. Va a ser muy similar a cómo creamos
la barra de salud, que está por aquí, y hagámoslo. Así que he pulsado
Control y barra espaciadora. Y ahora estoy buscando adentro, y estoy aquí en
la carpeta de contenido. Voy a
crear déjame revisar dentro del personaje dentro
del jugador bajo Interfaz. Este es en realidad un muy
buen lugar para poner esto. Y bajo interfaz,
tenemos nuestra barra de salud. Voy a crear
un nuevo widget. No me dejes buscar aquí. Interfaz de usuario, plano
Widget. Es un widget de usuario, y luego vamos a
llamar a esta pantalla de muerte. Bien. Entonces pantalla de muerte. Ahora con eso, hagamos doble
clic en la pantalla de la muerte. Pongámoslo en la ventana principal para que
no tengamos que saltarnos. Y luego igual que antes, lo primero que
vas a poner,
quieres poner en un panel de Canvas
y luego hacer clic
en Zoom para que quepa, ¿bien? Esta batuta hera Zoom para caber. Este, Zoom para caber. Por lo que se acerca y
hace que encaje en la pantalla. Ahora, solo por simplicidad, vamos a agregar
un fondo de imagen. Bien. Y en cuanto a anclas, anclemos a la esquina
superior izquierda Le daremos posición
cero y cero. De este lado, lo
haremos cero y cero. Tamaño, voy a
hacerlo en realidad,
no, déjame alinearlo
a través de todo. Y luego estoy usando esta
, esta de aquí. Esto va a ser bueno para que llene toda
la pantalla. Presiona eso. Y
luego en el offset, voy a compensar cero
y compensar cero. Todo bien. Ahora, por el color y la opacidad, voy a hacer doble clic Quiero que su color sea negro. Y luego es la opacidad. Opacidad es este valor menor, RGBA, A es para Alfa u Quiero bajar eso a
tal vez algo así como 0.4. Va a actuar como un bonito fondo
oscuro. Eso es bueno. Ahora con esa imagen de
allá, solo compila. Lo siguiente que
vamos a hacer es que queremos añadir en algún texto. Entonces vamos a conseguir este texto, arrastrarlo y soltarlo por aquí, y dentro del texto, diremos que el jugador está muerto. Ahora, por supuesto,
realmente puedes poner el
texto que quieras Esto es sólo para
demostrar cómo lo haces. Ahora con ese texto por aquí, voy a seleccionar el
ancla en el medio. Voy a cambiar su
posición a cero, cero, y luego su tamaño
en X, veamos,
permítanme cambiar su tamaño aquí a 300 y tamaño Y también a 300. No, déjame ponerme esos 100 y luego solo
alinearlo por aquí Es texto básico. Ahora, para aumentar el
tamaño del texto, volvamos aquí de vuelta a
donde están las propiedades. Vamos a escribir tamaño. Va a mostrar el
tamaño de fuente del texto. Déjame aumentarlo a
algo así como 80. Sí, 80 es bueno. Oh, lo siento, hice clic
en algo equivocado. Déjame hacer clic en eso otra vez. Bien. Excelente. Ahora,
tengo que asegurarme. Oh, no, se apila. Todo lo anterior está
abajo, no hay problema. Ahora, Control S para ahorrar. Vamos a compilar rápidamente. Ahora tenemos alguna pantalla de muerte muy
básica. Pero esto no es lo suficientemente bueno. Agreguemos algo
un poco extra. Estamos volviendo al arte
dentro del aventurero. Déjame ver. ¿Tenemos algunos sprites de
la muerte? No, nosotros no. Voy a agregar
en déjame solo agregar en la animación de diapositivas de
pared, lugar de
deslizar la pared por aquí. Y estoy presionando déjame ver. No, necesito escalar
este tobogán de pared. Ahora que he seleccionado
el tobogán de pared, haz acto de presencia.
Esa es la apariencia. Ahora he seleccionado su talla. En este momento está establecido en 140. Déjame configurarlo a algo aproximadamente el doble de eso,
lo que significa 280. Bien. Todavía no lo suficientemente grande. Creo que déjame hacer esto
ahora 400 y 160 pixeles. Bien. Sí, esto funciona
razonablemente bien. Pon esto por aquí. Entonces esta es nuestra pantalla de escritorio. Actualmente. Agreguemos
en una cosa más, que es un simple botón. Oh, no está en la jerarquía. Tengo que buscar por
aquí, buscar botón. Y luego vamos a arrastrar y soltar este botón
justo por aquí. Aumentar su tamaño bit. Ahora voy a conseguir eso
y agregar en otro botón, sólo para copiarlo
aquí. Esto es bueno. Entonces tenemos una imagen simple
que envía un mensaje de texto a un jugador está muerto, y tenemos dos botones. Fresco. Ahora que
tenemos nuestros dos botones, agreguemos algo de texto. Añadiré el texto
al primer botón, y luego volveré a arrastrar ese texto
al segundo botón. Observe cómo se ha
posicionado automáticamente en el medio. Y para el primer bloque de texto, seleccionaré su texto por aquí. Diré que el texto
dirá reiniciar. Y entonces el último
bloque de texto se va a llamar salida.
Eso está en el texto. Ahora para los botones, voy a cambiar este
botón para que el nombre del botón en sí de aquí se
vaya a llamar salida. Y luego en el reinicio, el nombre del botón en sí, lo
voy a cambiar para
reiniciar, reiniciar, ¿de acuerdo? Ahora con eso cambiado, cuando se trata de la orden, note que el texto no
es importante. El verdadero nombre que importa
es el nombre en el botón. Ahora que tenemos eso marcado, organicemos
estos para que se mantengan alineados entre sí Entonces vamos a buscar algo que se llama caja vertical. Bien. Ahora vamos a conseguir esa caja vertical y la
arrastraremos a la escena. Y en cuanto a anclas, queremos anclarlo
a la cuarta medalla Arriba, un momento. Todo bien. He resuelto la convocatoria y todos los retos
que planteó. Me encanta ser útil. Y cuando estás en desarrollo de
juegos, tienes que mantener
tu vida organizada. Ahora, volvamos al tutorial. Ahora que he puesto en
esta caja vertical, Aviso, no hay nada
dentro de ella todavía, ¿de acuerdo? Oh, Dios mío. Alejar. Estaba distraído. Ahora que
tengo esta caja vertical, he seleccionado la caja vertical. Vamos a abrirla. Es, creo, una buena talla. Queremos poner muchos elementos
dentro de la caja vertical. Queremos que estén dentro de él para que los organice. Ese es el propósito de una caja
vertical en general. Organiza elementos
dentro de sí mismo. Ahora, pongamos los elementos
dentro de la caja vertical. Acercándonos al área jerárquica, simplemente
apretaremos esto. Todo lo que vamos a
hacer es que vamos a conseguir estos dos botones, y los vamos a dejar caer
en la caja vertical y luego obtendremos esta imagen del jugador está
muerta y esa imagen, que debería ser el
pequeño gráfico
del jugador y dejarlos
caer también en la caja vertical. Y ahora cuando retrocedamos el zoom, oh, mira esa organización. Han cambiado su orden. Han cambiado de tamaño. Entonces ahora necesitamos ajustar el tamaño y el orden
para que tenga sentido. Para empezar,
arrastraremos el texto. Entonces, para arrastrar el texto, quiero que los jugadores muertos
sean lo segundo. Entonces seleccionaré el texto de los jugadores muertos dentro
de la caja vertical. Lo pondré aquí arriba, y ahora mira, está en la parte superior. Entonces volveré
a esta imagen. Lo arrastraré encima del
texto, y lo detendré. Oh, no, va demasiado lejos. Ponlo sobre el
texto ahí estamos. Y ahora la imagen
viene primero, la imagen es primero, y el
texto, luego los botones. Esto es exactamente lo que necesitamos. Ahora que estos están
organizados de esa manera, comencemos fijando el tamaño de
la imagen. Entonces he seleccionado la imagen, y en el lado derecho, noto que está ajustada a alineación
vertical y alineación
horizontal. Entonces estableceremos su alineación
vertical para centrar horizontalmente. Y apenas de hacer clic en el
centro horizontalmente, ha dejado de
ser oprimido, bien. Y ahora que no
se está estirando, sigue siendo pequeño, pero
no se está estirando. Ahora, voy a seleccionar la
imagen una vez más, y queremos cambiar su
tamaño sólo un poco porque no
queremos que sea esta
cosita diminuta de aquí. Entonces cambiemos ahora su
tamaño y hagámoslo grande. Entonces la imagen seleccionada, ahora
queremos que
sea mucho más grande. Simplemente seleccione la imagen. Y luego en el panel de
propiedades,
fíjese ahí está el pincel. Entra en el pincel, y luego está el tamaño de la imagen. Entonces simplemente cámbielo de 32 por 32 a algo así como 200 por 200. Eso debería darnos una imagen de tamaño mucho
más razonable. Esto me gusta mucho.
Hagámoslo aún más grande. Hagámoslo 300, 300. Eso es bueno. Hagámoslo aún más grande. Hagamos 400 por, 400, 300 parece hacer
que aparezca claramente. Este es un buen tamaño de imagen. Ahora, da clic en el
texto de Play is dead. Asegurémonos de que la alineación
horizontal de aquí está en el medio. Y con eso, estamos contentos. Entonces ahora
seleccionaremos el botón. Lo primero que
vamos a hacer es que necesitamos cambiar el
color de estos botones. Creo que cambiemos el
color a algo así como, ¿bien? No, ese es el botón. El color del texto, resto
control Z para cambiar eso. Cambiar el
color de fondo a algo un poco más Eso está bien. Los botones pueden ser completamente negros. Creo que estoy bien con eso. Pero con texto en blanco, que siempre es bueno
para la legibilidad Soy un gran creyente en
fondos negros, texto blanco. Y ahora agreguemos
algo de espaciado entre el jugador en
medio la jugada está muerta. Seleccione el texto reproducido muerto. En el lado izquierdo, hay
una opción llamada padding. Bien. Esto es. Y queremos agregar un poco de
relleno al fondo. Agreguemos unos 200 píxeles, lo que da esa
cantidad de espacio, eso es demasiado, 50 píxeles. Perfecto. Entonces solo 50 píxeles de relleno inferior
está haciendo el trabajo. Y ahora tenemos nuestros botones. Entonces seleccionaré dos veces los
botones manteniendo pulsada la tecla shift. Cuando estoy haciendo clic en los
botones para que podamos cambiar los valores de ambos botones todos a
la vez. Entonces vengo aquí
bajo apariencia. Déjame ver. Quiero
añadir un poco de relleno. Creo que a ambos a la parte superior, voy a agregar 20 pixeles para
darles un poco de espaciado a la derecha 50 para darles algo de espaciado y a la izquierda 50. Oh, no hasta el fondo. Al fondo deben quedar 20. Entonces, a la izquierda y a la derecha,
tendremos 50 pixeles. A lo mejor agreguemos más. Entonces 100 a la izquierda, 100 a la derecha. Con eso, compilar V. Esta es nuestra pantalla de muerte
como es ahora mismo, y solo puedo
ajustar ligeramente la caja vertical, y ya verás cómo ajustar la caja vertical va a cambiar la posición
de todo en, así que tenemos una interfaz de
usuario razonable. Ahora, voy a asegurarme de que la caja vertical esté
anclada al centro superior La posición X es dejarme poner
eso rápidamente a cero. ¿Bien? Eso va
a poner eso ahí. Yo no quiero eso. Vamos a alinearlo correctamente a la
parte superior central otra vez. Y quiero que la
posición vertical de la caja sea mucho más. Oh, yo cerré eso. Volvamos aquí. Quiero que sea mucho más
a algún lugar en el medio. Entonces es talla X, déjame
hacerla talla X 700. Es la talla Y 800. Y así eso
me va a dejar posicionarlo con precisión. Ya que sé que
su tamaño X es 700, 700/2 es 350, así que
simplemente puedo entrar y ponerle la
posición X en negativo 350 ¿Bien? Entonces ahora
tenemos un menú básico, que es lo que funciona en
la muerte compilar rápidamente, y aún no va a funcionar, pero lo que va a pasar
es que una vez que este jugador esté muerto, queremos ver
esta pantalla de muerte. Empecemos a agregar esta pantalla de
muerte al juego.
39. 37 Añadir la pantalla de muerte: Ahora que tenemos la interfaz de
usuario creada, mientras que la pantalla por aquí. Ahora, simplemente necesitamos
asegurarnos una vez que esa
barra de salud llegue a cero, esa interfaz de usuario
aparezca en la pantalla. Entonces volvamos
al personaje héroe. Ahora, sabemos cómo
comprobar vivo o muerto, y esto es lo que
vamos a utilizar. Ahora vamos a quitar la parte viva. Ya sabemos que esto
está funcionando correctamente, y vamos a eliminar esa cadena. No necesitamos esas pantallas de
impresión porque sabemos que
está funcionando correctamente. Ahora lo siguiente que
vamos a hacer es
simplemente añadir el widget
a la pantalla. Ahora, al igual que de la misma manera que lo
hicimos para la barra de salud, simplemente
sacaremos esto a la luz. Y lo primero que
vamos a hacer es que vamos
a pausar el juego. Así que vamos a establecer la pausa del juego y estableceremos
el valor post para que sea cierto. Bien. Eso es. Hemos establecido que el
valor post sea cierto. Y con eso hecho,
lo siguiente que vamos a hacer, vamos a arrastrar esto es que
vamos a crear un widget. Qué widget, simple, va
a ser el widget de pantalla de muerte. Así que vamos a escribir pantalla de muerte, y va a crear
la pantalla de muerte por aquí. Ahora, en términos de ser dueño de jugador, vamos a hacerlo exactamente de
la misma manera que agregamos el
baro de salud por aquí Así que vamos a
entrar aquí y vamos
a conseguir el jugador local de ID. Así que ponte bien. Y queremos que este
sea jugador cero. Así que hemos creado ese widget de pantalla de
muerte. Bien. A continuación, simplemente
vamos a agregarlo al tipo de ventana gráfica
ad a viewport Y ahí está. Y vamos a conectarlo por aquí. Ese es el valor de retorno. Y con eso hecho, donde ahora permítame
extender esto un poco. Entonces vamos a configurar el
ratón coursa para que sea visible. Entonces, vamos a arrastrar esto. Y queremos escribir
set show mouse, en realidad, set mouse
cosa. No, no, no, no. Lo que en realidad, lo que haremos es obtener el jugador
local de ID, y luego de ahí,
arrastraremos esto para el jugador local. Vamos a poner ratón. Veamos Cursor.
Sí, aquí estamos. No, este no es el que queremos. No vamos a poner el cursor del ratón. Sí, aquí estamos establecidos Mostrar cursor del ratón. Este
es el que queremos. Lo hemos sacado
del jugador Get Local de ID. Y queremos que el
cursor del ratón sea visible. ¿Bien? Y luego después de eso, lo que queremos hacer
es querer cambiar el modo de entrada para que
ya no estemos ingresando al mundo del juego Simplemente estableceremos el modo de entrada. Bien, y vamos a configurarlo solo
a la interfaz de usuario. Y qué controlador de reproductor
va a ser ese mismo controlador de
reproductor. Y luego en widget para enfocar, queremos, donde está el widget de pantalla de
escritorio. Quiere estar enfocado dentro del widget
de la pantalla de muerte. Y con solo eso, bien, vamos a probarlo en el juego. Entonces nivel desarrollador,
juega en vivo, vivo. En realidad, vamos a acelerar esto. Voy a seleccionar
el objeto de daño, y voy a aumentar
el daño 10-25, así que solo necesito
repasar cuatro de esos objetos para activar
uno, dos, tres, cuatro Mira eso. Jugador está muerto, y ahora nos está mostrando
la pantalla. Eso es genial. Entonces, uno, dos, tres, cuatro. Boom. El jugador está muerto. Ahora tenemos la pantalla de muerte
apareciendo correctamente. Ahora que está aquí,
volvamos a la pantalla de muerte y agreguemos algunos nodos para
asegurarnos de que estos botones
hagan lo que dicen. Vamos a hacer que este
botón reinicie el nivel, y vamos a
hacer que este botón salga del juego. Vamos.
40. 38 Cómo agregar funcionalidad a la pantalla de muerte: Todo bien. Ahora que tenemos una pantalla de muerte, vamos a darle algunas opciones de menú realmente utilizables y útiles. Lo primero es lo primero,
pasemos directo a
la pantalla de la muerte. Bien. Y ahora,
vamos a empezar haciendo que los botones de reinicio y
salida realmente funcionen. Para empezar, vamos a venir por aquí y ya
ves que es variable, selecciónala para que la
hagamos una variable. Y para la salida, también
conviértelo en una variable. Hacerlo una variable es lo
que nos va a permitir acceder a
ella y usarla para un par
de funciones diferentes. A continuación, baja y fíjate que aquí
hay algunos eventos. Haga rápidamente un evento sin hacer clic. Eso es para la salida. Bien, entonces aquí
está OnClickeDeit. Y luego volvamos nuevamente a
la página de diseño, y luego hagamos clic en Reiniciar, y luego anotemos aquí, otro
evento sin hacer clic Y así tenemos OnClick
restart y OnClick Exit. Y ahora queremos agregar en las funciones a este
botón, a estos botones. Ahora las funciones. Mm hmm. Disculpe. Las funciones
son bastante simples. Empecemos con el más
básico que sale del juego. Ahora, para salir del juego, primero
agreguemos un comentario, arrastremos esto adentro, trapéelo. Y luego como de costumbre, cambiemos. Me encanta el
fondo negro texto blanco. Aumenta el tamaño del texto
a algo así como 50, pero es grande y arrastra esto. Diré que salga del
juego. Eso es todo. Entonces al hacer clic en Salir, simplemente lo
arrastraremos hacia afuera, y luego escribiremos quit Game. Eso es todo. Bien.
Así que deja de fumar. Simplemente renuncie. Eso es todo. Salir, salir del juego. Bien. Bien, bien. A lo mejor este tamaño de texto es un
poco grande. Hagámoslo 24. Bien, mucho mejor. Y luego voy a copiar
y pegar esto. Arrástralo. Bien, esto
es demasiado alto. Vuelve aquí abajo. Bien. Y luego haz clic en reiniciar. Entonces voy a decir
reiniciar el nivel. Bien. Ahora, el reinicio, vamos a ponernos
un poco más complejos. Lo primero
que vamos a hacer es que vamos a
arrastrar esto aquí. Y entonces lo que queremos es
obtener el nombre del nivel actual, ¿de acuerdo? Esto va a obtener el
nombre del nivel actual. Eso es lo primero
que vamos a hacer. Ahora que hemos terminado con eso, lo siguiente que haremos es
querer abrir nivel por nombre. Bien. Y vamos a vincular el nombre del nivel actual
con el nivel abierto por nombre. Estoy seguro de que se aclara por sí mismo
lo que va a hacer esto. Obtiene el nombre del nivel y
dice abrir el nivel, y será el nivel
actual en el que nos encontramos. Entonces eso es muy bueno. Y esto es confiable. Hay muchas formas de hacerlo, pero esta es la forma más
confiable de hacerlo. Siempre va a funcionar.
Obtener nombre de nivel actual, nivel
abierto por nombre. Con solo esto, esto va a funcionar. Pero lo que queremos
hacer es asegurarnos de que el
modo de entrada esté configurado correctamente. Entonces llamaremos, en realidad, no, primero
llamaremos, obtendremos jugador local por identificación. Veamos, consigue
jugador Local de ID, perfecto. Y queremos que los jugadores sean cero, y luego arrastraremos
esto y estableceremos entrada. Veamos, establece el modo de entrada. Y queremos establecer el modo
de entrada a juego solamente. Entonces arrastraremos
esto por aquí. Y ahí estamos. Así que
vamos a repasarlo. Salir del juego, es sencillo. Al hacer clic, salir del juego. Sencillo. Sin embargo, para reiniciar el
nivel al hacer clic para Reiniciar, comenzamos con G nombre de nivel
actual, nivel
abierto por nombre, y luego obtenemos el
controlador del jugador de ID, y configuramos el
modo de entrada para juego solamente Y con eso, entremos
al nivel de desarrollador. Estoy muerto, puedo dar clic en
Salir y estoy fuera. Sin embargo,
también podría cuando estoy muerto, hago clic en Reiniciar, y
reinicia el nivel Reiniciar. Perfecto. Entonces ahora tenemos un sistema
de muerte que funciona. El jugador puede morir, y luego es capaz de salir del juego o reiniciar el juego, y está funcionando fundamentalmente a fondo,
y sigue funcionando Somos capaces de mover
todo lo demás está funcionando. Esa es una
línea base suficientemente buena que es fantástica. Entonces ahora pasemos
a hacer al jugador, ahora que el jugador
puede recibir daño, vamos a darle al jugador la
capacidad de repartir daño dándole un ataque y
creando un maniquí de práctica, que podemos golpear y
agotar su salud a cero Hagámoslo en el
siguiente conjunto de lecciones.
41. 39 Cómo agregar entradas de ataque del jugador: Todo bien. En este video, lo que vamos a hacer es
que vamos a repasar todo sobre cómo agregar rápidamente una entrada de ataque con
espada. Sólo queremos
configurar la entrada. Ahora, actualmente, en juego, cuando iPressPlay,
si iPressckMás bien, haga clic
izquierdo en el controlador, observe que en la zona
superior izquierda, aparece texto que cuando iPressPlay,
si iPressckMás bien, haga clic
izquierdo en el controlador,
observe que en la zona
superior izquierda, aparece texto que dice ataque. Yo mientras me muevo,
presiono E, texto que dice shows de ataque, y luego en mi mando, cuando me muevo a la izquierda o a la derecha, inmediatamente
puedo presionar el botón X en Xbox y se muestra
el texto de ataque. Así es como lo
vas a configurar. Ahora, vuelve a Controls, que es esta carpeta de aquí. Es la misma carpeta
que usas para configurar tu salto y tu mapa de movimiento y jugador en Unreal Engine Vas a crear una nueva acción de
entrada y llamarla Mele, ataque cuerpo a cuerpo Ahora, cuando entres en él, puedes dejarlo como está y puede seguir siendo
un booleano digital No es necesario que le hagas
ningún cambio. Simplemente configura la acción,
llámalo Melata. Una vez que hayas terminado con eso, quieres ir y entrar
en el mapa del jugador, que es el contexto de
mapeo de entrada. Cuando entras en el mapa del jugador, el contexto de mapeo de entrada, lo que
quieres es asegurarte de que vienes por aquí y
agregas un nuevo mapeo. Una vez que hayas terminado
de agregar ese nuevo mapeo, lo
vas a agregar como un ataque Mi que selecciones
de un menú desplegable. Encuentra la acción de entrada de Mattach. Bien. Una vez hecho esto, agrega nuevas entradas, agrega en el botón izquierdo del mouse
para activar el ataque mea, agrega E en tu teclado
para activar el ataque mea. Y entonces si
tienes un controlador, si no lo haces, está bien
puedes saltarte esto. Pero si tienes un controlador, también
agregas al
presionar ese botón, o como disparador para el metack Una vez que hayas terminado con
este paso, que es
muy, muy similar a cómo
configuraste el movimiento, bien. Una vez que hayas terminado con ese paso, ahora necesitas encontrar
tu plano de jugador Ahora, el
plano del jugador debe
encontrarse bajo personajes jugador, y ahí está nuestra clase
héroe Blueprint Ahora, dentro del plano del
héroe, esta parte es muy
fácil de entender Por supuesto, crear un cuadro de comentarios que va a contener
los datos y decir, Hey, aquí es donde se
encuentran esos nodos para la organización. Y luego vas a
hacer clic derecho y buscarme ataque, lo que traerá a colación la adición
en la entrada de ataque me. Una vez que esa entrada está en, simplemente pídele que imprima la cadena y llame a
ese ataque de cadena. Y con solo eso, ya terminaste. Ahora tenemos el código de línea base
para nuestra configuración de ataque Me. Entonces el ataque a la comida está listo. Entonces ahora estamos listos para comenzar a
agregar e implementar, agregando en el hit box, y luego la animación. Pero entremos en eso
en el siguiente video.
42. 40 Creación de una maqueta de combate, Parte 1: Entonces ahora que tenemos la línea
de base de lo que va a ser nuestro
evento de ataque, vamos a necesitar algo
contra lo que practicarlo. Entonces para hacer eso, necesitamos
un maniquí de ataque básico, que vamos a usar Entonces para hacer eso, simplemente
vamos
a volver a la carpeta de nuestro
personaje. Y esta vez, vamos
a crear una nueva carpeta, y vamos a
llamar a esta carpeta. Vamos a llamar a este ficticio de ataque de
carpetas, ¿de acuerdo? Porque vamos a
sumar y crear un
ataque básico dammi aquí Entonces vamos a crear
una clase de blueprint, y queremos que sea veamos Queremos que sea un básico
vamos a ver, veamos. A ver. ¿Qué queremos? Hagamos que sea un
personaje, bien. Pero todavía va a ser
solo un maniquí de ataque. ¿Bien? Este va a
ser nuestro maniquí de ataque Y rápidamente hagamos doble
clic en el maniquí de ataque. Y lo que realmente queremos con
el maniquí de ataque ¿verdad? ¿Vamos a agregarle un cubo básico esto es todo lo que
necesitamos agregarle. En cuanto al material, quiero decir, podríamos escoger prácticamente
cualquier material. No importa. Bien. Realmente no importa. Pero esto es lo que
vamos a usar, ¿de acuerdo? Así que vamos a compilar rápidamente eso. Y con ese ataque, Dummy vamos a arrastrarlo y
soltarlo al mundo Asegúrate de que sea cero
en el eje Y en cuanto su posición porque a su posición porque
quiero que esté ligeramente a
la derecha del jugador. Eso es genial.
Lo siguiente es que queremos agregarle, ya sabes, algo
bastante básico. Queremos agregarle un mal de
salud. Entonces dentro del ataque dammi, queremos tener una barra de
salud dentro Ahora, para agregar la barra de salud aquí, lo primero que
vamos a hacer es
entrar en el gráfico de eventos, y luego vamos
a entrar en variables, y queremos crear
una nueva variable. Y este tipo de variable
es que va a ser un flotador. Y vamos a
llamar a esta variable. Vamos a
llamarlo Presa salud. Bien, eso va
a ser una variable. Y queremos configurar el vamos a
llamar Hagamos el
maniquí Salud 100, ¿de acuerdo? El dammi salud
va a ser de 100. Eso va a mantenerlo sencillo. Ahora que la
salud de dammi es de 100, vamos a
poder agregar en la barra de salud a
la propia dammi para
que tenga una barra de salud por
encima de su cabeza Ahora, cuando
creamos por última vez la barra de salud, yendo a la interfaz del jugador, creamos esta
simple barra de salud para el jugador de
esta manera, ¿de acuerdo? Entonces vamos a hacer
exactamente lo mismo, pero esta vez para nuestro dammi Entonces iremos solo para
mantenerlo organizado, vamos a entrar en
el ataque a la presa. Vamos a
crear una nueva carpeta, y vamos a
llamar a esa
interfaz de carpeta , mantenerla organizada. Así que dentro de eso, vamos a escribir click y queremos crear
un elemento de interfaz de usuario. Y el ítem que queremos
crear es un Plano Widget. Deberías poder verlo a tu lado,
Widget Blueprint, ¿de acuerdo? Y sí, queremos crear
un Widget de usuario. Eso está bien. Y lo vamos a llamar
dammi Barra de Salud. Bien. Entonces así es como lo
estamos llamando. Lo estamos llamando
Dammi Barra de Salud. Entonces, haz doble clic en
la barra de salud ficticia. primero es lo primero,
queremos agregar en un panel de lienzo como siempre. Y luego después de agregar
en el panel del lienzo, lo que queremos es que queramos
tener una barra de progreso. Ragatin. Queremos anclarlo queremos anclarlo
al centro, de verdad. Para que puedas escoger cualquier centro, pero me gusta ponerlo
justo en el medio. Y luego para
la posición y el desplazamiento, quiero que sea offset cero y offset cero porque esto
va a ser un poco
grande, ¿sabes? Y entonces quiero aumentar su tamaño Y a
algo así como 300. Bien, así que solo haz una buena barra de salud carnosa y
grande. Posición de cadera cero, cero. No, en realidad, hagamos que
sea posición negativa 150. Entonces, esencialmente,
lo que he hecho es molestarlo hasta el ancla media, alterarlo desfasado de izquierda a cero, desplazamiento de derecha a cero. Y la posición Y es negativa 150
porque su tamaño Y es 300, por lo que esto la lleva a este tamaño. Y luego llenar color, creo que voy a tener que sea amarillo. Bien. Eso es genial. Y ahora que el
color de relleno está puesto en amarillo, pensemos en su progreso. Es por ciento va
a ser creo que es por ciento va a ser
cero para comenzar. ¿Bien? Esto es genial. Entonces esta
es ahora nuestra barra de salud. Ahora fíjate ahora mismo que
se llama barra de progreso. Cambiemos eso. Y en realidad,
ni siquiera podemos dejarlo progresar, solo
llamémoslo ayuda maniquí Barra de progreso. Ahora que tenemos nuestra barra
DamihalthPgress establecida, debemos asegurarnos de
configurarla como una variable. Y con todo eso hecho, básicamente
estamos
terminados aquí. Ahora, volvamos al ataque dammi, ¿de acuerdo? Ahora queremos que nuestro ataque dammi una vez
que esté cargado
en el mundo,
Bien, este maniquí de ataque, queremos que tenga una barra de
salud por encima de su cabeza Bien. Ahora, para hacer eso, vamos a entrar en
el maniquí de ataque y
necesitamos agregar algo de código
a su inicio de juego Ahora, crea un cuadro de comentarios grande, bien, para que esto diga, Oye, esto le agrega barra de salud al maniquí y
comenzaremos desde
el evento
empezaremos a jugar, ¿de acuerdo? Así que voy a arrastrar esto, y queremos crear
un widget, ¿de acuerdo? Entonces lo que queremos, queremos
crear Widget. Ahora vamos a seleccionar eso. Y la clase widget que
queremos es DamiHalth Br. Puedes ver el
bar DamiHalth por allá porque Areal es bueno para
hacer un seguimiento de lo que has creado Y ahora que tenemos eso, tenemos el reproductor propietario, y esencialmente solo
va a crear ese widget de barra de
salud ficticia Probemos esto
rápidamente y veamos cómo se ve. Bien. Ahora bien, si compilamos aquí, debería
haber
nada en pantalla. Entonces, lo que tenemos que hacer a
continuación es que realmente necesitamos agregar esto a la pantalla. Entonces queremos agregar a viewport. Bien. Así que empieza por solo
agregarlo a la vista. Asegúrate de que al menos
esté desove correctamente. Doblemos C. Ahí vamos. Entonces en este momento está
funcionando correctamente, pero se está agregando
a la ventana gráfica Vamos a ajustar eso. Bien. Entonces ahora que
hemos confirmado nuestra barra de salud es
capaz de estar desove correctamente, eliminemos
agregándola al puerto de vista, y luego vamos
a venir aquí y la vamos a agregar
al personaje ellos mismos Entonces queremos agregar widget
y agregar ese widget en. Ahora, rápido, vamos
al puerto de vista, ¿de acuerdo? Entonces verás que ahora
hay este widget blanco arriba. Ahí está este objeto aquí, bien, ese va
a ser nuestro widget. Ahora lo que queremos hacer
es ahora que lo tenemos, moverlo un poco hacia
la izquierda, aguantar. Eso es lo que queremos.
Ese es el cubo. Es el widget que quiero seleccionar. Ahora que tenemos el
widget seleccionado, queremos seleccionar qué
tipo de widget es. Entonces seleccionando el widget, si vienes por aquí, notarás que existe
la opción de
seleccionar la clase de widget, y, por
supuesto, buscar la barra de salud
Dami, y ahí está Por lo que le ha agregado la barra de salud
dammi. Ahora veamos cómo se ve
esto en el juego. Bien. Así que básicamente no
se puede ver desde aquí. Bien, pero puedes
ver dónde está. Entonces volvamos a
la presa del ataque. Entonces ahora mismo, está mostrando que la barra de salud no es visible desde aquí, pero es a partir de aquí. Entonces hagamos algún movimiento básico. Entonces seleccionaremos su
rotación. A ver. Y queremos girarlo en
el eje Z 90 grados. ¿Bien? Entonces eso está por aquí. Eje Z, 90 grados. Eso es genial. Y luego
una vez hecho eso, vamos a reducirlo ligeramente. A aproximadamente 0.5. Ahora eso está hecho, y luego queremos
levantarlo en rotación. Entonces quiero que sea
un poco más alto. Ahí vamos, compilar eso. Y ahora en tanto, se
puede ver que el
widget está por ahí. ¿Bien? Sí, el jugador
se movió debido al hit box, pero nos ocuparemos de
eso un poco más tarde. Bien. Entonces, esencialmente,
ahí está. Ahora que tenemos esto, se
puede ver ese bar de allá. Vamos a
bajar ligeramente lo alto que es. Quieren que sea una barra de salud, no una plaza gigantesca de salud Bien. Entonces entraremos y
desbloquearemos el escalado y reduciremos su escalado en el eje Z para que sea un
poco más razonable. Se puede escalar
hacia abajo en el eje Z. Entonces ahí está. Entonces ahora tenemos esa barra
básica de salud, pero aún no está conectada
para mostrar ningún dato de salud. Entonces, lo que queremos hacer,
volvamos al gráfico de eventos. Ahora que esto está aquí,
ven aquí. Así que deslízate. Ahora, en el evento, empieza a jugar, saca esto. Agárrate. Queremos actualizar esa
barra de salud con los datos correctos. Entonces vamos a
obtener el widget, arrástralo aquí como un objeto. Bien. Y luego desde el widget, queremos conseguir ficticio No Queremos realmente
sacar el componente widget. Así que vamos a conseguir eso aquí. Promoverlo a una variable. Actualmente está configurado en el widget
variable cero. No quiero que sea el widget
variable cero. Entonces voy a
llamar a esa variable. En lugar de Widget cero, déjame
llamarlo rápidamente Barra de salud. Entonces así es como lo
vamos a llamar, ¿de acuerdo? Se llamará la barra de Salud. Entonces ahora que está
configurado aquí como una variable, ahora
queremos arrastrar eso, y queremos decir, Oye, consigue dammi No, no, no, consigue Un momento, hay que volver a verificar los nombres. Bien, ahora aguanta. Vamos a deshacernos de todo ese código inicial porque estaba usando un método de
rotonda larga, y sin embargo hay un método rápido y
fácil para hacerlo.
Volvamos a bajar. Ves este
widget de barra de salud. No lo necesitamos en. Realmente no lo necesitamos en absoluto. Permítanme borrar que
eso no es necesario. Volveremos al widget de
línea base. Todo lo que tenemos es la configuración de la barra de
salud ficticia como widget, y en el mundo
ahora mismo así es como se ve Volveremos
al maniquí de ataque, y después del evento comience a jugar, en lugar de necesitar hacer
todo ese trabajo para llamarlo, vamos a mantenerlo sencillo Ahora, esta vez, todo lo que
tenemos que hacer es ir a buscar el widget y
arrastrarlo hasta aquí. Y ahora tenemos nuestro componente
widget. El componente widget ya
está aquí. Ya tengo lista la barra de
salud dammi. Ahora, déjame arrastrar el sur. Lo siguiente que vamos
a hacer es que vamos a echar a ver, queremos emitir para ayudar a bar. No, no, no, quiero emitir. ¿Qué quieres lanzar
dos? ¿Cuál componente? ¿Cuál componente?
Bien, antes de lanzar ,
en realidad, tenemos que volver. Entonces tenemos nuestro widget. No lanzamos directamente. Lo primero que queremos
hacer es que queremos obtener widget. Entonces, si te desplazas hacia abajo,
si escribes G, tienes que obtener widget, lo que significa Widget Este no es el widget Este es
el componente widget. Entonces queremos obtener el
widget dentro del componente. Una vez que tengamos eso, ahora, podemos arrastrarlo
y decir elenco dos, y queremos lanzar
a DamihLth bar Entonces ahí estamos. Y conectemos esto rápidamente. Por lo que ahora está lanzando a
la barra de salud de dammi. Pongamos esto bajo
por organización. Mantenlo agradable y organizado. Así que obtuvimos nuestro componente widget. Tenemos el widget
dentro de él, y luego estamos lanzando
a la barra de salud de dammi Ahora, como la barra de salud de dammi, arrastremos esto y digamos:
Oye, vamos a ver Quiero conseguir la barra de progreso de Dammi
Health que justo ahí Tú g esto de aquí afuera. Y entonces
lo siguiente que queremos hacer es que queremos establecer
su porcentaje. Bien. Entonces, fijemos rápidamente su porcentaje en
esa barra de progreso. Entonces,
fijemos rápidamente el porcentaje. Pon esto por aquí y conecta estos
dos enlaces de aquí. Ahora, antes de hacer cualquier
cambio adecuado al porcentaje, voy a fijarlo en
100 en términos de
establecer el porcentaje. Vamos a compilar rápidamente
eso y boom, ahora
tenemos nuestra barra de salud sobre ese maniquí de combate
completamente amarillenta. Eso es genial. Volveremos a la presa de ataque y esta vez,
qué vamos a hacer. Entonces aquí es cuando se lanza
el juego, quiero conseguir la salud de dammi, arrastrarla por aquí, y queremos decir, oye, consigue la salud dammi Y después de que tengamos
la salud dammi, queremos
alargar esto y queremos dividirlo, y queremos dividirlo por 100 Bien, por 100. Entonces arrastra eso
aquí como el porcentaje, y eso va a
ser esencialmente y. Vamos a compilar. Entonces
cuando golpeas play, ahí está. Ahí está. Sin embargo, aún
no recibe ningún daño. No tiene ninguna de
esas capacidades. Solo tenemos un
maniquí básico con barra de salud. Lo siguiente que
vamos a hacer es que queremos asegurarnos de que ante cualquier daño, actualice esa barra de
salud correctamente. Entonces copiemos esto. ¿Bien? Arrastra esto. Y esto es A, agrega barra de salud al maniquí No, cambia la salud ante
cualquier daño. ¿Bien? Así que vamos a
sacar esto a la
luz, y vamos a estar haciendo prácticamente lo
mismo que
hicimos cuando se trata de nuestro personaje
básico, ¿de acuerdo? Actualizamos la
barra de salud sobre cualquier daño. Entonces de una
manera muy similar, venimos por aquí. Vamos a decir, Oye, cualquier
daño. Ese es el evento. Por lo que el evento está en cualquier daño. Bien. Entonces vamos a conseguir ese daño. Y lo primero que
vamos a hacer es que
vamos a conseguir la
salud de dammi. Déjalo caer por aquí. Quieren obtener la salud dammi. Y luego
lo siguiente que queremos hacer,
vamos a arrastrar de nuevo a la
salud dammi Y esta vez estamos
fijando la salud dammi. Entonces vamos a conseguir la salud ficticia, y luego restaremos,
restaremos , y
restaremos el daño que se ha llevado
que va
a ser Así que lo pondremos ahí arriba. Y luego una vez
que hayamos terminado con esto, lo que vamos a hacer
es que vamos a
venir aquí y queremos cambiar
este porcentaje también. Así que vamos a obtener básicamente todo este código por aquí, copiarlo y
pegarlo por aquí. Y así justo después de eso, vamos a lanzar a
esa barra de salud aquí y pasar por ese mismo proceso
exacto. ¿Bien? Entonces vamos a conseguir
la barra de salud de dammi y luego vamos a actualizar su barra de progreso a
la nueva dammi Eso es todo lo
que hay que hacer. Ahora con este código
listo para configurar, regresemos ahora y demos al jugador algo de
daño para que
realmente pueda golpear a ese enemigo
y hacerle daño.
43. 41 Cómo hacer el ataque de un jugador Parte 1: Todo bien. Entonces ahora que tenemos un maniquí de ataque básico, bien, vamos a volver al personaje héroe y
volver a la tachueta de carne,
y realmente queremos agregar
algo a la tachueta de carne Y voy a compartir
contigo una forma muy efectiva de
tener ataques dentro de tu juego que es bastante
confiable y razonable, y eso solo
va a funcionar cada vez que lo llames
y es confiable. No obstante,
volvamos rápidamente también a nuestros personajes, y voy a abrir la carpeta attack dammi
y asegurarme de que tanto el héroe como el dammi
ataque estén abiertos porque
vamos a necesitar ir y venir entre ellos, asegurarnos de que el código
esté funcionando correctamente porque estos dos
van a estar Ahora, vengamos por aquí. Solo una revisión rápida. cargar en,
agregamos la barra de salud al Damik lo
configuramos en ese porcentaje Y luego en cualquier
daño, en cualquier daño, obtenemos el dammi salud, y luego cambiamos el
número en la barra de salud Este código debería ser
comprensible para ti y deberías tenerlo
todo listo para funcionar. Ahora, con todo eso, lo que sí necesitamos es algo
para realizar cualquier daño, y entremos en eso. Una muy buena manera de agregar eso
en, he golpeado Barra espaciadora. Voy a volver a
los personajes. Voy a volver al reproductor, y voy a
crear una nueva carpeta. Y dentro de esta nueva carpeta, voy a más bien, voy a llamar a la
nueva carpeta llamada caja de
dañarlo, ¿verdad? O a veces me gusta
llamarlo objetos de daño, ¿
verdad? Así que dañan los objetos. Ahora bien, esa es una
forma de llamarlo, pero permítanme cambiar el nombre que he usado este nombre antes. No quiero que esto
sea confuso. Entonces déjame cambiarlo
a daños en caja. Y la razón por la cual es porque quiero poder
tener diferentes ataques, tener diferentes cajas de hit
dañadas, y tú quieres tener eso separado del personaje
principal. Vamos a entrar y déjame
explicarte esto con claridad. Entonces por dentro, vamos a
crear una clase de blueprint, y lo que queremos es que queremos
un simple actor de blueprint Entonces, simplemente llamemos a
este tablero SWOD. En realidad, llamémoslo ataque
SWOD subrayado uno. ¿Bien? Entonces este es el
ataque de SWod bajo la puntuación uno Haga doble clic en eso
para sacarlo a colación. Déjame sumarlo aquí arriba. Y dentro del ataque SWOD uno, simplemente
queremos agregar queremos
agregar una colisión. ¿Bien? ¿Qué tipo de colisión? Queremos agregar una colisión básica
de caja para que. Y luego solo por claridad, agreguemos también porque puedes ver que hemos
agregado esa colisión de caja. Agreguemos también en un simple cubo. Oh, lo siento. Agreguemos un cubo. No sé por qué ahí estamos. Así que hemos añadido en un cubo, ¿verdad? Ahora, en realidad podríamos decidir simplemente ignorar el control deslizante de la caja
y usar el cubo solo. Pero vamos rápidamente he
desvinculado su escalado. Entonces quiero escalarlo en el eje Y para que sea Déjeme
dejarlo en uno en el eje y. Oh, no diez, diez es demasiado grande. Lo quiero en uno.
Pero entonces quiero que sea un poco más corto
en el eje vertical. Así que lo he reducido en
la vertical a aproximadamente 0.2. Entonces este de aquí es
nuestro simple ataque SOD. Ahora, aquí, no está
haciendo nada. Es solo un simple ataque SWOD. Es sólo que,
ya sabes, sentado ahí. Entonces lo que queremos es
engendrar la escena. Ten en cuenta que
no está haciendo nada, pero solo llamaremos uno
al ataque SOD Entonces volveremos con el
héroe bajo el ataque mele. Y lo que queremos es en lugar de simplemente imprimir
un texto llamado ataque, queremos que abarque también
en el de ataque con espada. Volveremos al héroe y justo después del texto
que dice ataque es donde vamos a agregar en
los nodos en los que lo
van a generar Ahora, desovar en
es bastante sencillo. Vamos a arrastrar esto y
vamos a escribir span Bien. Y el actor hilado de clase
es lo que seleccionaremos. Ahora, lo que vamos a traer, queremos buscar un ataque con
espada. Perfecto. Ahora tenemos que
decidir dónde va a generar y su anulación de
manejo de colisiones, ¿de acuerdo? Pero eso está bien. No
necesitamos tocar eso por ahora. Seleccionaremos la transformación de
engendro, y luego simplemente
dividiremos esto porque queremos que
genere en una ubicación determinada Ahora mismo está desove
a cero, cero, cero. Entonces, si volvemos, alejamos si compilamos. Básicamente, lo está
engendrando más bien, perdón, déjame jugar a boxes Así que en cualquier momento, fíjate,
simplemente genera eso. Eso es todo lo que hace.
Está generando un objeto ahí mismo Entonces lo genera por allá. Queremos que se genere alrededor de la zona media
del personaje, ¿de acuerdo? Entonces volveremos a
héroe y queremos cambiar donde
va a desovar Entonces, donde queremos
que genere es alrededor del lugar donde está el libro volteo de
papel Entonces déjame arrastrar en
el flipbook de papel. Y luego solo quiero
obtener la ubicación de la palabra, obtener la ubicación del mundo porque
quiero llegar a donde está. Esto es bueno. Y justo
después de obtener su ubicación, conectamos esto al span. En realidad, permítanme
romper este vínculo. No, no, no. Por favor,
recombine el pin de la estructura Sí, ¿bien? Vamos a solo
¿Por qué me estoy dividiendo? Quiero recombinar. No quiero separarme. Bien, así que vamos a
colocarlo rápidamente por ahí, ¿verdad? Entonces hemos conseguido el
flipbook de papel lo arrastramos adentro,
obtenemos la ubicación salvaje, obtenemos la ubicación salvaje, y luego eso va a
conectar con la Y esto es lo que obtienes ahora. Así que vamos a presionar
play. Boom, fíjate en
dónde engendró. ¿Bien? Ahora, volvamos. El único problema que tenemos
es cuando lo hicimos girar, es como colisionar con el actor, que no
es lo que queremos Entonces vamos a seleccionar
este ataque con espada por aquí. Este cubo por aquí, y vamos a
buscar colisión. Y ahora mismo, es colisión está configurado para bloquear todo dinámico, y no queremos eso. Llamémoslo
superponer todo dinámico. Superposición significa que
se superpondrá. Podrá chocar
con las cosas y repasarlas, pero no bloquearlas. Así que intentemos darle vueltas. Y fíjate que solo se superpone. Y cada vez que hago clic en ataque, aparece en uno de esos, ¿de acuerdo? Y si solo mantengo presionado el botón de
ataque, está generando infinitamente Pero eso es tonto, pero nos
ocuparemos de eso más tarde. ¿Bien? Al menos ahora, sabemos con certeza que
podemos hacer clic en el botón de ataque, y eso genera en Eso es increíble. Ahora que
tenemos eso marcado, ahora solo necesitamos agregar un posicionamiento un
poco más inteligente Entonces para empezar, este ataque de Espada,
volvamos al héroe. Entonces en este momento, está obteniendo la ubicación salvaje y luego desove exactamente
en la ubicación salvaje Pero a lo mejor no es
lo que queremos, ¿verdad? Entonces lo que vamos a hacer es romper rápidamente
este vínculo, ¿de acuerdo? Entonces dividamos esto. Y entonces también
aguantemos, deja esto arriba. Ahora sabemos a ciencia cierta
que esta es la X, este plano, el
plano horizontal es la X. Hasta donde, está bien. Puede desovar en el
mismo lugar en la Z. Puede desovar en el mismo
lugar en el Pero en la X, simplemente
lo obtendremos y luego agregaremos 120 unidades, lo que va a empujarlo un
poco hacia adelante sobre el eje X. Ven aquí, conecta eso arriba. Excelente. Y con
eso, vamos a compilar. Así que ahora esta vez,
cada vez que entramos y presionamos
el botón de ataque, se genera un poco
por delante del personaje Sí, sé que no está
funcionando del lado izquierdo, pero no te preocupes, ya nos
ocuparemos de eso más adelante. Primero queremos
asegurarnos de que haga daño. Entonces ahí es por
donde
va a aparecer el hit box . Eso es genial. Ahora que tenemos
al personaje que acaba desovar en algo
sencillo en el mundo, hagamos ahora algunos ajustes Entonces tenemos el ataque
dammi por aquí. Queremos que le haga daño
al maniquí de ataque. Entonces, cuando entro
y lo hice girar, debería hacerle daño
al maniquí de ataque Ahora, para que eso funcione, todo lo que tenemos que hacer es vincularlo. Queremos vincularlo
al maniquí de ataque. Entonces, dentro de su gráfica de
eventos, ¿verdad? Vamos a conseguir este cubo vamos a venir aquí. Quiero agregar un evento en
componente begin overlap, cube. Bien. Entonces este es
el que queremos. Bien. Componente comienza solapamiento. Ahora, por lo que respecta al otro actor, el otro actor va
a ser el maniquí de ataque Entonces queremos lanzar para atacar
a dammi. ¿Bien? Entonces esto de aquí, bien, elenco para atacar a Dammi Y luego lo configuró para que el otro actor se vaya a configurar para
que sea el maniquí de ataque Bien. Y luego después de recordar, cada vez que se superpone
con la represa de ataque, entonces queremos aplicar Bien. Entonces eso es todo, el nodo de daño
aplicado. Y la cantidad de daño que
quieres aplicar es de diez, ok. Y justo después de haber
aplicado el daño de diez, queremos destruir actor y
destruir a qué actor yo. Entonces se destruye a sí misma,
lo cual es genial. ¿Bien? Entonces lo que queremos que
haga es que va a aparecer en cada momento que se superponga como el cubo
con la presa de ataque,
va a aplicar diez daños
y luego destruirse a Ahora, con solo esa simple interacción coddin
entremos. Bien. Entonces está atacando, pero no lo es correctamente. Parece que no está haciendo daño, pero vamos a
comprobarlo dos veces, ¿verdad? Entonces vamos al maniquí
de ataque. Y rápidamente sobre cualquier
daño, déjame rápido. Esto es solo
solución de problemas, bien. Sobre cualquier daño, déjame arrastrar
esto a una secuencia. Bien, entonces secuencia básicamente significa que hará una
cosa y luego otra. Y luego en la siguiente,
voy a aplicar una cadena de impresión, y luego voy
a llamarla
daño tomado para ver si se está haciendo
daño. Entonces estoy aquí. Bien, entonces actualmente no está
recibiendo daños, lo que significa que el elenco no
está funcionando correctamente. Volvamos y
volvamos a visitar al elenco. Ah, por eso. Debido a que el actor dañado no
ha sido seleccionado, así que permítame seleccionarlo
como el actor dañado. He ahorrado, vuelve, vuelve y vuelve a probarlo. Bueno. Observe que
está tomando daños. Excelente. Entonces ahora lo
tendrás funcionando para que cuando haga clic para atacar, el maniquí esté recibiendo daños. Sigue siendo rudimentario. Hay mucho más código para hacer que esto
funcione de manera efectiva, pero esto es bueno. Ahora tenemos la capacidad de engendrar en una simple caja de calor,
que hace daño. Vamos a seguir adelante
y limpiarlo. A continuación, solo vamos a
hacer un poco de limpieza
del código para que
funcione de manera más efectiva.
44. 42 Cómo hacer un ataque de jugador parte 2: Todo bien. Entonces ahora que
tenemos, ya sabes, la versión más básica de
un ataque con espada de jugador, volvamos y volvamos a visitar
la DCAA de Entonces, desde el punto de vista del diseño, el jugador balancea la
espada para hacer daño. Fresco. Código, aplica daño
a objetos enemigos, ya
tenemos eso marcado Y luego en la animación
Soder tack y el sonido de soda tack Y nos meteremos en
estos dos últimos bits en los próximos videos. Pero por ahora,
limpiemos mucho del código que se trata de aplicar
daño a objetos enemigos. Ahora, la forma en que
funciona actualmente es cada vez que presionas
cualquier botón de ataque. Observe que está haciendo muchas instancias
de daño. Así que vamos
a ordenar estos uno por uno. Vamos a asegurarnos de
que solo haga una instancia de
daño. Bien. Y luego tenemos que
asegurarnos de que cuando esté de
cara a la izquierda, se genere en el lado izquierdo Cuando está de cara a la derecha, se genera en el lado derecho Ya está haciendo
eso. Pero sí, eso es lo primero
que vamos a resolver. Entonces ahora mismo, si
volvemos al héroe, está consiguiendo la ubicación salvaje
actual. Y luego está sumando 120
unidades a la posición, y por eso está
desove en. Bien. Pero vamos a
hacer un cambio rápido. Ahora que sabemos que funciona, podemos eliminar todo ese código, y todavía estamos desove
en el Sword tack one Pero ahora, su posición no
va a ser determinada únicamente por
el flipbook de papel Ahora, vamos al puerto
de vista, ¿no? Tenemos un par de cosas. Ahí está el libro de papel. Ahí es donde configuramos
el audio de pasos del reproductor, dónde viene el
audio de inicio de salto, y el audio de aterrizaje de salto, de
donde proviene Dado que todo lo que
hace el jugador está unido
al flipbook de papel, esta es la ubicación ideal para agregar en todos estos
otros objetos Así que vamos a sumar rápidamente en una simple colisión.
En realidad, no. Vamos a añadir en un
simple déjame ver, añadir en un simple necesitamos
algo visible. Agreguemos en una simple colisión
de caja. Bien. Y esta caja, vamos a
bajar su escala. Quiero que sea
muy bajo, ¿de acuerdo? Y luego su posición, vamos a arrastrar
justo al frente. Seguro que puedes
ver lo que está pasando aquí. Y vamos a renombrar esta caja y queremos cambiarle el nombre
a ataque
FODA, ubicación,
subrayado uno Bien. Entonces es la ubicación de
ataque SWOD uno, y lo hemos configurado aquí mismo Ahora, solo para mostrarte
por qué esto es importante, déjame agregar un simple cubo, ¿de acuerdo? Añadir en un cubo simple, y he añadido en
el cubo simple al ataque de la Espada, ¿verdad? ¿Dónde se encuentra este cubo? Quiero que sea
visible. ¿Dónde está? No lo estoy viendo.
¿Es así de pequeño? Si es pequeño, vamos
a necesitar hacerlo más grande. Oh, chasquido. Bien, a
lo mejor era demasiado grande. Hagamos esto más pequeño. Sí. Ahora déjame mostrarte
rápidamente, oh, ¿por qué hay un descanso? Es negarse a compilar. Bien. ¿Por qué no está compilando Porque esta transformación de engendro no
tiene nada que conectar. Déjame romper ese vínculo. Ahora compila correctamente, bien. Así que fíjate que no importa lo pase cada vez que el
jugador cambie de dirección, esa caja de sombreros está en
esa misma ubicación. Puedes notar eso, ¿verdad? Espero que lo estés viendo
con claridad. Eso es bueno. Entonces ahora que tenemos
esa ubicación, ¿no? Esa ubicación del cubo,
déjame borrar ese cubo. Vamos
a seleccionar rápidamente para eliminar el cubo. Ahora sabemos que en cualquier momento podemos llamar a la
ubicación de eso. Entonces déjame volver
al ataque no,
lo siento, de vuelta al gráfico de eventos de
héroes. Vamos a volver a vincular esta o, engendrando el ataque SOD Pero esta vez,
vamos a conseguir la ubicación del ataque SWOD
uno, arrástrela aquí Bien, arrástralo aquí. Entonces vamos a
conseguir locación salvaje. Bien, consigue su ubicación salvaje, y eso es lo que
vamos a usar como el lugar donde se conecta la transformación
span. Entonces déjame apilar esto. Me gusta apilar
esto verticalmente cada vez que tengo
la oportunidad, para que todos los nodos puedan
estar en un área y pueda mirar de abajo a arriba para
ver qué está pasando. Así que vamos a compilar eso. Y ahora, de repente, desove al frente, genera la derecha,
genera la izquierda, patrocina a la
derecha, spas a la Bonito. Ahora tenemos que
resolver el siguiente problema. Para empezar, estos ataques SOD solo
se mantienen
durante demasiado tiempo, bien, y son demasiados. Entonces tenemos que arreglarlo para que cuando engendremos
en ese SwodTack, desaparezca después de
cierto tiempo,
¿de acuerdo? Entonces volvamos al propio ataque
SWOD. Y vamos a cambiarlo. Entonces, para empezar, dice,
Oye, en el evento empiezan a superponerse. Si se solapa con
el maniquí de ataque,
hace daño, y luego se destruye a sí
mismo Pero lo que también
queremos está en actor, más bien, perdón, no necesito eso. Lo que queremos es, veamos que el evento comience a jugar. Eso es lo que queremos.
Queremos que el evento comience a jugar. Queremos que
haya un poco de retraso. Bien. Y este retraso se
va a establecer en 0.01, después destruir actor. Esa es una forma de hacerlo. Entonces si entramos, ahora, notamos que cada vez que
engendro en el ataque SOD, está disponible por
aproximadamente 0.1 segundos, más bien lo siento, es visible
por aproximadamente 0.1 Y luego desaparece. Esa es una forma de hacerlo. Otra forma de hacerlo es en lugar de usar event
begin play para destruirlo, podemos usar evento Tech y
T se llama cada frame. Entonces déjame romper el
evento comenzar a jugar. Así que no necesito retraso
si estoy usando la t. Así que la tecnología de eventos va
a venir aquí, conecta eso por allá. Y básicamente, cada
vez que se hace un fotograma, destruye al actor Entonces la soda tack va a
existir para un solo fotograma. Ahora fíjate. Básicamente, ahora
es invisible. Entonces, si vengo aquí y hago clic, note que está haciendo daño
porque se está creando, pero está desapareciendo justo
después de un fotograma, ¿de acuerdo? Y así es como ahora tienes tu personaje capaz de
hacer daño con un hit box invisible
en un solo fotograma. Eso es genial. No obstante,
si bien esto es bueno, todavía
tenemos un reto de cada vez que presiono
el botón de ataque, está haciendo múltiples ataques. Está desove en demasiados. Entonces tenemos que ajustar eso. Así que volvamos una vez más con
el héroe. La maleta de
acción de entrada mejorada, vamos a hacer un cambio. Esta vez vamos
a usar lo que llamamos el gatillo do once, ¿de
acuerdo? Hacer una vez. Entonces esta vez, arrastrando desde
disparado, diremos: Oye, hazlo una vez, para que
solo lo haga una vez, y luego no pueda volver a hacerlo Y luego completado o mejor dicho
o cancelado, se restablece. Así que volvamos. Entonces voy a hacer click. Oh, lo siento, todavía estoy acercado. Y no, no, sigue sin
funcionar correctamente. No se cancela.
Rompe ese vínculo. Quiero que se complete, se restablece, compile, vuelva. Entonces ahora, si presiono una vez,
hace un ataque. Entonces cuando presiono una vez,
hace un ataque. ¿Bien? Aviso, hago clic una vez, hace un ataque
o diez daños. Sin embargo, si hago clic y mantengo pulsado, no sale nada hasta que
lo vuelva a presionar, ¿de acuerdo? Tengo que presionarlo
de nuevo para que funcione. Y con eso, tenemos esto funcionando de manera efectiva y clara. Entonces primero hagamos otra prueba. Bien. Entonces, ¿hace
daño a la izquierda? Sí, hace daño a la izquierda. Hace daños a la derecha. Perfecto. Perfecto.
Perfecto. Entonces ahora tenemos la parte de código de nuestra soda
tack totalmente marcada Todavía hay más cambios, pero si has entendido
todo al respecto este momento y cómo
desove en obras, ahora
podemos pasar a trabajar en
la animación para que tengamos
una animación de Tack de Soder
que se ve bien
46. Animación del ataque con espada de 44 jugadores, parte 2: Bien, así que como héroe, arrastra como héroe, queremos encontrar un ataque con
espada, que está aquí y queremos
hacer una doble comprobación, ¿verdad? Es igual Bien, es igual a uno
porque es un booleano Y si lo es, puede hacer la transición. Vamos a compilar eso.
Estamos en el juego. Entonces, cuando presiono
el botón de ataque, ahora está encerrado en
esa animación de ataque. Eso es bueno. Entonces
volvamos al plano Quieres ir al alto
nivel del héroe para pasar de SOD ataque
uno
de vuelta a ídolo Vamos a copiar todo esto. Bien, porque creo que en cualquier momento puedes copiar y
ahorrar tiempo y energía, para volver a la inactividad. Básicamente, hará esto
excepto si esto está configurado para apagarse, y luego debería
volver a estar inactivo. Tan ocioso, Aguanta. Ataque. Bien, entonces ahora espera
. No, aún no está aquí. Bien, pero el ataque
sigue en marcha, así que tenemos que averiguar cómo asegurarnos de que la animación de
ataque retroceda. Entonces volveremos con el héroe. Soda tack se establece en uno. Déjame entender esto,
ponlo al frente. Entonces justo después de que se
genere en el SOD, soda tack se pone Esa es una
forma simplificada de hacerlo. Entonces ahora, sí, no está funcionando. Está funcionando muy rápido. Va de encendido
a apagado demasiado rápido, así que podría introducir
un retraso rápido. Y haremos el retraso. En realidad, para hacer realidad
el retraso, lo que nos gustaría
es que volvamos, miremos el arte para el jugador. Y lo que queremos
es la soda tack. La soda tack es de 15 marcos.
Se puede ver aquí. Son 15 fotogramas, pero son
cinco fotogramas de animación. Déjame caer ese 15-5.
Entonces hace eso. A ver. Boom. Hmm.
Interesante. Entonces son 15 fotogramas de sus cinco
fotogramas de animación. Lo mantendremos a las cinco por ahora, solo por simplicidad. Regresa. Entonces cinco. Entonces eso va
a ser 1 segundo de retraso. Entonces volvamos aquí, atacemos, y luego ya está hecho. Entonces ataca, y
luego se hace. El motivo por el que se hace
es porque como héroe, después de un retraso de 1 segundo, pone uno al ataque de la Espada, más bien establece que el
ataque SWOD sea cero Vamos a
volver y cambiar esto para arriba. Al menos sabemos que la
lógica basal tiene sentido. Entonces ahora mismo de inactivo y
luego puede comenzar a moverse. Para que puedas atacar y moverte, atacar y moverte, atacar
y seguir moviéndote. Entonces se desarrolla la
animación de ataque. Entonces ya está hecho. Pero
si te estás moviendo, no
puedes hacer la transición a
la animación de ataque. Arreglemos eso rápidamente. Entonces ahora volveremos, volveremos al
plano de animación a un alto nivel Haremos
lo mismo para la carrera. Oh, déjame regresar y copiar
el código porque quiero que, ya
sabes, salve vida
y tiempo. Regresa. Entonces, pasando de correr a refresco, básicamente, pasarás de
correr a la de soda tack Si como héroe es como héroe, la tachuela de Soder está corriendo, Y luego puedes pasar de la
soda tack a correr. Siempre y cuando la soda
tack esté puesta a cero. Entonces, en otras palabras, estás
avanzando, lo cual es bueno. Entonces ahora intentemos eso otra vez. Entonces me estoy postulando. Estoy tomando refrescos, puedo volver a correr. Estoy corriendo, estoy tomando refrescos, puedo volver a correr. Bien. Esto es bueno. Atacando al suelo, fresco,
tachuelas de césped, fresco, ataque al suelo. Eso está funcionando perfectamente bien. Entonces veamos. Oh,
bien, hay daños. Hay daños. Hay daños. Hay daños. Hay daños. Eso es daño. Hay daños. Entonces sí, ahora está
haciendo daño. ¿Bien? Está funcionando. Está funcionando
principalmente como se pretendía. Por supuesto,
todavía hay un par de temas. Por ejemplo, está haciendo
daño en el primer fotograma, que no es lo que
queremos, quería
hacer daño alrededor
del tercer cuadro. Ahí es cuando es
peligroso, ¿verdad? Porque baja, luego golpea, baja, luego golpea, luego se hace, baja, golpea, ya está. Entraremos en esos
ajustes un poco más tarde, pero ahora la línea base está funcionando
correctamente. Esto es bueno.
47. Animación de ataque con espada aérea 45: Bien, entonces ahora cuando se
trata del suelo, cada vez que te mudes, eres
capaz de hacer ese ataque. Cuando te quedas quieto, puedes hacer ese
simple ataque básico. Pero, ¿y cuándo
has saltado? Bueno, ahora tenemos que
sumar un poco porque sigues teniendo
ese mismo hit box cuando estás saltando, ¿verdad? Al igual que, todavía obtienes ese mismo hit box
cuando estás saltando. Pero, ¿cómo nos aseguramos de que realmente
puedas hacer daño? Es decir, el daño que ya
pusimos, lo arregló. Pero, ¿cómo tenemos una
animación aérea agradable para el ataque? Bueno, entremos y agreguemos la
animación de ataque de salto. Así que volveremos
al aventurero y quieres buscar rápidamente
bajo el arte para atacar Bien. Y ahora fíjate que hay una simple animación de ataque aéreo, y tiene tres fotogramas de
animación. Va 0-03 Encuéntralos. Bien,
están por aquí. Espero que lo veas con claridad, pero deberías
poder verlo claramente basado en la
instrucción en el aire. Y entonces vas a
convertir estos en sprites. En otras palabras, crear sprite. Y luego con esos mismos tres que has creado como sprite, crea flipbook
y simplemente llámalo Ataque con espada
aérea,
subraya uno. Bien. Entonces ese es el nombre que recomiendo
usar ataque de espada aérea, subrayar uno. Entonces
es doble clic. Entonces este es el ataque aéreo de la Espada. Eso es realmente. Bien. Ahora fíjate que son
cuatro fotogramas de animación. Entonces déjame cambiar la
animación a cuatro. Bien. Esto se
ajustará más adelante, pero esto es solo por claridad
visual, ¿de acuerdo? Ahora, volveremos a
la fuente de animación, y luego agregaremos una
nueva secuencia de animación. Y, claro, lo llamaremos ataque
aéreo SOD bajo la puntuación
uno, y ahí está Bien. Ahora con eso, claro, daremos uno a los
datos de animación del ataque Air SOD, y ahí está el ataque Air SOD Ese es el que
vamos a usar. Ahora, con eso,
volvamos al plano de
animación Voy a volver a la cima. Y simplemente seleccionaremos
la animación de salto. Este va a
ser el indicado, ¿verdad? Mantengamos todo cerca de
la animación de salto. Lo siento. ¿Cómo puedo mover esto por ahí? Sí, vamos a
moverlo un poco. Oh, esto podría estropearlo. No hagamos eso.
De todas formas, ten eso. Entonces vamos a crear una estadística de
animación, y vamos a llamar a
esta estadística Espada aérea, ataque bajo el cuadrado uno. Bien, por organización
y claridad. Y luego dentro, vamos a
escribir play air SWoD attack. Boom, ahí está.
Y conéctelo. Ahora que está conectado,
vamos a compilar rápidamente. Volvamos, y vamos a vincularlo
desde el inicio del salto, y también lo vamos a vincular de
nuevo al inicio en salto. Bien, vamos a vincularlo de nuevo. Y lo que queremos, vengamos por aquí, va a ser
exactamente lo mismo. Bien. Entonces, pasando del arranque por salto
a AirsData esencialmente, cada vez que el ataque SOD
uno esté jugando, podemos entrar Y entonces cuando el
ataque SOD no está jugando, podemos salir de esa transición ¿Bien? Así que vamos a
compilar rápidamente porque esto es solo de saltar,
solo de saltar. Así que vuelve al nivel de
desarrollador. Entonces, si estoy en el suelo, juega ese
ataque SOD por salto Toca el aire solar
tuck. Mira eso. ¿No es eso genial?
Juega el aire solar tuck Ese es el corte de aire. Slash de aire Entonces ahora lo hemos configurado
para que en el aire, esté el corte de aire. Y en el suelo, ahí
está el corte de tierra. Se ve un poco bien. Ahora que tenemos esa tacha de
soldadura básica lista para
rockear en juego Ahora vamos a
entrar y hacer algunos ajustes mucho más
complejos a la tachula de soldadura de aire y
la tachueta de soldadura a tierra y entrar en cómo hacer un sistema combinado para
que podamos tener múltiples tachuelas de
soda diferentes y también entrar en cómo
vincular los ataques,
bien, cómo vincularlos y hacer
que se vean geniales Entonces vamos a entrar en
el siguiente par de videos, vamos a entrar en cómo
hacer un combo de tres hits. Que se combina en sí mismo, que es un sistema confiable que
utiliza un sistema de dial in combo Bien, vamos a meternos en eso en el siguiente conjunto de
lecciones.
48. 46 Cómo usar la animación personalizada para notificaciones de la caja de impacto de sword: Bien. Entonces vamos a hacer
un cambio muy importante. Ahora, ahora mismo en
nuestra implementación, se
darán cuenta en el
momento en que haga clic, el daño está hecho. El motivo es
porque la caja de impacto por daños se está creando
instantáneamente una vez que hacemos clic. Estoy seguro que me puedes ver presionando el botón de ataque y el
daño se hace al instante. Cambiémoslo para
que el daño solo se haga en un momento determinado
durante la animación, y es parte de un par
de pasos que vamos a estar haciendo para que el combate sea
mucho más limpio y mejor. Entonces ahora mismo, para que funcione el ataque
cuerpo a cuerpo, lo que sucede es que
hay entrada mejorada, ataque
masculino, ese es
nuestro ataque real Y luego realiza
un ataque SOD. Bien. Y luego genera en
el ataque SOD un cuadro de golpe Y luego después de un ligero retraso, dice
que de aproximadamente 1 segundo, establece
que el ataque
SOD esté apagado. Todo bien. Ahora, lo que queremos es cambiar lo que está desovando en
ese ataque SOD En lugar de estar
desove aquí, rápidamente
vamos a romper esto Rompamos ese vínculo
y rompamos este vínculo. Permítanme ampliar rápidamente
el cuadro de comentarios. Entonces todo esto, que en realidad está generando en ese ataque va a ser
movido hacia abajo y en su lugar, solo
dejaremos el
código, que decide,
bien, es el ataque
SOD ocurre o no va
a durar 1 segundo lo dejaremos ahí.
Ahora, fuera de eso, aquí, esto es lo que
realmente está desovando en
el daño en la caja Ahora, antes de compilar, lo que queremos es
que el daño
se haga alrededor de la
época en que ese slash golpea Ves esa buena parte slashy,
ahí es cuando el daño necesita realmente golpear
al enemigo Ahora, para hacer eso, entraremos aquí. Y lo que tenemos que
hacer es que necesitamos
tener una
función o evento especial, que en realidad se genere
en ese ataque con espada Así que simplemente vamos a
hacer click izquierdo y luego
queremos agregar evento. Y luego queremos agregar
un evento personalizado, ¿de acuerdo? ¿Ves eso? Agregar evento personalizado, y luego
llamaremos a este lapso de eventos. Vamos a llamarlo hilado,
FODA, caja de golpe. Así es como lo
vamos a llamar. Llamaremos a la caja de éxitos SWOD
hilada del evento, y arrastraremos esto a desove en
esa caja, ¿de acuerdo? Ahora, una cosa que podemos ver es ahora que
tenemos quitada esta caja de calor, cuando entremos al nivel, estaremos atacando, pero
no se está haciendo daño alguno. Ahora bien, lo que queremos hacer es querer unir el desove de la caja de calor cuando el césped esté
justo después de que haya barrido Ahora, para hacer eso,
simplemente entraremos en tu personaje,
que es el jugador. Y queremos entrar en
la animación y abrir la salsa Zi de papel y el plano de papel Zedi
Animation Ahora, cuando se trata de
la salsa de animación, dirígete a la animación SOD
Attack Una vez que estés en la animación
SOD Attack, vamos a repasar
aquí mismo a esta pista de notificación Bien. Y ahora déjame
tocar la animación. Bien. Entonces por aquí es cuando
quiero engendrar en ese SOD Entonces voy a dar
click derecho y agregar Notificar. Pero qué tipo de notificar, quiero usar un nuevo tipo de
notifique y
lo llamaremos SOT Hit box. Detener. De inmediato,
déjame alejarme un poco. De inmediato, el
personaje principal se balancea. Ahí es cuando aparece el
SWOD at box. Ahora que tenemos esta notificación llamada Sword hit box hecha aquí, volvamos a la
animación Blueprint Ahora, notarás que
en la animación Blueprint, ahora
hay una nueva función
aquí llamada SWODHITBX Haga doble clic en la caja de golpe de
Espada. Bien. En realidad, veamos, se
llama Sword hit box. Después de hacer doble clic en él, estamos aquí dentro
de esta notificación. Y lo que queremos hacer es
arrastrar el como héroe, arrastrar esa variable adentro. Y entonces lo que queremos es llamar
a ese evento. Entonces queremos llamar
al evento veamos. El evento se llama spawn
SOD Hit box. Esto es. Esta función por aquí
se llama spawn SOD Hit box, y eso es Y Valla simplemente entrando, asegurándose de que haya una función especial en nuestro plano de personaje
principal Ir a la fuente de animación, crear una nueva notificación, ir a nuestro Blueprint de
animación, encontrar esa notificación y
llamar al héroe y pedirle que desactive esa
función de caja de golpe de espada, verifiquemos dos veces y
asegurémonos de que esté funcionando correctamente ¿Por qué? Sí, fíjate, está
haciendo daño en la diapositiva. Entonces está funcionando correctamente, y está desove
la caja de calor de espada correctamente y en el momento
adecuado eso es bueno Entonces ahora hemos separado nuestro desove de caja de calor de
daño, y lo hemos puesto y conectado
a la animación Lo siguiente que
haremos es volver a la salsa. Vamos a guardar
esto rápidamente. Esto es guardar. Seleccionemos rápidamente la tachuela
de soda de aire
y la tachuela de soda de aire Hagamos también
lo mismo en esta época. Añadiremos la notificación y
¿dónde está esta notifica? Se llama SOD Hit box. Vamos a añadir la notificación aquí. Entonces ahora está ahí en el ataque aéreo y en
el ataque terrestre. Ambos son capaces de hacerlo
así que hace daño por salto. Puedo hacer una especie normal y
va a hacer el ataque, y va a cortarme bien
y está haciendo daño. Entonces ahora tenemos un
Ataque Aéreo que hace daño, y tenemos el
ataque por aquí ¿Bien? Ataque aero, y
tenemos el aatack también El ataque aero funciona. El ataque a tierra funciona
y funciona de manera confiable. Bien. Eso es
algo realmente genial y es bueno. Tenemos eso marcado. A continuación, vamos a hablar de
que vamos a hablar un búfer de entrada y
entrar en cómo configurar combos Entonces queremos que sea para que el jugador de autos tenga
un combo genial de tres hits. Del primer slash, un nuevo slash secundario, y un tercer slash para mostrarte cómo configurar un
buen Vamos a meternos en eso en el próximo
49. 047 Más animaciones de ataque: Ahora, antes de entrar en
la secuencia combo, lo primero que vamos a hacer es que vamos a entrar y vamos a
entrar en la animación. Ahora, más bien,
volveremos al jugador. Volvamos al arte. Y lo que queremos hacer es
que queremos configurar un par de animaciones combo más, ¿de acuerdo? Porque ahora empezamos
con el primer ataque de sod. Ahora queremos tener un par de animaciones de
ataque más vendidas. Notarás que esta es la segunda animación de
ataque aventurero Entonces haré exactamente lo
mismo con el ataque dos. Cuenta con cinco marcos. Voy a usar las
acciones de sprite, crear sprites. Bien. Entonces ahora el ataque
Espada dos, más bien el aventurero
ataque dos ahora tiene Sin embargo, necesito encontrar esos
sprites. Aquí estamos aventurero
ataque dos va de cero,
uno, dos, tres, cuatro, cinco Y luego voy a crear
unos flipbooks con esos, y luego los voy a
llamar Ataque Espada. Ataque td bajo marcador dos. Bien. Ahora te darás cuenta
del ataque SOD uno, ese slash, der tack dos, es ese Es la vertical,
es la descendente. Ahora, por uniformidad, volveremos y
unificaremos esto en un poco. Y luego voy a
buscar aventureros atacan a tres. Entonces busquemos
esas animaciones. Bien, entonces hay ataque tres. Voy a ir a
acciones de Sprite, crear sprites. Quiero tener todos
esos como sprites. Y ahora como tres, seleccionaré entre 025 y crearé unos flipbooks y lo llamaremos ataque
SWOD Así que déjame acercarme. Entonces verán que tenemos ataque con
espada uno, ataque espada dos y ataque
SWOD tres Ah, bien. Ahora, vamos
a ralentizar las animaciones. Este es el ataque SOD uno. Se reduce a uno, tres, cuatro, cinco cuadros. Entonces, lo que vamos a
hacer y tener en cuenta, solo
estamos haciendo este curso
con fines de aprendizaje. Voy a bajar las animaciones de 15 fotogramas a cinco
fotogramas solo por ahora. Y luego Espada ataca a tres. Va a bajarlo cuadros
por segundo 15-5 también. Disminuir la velocidad para mayor claridad
visual. Por supuesto, cuando estés haciendo
tu desarrollo final de juego, puedes ajustar esos tiempos Solo quiero que esto esté aquí
y sea fácilmente visible para ti. A continuación, vamos a
entrar en la fuente de animación. Entonces ya tenemos SOD Attack
uno aquí. Déjame asegurarme de que los
nombres sean visibles, como puedes ver, SOD
attack one está listo Vamos a agregar
otro, y por supuesto, va a ser SOD
Attack bajo el cuadrado dos, y agregaremos otro, y será SOD Attack
bajo el cuadrado tres Entonces tenemos nuestros tres ataques
SOD aquí. Déjame hacer doble clic sobre dos, y voy a
buscar el ataque SOD dos Deberías poder
verlo ahí, y aquí está. Juguemos. Bien. Entonces ese es el
segundo ataque SOD, y luego SOD ataca tres En cuanto a los datos de animación, buscaré
SOD Attack three Bien. Esas son nuestras tres
animaciones de ataque de Espada. Eso es genial. Ahora, lo suficientemente bueno como para que estas animaciones también incluyan algunos nuevos
ataques aéreos SOD también Así que voy a volver
a la Voy a volver al escenario principal una
vez más Control Spacebar Quiero encontrar el
próximo ataque de Air SWOD. Entonces hay un segundo ataque de
Air SOD. Deberías poder encontrarla. Tiene cuatro frams
de animación, ¿de acuerdo? Entonces, en realidad, permítanme escribir aire para que simplifique la
búsqueda de los ataques aéreos. Entonces esta es la primera. Bien, ataque aéreo uno. Bien. Y luego hay
ataque aéreo dos. Ese es el indicado. Así que básicamente puedes
usar el ataque aéreo dos como el siguiente ataque, que más bien como el
siguiente conjunto de sprites, déjame alejarme un poco
para simplificar esto O Ataque aéreo dos, vamos a convertir
eso en un montón de sprites o crear sprites Entonces Ataque aéreo dos
sprites están listos. Haré clic en esos y
crearé unos flipbooks, y simplemente lo llamaré
ataque aéreo bajo la puntuación dos. Bien. Entonces ataque aéreo, más bien, déjame cambiarle el nombre. Déjame cambiarle el nombre a Air
SOD attack underscore dos. ¿Bien? Déjame entrar. En este momento está configurado en 15 cuadros. Eso son demasiados. Es 12. Se trata de tres fotogramas de animación. Entonces lo dejaremos
como tres fotogramas de animación, bastante simples. Y entonces encontraremos
los siguientes datos ARSO, que es el tercero Puedes entrar y
buscarlo. A ver. Uno, dos, tres, boom. Este solo tiene dos
fotogramas de animación. Parece, así que
tendremos que entrar y agregar un par
de diferentes. Veamos Air Soda tacha tres. Bien, entonces dependiendo de cómo se
hayan organizado, se ve un poco diferente. Pero fundamentalmente, puedes
simplemente bien, pasar de listo. A ver. Esto es un poco complejo dependiendo de cómo se organicen tus
sprites Pero permítanme
seleccionar todos estos. Y luego veamos las acciones de
Sprite
vamos a crear un sprite Después con los seleccionados, voy a seleccionarlos a todos, y luego voy a
crear unos flipbooks Bien, ¿cómo se llaman los
flipbooks? A veces los flipbooks
aparecen en, como, diferentes. Déjame controlar Z. Oh,
hombre, cambié los
fotogramas por segundo Aguanta. Entonces déjame dejar esto de
nuevo a cuatro. Deja esto. Entonces veamos, creé
múltiples flipbooks, que no es lo que queremos Déjame borrar esos
ataques aéreos tres flipbooks. Sí,
eliminémoslos rápidamente. Déjame volver por aquí. Y lo que quiero, déjeme escribir aire. Quiero buscar
los ataques ARSOD, emparejarlos a todos y
luego crear Se debe crear un
solo flipbooks. No debería ser crear
múltiples flipbooks. Bien. Por alguna razón
crea múltiples flipbooks, que en realidad no es lo que quiero Eso es un sprite.
Eso es un sprite. Bien, vamos a tener que hacer
esto el viejo fashunway. Entonces tenemos este ataque
aéreo aventurero aquí mismo, ¿verdad? Llamemos a esto renombrarlo
ataque aéreo bajo la puntuación tres. Entonces debería ser ataque de Air SOD. Déjame cambiar el nombre
aéreo SOD ataque tres. Ahora lo he seleccionado. Y lo que quiero hacer es que voy a dejarme primero
pausar de play pause. Bien, ahora que he
impedido que juegue, voy al área de juego, y luego en realidad, solo
voy a agregar un fotograma clave. Déjame configurarlo para que sean cuatro fotogramas de animación. La mayoría de los ataques aéreos son
cuatro fotogramas de animación. Y después voy a seleccionar el segundo fotograma clave.
Ven aquí. Y luego clic izquierdo,
¿de acuerdo? Ese es el indicado. Haz clic izquierdo en el siguiente, y luego quiero
elegir un nuevo sprite Espero que esto sea
claramente visible. Y luego déjame buscar ataque
aéreo de tres finales, ¿de acuerdo? Entonces déjame ver cómo se ve esto. Bien. Entonces ambos
se ven muy similares. Entonces lo que voy a hacer, no, lo que en realidad voy a
hacer es dejarme cancelar esto. Lo que voy a configurar es en lugar de tener un cuestionable ataque
aéreo tres, déjame borrar eso Lo configuraremos para
que el Air soda tack uno y Air soda tack dos
se conecten entre sí Entonces Airsdatak uno está
listo para veamos,
uno, dos, tres, cuatro, bien Soda tack dos se
ve así. Déjame ajustar esto. Entonces lo que voy a hacer es que voy a conseguir
Air soda Tak one, y voy a duplicarlo, y ya
se ha renombrado AirsDataK tres. Esa es la llamada. Entonces voy a conseguir AirSDA
Tak dos y eliminarlo. Y luego voy a
conseguir AirSDA tak one, y luego voy
a duplicarlo
y notarlo se llama a sí mismo AirsDataK Pero lo que voy a
hacer es que
lo voy a conseguir voy a hacer una pausa más bien, voy a pausar, y lo que voy a hacer es que
voy a cambiar
el orden de los fotogramas. Entonces voy a conseguir el fotograma tres, y luego lo voy a
arrastrar hasta el inicio. Déjame regresar, asegúrate de que
esto va correctamente. Quiero arrastrar el
último fotograma hasta el final. Juguemos esto, asegurémonos que
lo esté organizando correctamente. Detener. Así que el fotograma cuatro más bien el fotograma dos va a ser
el primer fotograma. Entonces tenemos que moverlo por ahí. Moverlo es
sorprendentemente difícil. Voy a tener que
elegir realmente el sprite. Entonces veamos aquí. Ataque dos querrá
que sean dos. Así que quiero que empiece desde aquí. Y entonces el
segundo es correcto. Perfecto. Y luego el
tercero, nuevo sprite, queremos que sea cuando su
brazo esté arriba por tipo aire Estoy buscando. Estoy
mirando a cada sprite. Estos son realmente
pequeños en tu pantalla, pero deberías poder. Bien, así que voy a entrar con una edición de post porque parte de
este video no estaba muy claro. Ahora, estamos
trabajando para tener un combo de tres golpes en el
suelo y en el aire, un combo de tres golpes. Simplemente presiono el
botón de ataque tres veces por ahí. Ahora, en el último video, todo lo que tenías que
hacer era configurar la animación de ataque SOD y agregar
el hitbox y la
animación air
SODA tack y agregar Todo lo que estás haciendo ahora
es que vas a agregar dentro de la salsa de animación Paper
Zd, el segundo SODA
tack en el aire y
agregar también el notificador SOD hitbox La tercera animación de
ataque aéreo SOD y agregar también en el
hitbox SOD Y luego en el suelo, actualmente
tienes el
primer ataque SOD configurado y el evento SOD eight box
spawning Entonces quieres sumar en el
segundo ataque y el tercero. Y una vez que los haya agregado a la fuente de
animación Paper Zd, puede pasar a
configurar realmente el búfer de entrada
y el sistema combinado
50. 47 Cómo agregar más animaciones de ataque para el sistema de combinación: Ahora, antes de entrar en
la secuencia combo, lo primero que vamos a hacer es que vamos a entrar y vamos a
entrar en la animación. Ahora, más bien,
volveremos al jugador. Volvamos al arte. Y lo que queremos hacer es
configurar un par de animaciones combo más, ¿de acuerdo? Porque ahora empezamos
con el primer ataque de sod. Ahora queremos tener un par de animaciones de
ataque SD más. Notarás que esta es la segunda animación de
ataque aventurero Entonces haré exactamente lo
mismo con Attack two. Cuenta con cinco marcos. Voy a usar las
acciones de sprite, crear sprites. Bien. Entonces ahora el ataque
Espada dos, más bien el aventurero
ataque dos ahora tiene Pero necesito encontrar esos
sprites. Aquí estamos aventurero
ataque dos va de cero,
uno, dos, tres, cuatro, cinco Y luego voy a crear
un libro volteo con esos, y luego los voy a
llamar Ataque Espada. Ataque almacenado bajo la puntuación dos. Bien. Ahora te darás cuenta de que
el ataque de Espada uno, ese corte, el ataque de Espada dos, es ese corte inferior Es la vertical,
Ahí está la hacia abajo. Ahora, por uniformidad, volveremos y
unificaremos esto en un poco. Y luego voy a
buscar aventureros atacan a tres. Entonces busquemos
esas animaciones. Bien, entonces hay ataque tres. Voy a ir
acciones de sprites, crear sprites. Quiero tener todos
esos como sprites. Y ahora como tres, seleccionaré 0-5 y crearé un flipbook y lo llamaremos ataque
SWOD Así que déjame acercarme. Entonces verás que
tenemos SOD ataque uno,
SOD ataque dos, y
SOD Oh, bien. Ahora, vamos
a ralentizar las animaciones. Este es el ataque SOD uno. Se reduce a uno, dos, tres, cuatro, cinco cuadros. Entonces, lo que vamos a
hacer y tener en cuenta, solo
estamos haciendo este curso
con fines de aprendizaje. Voy a bajar las animaciones de 15 fotogramas a cinco
fotogramas solo por ahora. Y luego Espada ataca a tres. Va a bajarlo cuadros
por segundo 15-5 también. Simplemente ralentizándolo
para mayor claridad visual. Por supuesto, cuando estés haciendo
tu desarrollo final de juego, puedes ajustar esos tiempos Solo quiero que esto sea claro
y fácilmente visible para ti. A continuación, vamos a
entrar en la fuente de animación. Entonces ya tenemos ataque Espada
uno aquí. Déjame asegurarme de que los
nombres sean visibles, como puedes ver, Sword
attack one está listo. Vamos a agregar
otro, y por supuesto, va a ser SOD
tack debajo del cuadrado dos,
y agregaremos otro, y será SOD Attack
bajo Entonces tenemos nuestros tres ataques
SOD aquí. Déjame hacer doble clic sobre dos, y voy a
buscar el ataque SOD dos Deberías poder
verlo ahí, y aquí está. Vamos a plato. Bien. Entonces ese es el
segundo ataque SOD, y luego SOD Attack tres En cuanto a los datos de animación, buscaré
SOD Attack three Bien, esas son nuestras tres
animaciones de ataque de Espada. Eso es genial. Ahora, lo suficientemente bueno como para que estas animaciones también incluyan algunos nuevos
ataques aéreos SOD también Así que voy a volver
a la voy volver al escenario principal una
vez más, Barra espaciadora de Control Quiero encontrar el
próximo ataque de Air SWOD. Entonces hay un segundo ataque
aéreo SOD. Deberías poder encontrarla. Tiene cuatro fotogramas
de animación, ¿de acuerdo? Entonces, en realidad, permítanme escribir aire para que simplifique la
búsqueda de los ataques aéreos. Entonces esta es la primera. Bien, ataque aéreo uno. Bien. Y luego hay
ataque aéreo dos. Ese es el indicado. Así que básicamente puedes
usar el ataque aéreo dos como el siguiente ataque, que más bien como el
siguiente conjunto de sprites Déjame alejarme un poco
para simplificar esto. Entonces Air ataca dos, vamos a convertir
eso en un montón de sprites o crear sprites Entonces Ataque aéreo dos
sprites están listos. Haré clic en esos y
crearé un flipbook y
simplemente lo llamaré ataque aéreo
bajo la puntuación dos. ¿Bien? Entonces ataque aéreo, más bien, déjame cambiarle el nombre. Déjame cambiarle el nombre a Air
SOD attack underscore dos. ¿Bien? Déjame entrar. En este momento, está
configurado en 15 cuadros. Eso son demasiados. Es 12. Se trata de tres fotogramas de animación. Entonces lo dejaremos
como tres fotogramas de animación. Bastante simple. Y luego encontraremos
los siguientes datos de Air SO, que es el tercero. Puedes entrar y
buscarlo. A ver. Uno, dos, tres, boom. Este solo tiene dos
fotogramas de animación. Parece, así que
tendremos que entrar y agregar un par
de diferentes. Veamos Air soda tacha tres. Bien, entonces dependiendo de cómo se
hayan organizado, se ve un poco diferente. Pero fundamentalmente,
puedes simplemente bien, pasar de listo. A ver. Esto es un poco complejo
dependiendo de cómo
se organicen tus sprites Pero permítanme
seleccionar todos estos. Y luego veamos las acciones de
Sprite
vamos a crear un sprite Después con los seleccionados, voy a seleccionarlos a todos, y luego voy a
crear un flipbook Bien, ¿cómo se llama el libro
plegable? A veces el flipbook
aparece en, como, diferente. Déjame controlar Z. Oh,
hombre, cambié los
fotogramas por segundo Agárrate. Entonces déjame dejar esto de
nuevo a cuatro, deja esto. Entonces veamos, creé múltiples flipbooks que no
es lo que queremos Déjame borrar esos
ataques aéreos tres flipbooks. Sí,
eliminémoslos rápidamente. Déjame volver por aquí. Y lo que quiero, déjeme escribir aire. Quiero buscar
los ataques ARSOD, emparejarlos a todos y
luego crear un Debería crear un
solo flipbook. No debería ser crear
múltiples flipbooks. Bien. Por alguna razón, crea múltiples libros flip, que en realidad no es lo que quiero. Eso es un sprite,
eso es un sprite. Bien, vamos a tener que hacer
esto a la vieja moda. Entonces tenemos este ataque
aéreo aventurero aquí mismo, ¿verdad? Llamemos a esto, cámbiale el nombre ataque
aéreo bajo la puntuación tres. Entonces debería ser ataque ARSOD. Déjame cambiar el nombre
aéreo SOD ataque tres. Ahora lo he seleccionado. Y lo que quiero hacer
es que voy a dejarme primero pausar de
play pause Bien, ahora que he dejado
de jugar, voy al área de juego, y luego en realidad, solo
voy a agregar un fotograma clave. Déjame configurarlo para que sean cuatro fotogramas de animación. La mayoría de los ataques aéreos son
cuatro fotogramas de animación. Y después voy a seleccionar el segundo fotograma clave.
Ven aquí. Y luego clic izquierdo,
¿de acuerdo? Ese es el indicado. Haz clic izquierdo en el siguiente, y luego quiero
elegir un nuevo sprite Espero que esto sea
claramente visible. Y entonces déjame buscar ataque
aéreo de tres finales, ¿de acuerdo? Entonces déjame ver cómo se ve esto. Bien. Entonces ambos
se ven muy similares. Entonces lo que voy a hacer, no, lo que en realidad voy a
hacer es dejarme cancelar esto. Lo que voy a configurar es en lugar de tener un cuestionable ataque
aéreo tres, déjame borrar eso Lo configuraremos para que
el Air Soda ataque uno y AirsDataK dos se conecten entre
sí Entonces AirsDataK uno está
configurado en, veamos,
uno, dos, tres, cuatro, bien Soda tack dos se
ve así. Déjame ajustar esto. Entonces lo que voy a hacer es que voy a conseguir
Air soda Tak one, y voy a duplicarlo, y ya
se ha renombrado AirSDA Eso es coll. Entonces
voy a conseguir AirSDA Tak dos y eliminarlo Y luego voy a conseguir
AirSDA tak one y luego
voy a duplicarlo y
notarlo se llama a sí mismo AirDataK Pero lo que voy a
hacer es que voy a
conseguirlo voy a hacer una pausa más bien, voy a pausar, y lo que voy a hacer es que
voy a cambiar alrededor
del orden de los fotogramas. Entonces voy a conseguir el fotograma tres, y luego lo voy a
arrastrar hasta el inicio. Déjame regresar, asegúrate de que
esto va correctamente. Quiero arrastrar el
último fotograma hasta el final. Juguemos esto, asegurémonos que
lo esté organizando correctamente. Detener. Así que el fotograma cuatro más bien el fotograma dos va a ser
el primer fotograma. Entonces tenemos que moverlo por ahí. Moverlo es
sorprendentemente difícil. Voy a tener que
elegir realmente los sprites. Entonces veamos aquí, ataque dos va a querer
que sean dos. Entonces quiero que empiece desde aquí. Y entonces el
segundo es correcto. Perfecto. Y luego el tercero, sprite de noticias
falsas, queremos que
sea cuando le levante el brazo. Así que escriba aire. Estoy buscando. Estoy mirando a cada sprite. Estos son realmente
pequeños en tu pantalla, pero deberías poder
verlo un poco más visiblemente Entonces quiero que empiece por
ese lado y termine ahí. Bien, esto es bueno. Entonces este es el
ataque aéreo número dos. Parece una especie de basura. Sostener. Esa última parte. Esa última animación,
creo que la voy a quitar. Déjame borrarlo. Entonces
es ahora veamos, animación de
uno, dos, tres fotogramas. Bien, entonces es una animación de tres
fotogramas. Bien, cortarles ahí. ¿Bien? Eso tiene sentido. Entonces ahora AirSOD ataca
uno se ve así. Se corta arranca, baja, luego dos arranques más bien jugar Parece que está cortando
en sentido contrario. Por supuesto, cuando estás haciendo
tus propios sprites personalizados, puedes ajustarlo, pero esto va a ser lo suficientemente
razonable para nuestro sistema combinado inicial Entonces ahora tenemos
múltiples ataques SOD. Agreguemos esos ataques
aéreos SOD. Nueva secuencia de animación,
aire SOD, Attack, guión bajo dos, y
otro aire SOD,
Attack, Attack, Entonces dos. Vamos a vender. No, no, no, no, no. Dos.
Hombre, mi ratón es enorme. Bien, entonces dos va a
ser el ataque aéreo SWOD dos, y tres va a ser el ataque
aéreo SWOD Ahí vamos. Y luego, claro, tenemos que
agregar en los notifica la misma manera que agregamos en los notificadores para los ataques SWOD,
tendremos que agregarlos aquí. Entonces Air SWD atacan dos
Oh, esto no está en. Había soldadura tachuelas dos. Bien, sí, eso está
funcionando vamos a guardar eso. Así que en el marco dos, añadir notificar una salsa notificar, caja de calor SoEd Bien, vamos a ver. Soda tack
uno. Tack de soldadura tres Agregar notificar, notificar salsa, caja de calor de
Sod,
arrastramos por aquí Bueno. Ahora, soldadura tachuelas
uno tiene la notificación, soldadura tachuelas dos. Agárrate. Déjame ver
¿de dónde sale? Aquí está. Entonces aquí
voy a agregar ir. Bien. Agregar Notificar SOD Golpea caja, y luego
SODA tacha tres. Veamos, en qué momento
necesitamos que Soda tacle tres,
¿te importa jugar, por favor, por favor. ¿Se puede jugar? ¿Por qué simplemente no está jugando? Oh, bien. Déjame presionar
el botón de reproducción. Bien. Ahora voy a arrastrar por aquí. Esto es cuando quieres
agregar esa notificación,
Así que golpea la casilla, guarda
después de eso guardado. Ahora todos estos están listos para ser utilizados en un sistema combinado
real adecuado. Ahora que hemos configurado
todas las animaciones y las notifica, sigamos
adelante
51. 48 Introducción al buffering de entrada: Todo bien. Entonces, antes
de seguir adelante, quiero
presentarles un concepto muy sencillo. Vamos a crear un búfer de entrada
que almacene entradas, y luego finalmente se restablece
después de un período de tiempo Este es un
entendimiento muy general. Ahora vamos a entrar en el código. Quiero que esto tenga
sentido total para ti. Vamos. Entonces la primera parte
del búfer de entrada necesita que volvamos
a la melata, ¿de acuerdo? Ves la forma en que
funciona en
este momento es que está escuchando la entrada mejorada,
derecha, del ataque cuerpo a cuerpo Entonces va a hacer
esto una vez y va a establecer el ataque SOD en uno, y luego hay un retraso Así es como lo está
haciendo ahora mismo. Pero vamos a cambiar eso. Entonces, en lugar de presionar ese botón que lleva a eso
hacer una vez y luego
restablecerlo, lo que vamos a hacer es que
vamos a arrastrar esto. Bien. Ahora, ahora mismo, está listo para hacer que el ataque de césped sea uno, pero vamos
a romper esto. Va a romper este enlace. Y lo que queremos es que queremos ahora ahora
que tenemos esto aquí, queremos agregar algo
aquí que va a almacenar, cuántas veces los jugadores
han pulsado el botón. ¿Bien? Ahora, por simplicidad, vamos a usar
un entero básico. Ahora, recuerden, tenemos acceso a tres animaciones de
ataque diferentes, lo que significa que queremos
hacer una comprobación básica. Entonces, ¿por qué esto no
funciona con claridad? Agárrate. A veces el motor irreal
hace cosas extrañas. Pero para esto. Ahora debería estar
mostrando el Bien, ahora es capaz de mostrar las
animaciones correctamente. Así que tenemos acceso a tres
animaciones de ataque diferentes, ¿de acuerdo? Tenemos animación dos,
que está cortando. Tenemos dos los cuales
están cortando hacia abajo, y el tercero
es un corte medio ¿Bien? Ese es nuestro combo de
tres cabezas. Entonces para crear un búfer, lo que queremos hacer es
asegurarnos de que somos capaces guardar tiene el reproductor
pulsado el botón una, dos o tres veces. Luego basado en eso,
juega una, dos o tres de estas animaciones de
ataque. Ese es el invitado básico de la misma. Ahora que hemos roto eso, vamos a entrar y
pensar en cómo hacer un
gran búfer de entrada. Esencialmente lo que
queremos es un nodo que capture cuántos ataques de espada ha presionado
el jugador. Si han presionado una vez, llevará a cabo una acción. Si han presionado dos veces, llevará a cabo una acción
diferente. Si han presionado
tres veces, lleva a cabo una diferente, y por simplicidad, lo
dejaremos así. Bien. Entonces, con eso en
mente, sigamos adelante. Entonces tenemos todo este espacio aquí, y comencemos por
crear una variable. Esa variable va
a ser un entero y llamaremos número de
Ataque FODA Bien. Y por simplicidad, vamos a
convertirlo en un entero, ¿de acuerdo? Lo que significa que es de cero a uno. Se trata de números grandes, números
holísticos sin 0.1
o dos, es un entero. Ahora, como un entero,
vamos a arrastrar esto. Vamos a arrastrarlo. Así que queremos, uh comenzar con establecer el número de ataque
SOD. ¿Bien? Entonces abramos esto aquí arriba. Digamos que el jugador
acaba de presionar el botón Meletack una vez.
¿Qué queremos hacer? Queremos establecer el número de
ataque de refresco en realidad. Voy a necesitar
crear algo de espacio. Entonces voy a arrastrar estos y
empujarlos por una deuda. Entonces el jugador ha
pulsado el botón una vez. Lo que queremos hacer
es que queremos obtener el número de SodTac y
aumentar su valor Para que puedas arrastrar de nuevo en
el número SDTack Bien. Y luego queremos agregar uno. Quieres incrementarlo, ¿de acuerdo? Simplemente configúrelo en uno. Y luego boom, ya lo
hemos montado. Entonces, lo que esto hace es que obtiene el número de tachuelas SOD y
le agrega uno, ¿de acuerdo Porque fundamentalmente, queremos aumentar el
número de tachuelas de soda Ahora, digamos que el jugador ha
pulsado ese botón una vez. Ahora voy a decir, Bien, el valor de Soda tack ahora es uno Ahora, para mostrarte este trabajo, vamos a necesitar
hacer algo de texto para desarrolladores. Así que vamos a tener una cadena de impresión. Y la cadena de impresión
sólo va a ser una. ¿Bien? Sólo se va
a establecer en uno. No obstante, ¿y si el jugador vuelve a
presionar ese botón? ¿Bien? Es decir, ¿qué sucede cuando el jugador presiona ese botón
por segunda vez? ¿Qué quieres que suceda?
Es bastante simple. En realidad queremos agregar otro incremento a esa variable llamada Número de ataque de
Espada Pero ahora tenemos que hacer
una simple comprobación, ¿de acuerdo? Vamos a hacer
una simple comprobación. Y lo que
fundamentalmente
es ese cheque va a ser un interruptor. Así que vamos a encender el entero. Bien, encienda el extremo. Eso es lo
que quieres buscar. Y entonces si bajas, se destacará
como interruptor de extremo encendido. Ahora bien, ¿qué hace un
switch on end? Lo que hace es
cambiar la ruta
del flujo de código basado en
el valor que ingresaste, ¿de acuerdo? Entonces pongamos
aquí el número de
ataque SD y ahora está configurado
para encenderse. Y vamos a tener un par
de valores diferentes. Dios mío, esto
se está haciendo más largo. Estiremos
el cuadro de comentarios, y vamos a empujar esto un
poco más lejos. Ahora, volvamos aquí. Entonces, la primera cadena que está
destinada a imprimir es una. Tengamos tres de ellos. Entonces la primera cadena
va a ser una. La segunda cuerda
va a ser dos. Y la tercera cadena
va a ser Oh,
espera, espera, espera,
haz clic en esto correctamente. La tercera cuerda
va a ser tres. Entonces fundamentalmente, lo queremos. Empecemos rápidamente ahora
a agregar pines. Entonces esencialmente, si es
cero, no hace nada. Si es uno, imprime uno. Si son dos, imprime dos, y si es tres,
imprime tres. Ahora, ese es un interruptor muy
sencillo. Ahora, entremos rápidamente
al nivel de desarrollador. Entonces cuando presiono uno en la esquina superior izquierda,
debería ver uno. Bien. Vuelvo a presionar,
se muestran dos. Espero que esté mostrando
dos para ti. Bien. Y cuando presionas de
nuevo, muestra tres. Pero cuando
vuelves a presionar después de
eso, no muestra nada.
Eso es fantástico. Ahora, volveremos a la espada más bien
volveremos con el héroe. Sabemos a ciencia cierta que ahora
somos capaces de configurarlo. Entonces, cuando el jugador presiona el
botón una vez, tiene uno. Cuando el jugador presiona un
botón dos, va a dos, y cuando el jugador
presiona el botón tres, va a tres. Eso es bueno. Eso
significa que tenemos una manera de determinar si el jugador ha
pulsado el botón una vez, si ha pulsado
el botón dos veces, y si ha pulsado el botón tres veces,
eso es bastante genial. Ahora que hemos terminado con eso, vamos a arrastrar esto y
traer esto aquí. A esto le vamos a sumar
un poco más. Esta es la línea base
del búfer de entrada. En el siguiente video,
vamos a agregar algún código más para que
funcione correctamente.
52. 49 Configuración de la combo básica con bloqueo de entrada dura: Bien. Ahora que tenemos esta
configuración y listo para funcionar, entremos en
agregar realmente las animaciones. Entonces para empezar
ya tenemos nuestro
ataque Espada uno listo para rockear. Entonces lo que vamos a hacer es
que lo
vamos a configurar una manera muy similar
al ataque con espada uno, y vamos a cambiarlo que el switch on
int suceda primero. Déjame mostrarte cómo es
eso. Entonces ya tenemos
todas estas cuerdas que te muestran una,
dos y tres, ¿verdad? Ahora, vamos a crear
algunas variables nuevas. Al primero se le
va a llamar Ataque Espada bajo la puntuación dos. Eso será para nuestro
segundo ataque SOD. Y el siguiente va a ser ataque
SOD bajo marcador tres Estos solo van a
ser útiles y déjame ponerlos debajo
del número de ataque. Entonces voy a arrastrar
el número de ataque hacia arriba. Boom, vamos a reordenar eso amablemente. Oye, salud del jugador, vuelve a subir. Bien. Eso es. Entonces tenemos nuestro número de ataque, y luego tenemos a los booleanos para
mostrar si el primer ataque, segundo o el tercero son los
que están activos actualmente Entonces, después de una compilación rápida, ven aquí y
básicamente
vamos a hacer una configuración
muy similar. Entonces primero no
conseguiremos querer establecer. Así que pon Swedatak 22 aquí. Copia eso por aquí. Aquí está apagado, y agregaremos en el mismo retraso de 1 segundo. Bien. Conservemos
el retraso de 1 segundo. Ahora que tenemos eso aquí, agreguemos en Swedatag tres
. Ahora, no conseguir. Sigo recibiendo cuando
debería estar configurando, no conseguir. Vamos a configurarlo para configurar. Añadiremos en el mismo retraso, exactamente
el mismo
retraso de 1 segundo. Aquí va a ser sí, mientras que aquí, copia y
pega esto por aquí. Aquí, va a decir que
no, ya no estás llevando a cabo Sedatak tres Así que lo guardaremos rápidamente. Y luego vamos a,
rompamos
aquí este enlace de configurar el número de ataque del
SWD Déjame romper este enlace. Rompe todos estos,
y lo arrastraremos hacia fuera y cambiaremos su posición. Romper, romper. Bien, bien, bien. Trae esto por aquí. Y lo que haremos es
en este mismo inicio, arrastraremos el número de tachuelas
SODA para que sea lo primero
que compruebe, y en el valor predeterminado, tenga en cuenta que acaba de
disparar esto Al valor predeterminado, va a ser cero. Entonces como comienza en cero, entonces
se conectará y
se le agregará el número. Bien. Ahora que tenemos
esa función básica, sumemos sigamos
adelante con esto. Entonces justo después de
presionarlo por primera vez, va a decir, Oye, va a presionar
ese primer ataque, y va a hacer SOD ataque uno y continuar
junto con eso Y luego después de la segunda
ocasión para empezar, primero
repasemos este texto. Este texto que básicamente, vamos a repasar las notas que estamos usando actualmente
para incrementar el número,
arrastrar sobre ellas, hacer clic derecho, y luego
bajaremos y diremos:
Oye, colapsar a una macro Entonces ahora esta nueva macro solo
está actuando como
un solo nodo, ¿de acuerdo? Es una función muy sencilla, y nos va a ayudar a limpiar nuestros planos Y entonces voy a cambiar
su nombre. Déjame alejarme. Es una macro simple. Déjame copiarlo y pegarlo aquí y copiarlo y
pegarlo de nuevo. Recuerda que todo lo
que está haciendo es agregar uno al número. Entonces en dos, se romperá,
arrastro todo el asunto. Entonces una vez que se
presiona el botón por segunda vez, el botón de ataque, se
imprimirá dos, y luego va
a intentar demostrar que,
oye, el jugador está tratando de
hacer el ataque vendido dos. Y en tres, más bien tercera vez, el número subirá a dos. Y luego pasará, y le dirá motor irreal que el jugador está tratando de
hacer el tercer ataque vendido Una vez que haya terminado con
eso, déjame copiar. Oh, chasquido corté. No. Una vez que haya terminado con
eso, déjeme copiar. Ven aquí, y en realidad, no
necesito copia. Vamos a arrastrar el número de Soda
tack stead, y vamos a establecer el número de
Soda tack camino de regreso a cero para que vuelva a
comenzar desde arriba Así que recuerda, si el número de
Soda tack comienza en cero, si es cero, cuando presionas el
botón la primera vez, va a aumentar
el valor de uno a uno Y luego nueva cuerda, imprimirá
la cuerda una, y luego hará el
primer ataque con espada. Ahora, entremos en el plano para echarle
un vistazo rápido. Entonces este es el plano de
animación. Compila rápidamente y presiona play. Así que fíjate en este momento
que está configurado en uno, 02. Ahora no es en realidad no
te
está aceptando presionar eso. Presiona tres, ahora es capaz de volver a
hacer el primer ataque. Ahora bien, esto es lo que
vamos a hacer. Inmediatamente el jugador
presiona el primer botón. Vamos a configurar
una ventana de entrada donde puedan presionar el segundo combo, bien, segundo botón
en el combo. Pero antes de hacer eso,
establezcamos cómo
presionar realmente los otros
botones del combo. Entonces vayamos al plano, y ya sabemos que el ataque
SWOD uno está aquí Vamos a crear otro estado de
animación, y vamos a llamar a este ataque almacenado
dos bajo la puntuación dos. Bien. Oh, la palabra
estado sigue ahí. Quitemos la palabra estado. Entonces aquí estamos SOD
ataque está listo casi, y luego vamos a crear
otro estado de animación, y vamos a llamar a
este ataque SOD bajo la puntuación tres dentro de
ese estado de animación Aquí vamos. Y vamos a configurarlo
que de soda tack uno, puedes hacer la transición
a soda tak dos
o puedes hacer la transición de
regreso al eido Bien. Puedes hacer una
de esas dos cosas, y luego está Soda tak tres, que puedes entrar
desde Soda tak dos. O puedes volver a IDO. Entonces esa es esencialmente
la configuración de bucle. De ídolo, puedes
ir a soda tack one. De soda tack uno, puedes ir a soda
tack dos y de dos, puedes ir a tres Ahora bien, los botones aún
no están establecidos, así que fíjate si presionamos el botón de
ataque varias veces, no pasa nada, está bien. Entonces volveremos
al plano y pasaremos
de Soda Tech uno a dos, todo lo que necesitamos es que entremos,
saquemos como héroe Entonces lo que queremos
buscar es SOD ataque dos. Así que consigue Soda tack dos. Y lo que queremos dos es el nodo igual
exacto, ¿de acuerdo? Entonces así es como queremos que se establezca. Y si es que sí, ese
valor es positivo,
entonces por favor, haga la transición a esa animación. Echemos un
vistazo más de cerca. Entonces como héroe, Soda tack dos, si se establece en sí,
puede hacer la transición ¿Bien? Así que salgamos de ahí. Y luego de la soda tack
dos a la soda tack tres, pasaremos por
el mismo proceso, nos
pondremos como héroe, SOD Bien, quiero que el
SOD ataque tres. Quiere verificarlo contra
el valor igual, y si el valor igual
es sí, puede hacer la transición. Bien. Eso es todo lo que necesitamos. Ahora vamos a configurar lo que
va a ser realmente la papilla de refresco Ahora, tenga en cuenta, pasar de la
soldadura de tachuelas uno a la inactividad se puede hacer con bastante facilidad
configurándolo en una pegajosidad de soda
uno siendo cero, Entonces, pasar de la soda tack dos a la
ociosa hará
exactamente lo mismo Ven aquí, conéctalo
excepto aquí está vacío. Y luego para Tack SDA tres, exactamente lo mismo también Volver al ralentí. Simplemente pegamos nuestro código y
desmarcamos la casilla de verificación. Esta es la manera fundamental,
sencilla y fácil de configurar esto. Después haremos doble clic
dentro de SDA tack dos, y queremos escribir
play SOD Esa es la animación que
queremos que se juegue. Y luego en soda tack tres,
tecleamos play Espada ataque tres Bien. Cual es la animación
que queremos que reproduzca. Verifique dos veces, coloque Tack de soldadura, dos o tres. Bueno. Ahora, con solo esa configuración básica, si volvemos
al nivel de desarrollador, y uno, dos, tres. Bien. Observe que hace
el combo, uno, dos, tres. Así que ahora tenemos nuestro combo
básico funcionando. Entonces intentemos hacer los tres
hits en nuestro maniquí de práctica. Uno, dos, tres. Bien. Hagámoslo otra vez. Uno, dos, tres. Bonito. Uno, dos, tres.
Tenemos nuestro combo. Bien. Ahora, aquí está
lo hermoso. Ahora que tenemos
esta configuración, ¿de acuerdo? Los botones realmente funcionan, puedes ver que hay un retraso de 1
segundo donde llegas a tomar la decisión sobre si vas
a seguir haciendo esto o no, o si vas a parar, ¿ves? Ahora vamos a meternos en eso. ¿Cómo
lo configuramos para que haya un retraso de luz para que
sepamos que puedo entrar
si golpeo uno, verdad? En este momento está configurado
con un retraso muy duro. O estás haciendo
el combo completo o te bloquea
de presionar botones. Entonces digamos que si solo
presiono anime un ataque, no
puedo presionar a los
demás pase lo que pase. Entremos en el
siguiente video y ajustemos el código para que tengas mucha más
libertad de combo. Vamos.
53. 50 Breve descripción antes de más integración del sistema de combinación: Todo bien. Entonces ahora tienes
un entendimiento razonable. Ya sabes cómo funcionan los
sistemas de línea base para animación. Has entendido
hasta cierto nivel cómo la animación notifica el trabajo, y has entendido cómo
crear sistemas mediante los cuales, ya
sabes, la salud se reduce Eso es ultra cool. Ahora estamos pasando a vincular esos sistemas de una
manera mucho más apretada, mucho más integrada Entonces, entremos a cómo usar las notificaciones para nuestro sistema combo Entonces comencemos con
lo que hemos configurado. Este es el plano de
héroe actual, ¿verdad? Cada vez que se pulsa el
botón Me attack, ¿de acuerdo? Cada vez. Ahora entramos y somos capaces de mirar
veamos estos nodos. Pasamos de Mela tack se va a encender t ya que está contando el multiplicador Hace alguna
adición simple más uno. Imprime esa cuerda, y luego elige
qué tachuelas Seda Dirá, Oye, Seda
tack uno se está haciendo. Entonces después de la demora, dice,
Bien, ya terminamos de hacer
soldadura de tachuelas uno Hace lo mismo
para dos y tres. Así es como está funcionando
actualmente, y lo uso para simplemente
mostrarte cómo funcionan los sistemas. Ahora vamos a hacerlo mucho
más integrado y la mayor parte de la lógica se va a hacer usando la
animación notifica Como ejemplo, sabemos que
el
notificador de caja de golpe SOD span SOD es
lo único que está llevando al ataque SWOD span que se está trayendo una caja de
golpe Entonces vamos a
hacer lo mismo, pero vamos a estar haciendo ajustes a cómo se hacen
los ataques. Fundamentalmente, esto
es lo que vamos a hacer. Nos aseguraremos que si el jugador está
presionando el botón de ataque, el combo se ejecute
completamente. Si el jugador se detiene, el personaje puede resetear. Ese es el panorama generalizado de lo que vamos
a hacer a continuación. Y estamos, déjame presionar Barra espaciadora
de control, Animación, Blueprint de
animación Bien. Y a continuación, abre
la fuente de animación. Entonces vamos a
estar usando completamente el sistema de notificadores para configurar las animaciones y
comenzaremos con
las animaciones terrestres, luego seguiremos adelante y
vamos a hacer algunos ajustes
grandes a
los ataques aéreos para que
sean mucho más divertidos de usar Vamos a meternos en eso
en el siguiente video. Espero que hayas entendido todo hasta
el punto actual. Si falta algo, no dude en
revisar los videos. Entonces cuando vuelvas,
tienes ese profundo entendimiento y todo lo que suceda a continuación va a
tener sentido para ti.
54. 51 Cómo agregar un enlace de ataque al primer ataque con espada: Bien. Así que ahora
entremos en vincular nuestros ataques con escuchar
la entrada correcta. Ahora, actualmente en el juego, cuando presionas el botón de
ataque, para empezar, deja de
escuchar después presionar después de que no logras
ingresar el combo. Entonces ese es el código actual solo para mostrarte
el combo de línea base. Ahora bien, esto es lo que
vamos a hacer. Cuando el jugador presiona
el ataque rápido, vamos a estar
escuchando si el jugador ha pulsado
el segundo botón de ataque. Si el jugador vincula el
segundo botón de ataque, entonces presionaremos ambos ataques. Hará ambos ataques. Durante el segundo ataque, si el jugador hace el tercero, va a salir
el tercer ataque. Para hacer eso, sigamos
adelante y configuremos eso en el juego. Lo primero es lo primero, cuando
pensamos en el código, todo lo que está haciendo es el momento en que se establece la soda tack
tres, dispara la Soda tack Soda tachueta dos,
hace esas cosas. Pero ahora vamos a
configurarlos como conectados a la animación. Entonces para hacer eso, primero
permítanme
reducir el tamaño de
este
cuadro de comentarios de MeleaTak solo un poco Déjame realmente conseguirlo. Y, no sé qué fue
eso. Copiarlo. Bien, sólo quiero
otra caja aquí. Y voy a llamar a
este ataque. Enlaces. Bien. Entonces, para empezar, vamos a empezar por
mantenerlo muy sencillo. Vamos a hacer que
el primero se llame SOD attack one Bien. Así que vengamos por aquí. Ahora vamos a
volar de un evento. Bien, queremos
tener un evento personalizado. Bien. Estamos agregando
en un evento personalizado. Y entonces vamos a llamar
a esto SOD. Déjame acercar correctamente. Se llamará ataque SOD. Bajo el punto dos,
subrayado, Enlace. Bien. Eso es todo lo que se
va a llamar. Se llama ataque SOD a Link. Eso es lo que queremos que sea. ¿Y qué haremos después
del ataque SOD a Link? Bueno, es bastante sencillo. Vamos a salir aquí y queremos
revisar algo. Entonces, ¿qué estamos comprobando?
Bueno, es bastante sencillo. Queremos verificar y ver
si se
ha pulsado el botón de ataque SOD, el segundo botón de ataque Es decir, si el número de ataque
SOD es dos. Entonces para hacer
eso, vamos a venir aquí, vamos a arrastrar esto, y vamos
a decir,
Oye, consigue el número de ataque SWOD Y queremos hacer una comprobación
básica, ¿de acuerdo? Entonces vamos a hacer una rama sencilla. Una sucursal nos va a
dejar verificar y hacer un cambio en lo que sucede
si es verdadero o falso. Entonces con el
número de ataque del SWD, déjame arrastrar esto. Voy a decir que
es igual a dos, ¿de acuerdo? En otras palabras, si
es exactamente igual a dos, o vamos a arrastrar esto. Hagamos que sea
mayor igual, ¿de acuerdo? Entonces, si el
número de ataque de SVoD es
mayor que uno o igual a uno, entonces va a jugar
todo después de esa longitud Ahora, vengamos por aquí. Y comenzaremos con una
simple pantalla de impresión. Entonces se imprimirá, y
simplemente va a
imprimir texto diciendo:
Oye, haz SWoD SWTat Eso es. Porque solo
vamos a verificar y ver si el código
está funcionando correctamente, ¿de acuerdo? Ahora con el ataque SWOD
dos enlaces registrados, para evitar que eso sea
interrumpido por otra cosa, vamos a venir aquí
y vamos a, vamos a
romper rápidamente los otros enlaces Bien, vamos a romper esto. Entonces después de presionar el
botón de ataque, cuando se presiona una vez, va a llevar a cabo ese primer bit de código para
el primer ataque SWOD, pero no va
a hacer otra cosa ¿Bien? Entonces, si
entramos en juego ahora mismo, cuando presiono una vez, sí,
todo eso se ha ido Así que sólo puedo presionar ese
botón de ataque una vez. Eso es bueno. Ahora, volveremos al plano
de animación y buscaremos el ataque SWOD uno Entonces ahí está esta función aquí. Más bien, está esta notificación
llamada SWOD hit box. Ahora bien, esto es lo que
vamos a hacer. Al final
de la animación, al final del
último fotograma, ¿de acuerdo? Vamos a agregar
en una nueva notificación. Déjame saltar sobre la pista de notificación. Y se agregará en una notificación y
será un nuevo notificador Y vamos a llamar a ese
notificador SwodTakundsCoe. Dos, subrayado Enlace. Bien. Ahora bien, ese es un nombre
bastante largo, pero, ya sabes, se adelgaba así por una razón porque este es el enlace de SODA
tack uno va a dos Así que lo llamaremos SODA
Tak two link, ¿de acuerdo? Ahora, ahora que
tenemos eso listo, volvamos directamente al plano
de animación, y entraremos en
el gráfico de eventos Entraremos en el gráfico de eventos, y vengamos aquí. Hemos recibido Notificar para
el hit box que se llama. Vamos a entrar en la recepción Notificar por ataque de Espada para vincular. ¿Bien? Esta es la zona donde se ejecutará
ese código. Entraremos y diremos: Oye,
como héroe, queremos que el ataque
SOD se vincule Bien. Observe que está ahí. La función, SOD
ataque dos enlace está ahí, ejecutar esa función Bien. Entonces ahí vamos. Ahora que tenemos esta configuración, vamos a echarle un vistazo en el juego. Voy a presionar Play. Primer ataque, segundo ataque, está haciendo ataque SOD para
vincular, comprobando eso. Ahora vamos a entrar en
héroe para conseguir que el SOD
actualice realmente su número Rompamos este enlace aquí. No necesitamos ninguno de los
otros códigos para funcionar aquí. No hay necesidad, pero lo que vamos a hacer
ven aquí. Déjame agarrar esto. Entonces vamos a obtener todo
este código que dice, Hey, SOD ataca dos, después de 1 segundo de retraso, lo
apagamos, y luego vamos a simplemente agarrar este código y cortarlo. ¿Bien? Entonces nos lo estamos quitando
para ser usado en otro lugar. ¿Bien? Entonces vamos a
entrar en el enlace de ataque, y esto es lo que
vamos a hacer. Vamos a poner
ese código aquí. Así que déjame pasar por
esto lentamente. En el momento en que se desencadene el evento personalizado de dos
enlaces de SwedaTak, va a verificar dos veces
el número de SwedaTak Y si el número SWDataK
es mayor que uno, cierto, lo que significa que el jugador
ha pulsado el botón SWDataK
más de una Va a venir aquí,
digamos que es verdadero núcleo. Por lo que imprimirá la
cadena. Hacer Swedatak dos Y entonces me va
a dejar vincular esto. Oye, vamos a acercarnos de nuevo. Dirá: Oye, Soda tacha dos, pulgares arriba, se está haciendo, y tras un retraso de 1 segundo, va a establecer
ataque SWOD a Eso es todo lo que
va a hacer, ¿de acuerdo? Eso es todo lo que
va a hacer esa función. Ahora que ya está hecho,
veamos si va a
funcionar correctamente aquí. Entonces, ¿viste eso? Entonces
hagámoslo empezar de nuevo. Entonces, cuando lo presioné una vez, en
realidad reprodujo correctamente
la segunda animación. ¿Bien? Por lo que está funcionando correctamente. Bien, está funcionando correctamente. Y la razón por la que está
funcionando correctamente, voy a pasar por la
lógica una vez más. Cada vez que el jugador pasa por ese
primer ataque de soda, al final de la
Sedatack al final es cuando el juego va
a volver y comprobar, y va a
llevar a cabo esta acción Longitud SodaAckt.
Se comprueba doble. Oye, ¿cuál es el número de
Soda Tack? ¿El número de Soda Tack es
mayor que uno? Más bien, ¿es igual
o mayor que uno? Entonces, bien, lleva
a cabo el ataque completo. Ahora, hagamos una
rápida comprobación lógica. Bien. Por lo que inmediatamente
presionas el botón de ataque una vez. Esta macro básicamente la
incrementa 0-1. Entonces va a convertirlo en uno
y llevar eso bien. Entonces tendremos que cambiar este código a no
mayor igual a uno, sino mayor igual a dos. Eso significa que el botón de ataque SOD se
ha pulsado más de una vez Eso significa que el jugador
quiere dos o más ataques. Vamos a probarlo una vez. Presiona
una vez. No pasa nada. Bueno. Inténtalo de nuevo. Presiona dos veces. Ah, ese es el problema. Vamos a intentarlo de nuevo. Presiona dos veces. No es jugar el segundo hit. Bien, así que volvamos
y hagamos un chequeo rápido. El motivo por el que no está jugando el segundo hit, aquí está. No es jugar el segundo hit porque esta macro no
está conectada. Vamos a conectarlo de nuevo. Haz una compilación rápida, vuelve atrás y pruébalo de nuevo. Presione el botón de
ataque SWOD una vez. Bien, sale el ataque. Presionarlo dos veces. Ambos
ataques salen. Perfecto. Ahora está funcionando
correctamente porque cada vez que presionas el
número de tachuelas SWD se está reiniciando, más bien se está
incrementando en uno. Eso es algo bueno, el
código está funcionando correctamente. Ahora, solo para
asegurarnos de que esto está funcionando completamente correctamente,
volvamos. Si el número de tachuelas SWD en el SDTaktink no es
mayor o igual a dos, queremos restablecer el impuesto de
Seda nuevamente a cero Entonces vamos a venir aquí, simplemente
voy a decir set
Bien, número de ataque SOD Lo traeré aquí. Voy a poner el
SDTack número dos. Voy a venir aquí. Permítanme primero romper
ese vínculo a cero. Entonces esto es lo que
va a pasar. Se comprobará si el
número de ataque SD es dos o mayor. Si comprueba y eso es bueno, lo hace y hace
el ataque SD a. Si no lo es, entonces restablecerá el número de
ataque SOD de nuevo a cero Y la razón por la que estamos
haciendo eso pero bien, la razón por la que estamos haciendo
eso es para que aquí atrás, este código inicial corriendo
del número de ataque SOD, comenzará a verificar
desde cero una vez más Esto debería estar
funcionando correctamente. Vamos a verlo en el juego. Entonces datos uno, dos, bonito, lo hace. Entonces da tacha uno. Bien, aún
no está funcionando correctamente. Volvamos y hagamos
otra comprobación rápida. Así que hacerlo una vez hace eso. Esto está funcionando
correctamente como se pretendía. Esto debería estar funcionando
correctamente como se pretendía. Eso es si es uno,
rompa este enlace. Si son dos, debería estar aumentándolo por encima de
dos, está bien. Entonces, si es uno, se
convertirán en dos. Si es mayor que dos, está bien porque
presioné más de dos veces. Entonces
comprobemos dos veces y veamos uno, dos, hace eso. Bien. Perfecto.
Perfecto. Ahora vamos a hacer un ajuste
más. Entonces lo que vamos a
hacer es que tenemos que hacer una comprobación básica viniendo por aquí. Entonces justo después de este retraso, porque hay un retraso de 1 segundo después del
primer ataque SWOD, lo que queremos hacer,
déjame copiar esto Trae esto por aquí. De hecho quiero
hacer esta comprobación, pero no la revisemos aquí. Lo que queremos
hacer es consultar aquí. Estamos comprobando para ver es
el número mayor que dos? Si es mayor que dos, lleva a cabo la
cuerda. Eso está bien. Si el número es menor que dos, es
decir, si el número es uno, volverá a establecer el
ataque SOD a cero Entonces, vamos a tener algo de texto aquí. Imprimimos algún texto, y lo llamaremos reset de ataque. Porque queremos asegurarnos de que
podemos ver cuándo se restablece el
ataque. Déjame cambiar ese color.
Supongo que el rosa está bien. Vuelve al juego,
asegurándote de que el código se esté
ejecutando correctamente una, dos veces. Bien, lo hace. Pero no es capaz de
volver a hacerlo y volver a hacerlo. Bien, vamos a tener una rápida revisión de código
en el siguiente video
55. 52 Agregar un enlace de ataque al segundo ataque con espada: Bien, ahora sigue adelante. Actualmente, si presiono
el botón de ataque dos veces, el jugador hará los botones, pero aún no se restablece. Pero si lo presiono una vez, se restablecerá,
dejándome hacer el ataque. Ahora bien, el punto en
el que se realiza el restablecimiento, abramos el
plano del Héroe es si
descubre que el número de
veces que has presionado el ataque es
mayor o igual a dos, hará el combo, pero no
hay reinicio después de eso Eso está bien. Nos
ocuparemos del restablecimiento más adelante Pero si presionas una vez, restablecerá el número
de ataque de
espada a cero e imprimirá
el reinicio de ataque de cuerda. Entonces así es como se
ve en el juego. Presiona una vez, ataca, restablece. Presiona una vez, ataca, restablece. Presiona dos veces.
Hace ambos ataques, pero no hay reset. Eso es bueno. Está
funcionando como se pretendía. Ahora pasemos al
ataque número dos. Volveremos a la
animación Blueprint sauce, y seleccionaremos el
ataque número dos Ahora, con el ataque número
dos, vamos a jugar rápidamente. Bueno. Ahora, justo después de que la caja de golpe de
espada sea span, al final de la animación, agregaremos una nueva notificación. Bien. Entonces agregaremos uno de estos notificadores
queremos un nuevo notifique, y vamos
a llamar, en realidad Primero volvamos.
Quiero que el nombre sea SWOD ataque dos
enlace que es CO. Entonces en el ataque SWOD tres, vamos a
agregar una nueva notificación, y se va a llamar SWOD Attack Underscore
tres, underscore Link Bien. Ese es su nombre, y está al
final de la animación. Ahí es cuando queremos
hacerlo porque
ahí es cuando la animación
está completamente terminada. Eso es genial. Y luego en el plano de animación,
Bien. Vamos. Ahora SWoD ataca el
primer doble grillo de dos. Lo que sucede en ese
enlace es que conseguimos al héroe y jugamos el evento
SWoD ataque a Link Así que vamos a configurar el evento en nuestra
clase de planos de personajes bajo ataque Enlaces Entonces los SWOD atacan a
dos Link por aquí. Lo que ahora queremos hacer es que queremos configurar
otro evento personalizado, y llamaremos a
este evento personalizado SWOD ataque subrayado
tres, subrayado Queremos que el nombre
sea lo más uniforme posible. Muy bueno para la organización. Y luego con eso, básicamente
voy
a copiar todo esto, ¿de acuerdo? No creo que haya
una razón
para que lo reescriba todo Va a
haber alguna reescritura. Pero por velocidad y simplicidad, vamos a copiarlo y
repasarlo una vez más. Ahora bien, ¿qué hemos copiado? Ataque SWOD para enlazar. Vamos a acercar un poco más. Obtenemos el número de ataque SWOD. Si es mayor
o igual a dos, Verdadero. Hacer soda tack dos Eso es lo que está
impreso. Soda tack dos para que esté activo Después de 1 segundo de retraso,
lo activa. Bien. Y entonces si
es menos de dos, simplemente reproduce los nodos falsos. número de Sodtac se
establece de nuevo a cero e imprime el reinicio de ataque
de cadena. Eso es el núcleo. Ahora, en la soda tack tres, simplemente la
vincularemos por aquí Ahora bien, si las tachuelas SOD son mayores
o iguales a tres, se reproducirán
las tres Bien. Viene por aquí. En lugar de establecer SDTack dos, cambiaremos eso a
establecer el ataque SOD tres Entonces, hagamos que SOD
ataque tres y arrástralo y
configurémoslo como establecido Zoom in Entonces lo pondremos a,
sí, el ataque SOD tres está en marcha Se está llevando a cabo. Vincularemos el retraso
copiaremos y pegaremos esto por aquí, arrastraremos esto y lo configuraremos para que
ahora esté apagado después de 1 segundo. Bien. Y entonces aquí podemos ver. Entonces el número de ataque
se establece en cero, y hay un reinicio de ataque. Bien. Ahora, vamos a
compilar rápidamente esto y voilá. Entonces vayamos al
nivel. Vamos a golpear Play. Un reinicio de ataque, uno, dos. Bien. No revisé
ese código correctamente. Tendremos que tener
un chequeo rápido. Un reinicio de ataque,
uno, dos, ¿de acuerdo? Oh, sí, la
función no está hecha. Acabamos de
configurarlo aquí. Oh, ese soy yo. Bien, volvamos al plano
de animación. Abre el ataque de SWOD a tres tintas. Bien. Ahora que tenemos
ataque FODA configuración de tres tintas, voy a agregar esto en,
obtener como héroe, y
luego queremos que el
ataque FODA tres enlaces
sea lo que juega Entonces juguemos eso después. Ahora debería funcionar correctamente. Se juega un reinicio de ataque, uno, dos, no estoy viendo
el reinicio de ataque. Volvamos y
echemos otra mirada. Entonces en el primer ataque SWD, tenemos ataque SWD para vincular, y está funcionando correctamente En el segundo ataque SOD, permítanme guardar eso rápidamente, asegurarme de que todo esté guardado Guardar todos, guardar todos los cambios. Tenemos SOD Attack tres
eslabones establecidos por aquí. Volveremos al plano de
animación. Espada adjuntar tres eslabones
parece estar funcionando correctamente. Espada adjuntar tres eslabones
está funcionando correctamente. Ahora volvamos,
asegurémonos de que todo lo demás
esté funcionando correctamente. Bien. Si el conjunto de números es, aquí es donde está el problema. Bien, agreguemos rápidamente un alfiler. Entonces, si el número es tres, consigue esta macro y vuelve a copiarla. Eso quiere decir que el botón se
ha pulsado tres veces. Incrementar el número en uno. Probablemente ese no sea el problema, pero vamos a agregarlo. Eso significa que el botón
se ha pulsado tres veces. Entonces ven aquí,
Espada ataca a tres. Es decir, se
deben presionar tres ataques. Entonces Sword attack two se está
reproduciendo correctamente. Espero que estés siguiendo. Espero que esto tenga sentido. Nosotros venimos aquí, ataque Espada. Hacer el ataque de SWOD a tres. Ese es el texto correcto. Viene por aquí,
Espada ataca tres. Retraso, retraso. Hecho.
Bien, volvamos aquí. Presiona una vez. Attack reset, presione dos veces. Bien, hace el
segundo ataque sembrado. Perfecto. Ahora bien, cuál es el problema es que después de terminar
la segunda pegajosa de soda, no la restablece. A ver. ¿Por qué no se restablece
después de la segunda tacha de Soder? Porque después de eso,
esto se está jugando. Hagamos algunos
problemas básicos. A ver si esto
realmente se está desarrollando. Imprimir cadena hola hola
debería estar lo suficientemente bien. Compilar. Presiono una vez. El reinicio está funcionando. Presiono dos veces. El
reinicio está funcionando. Presiono una vez. Bien.
Entendido. Voy a necesitar hacer algunas
comprobaciones dobles para ver qué está funcionando. Hm. De cualquier manera, creo que
en realidad estoy bastante cansada. Llevo mucho tiempo en esto
. Volveré y actualizaré
algo de este código.
56. 53 Enlaces de combinación finalizados y reajustes para la combinación a tierra: Bien, entonces se ha
bebido un poco de café y ha pasado algún tiempo. Entonces volviendo y
configurando este sistema correctamente. Entonces volvamos y
hagámoslo desde los primeros principios. Para empezar, asegúrate de
tener la salsa de animación. Aquí, asegúrate de tener
el plano de animación Z. ¿Bien? Aquí, podemos
consultar el gráfico de animación. Y vamos a ir uno por
uno para verificar los ataques. Así que cada vez que se presiona el
botón de ataque, dispara el ataque
mele de acción de entrada
mejorada. Bien. Una vez hecho eso, entramos en un do una vez que solo se
restablece cuando se suelta el botón y vamos a un switch en integer basado
en el número SwoDattack Entonces comencemos
pasando por el ataque rápido. Entonces con el ataque rápido después de aumentar
el número en uno, por lo que ahora el
número de ataque SOD se establece en uno Imprimimos una cadena
llamada uno. Eso está bien. Nos aseguramos de que el ataque
uno del SWD esté establecido en true. Hay un retraso de 1 segundo, y luego SWD tack
one se establece Ahora bien, cuando en realidad se
está haciendo la tachueta SOD, lo que sucede es que
SOD ataca dos enlaces, ese nodo se apaga, lo que cambia el refresco I comprueba el número de Sdtack si es
mayor Esa será la condición. Si es cierto, que es
mayor que no igual a dos. Es decir, el
jugador ha pulsado el botón de ataque de soda
varias veces. Imprime la cuerda,
hace ataque de soldadura dos. Establece vendido ataque dos
a ser despedido. Hay un retraso, y luego
se cancela el ataque vendido dos. Si es falso, restablece el número de ataque
vendido a cero e imprime el reinicio de ataque Ahora vamos a hacer
un par de cambios. Para empezar Bien. Para empezar, vamos
a eliminar el retraso. No necesitamos ese retraso, y vamos a
obtener el nodo que
establece la animación Swadata
uno para que esté apagado. Dos, primero comencemos
aplazando eso aquí. Ahora, la
razón por la que queremos hacer eso es que queremos que
esto solo se
dispare Quiero que esto
se dispare basado en animación, no basado en un retraso de tiempo. Ahora la razón por la que
lo estamos haciendo es porque volvamos a los papeles de animación
de sod attack one Entonces notarás que al final de
la
tachueta de Seder, Bien, perdón. Desplácese aquí. Al final del swedatak es
cuando se dispara esto Déjame arrastrarlo un
poco hacia adelante hasta el tiempo máximo. Así que quiero poner a Swedatak
fuera por aquí, justo al final
cuando se dispara Bien. Ahora, déjeme alejar el zoom. Eso es esencialmente lo que queremos. Entonces con tan solo ese simple cambio en el código, volvamos. Entonces el posicionamiento de
establecer soda Attack one, two off debería estar
en algún lugar de aquí. Déjame arrastrar muchos
de estos hacia adelante, arrastra esto hacia adelante
para hacer el espacio. Bien, organizándolos. Apilaré estos verticalmente,
luego conectaré esto. Entonces,
lo primero que hace tratando de
vincularse a la segunda tachuela de
soldadura es verificar que se asegure de
que la
tachueta de soldadura variable uno esté activada, Eso es esencialmente a
lo que se va a establecer. Ahora con ese set,
hagamos una comprobación rápida. Entonces esta es solo la
primera tachueta de soldadura. Una vez que
se presiona el botón cuerpo a cuerpo una vez, hace el simple do
una vez, enciende int, comienza en cero, y
luego va a configurar Suder tack 121 para comenzar a
reproducir Voy a venir aquí. Para que ese evento personalizado establezca
Seda tack one being off, hay una simple verificación de condición de
sucursal Hará el swedatack dos. Y entonces pondrá a
Swedatak dos a ser más. Empezaremos con
eso y veamos si eso nos lleva a
animaciones más limpias. A ver. Presione una vez. Aguanta. Bien, no
hice el reinicio adecuado. ¿Una vez? No,
no lo hace. Presione una vez. Bien, reinicio de ataque. El reinicio de ataque
está funcionando bien. Presione una vez, ajuste de
tacle, presione dos veces. No terminó de
hacer SweData dos. Ahora la razón por la que no
terminó de hacer SwedaTak dos se reduce al plano de
animación Entonces ahora mismo, sólo
puede pasar de SwedaTak uno a Seda Tak dos Eso es esencialmente
todo lo que puede hacer. Pero vamos a cambiar esto. Así que rápidamente vamos a venir
rápidamente por aquí. Entonces el código de SOD tack uno a dos es si Sud Atak
dos Así que vamos a copiar ese código y vamos a arrastrar de inactivo
a Swedtak dos, pegarlo adentro, conectar Bien, asegurémonos de que
realmente me encanta la organización. De veras, de veras lo hago. alinearlos en el medio. Bien. Ahora, con solo ese
simple cambio, lo
hemos logrado para que
pueda pasar de inactivo a ataque SOD
dos, lo cual está bien Así que vengamos por
aquí, estamos inactivos. Ataque de palabra un reinicio. Bien, entonces ahora puede hacer la transición puede pasar de Bien. Sin embargo, sólo puedo hacerlo una vez. Tenemos que trabajar en los reinicios. Eso puede hacer. Así que ahí
jugué ambas animaciones. Pero necesitamos hacer un
poco más de limpieza porque por mucho que sea agradable que pueda pasar de
inactivo a Swedatack también, necesitarás
configurarlo también para que pueda
pasar de correr a Soda tack dos, lo que va
a sumar
mucho más a Ahora, un momento. Ahora, hacer eso
resuelve ese problema, pero aún queremos que
pueda pasar de
Sedatak uno a dos ¿Y si volvemos
al plano? ¿Verdad? Este es el plano del
personaje Y si en cambio solo
hiciéramos que Seda tack one se
apagara primero
eliminemos ese retraso de duración para desactivar el ataque de Sed dos Solo hicimos que eso
fuera por aquí, ¿verdad? Entonces, justo después de girar el ataque de
Sed en dos, ¿permitiría que Sdtack
uno corra justo No obstante, también,
tenemos que hacer esto para
que al reiniciar el ataque, justo después del reinicio, también apague el de Sudtack Entonces probemos eso.
Bien. Oh. Bien, entonces Soder tack dos se acaba Entonces aquí mismo, uno,
un reset, bueno. Bonito. Ahora está saliendo el segundo
ataque. Esto es bueno. Entonces esa es una implementación
mucho mejor. Entonces vamos a pasar de vamos a ver. Entonces Soder tack dos
lo encenderemos. Desactivaremos Solder tack uno, y seguiremos adelante a
partir de ahí. Bueno. Ahora, para una última prueba, hay ocioso por aquí. Rompamos el enlace
aquí, eliminemos eso. Vamos a compilar, encenderlo. Uno, reinicio de ataque, un reinicio de
ataque, uno, dos. Bueno, no le hice Sedatack dos. Inténtalo de nuevo. Uno, reinicio de
ataque, uno. Estoy viendo el texto
de D SDTack dos, pero no estoy viendo que salga el
SDTack dos real Hmm. Hm. ¿Por qué haría eso? Bien, entonces entremos
aquí. Agreguemos un retraso. Creo que un retraso de 0.2
segundos es razonable. Vamos a
bajar eso a aún menos. Entonces ese retraso es ahora de 0.1 segundos y ver si va a llevar a cabo el
ataque correctamente. Una vez reseteado. Una vez reseteo una, dos veces. Bien. Bien. Ahora está
funcionando correctamente. Bien, eso es bueno. Añadiendo ese
retraso menor evitó que el código disparara demasiado
rápido para que
podamos apagar la tachueta de soldadura justo
cuando la segunda tachuela de soldadura
se esté disparando realmente Ahora con eso en mente, hemos hecho el
primer ataque de soldadura. Ahora para la segunda tachueta de soldadura, eso ha venido por aquí Eso es Soder tachuelas tres de longitud, que es lo que disparamos cuando abramos
SWD Vamos a guardar todo rápidamente. Siempre importante para salvar a todos. Entonces justo después de ese downswing, tenemos SOD attack three link, que es lo siguiente que
debemos mirar Entonces entraremos en el SWOD atacan tres eslabones, y ya está establecido Entonces la forma en que está configurado, esto es al final del ataque del SWD dos viene aquí si el número de ataque es
mayor o igual a tres Bien, voy a hacer esa
comprobación si es menos. Establece el número de ataque SWD 20 y realiza un reinicio de ataque. Bueno. Si es cierto, hará el ataque SWD tres
y pondrá el ataque SWD 32 Bien, esto es bueno. Esto es muy bueno. Ahora
que esto está hecho, vengamos por aquí. Lo que queremos es que el ataque
SWOD dos se apague y queremos que
se apague por aquí Así que voy a sudar eso
también. Déjame conseguir eso. Pega eso por aquí. Quiero que se ponga en marcha. Y luego al reiniciar, también
queremos que
se ponga dos fuera. Obtendremos este retraso, y lo bajaremos a 0.1,
compilaremos, retrocederemos
y ahora lo probaremos. Después de compilar,
hagamos esta prueba. Uno, dos, tres. Bien, bien. Eso está funcionando correctamente. Hagámoslo otra vez. Uno, reinicio de ataque, uno, dos, reinicio de
ataque, uno,
dos, ataque se restablece. Hagámoslo tres
veces. A, bonito. Ahora, simplemente necesitamos una función para poner fin al
tercer ataque SOD Vamos a salir. Entraremos nuevamente en la
fuente de animación, iremos al ataque SOD tres, y luego al final,
vamos a agregar una nueva notificación y lo vamos
a llamar combo de espada Bien. Arrástralo hasta el
final, arrástralo por ahí. Bien, entonces es el final del combo de
Sword. Ahora que tenemos el final
combinado de SWoD configurado por ahí, entraremos en el héroe, y vamos a
crear un nuevo evento, y será un evento personalizado Ahora, llamaremos a este evento
personalizado espada, combo y Ok, quiero
mantener los nombres consistentes. Eso es. SOD Combo final Ese es el que usaremos. Ahora, dentro de SOD combo end, todo lo que vamos a
hacer es el número uno, vamos a hacer un reset básico Entonces vamos a volver a poner la
cuenta de ataques a cero, y vamos a
conseguir SwodaTack tres, ponerla aquí y apagarla Eso es todo lo que vamos a hacer. Así que rápidamente golpeó compilar. Y ahí estamos. Se pone en marcha la
tacha de espada tres El número de tacha de espada
se establece en cero. Y ahora volvemos
al plano de animación. Déjame guardar todo rápidamente y compilar. Esa es
una buena compilación. Y lo que queremos es buscar recibir notificar espada combo fin. Bueno. Entonces diremos: Oye, como jugador, más bien, consigue como héroe. Aquí, un
extremo de combo de espada, disparas. Perfecto. Compilar. Y luego solo por
el bien de la simplicidad, vengamos aquí
y arrastremos esto. Y queremos imprimir cadena,
y vamos a llamar al combo
string end y dejarme darle vuelta a su color
a un color que notaremos, voltearlo a rojo, bonito rojo profundo. Para que se pueda ver claramente si
todo está funcionando correctamente o no. Entonces aquí estamos reset de ataque. Cuando presiono el botón de
ataque una vez, obtengo un reinicio de ataque. Cuando lo presiono dos veces. Mm hmm. Bueno. Y luego
obtengo el reinicio del ataque. Entonces si lo presiono tres veces, hace eso y
hace que el combo termine. Uno, dos, tres, y
hace que el combo termine. Eso en realidad es bastante bueno. Entonces ahora tenemos un sistema combo muy
básico para los ataques a tierra. Entonces he pulsado
el botón de ataque tres veces y ya está hecho. Ahora, ten en cuenta que la
razón por
la que estoy teniendo los ataques tan lentos es principalmente
para aprender y enseñar. Puedes acelerar la velocidad de
fotogramas de los ataques en función de lo
que consideres apropiado. Por el tipo de ataques
que quieras en tu juego. Así que ahora mismo, estos
son muy lentos, ¿de acuerdo? Pero puedes tenerlo para que sean mucho
más rápidos que esto. Entonces déjame mostrarte
cómo se ve eso. Entonces volveremos a
entrar en el vamos a ver. Ahora, entremos en
las animaciones. No, no, no, yendo al arte. Sí, sí, sí. Después desplácese hacia abajo. Entonces sod attack one, por ejemplo, se establece en
cinco fotogramas por segundo Bien. Pero podemos ir y
configurarlo de otra manera. Podemos configurarlo hasta
15 cuadros por segundo. Entonces ese es un ataque de sod mucho
más rápido. Entonces ahora que tenemos esto
a 15 fotogramas por segundo, vamos a revisar en el
papel la animación. Observe que es una animación mucho
más rápida. Entonces vamos a atacar. Observe que sale más rápido. Bonito. Aviso,
se dispara una vez y se restablece Bonito. Y luego están
esos otros ataques. Esos ataques son más lentos. Ahora, permítanme ajustar la animación de ataque
para que no sea tan rápida. Permítanme reducirlo a
diez cuadros por segundo. Entonces así es como se ven las
animaciones ahora. Bien, entonces esos dos son
lentos. Vamos a acelerarlos. Entonces soda tak dos, déjame aumentarlo de cinco cuadros por segundo a
diez cuadros por segundo. Cargar eso. Y luego refresco tacha tres. También lo aumento
de cinco fotogramas por segundo a diez
cuadros por segundo. Bien, uno, dos, así que
hace ambos ataques. Entonces mira eso. Uno, dos, tres, uno, dos, tres, uno, dos, tres. Bien, entonces puedes marcarlos, o puedes cronometrarlo de semi
precisión, ¿de acuerdo? Entonces ahí estamos. Ahora tenemos
un simple ataque de jugador. Bien. Entonces eso es esencialmente todo. Así es como configurar un sistema combo simple
para nuestro jugador. Entonces ahora que tenemos un sistema combinado
simple, para nuestros ataques a tierra, hagamos lo mismo nuestros ataques aéreos porque
note cuando salta, ¿de acuerdo? Cuando nuestro héroe salta, todo lo que están haciendo
es un solo slash, y las animaciones se rompen un
poco Entonces entraremos y ajustaremos esas animaciones de ataque aéreo
en el siguiente video. Vamos.
57. 54 Comprobar si el jugador es aéreo para las rutas de ataque con espada: Todo bien. Entonces ahora que tenemos nuestros combos a tierra
establecidos correctamente, ¿verdad? Ahora queremos que nuestro aire
también esté correctamente configurado. Así que vamos a configurar un sistema combo de
aire. Ahora, en esencia, vamos a estar haciendo lo mismo que
hicimos por los conectados a tierra, pero van a haber
un par de cambios, ¿de acuerdo? Pero nos meteremos en eso. Así que volvamos a
la salsa de animación. Entonces este es nuestro primer ataque combinado
aéreo. Ahí está esa porción de aire. El siguiente es ese corte hacia abajo
mientras está en el aire, y el final es un corte hacia
abajo mientras está en el aire Bien, entonces esto es esencialmente lo que tenemos
para nuestros combos aéreos Vamos a llevar a
cabo un tipo
de organización muy similar a cómo queremos que interactúen los
combos aéreos Ahora echemos un vistazo rápido
al plano de animación. Entonces esta es la gráfica de animación. Entonces lo que somos capaces de
hacer es que podemos pasar de cualquier ataque SOD de
nuevo a inactivo Podemos pasar del ataque SOD uno, volver a la
animación en ejecución o volver al inactivo Y luego a partir de aquí,
como pueden ver, actualmente
podemos pasar
de un inicio saltador de nuevo al
ataque aéreo SOD uno, ¿de acuerdo? Así que más bien volvamos a Seda tack. Pero Seda tack actualmente está
configurado para ser Sword Attack one. Ahora, vamos a ajustar
esto para que podamos separar nuestras comprobaciones de combo aéreo de
nuestras comprobaciones combinadas a tierra. Así que vamos a entrar rápidamente en
la animación de héroes, y ahí es donde vamos
a empezar. Entonces aquí estamos. Hay todos estos
diferentes enlaces de ataque, y lo que simplemente vamos a hacer
es que vamos a más bien, vamos a conseguir esta caja, vamos a copiarla, y
vamos a ponerla por aquí. Bien, abajo porque
quieres que estén cerca. Y lo que
haremos es cambiar este nombre de ataque a enlaces de
ataque conectados a tierra. Y estos se fijarán
para atacar enlaces aéreos. Entonces esto mantendrá nuestros enlaces de ataque
a tierra, y esto va a tener
nuestros enlaces de ataque aéreo. Ahora, volvamos
al ataque me. Entonces este es el
ataque me, normal, bien. Déjame sacar esto rápidamente y
arrastrarlo hasta aquí. Sólo para darnos un
poco de espacio para trabajar. Y ahora vamos
a agregar un nuevo cheque. Ahora, ese cheque va
a ser un simple cheque para ver si el jugador está saltando. Y de la forma en que
vamos a hacer eso, simplemente
tomaremos todo este contenido del extremo
del interruptor, lo
moveremos un poco hacia la derecha, vendremos aquí y
primero rompamos esto, ¿verdad? Lo que solo queremos
hacer es que queremos tener una sencilla función de salto de es. Necesitamos saber si el jugador está saltando o
no, y la mejor manera de
hacerlo es que queremos usar el componente de
movimiento del personaje. Ahora, si vuelves
al área izquierda,
derecha, vamos a desplazarnos hacia abajo. Observe que hay un componente de movimiento de
personaje. Queremos acceder a la información
de ese componente. Ahora para acceder a la información del componente de
movimiento del personaje, vamos a arrastrar esto y queremos preguntar está cayendo. Ahora, está cayendo siempre
va a volver verdadero si el jugador está
en estado de salto. Así que cada vez que el jugador está en un estado de salto
está cayendo se va a establecer en verdad. Si el jugador está en el suelo, se fijará en caídas. Ahora, abramos
una rama rápida. Y desde esa rama, lo que queremos es conectar
esto de aquí, ¿de acuerdo? Quiere conectar el cheque de si el jugador
está cayendo o no a esa rama. Y queremos
haberme dejado primero alejar muy rápido porque quiero tener
aún más espacio para esto,
arrastra esto por aquí, ¿de acuerdo? Danos el espacio.
Necesitamos el espacio. Bien, volvamos a entrar. Ahora bien, lo que queremos es si es cierto que el
jugador está cayendo, simplemente imprimir en letras
grandes en negrita. Sí. Bien. Y en qué color, hagamos el color verde. Sí, el jugador está saltando,
está cayendo más bien. ¿Bien? Estoy copiando. Bien. L por aquí. No obstante, si es falso, vamos a configurarlo para que diga que no. Bien. Eso esencialmente
va a ser. Y en qué color, vamos a
cambiarlo al color rojo. Ahora bien, lo que hemos hecho
fundamentalmente es bastante sencillo. Hemos configurado la animación de
ataque, el botón de ataque para comprobar si el jugador está
saltando, di que sí. Si el jugador está
cayendo, di que no. Bien. Si el jugador está conectado a tierra, si el jugador está
conectado a tierra, diga que no. Si el jugador se encuentra
en un estado de área, diga que sí. Así que vamos a movernos. Presioné, es decir, no, no, no, no, no, no, porque el
jugador está en el suelo. Así que eso va a ser bueno para nuestros combos a tierra,
¿de acuerdo? Es solo que no. Pero cuando estoy en el aire, es decir que sí. Fíjate en eso, ¿verdad? Cualquier estado de salto,
va a decir que sí. Pero cuando esté conectado a tierra, dirá
que no. Cuando estoy saltando, dice
que sí. Con conexión a tierra,
no. Saltando. Perfecto. Entonces tenemos
lo primero que necesitamos ahora mismo en juego. Así que vamos a guardar todo rápidamente. Siempre es bueno ahorrar
motor irreal de vez en cuando. Vamos a
cerrar esto, cerrar esto, venir aquí y cerrar esto. Entonces ahora que tenemos a estos
dos funcionando como se pretendía, establecemos ahora nuestra conexión. Ahora bien, sabemos a sabiendas, bien, que este interruptor en
t funciona así. Una vez
pulsado el botón de ataque, una vez pulsado, hace el incremento, luego viene aquí y
configura SWOD attack one para que esté activo Bien. Lo que lleva
al diagrama de flujo mediante el cual comienza
a procesarse a través de los enlaces de ataque enlace
SwodaTack dos y tres,
y luego finalmente Todo eso se
hace a través de eso. Entonces lo que queremos
ahora es
organizarlo para que dejemos
el switch como de normalidad. Podemos dejar el
interruptor como normal, si es necesario, podemos
dejarlo como normal. No obstante, lo que vamos a hacer es configurarlo para que por aquí
mismo, vaya a
hacerlo en lugar de
configurar el ataque SOD uno, va a configurar el ataque
Aero SOD Y a partir de ahí, pasaremos por el mismo proceso para configurar
los combos de ataque SWOD Así es como lo vamos a hacer.
58. 55 Configuración de planos de animación para Air Combo: Entonces ahora que básicamente tenemos la forma sencilla de hacer el
cheque disponible para nosotros. Ahora consigamos esto,
cortemos todo eso. Obtener todos estos nodos, ponerlos de nuevo desde
el interruptor en int. Y esta vez, en vez
de imprimir esa cuerda, vamos a pegar todo esto aquí, y esto es lo que vamos
a hacer es que el jugador caiga. ¿Bien? Si el jugador no
se está cayendo, comience con Sword attack one. Fresco. Eso es esencialmente todo. Eso es todo lo que estamos haciendo.
Si el jugador está cayendo, encienda el ataque de SWoD uno Bien, ponle ese booleano a uno. Ahora vamos a crear otros
tres booleanos. Para ese, lo
vamos a llamar ataque
aéreo SWOD
bajo el cuadrado uno Vamos a sumar otro, y lo vamos a llamar ataque aéreo SOD bajo la puntuación dos,
y otro llamado ataque aéreo
SOD bajo la puntuación tres Entonces tenemos nuestras tres variables de
ataque aéreo SOD establecidas. Ahora lo que vamos a hacer, vamos a venir aquí
y vamos a arrastrar en aire SOD ataque uno,
y lo vamos a poner Encendimos. Y arrastraremos y conectaremos
estos dos juntos, y luego haremos
una compilación rápida. Ahora, si estamos en el
suelo, volvamos. Necesito asegurarme de que esto
se esté haciendo correctamente. No había conectado
este enlace inicial, arreglemos eso rápidamente
retrocedamos y luego compilemos, volvamos una vez más, conexión a tierra puedo hacer mi combo de
tres hits a tierra. Puedo hacer mi combo de dos hits
a tierra. Puedo hacer mi combo de tres
hits a tierra. Puedo hacer mis dos hits.
Uno, dos, tres. Bonito. Perfecto. Entonces
los combos a tierra están funcionando muy bien Pero si salto hacia arriba, fíjate Uh, eh. Aún no está haciendo nada. Eso es genial. Empecemos ahora a implementar el código
para hacer el ataque aéreo. Ahora, volveremos a
la animación de papel Z D. El primer ataque es ese golpe, que es el ataque aéreo uno. Entonces volveremos a entrar en el
plano de animación, y pasar de jumpstart a Air Swedatak es lo que queremos.
Así que entra aquí. Pero esta vez en lugar de
buscar uno de Swedatak, estaremos buscando el ataque
aéreo SWOD Agárrate. Sí, quiero que
Air Sword ataque uno y lo vincule por aquí. Si es cierto, puede hacer la transición,
y luego nos echaremos atrás. Y luego vamos a ir
abajo aquí y luego él puso esto para ataque de Air SOD
también. Trapo esto. El SWOD aéreo ataca uno. Perfecto. Y sí, si está
vacío, se detendrá. Esta vez, en el
suelo, me sale mi ataque. En el aire, obtengo mi ataque aéreo
SOD. Eso es bueno. Aún no se está reiniciando, pero sabemos que
esto está funcionando El siguiente paso, por supuesto, es de la misma manera que
lo hicimos para los demás es que ahora vamos a agregar
en nuevos estados de animación. Llamaremos a este ataque aéreo SWOD bajo el cuadrado dos y
agregaremos otro estado de animación Y lo llamaremos
ataque SOD bajo la puntuación tres. Y los organizaremos exactamente
de la misma manera. Para que puedas pasar de aire
SwodTack uno a AirsDtak dos. Se puede ir desde AirsDTack dos. Volver al inicio del salto, de AirSwdtack tres
a arranque de salto y de AirSwdtack dos
a AirsodTack Asegúrese de que estos estén
conectados correctamente. Ahora que estos están
conectados correctamente, vamos a hacer
algunos ajustes más para hacer una doble comprobación rápida. ¿Bien? Esto está funcionando bien. Todo debería estar
teniendo sentido lógico. Déjame simplemente mover estos hacia arriba. Solo subamos un poco
sus posiciones, hagamos que se vea más
así, así. Entonces hay una caja de animaciones. A mí me gusta cómo
se ve eso en cuanto al diseño. Y déjenme también mover
esto hacia arriba así, parecerse más a una
caja. A mí me gusta esto. Esto se ve bastante
genial. Todo bien. Ahora, sabemos que para pasar de inicio de salto puede pasar de inicio de salto
a ataque AirSOD uno Y lo que estamos haciendo es que
estamos comprobando el ataque AirSOD uno Ahora, del
ataque AirSOD uno a dos, lo que queremos es que
obtengamos como héroe Y revisaremos
aire SWDATAk dos. Bien. Y queremos ver igual. ¿Es exactamente igual
a, está encendido? Si es exactamente igual a
encendido, puede hacer la transición. Para que puedas hacer la transición ahí. Copiemos esto para simplificar
lo que tenemos que hacer a continuación. Después de AirswDataK
dos de vuelta a JumpStart,
eso es bastante sencillo eso es Si Air SOD Attack two está desactivado, puede hacer esa transición Ahora bien, ¿qué tal pasar del ataque
AirSOD dos a tres? Eso es bastante simple.
Lo único que cambiamos es que esta vez estamos
recibiendo ataque de Air Word tres. Bien, lo estamos entendiendo. Conéctalo por aquí. Si está en bonito, perfecto, puedes hacer
esa transición. Pero luego de aires
warder tack tres, volviendo a Jump Start, es
lo mismo excepto que
esta vez nos aseguramos de que
esté configurado para no estar activo, Y eso es todo lo
que necesitamos para configurar esto. Ahora que hemos
configurado esto, vamos a compilar. Y con todo compilado la manera en que está
configurado ahora mismo, todavía
estamos un poco
lejos de tener todo funcionando como se pretendía porque hemos configurado
los nodos de animación, pero no hemos
configurado las animaciones. Entonces entraremos en el nodo de
animación y diremos,
Hey, jugar Air SWOD ataque dos Entonces está listo para reproducir
esa animación, salga en el ataque SWD tres Jugar al aire. Entonces claro, ya
sabes qué animación,
Air SWD Attack tres Y ahora que todas estas animaciones de
ataque están establecidas, estamos en un estado mucho mejor. Por supuesto,
todavía no está funcionando correctamente, simplemente porque cuando saltas, solo hará un ataque, y luego no hay reajuste Entonces a continuación, vamos a hacer los resets y agregar
un poco de código, finalizar eso para el combo aéreo
59. 56 Configuración de la lógica de la combinación de aire: Entonces ahora que tenemos ese enlace
básico de animación, entonces vamos a usar el
mismo flujo de lógica para
configurar dentro de nuestras notificaciones
para ataques SOD, Entonces entraremos en la fuente de animación
para el ataque aéreo SOD, y al finalizar
el ataque aéreo SOD, simplemente
agregaremos una notificación Será una nueva notificación y
será ataque aéreo SOT. Subrayar. Veamos Air SOD
atacar dos, tinta de subrayado Ahí está Air
SwodTackundercore. Link está completamente configurado
y queremos usar exactamente
la misma convención que
usamos con la tachueta SOD normal Si voy a dar click en la tacaca SODA
normal Agárrate. Eso es SODA Tack, estoy por aquí. Alejemos un poco. Creo que estoy demasiado acercado. Bien. Entonces notarás que ArSoD Attack three Link
está configurado por allí Necesito alejar el zoom. ¿Por qué no muestra
esto correctamente? Bien, no está mostrando
los marcos correctamente. De todas formas, independientemente, tendremos que venir y
ajustar esto más tarde, pero antes de hacerlo, sí,
esto es mucho mejor. Se puede ver la caja de golpe de spawn. Y luego SOD combo ender, los notificadores están ahí Vendremos a limpiar esto, pero un poco más tarde. Entonces, como pueden ver, la caja de calor de
desove está ahí, y luego al final está el enlace
Air SODA Tak dos Y luego al final
de ArsoDataC dos, vamos a dejar caer un
notificador y vamos a crear
un nuevo notificador y lo vamos a llamar aire
SwodTaunder Score tres, vamos a dejar caer un
notificador y vamos a crear
un nuevo notificador y lo
vamos a llamar aire
SwodTaunder Score tres, guión bajo, Link. Bien, ese es el siguiente notificador. Y luego al final, volveremos a bajar por aquí, y esta es nuestra tercera. Entonces solo agrega el
notifique un nuevo notifique, y simplemente será combo aéreo. Eso es todo lo que va
a ser air combo end. Por lo que justo después del
tercer ataque aéreo, el combo llega a su fin. Ahora, ahora volveremos
al plano del jugador. Y literalmente como
la lógica es la misma, simplemente
conectaremos todos
estos, los copiaremos. Bien, copiar y pegar te
ahorra mucho tiempo. Confía en mí, bro. Bien,
pararemos aquí. Ahora, ha configurado diferentes eventos
personalizados para nosotros aquí. Ahora vamos a llegar rápidamente, haga
doble clic en esto. He presionado F dos para
que podamos cambiarlos. Entonces esto es aire, SOD,
ataque, subrayado
dos, enlace de subrayado ¿Bien? Ese es el
nombre de ese evento. Entonces eso es lo que necesitamos. Entonces tenemos a Soder
tack dos enlaces aquí. Aquí tenemos Soda
tack tres, genial. Entonces vamos a hacer exactamente lo
mismo aquí. Así que hemos empezado con el ataque aéreo
SWOD dos Link. Cambiemos el nombre a esto también. SOD aéreo, ataque, guión bajo
tres, guión bajo Enlace. No, eso es ortografía incorrecta. Subrayar tinta con una K, no con una L. Y
luego para la última, este es el combo ender Así que primero volvamos y para asegurarnos de que este
es exactamente el mismo nombre. Es el final combinado de aire. Bueno. Entonces ven aquí. Vamos a acercar el zoom. Entonces voy a renombrar esto
y lo llamaré air combo end y ya terminamos. A continuación, necesitamos reemplazar todas
las tachuelas SODA con
su versión correcta Yo me dejo escribir este combo
de aire final. Ahora sustituimos el impuesto SODA por
los ataques aéreos SOD. Así que borra eso y esencialmente
eso es Sod tack tres. Simplemente venimos por aquí, arrastraremos en AR Soda tack
tres, y queremos configurarlo, configurarlo dos, y
conectaremos esos nodos, y vamos a hacer
exactamente lo mismo para todas las diferentes
propiedades Entonces este es Soder tack dos. Entonces conseguiremos Air Soder tachuelas dos, y la arrastraremos y la
configuraremos como un set Nos desharemos de la tacaña de Soder. Porque todos los combos
funcionarán usando exactamente la misma lógica Entonces esto es Espada Aérea ataque
dos serán puestos en marcha. Entonces restablecemos el número de ataque. Entonces aquí estamos, asegúrate de que
estos estén funcionando correctamente. Entonces Ataque dos otra vez, en cambio, lo que queremos es
aire Espada ataque dos. Entonces vamos a sustituir eso y luego aquí donde
hay aire soda tachuelas tres Más bien Soder tacha tres,
podemos quitar eso. Obtenemos Air soda tack tres, lo
configuramos, y lo pusimos
en marcha ya que eso es lo que era La lógica es exactamente la misma. Esto es solo que realmente
ahorramos tiempo al utilizar exactamente
el mismo árbol lógico para nuestro impuesto a los refrescos de aire y para
nuestro impuesto a las gaseosas a tierra. Eso es esencialmente todo, es una
muy buena manera de ahorrar tiempo. Porque todo lo que estás haciendo es que estás usando
exactamente la misma lógica. Ahora vamos a hacer
algunos ajustes al impuesto a los refrescos de aire para
cambiar su estilo, pero vamos a entrar en eso a continuación. Para empezar,
primero asegurémonos de que las tachuelas de soda estén combinadas entre sí
correctamente Ahora que esto está completamente configurado,
Bien, vamos a comprobar la
lógica de los enlaces ArsoDTakt Bien, esto
parece estar bien. Ahora que tenemos los eventos
configurados correctamente aquí, volveremos al plano de
animación, y queremos ajustar
los notificadores Entonces iremos al
notificador de enlace AISDTA. Y entonces lo que
queremos es conseguir como héroe. Y luego arrastra nuestro como héroe. Y queremos buscar el
evento ataque aéreo SOD para vincular. Y ese es el código exacto que
queremos reproducir cuando se
llame a ese notificador, ¿de acuerdo? Y luego nos dirigimos a
Air SOD atacar tres tintas, caer en la G como héroe, y luego estamos haciendo
exactamente lo mismo Air SOD ataca tres eslabones. Eso es perfecto. Entonces ahora eso está configurado
para que funcione correctamente. Después iremos al final del Combo Aéreo y traeremos el como héroe. Y la función que queremos
jugar es combo aéreo y boom, y hecho
y empolvado Ahí vamos, y
terminamos con nuestro sistema básico de combo
aéreo. Veamos cómo está
funcionando en el juego. Entonces estoy en el suelo. Mis incendios de nota están
funcionando correctamente. Ahora si salto. Agárrate. Salta, ataca. Bien, el ataque
no se ha restablecido correctamente. Volvamos y
verifiquemos por qué. Empezaremos por
mirar al héroe. ¿Detecta correctamente
si el jugador está cayendo? Sí. Entonces está configurando esto para que
el aire sdtack Empecemos comprobando eso. Bonito. Saltar. Es hacer el sdtack de aire y
reiniciarlo Ah, bonito. Bien. Entonces ahora
que está funcionando correctamente, el único d, vamos a guardar
rápidamente todos. Tenemos que
asegurarnos de que todo esté guardado para que
funcione correctamente. Haz otra prueba. Cuando salto, puedo hacer un corte de espada. Pero de inmediato, fíjate
que hay un problema. El código no funciona correctamente
porque en algún momento, el jugador volverá a aterrizar
en el suelo. Entonces para restablecer eso, tenemos que hacerlo de manera que cuando el jugador esté en el
aire haciendo sus ataques, se quede en un estado con destino aéreo. Hagámoslo en el siguiente video.
60. 57 Pulir la lógica de la combinación de aire: Bien. Entonces ahora que tenemos nuestro código
Air Combo disponible, lo único que estamos
viendo es que, ya
sabes, los jugadores golpean
el suelo muy rápido. Entonces queremos hacer
una cadena básica. Lo que realmente queremos
hacer es que queremos mantener
al jugador en el
aire para los combos de Air ¿Por qué? Porque se
ve un poco genial. Bien. Ahora, desde una perspectiva de
jugabilidad, una forma sencilla de
pensarlo es que cuando el jugador está en el aire
y en combinación, los queremos Entonces digamos yo como
jugador me muevo y salto, quiero caerme normalmente. Pero si yo como jugador ataque, quiero que como jugador
permanezca en el aire por más tiempo. Ahora, sí, técnicamente, esto podría interrumpir un poco
el juego, pero no te preocupes por
contrarrestar el hecho de que
estás más tiempo en el aire. Lo que también haremos es
que vamos a ralentizar la velocidad
de movimiento horizontal que el jugador no
pueda simplemente venir,
como, golpear ataques y
extender la distancia de salto. ¿Bien? Entonces, ¿bien? Como, puedes ver,
podemos hacer el combo ahí. Pero si trato de hacer el combo, terminaré en el
suelo en algún momento. ¿Bien? Así que vamos a
entrar en el código. Entonces, dentro del héroe en este momento, la etiqueta mela cuando está en el aire
va a llevar a poner tachuelas de soldadura de
aire y luego al final de
la longitud del ataque, comprobamos si el jugador
sigue Si lo son,
vuelve a establecer el número de ataque de césped a cero más bien si no lo son y luego haz un reinicio de ataque y
apaga el Sodtak Si siguen presionando, encienda el sod Attack two Después después de una duración menor, desactiva la variable de sod
Ataque unos. Ahora, lo que vamos a hacer es que vamos a añadir
un poco de salsa. Entonces justo cuando el jugador empiece a hacer sus tachuelas de soda de
aire, vamos a ir a buscar componente de movimiento
del personaje, ¿de acuerdo? Y vamos a arrastrarlo. Y entonces lo que queremos
hacer es querer establecer escala de gravedad. Bien. Queremos establecer la escala de gravedad, y queremos establecerla. Empecemos
poniéndolo a cero solo para mostrarte lo que
estaría pasando. Bien. Ahora que lo hemos
puesto a cero, compilemos y
volvamos al juego. Entonces ahora cuando el personaje salta,
fíjate que pueden hacer sus combos de aire completo
sin gravedad Pero eso es con él puesto a cero. Vamos a ponerlo en
algo más sensato. Vamos a configurarlo en
algo así como 0.25. Eso significa que una vez que el
jugador se está componiendo, obtiene un cuarto de la gravedad Entonces ahora, cuando el jugador salta, obtiene una cuarta parte
de la gravedad, y pueden hacer sus normales de
ataque aéreo. Bien. Eso es genial.
No obstante, fíjate que hay un poco de problema cuando vuelven al
suelo, si saltan
normalmente, no hay problema. Tienen el salto normal
que les hemos establecido. No obstante, si hacen un combo y
vuelven al suelo, cuando saltan hacia atrás, se retiene la escala de
gravedad. Entonces volvamos al plano
del héroe, y luego copiaremos
sobre los nodos de
cambio de gravedad y
haremos esto Inmediatamente justo
después si el jugador se
reinicia y no
continúa el combo, vuelve a
poner la
escala de gravedad en uno Bien. Entonces, si el jugador ha
detenido el combo en cualquier momento, establece la escala de gravedad en uno. Bien. Y agregaremos ese mismo conjunto de nodos
en todo nuestro hold on. Estos podrían ser los ataques equivocados. Creo que puse esto
en ataque SOD. Esto es ataque SOD Ups. Bajar a atacar tintas aire. Quieren estar en los eslabones de
ataque del aire. Pongámoslo aquí.
Entonces en cada reinicio, restablecemos la gravedad
a uno, bajamos aquí. Este es el segundo reinicio. Reiniciamos la gravedad a uno. Ahí vamos. Luego,
por supuesto, en el final combinado, restablecemos la gravedad a uno. Espero que esto tenga sentido y tenga
sentido lógico para ti. Todo lo que estamos haciendo es cada reinicio,
restablecemos la
escala de gravedad a uno. Si el combo continúa, dejamos que la
gravedad flotante de color se pegue alrededor. Veamos cómo
se ve eso ahora. Entonces déjame dar un salto. Hacer. Oh, Dios mío. Oh, lo siento. Para eso. No quiero hacer ninguna depuración,
por favor, gracias No estoy en modo de depuración. Empecemos desde aquí. Así que para la obra. Bien, salta. Bien. ¿Ves? Entonces vengo, me rozo. Una vez que he terminado con una barra, mi gravedad
vuelve a la normalidad Don I slash, mi gravedad
se restablece de nuevo a la normalidad. D con una baraja, mi gravedad
se restablece de nuevo a la normalidad. Saltar, slash, la gravedad se
restablece de nuevo a la normalidad. Salta, slash y slash
la segunda vez. Restablecer. Acerca de la triple
barra, tres barras, y luego el restablecimiento de gravedad, y no necesitamos reajustar la gravedad
todas y cada una de las Ahora, volvamos a entrar, asegurarnos de que
esto funcione correctamente. Déjame ver. Este
reinicio se restablece a uno, restablece a uno, se restablece
a uno, se restablece a No está mal. Pero también necesito volver a
verificar algo. Cuando abro el componente de
movimiento del personaje, déjame buscar la escala de gravedad. Por lo que la escala de gravedad, normalmente, para un salto normal se establece en dos. Entonces déjame hacer un
ajuste para que el salto no cambie en absoluto. Volver al gráfico de eventos. Esta vez cuando se está
reiniciando Lo sentimos, cuando se está reiniciando, restablecemos su escala de gravedad
a dos para mantenerla igual Ahora, por supuesto, la forma inteligente
es tener una variable con, digamos, gravedad base
y configurarla aquí. Pero eso es para que añadas. Hagámoslo otra vez. Entonces esta vez, salto, me corte. La gravedad se volvió a dos. Yo salto, me agaché.
Ponemos la gravedad a dos. Salta, hago las tres barras. Estoy de vuelta en el suelo.
Hago dos barras. Oh, hice tres. Haz dos barras. De vuelta al suelo. Yo salto, cortaré. Estoy de vuelta en el suelo. Yo salto, me cortaré, estoy restablecido. Yo salto, me corte, se restablece. Yo salto, me corte, se restablece,
¿de acuerdo? Yo salto, hago el triple slash, lo dejo ir, se restablece Entonces así es esencialmente
como mantenemos al jugador en el aire
cuando está haciendo combos aéreos ¿Bien? Ahora,
volveremos por aquí, y queremos hacer un
último cambio adicional. Vamos a
verificar rápidamente la escala de gravedad dos. Aquí, está configurado en dos. Sí,
está establecido en dos. Bueno. Aquí, la escala de gravedad
se establece en 0.25. Creo que dejadme bajar
eso a 0.15. Creo que 15 els mejor. Por supuesto, puedes
ajustar esto a cualquier valor que
sientas que rinde mejor. A pesar de que ahí,
lleva a un atasco más alto. ¡Oh! Bien. Entonces ahora que notamos que está llevando
a un salto más alto, lo que vamos a hacer es que
vamos a venir aquí. Vamos a conseguir vamos a ver, vamos a establecer velocidad. A ver, establecer velocidad. Bien. Vamos a
establecer la velocidad. Volveremos a obtener el componente de
movimiento del personaje, y vamos a conseguir velocidad. Obtener la velocidad. Veamos dónde está obtener velocidad. Bien, quiero conseguir velocidad. Vamos a dividirlos. Bien. Dividirlos. También esto, vamos a dividirlos. Y queremos que la
velocidad X sea la misma, W la velocidad Y sea la misma, pero queremos que la velocidad
en Z sea exactamente cero. Ahora bien, ¿qué significa eso? Oh, objetivo, W el
componente del personaje, ¿verdad? Vamos a compilar. Ahora bien, esto es lo
que queremos, ¿verdad? Fuimos cuando el jugador está
flotando en el aire, veamos. Esto es sólo un set
para un ataque rápido. Dejan de ganar velocidad
vertical. ¿Ves lo que hicimos
ahí? Lo configuramos para que el jugador no gane
mayor velocidad vertical. Y ese ataque rápido, bueno. Pero pueden completar sus
tres ataques aéreos. Agradable, no tan mal, no tan mal en absoluto. Pero ahora que lo he visto, creo que este salto
es un poco débil. No es lo suficientemente alto, ya sabes. Bien. Pero ahora que ya lo
hemos hecho, creo que ahora déjeme bajar
la escala de gravedad. Es gracioso, seguimos haciendo
todos estos ajustes. Ahora dejemos caer la escala de
gravedad a,
uh, hagamos que sea 0.05, ¿de acuerdo? Creo que 0.05 es una escala de gravedad razonable porque hemos
reducido significativamente la altura del salto. Entonces venimos. Bonito. Para que el
jugador pueda completar Oh, todavía
estoy acercado. Disculpas. El jugador aún puede completar
sus cortes de triple espada, y luego están de
vuelta en el suelo Y esa es la rápida
descripción general de cómo
tener un buen sistema de ataque aero
combo Y lo bueno es que el jugador conserva
la capacidad de cambiar dirección incluso cuando está
atacando y cortando mientras está en el aire Eso es algo genial. ¿Bien?
Eso es más o menos. Bien, entonces veamos que
este es un salto normal. Este es un salto de ataque. El salto atacante se mueve más rápido. Entonces, lo que haremos
volverá al héroe una vez más. Entonces, ahora que estamos de vuelta en
el movimiento del personaje, volvemos a estar dentro del personaje
más bien por encima del personaje principal nuevamente. Queremos obtener otro
componente de nuestro personaje porque
hay otra característica de burgle Si hago un salto básico, fíjese, cuando salto, puedo saltar
alrededor de 1.5 cuadrados. Pero si salto y
empiezo a atacar, puedo saltar alrededor de tres, lo que significa que
estamos haciendo ataques aéreos en tecnología de movimiento de salto,
lo que no queremos. O sea, si lo quieres,
puedes tenerlo en tu juego. Pero
te voy a enseñar cómo asegurarnos que el ataque aéreo no cambie tus saltos porque más
adelante vamos a adentrarnos en cómo desarrollar plataformas
que sean atractivas y divertidas Entonces arrastraremos el componente de movimiento del
personaje. Y queremos
buscar controles de aire, queremos establecer control de aire. Es esa cosa
llamada controles aéreos, quieren establecer control de aire.
Lo pondremos aquí. Y lo que vamos a
hacer es que vamos a establecer control
aéreo para
digamos algo así como 0.3. Porque en el mejor de
los casos, la forma en que lo configuramos cuando estamos configurando
el movimiento del personaje, control
aéreo es mayor. Rápidamente echemos un
vistazo a sus detalles. Quiero, abre los detalles. Bien, entonces mis datos
no están viendo, así que iré a ver,
y aquí estamos. Haré clic en los detalles, y volverá a
aparecer esa ventana de detalles. Ahora, quiero
buscar control aéreo. Bajo el componente de
movimiento del personaje. Para que veas que el mejor
control aéreo está configurado en uno, ¿de acuerdo? Entonces, lo que estamos haciendo al
establecer el control aéreo en 0.3, es que estamos reduciendo la capacidad de
los jugadores para controlar la velocidad diagonal cuando
han saltado y están virando Entonces están aquí. Bien, entonces se
ha reducido el control aéreo, pero aunque se
ha reducido el control aéreo, el jugador aún puede hacerlo. No, esta podría no ser
la solución correcta. Déjame quitar el
cambio al control aéreo. Por lo que cambiar el
control aéreo podría no hacer exactamente lo que le gustaría
de la sensación del personaje. Entonces, en cambio,
cambiemos rápidamente la velocidad de trabajo real. Mm. Bien. Entonces aquí tenemos
la variable de velocidad de caminata. Ahora, vamos a sugerir
solo esa variable. Veamos, en
realidad hemos establecido la velocidad de caminata. Entonces aquí estamos. Cambiemos la velocidad máxima de caminata. Ahora, comienza a las 600. Sugeriremos que baje a 300 y veamos si eso
hará la cantidad correcta de diferencia o
asegurándonos de que el jugador no sea capaz de
aumentar su distancia de salto. A ver. No, no es suficiente. Vamos a bajarlo a 150. Ese es el movimiento del personaje. Bien, entonces se ralentizó. ¿Bien? Vamos a bajarlo a 50. ¿Bien? Realmente
déjalo caer para que podamos ver la diferencia en el
impacto que está teniendo. No, no lo suficientemente bueno. Mm. Va a necesitar
hacer otro ajuste. Entonces, si cambiar la
velocidad de
trabajo no está funcionando para este
caso de uso, veamos. Creo que lo que podríamos
cambiar es la fricción del aire. Necesito cambiar la
fricción mientras estoy en el aire. En realidad, muchas formas
diferentes de hacer esto. Cada uno con su propio conjunto de problemas que él
mismo causará. Volvamos a esto más tarde. Ahora, fundamentalmente, ahora
que hemos terminado con esto, lo que sí tenemos es
la capacidad de configurar una bonita animación de tres hits y llevar a cabo esos hits ahí, y también digamos
hacer un salto rápido. Podemos saltar y
hacer ataques aéreos. Tenemos ataques aéreos. Entonces tenemos ataques a tierra. Tenemos ataques aéreos. Aunque los
ataques aéreos son lentos, algo que podemos remediar
muy rápido. A ver. Déjame adentrarme en el arte. Y seleccione el ataque de aire de sod. Esto se establece en cuatro
cuadros por segundo. Permítanme actualizar eso a ocho cuadros por segundo
para hacerlo más rápido. Y luego el segundo, veamos, uno, dos, tres. Bien, eso está configurado en
cuatro fotogramas por segundo. Déjame configurarlo hasta seis fotogramas por segundo para que sea más rápido. Y el último está
configurado en lo que quieres? En realidad, lo que voy a hacer, voy a cambiar
este hacia arriba déjame ver. Cuál es la tercera animación. Déjame borrar eso. Sólo voy a configurar esto a
cuatro fotogramas por segundo. Entonces esa va a ser
la última tachueta de espada. No, mantenlo simple. Entonces con eso, solo esos
par de cambios, veamos cómo se veían. Entonces estas son las tachuelas de espada
puestas a tierra. Y luego cuando
salto, mucho más rápido. Uno, dos, tres. Bien,
entonces están hechos. Bueno. Uno, dos, tres,
uno, dos, tres. Bien. Entonces cuando
saltas, uno, dos, tres. En realidad me
gusta ser capaz de
controlar el movimiento cuando estoy en el aire así.
Es algo genial. En fin, eso es todo. Por ahora, tenemos nuestra configuración de sistema
combinado Baseline. Ahora que tenemos
el sistema combo configurado en el siguiente
conjunto de videos, vamos a hablar brevemente
de algunas cosas que
podemos hacer con la IA porque
golpear un bloque es divertido, pero golpear a una
criatura real que pueda atacarte y acabar con tu
vida es mucho más divertido. Vamos a meternos en eso.
61. 58 Cómo detectar el guitarrista en el rango: Ahora que tenemos algo de combate
disponible para nuestro jugador, vamos a darle al jugador
algo para luchar, que va a ser
nuestro primer enemigo cuerpo a cuerpo Ahora, lo primero que
vamos a hacer es
configurar y crear el plano de base del enemigo
cuerpo a cuerpo, Entonces para hacer eso,
entremos en los personajes. Ahora fíjate que aquí hay
algunas carpetas. Tenemos nuestro ataque, objeto
de daño, y
luego el jugador. Así que vamos a crear una nueva carpeta, bien, la llamaremos enemigo cuerpo a cuerpo Lo mantendremos simple, ¿de acuerdo? Así es como se
va a llamar. Ahora bien, este es el enemigo cuerpo a cuerpo. Y si vamos,
vamos a crear
al enemigo cuerpo a cuerpo como una clase infantil del maniquí
de ataque Así que consigue el maniquí de ataque.
Lo va a conseguir. Y luego arriba en la parte superior, está la opción de crear
una clase de plano infantil Y vamos a llamar
a ese niño plano clase mi enemigo Rápidamente corta eso vamos a cortar eso, volver al enemigo cuerpo a cuerpo, y luego pegar rápidamente
el contenido aquí Aguanta, en realidad,
déjame volver. ¿Dónde está la copia? En realidad quiero copiar
esto en su totalidad. Motor real. ¿Dónde está la función de copia
simple? Bien, no estoy viendo copia. Sólo voy a arrastrarlo
y soltarlo en melenem. Dice: Bien, muévete aquí. Sí, eso es lo que quiero hacer. Editor muy interesante. En fin, ahora que estamos
dentro del enemigo cuerpo a cuerpo, queremos agregar en un
par de carpetas más Entonces crearemos una carpeta
que vamos a llamar arte. Crearemos otra
carpeta llamada animación donde pondremos
nuestras animaciones, y crearemos otra
carpeta llamada audio. Bien. Entonces tenemos
audio artístico y animación, y agregaremos más carpetas en
función de lo que se necesite. Pero por ahora, estos
tres serán suficientes. Ahora bien, si bien ha sido agradable
tener este maniquí por aquí, dejemos el maniquí a un Déjame alejarlo. Vamos, Cameoa. F por aquí. Fresco. Bien. Ahora, rápido, dejemos caer al
enemigo cuerpo a cuerpo al mundo como asegurarnos de que
sea cero en el eje ZY Bien. Entonces este es nuestro primer enemigo
real en el juego. Esto es ahora mismo. Ya está aquí. Ahora, abramos el plano
y veamos qué hay dentro. Entonces, al abrir, déjame
agregarlo aquí, ¿de acuerdo? Entonces abriéndolo, fíjate que hay un
par de cosas. Hay una colisión básica de
cápsulas. Hay un cubo básico por aquí. Hay una malla básica de caracteres. Ahí está el widget, esa es
la barra de salud por ahí, y hay un componente de
movimiento de personajes que es bueno. Lo primero que vamos a hacer es que vamos a entrar. Vamos a seleccionar el cubo, y vamos
a simplemente por ahora, dejémoslo por ahora
ya que solo hacemos una cosa. Pero aquí vamos a agregar
otro componente. Ahora bien, lo primero
que debe
hacer la IA antes de que haga otra
cosa es que necesita poder
detectar al jugador y saber cuándo el jugador está
en cierto rango del mismo. Entonces vamos a ir
a los componentes, y queremos agregar
un componente llamado peón sensing. Eso es. Entonces esto es, el peón sintiendo. Déjame cambiarle el nombre a detección de
jugadores. Ese va a ser
el nombre que voy
a usar para ello porque está
pensado para la detección de jugadores. Y luego cuando alejas el zoom, nota que es un radio bastante
loco, ¿verdad? Es un radio masivo. Entonces queremos bajar
ese radio. Ahora, en el panel de detalles, podemos reducir el radio del sitio. En este momento está en 5 mil. Déjame bajarlo
a mil unidades. Bien. Creo que mil unidades
van a ser buenas. Y luego umbral de audición, podemos hacer ese cero
para que no sea capaz de escuchar al jugador
y el umbral de audición de LOS. Vamos a convertir eso a cero. Entonces todo lo que tiene es un radio de visión. Ahora, ten en cuenta que esto
es en realidad una esfera. Parece que es una línea
recta, pero no lo es. Es una esfera completa alrededor de todo
el personaje, ¿verdad? Ahora, hagamos una comprobación rápida y asegurémonos de que el componente de detección de
puntos, que he llamado
detección clara, esté funcionando. Entonces entraremos en
el gráfico de eventos. Déjame bajar aquí y
vamos a crear. Vamos a dejar que en
realidad
lo arrastre en arrastre en la detección del jugador. Por lo que ahora está aquí la detección clara. Y queremos agregar en un evento sencillo para
detectar al jugador así que
vuelve a la detección clara. Vamos a agregar un evento. Podríamos usar aquí ruido, pero eso no es utilizable en este momento. Quiero agregar sobre el CPN, lo que va a llevar
a que esto se agregue Entonces en CPO, que
es básicamente para la detección del jugador, ¿
qué queremos hacer? Queremos simplemente
imprimir una cuerda simple, y queremos
llamarla player is visible. Eso es. Una vez que el jugador
está dentro del rango detectable, simplemente dice: Oye, el
jugador es visible. Eso es todo lo que necesitamos
para empezar. ¿Bien? Así que
volvamos al mundo. Presiono play. Bien,
entonces ahora mismo, no
es detectar al jugador. Entonces volveremos
al plano. Entonces estoy viendo el
plano sobre el CPN. Debería estar detectando
al jugador independientemente. Volvamos. Entonces cuando salto a este
lado, ahí está. Entonces ahora está afirmando que
el jugador es visible. Si vuelvo, el jugador ya no
es visible. Vuelvo de este lado, el jugador es
visible. Eso es genial. Ahora sabemos que es capaz de ver
al jugador siempre cuando esté en el lado derecho
de su rango de visión. Ahora, vamos a ampliar su vista para que en lugar de que ellos
miren hacia el lado derecho, sea capaz de ver al jugador tanto por el
lado izquierdo
como por el lado derecho. Y para aumentar el ángulo
del rango de visión, observe aquí, ángulo de visión
periférica en la detección del jugador. Entonces echemos un vistazo. ajustar ese número hacia arriba o hacia abajo. Voy a incrementar ese
número a 179 grados, no del todo 180 sino 179. He descubierto que eso suele funcionar muy bien
en la mayoría de los casos de uso. Entonces ahora, fíjate que el
jugador es visible. Yo salgo del rango. El jugador ya no es visible. El jugador es visible. Déjame salir. El jugador ya no
es visible.
Eso es bueno. Entonces nuestra IA básica ahora es
capaz de detectar simplemente al jugador. A continuación, descubramos cómo hacerlo para que cuando
el jugador sea visible, la IA se mueva hacia
la ubicación del jugador.
62. 59 Haz que la IA se mueva hacia el reproductor: Ahora que tenemos al
jugador siendo detectado, así que ahora mismo estoy fuera
de rango visible, y ahora estoy de vuelta
en rango visible. Lo siguiente que queremos
es asegurarnos de que
el enemigo cuerpo a cuerpo se mueva hacia el jugador cada vez que
el jugador sea visible Ahora bien, para hacer eso, necesitamos ante todo, crear navegación, y
lo haremos estableciendo unos límites de malla
nerviosa Ahora, ¿qué es eso? Déjame mostrarte
rápidamente, ¿verdad? Para empezar, digamos que tenemos este
objeto por aquí, ¿
verdad? Esa es nuestra IA. Si alejamos el zoom y luego
entramos en la esquina superior izquierda, y queremos agregar algo
y simplemente agregamos malla
nerviosa en cada volumen de límites de malla
nerviosa Agreguemos eso al
mundo del juego. Retroceder el zoom. Esto aquí va a
crear lo que se conoce como una malla nerviosa. Ahora bien, esta caja es un poco pequeña, así que la he seleccionado, y luego voy a
aumentarla escala a 50 en todas las unidades, ¿de acuerdo? 50 porque quiero que sea grande. Mucho mejor. Ahora bien, esto
es propiamente grande. Entonces ves esta zona verde. Esta zona verde de aquí te
muestra la malla nerviosa. En otras palabras, a qué áreas es la IA capaz de navegar. Ahora notarás nuestra caja aquí, más bien nuestro enemigo cuerpo a cuerpo es capaz de moverse a lo largo de
esa zona verde Ahora, déjame moverme aquí. Notarás esta área
alrededor de estos objetos, se le dice a
la IA que no
pueda navegar por ahí, y eso es bueno. Ahora, por si acaso estás
viendo algún espacio debajo de aquí, lo que vas a
necesitar hacer es verificar, hacer doble clic en no
al enemigo cuerpo a cuerpo Vamos al maniquí de ataque. Asegúrese de que el
cubo de su colisión esté configurado para que simplemente se
superponga a todos los dinámicos. No debería estar
bloqueando porque cualquier colisión de bloqueo va a provocar que haya un espacio donde
no se vea la malla nerviosa. Ahora bien, si vuelvo a hacer clic en
la caja nerviosa, y presiono P, dejará de
mostrar la malla nerviosa. Vuelvo a presionar P
, ahora
te está mostrando la malla nerviosa. Ahora que esa
malla nerviosa está puesta, simplemente
vamos a ir a construir y queremos
buscar construir caminos. Lo que eso hace es que va
a reconstruir la navegación, solo una simple doble comprobación. Y lo que puedes hacer es, digamos que queremos conseguir
estos límites de malla nerviosa, a la
derecha, y queremos moverlo
un poco más hacia la izquierda Va a crear
una malla nerviosa. Observe esta refundición por defecto de malla
nerviosa. Puedes eliminar eso, repasar
a construir y reconstruir caminos, y recreará
la malla nerviosa por ti Ahora, sé que he dicho mucho la
malla nerviosa, pero esencialmente, esa es solo el
área viable que la IA puede usar Ahora que tenemos el
área transitable que la IA puede usar configurado, vamos ahora y
asegurémonos de que entienda para avanzar hacia
el personaje del jugador Bien. Ahora les voy a
demostrar con claridad lo que estamos
tratando de lograr. Entonces te mueves hacia el enemigo
y notas que te persigue. Entonces cuando salte por encima, siempre y cuando me ponga
en rango visible, continuará
intentando perseguir
al jugador hasta la
ubicación del jugador. Bien, vuelve. Bien, vuelve. Oye,
vuelve, boom. ¿Bien? Por supuesto, se trata de llegar a la ubicación
exacta del jugador. Ahora bien, este es el código de plano
simple. Entonces lo primero
que vas a hacer es volver a OSPN
la detección del jugador Y luego después de la cadena de impresión, vas a lanzar a héroe. Básicamente, arrastras este
pinout y quieres lanzar a cualquiera que sea el nombre del plano
del jugador Una vez hecho eso, a partir de ahí, vas a como héroe, quieres obtener la ubicación del
actor. Eso va a sacar a
colación este nodo y luego vamos dividirlo
rápidamente para que
tengamos acceso al valor X, Y y Z. Por supuesto, no
necesitamos el valor Z. Es el valor X e Y los
que son más importantes. Luego después de eso, usaremos un simple movimiento al nodo de ubicación. Puedes acceder a eso simplemente
escribiendo un simple movimiento a la ubicación. Y con eso,
arrastrarás desde Controller y quieres
obtener el controlador AI, podrás obtener
el controlador AI get,
y desde el Controlador AI, asegúrate de renunciar a
una referencia a uno mismo. Esto básicamente le dice a la
IA que tome básicamente, dice, Oye, IA una vez
que detectas al jugador. Imprimir el
jugador de cuerdas es visible, lanzado al héroe, que debería ser lo que estamos viendo,
ese es el peón Como peón, obtenga su ubicación actual
y luego simplemente muévase a su ubicación accediendo al controlador de IA
dentro de usted Y así es como fundamentalmente consigues algunos déjame alejar el zoom. Así es como consigues
un simple movimiento de IA a donde la IA solo sigue
al jugador, y sigue
intentando seguir
al jugador siempre y cuando
el jugador esté dentro del alcance. Ahora que tenemos eso,
podemos seguir adelante y vamos a establecer algunas limitaciones básicas generales que la IA no intente moverse completamente en el jugador porque está tratando de llegar
a su ubicación exacta, que no es lo que queremos, queremos se mueva a cierto rango. Bien. Y luego
pasaremos a darle a la IA un ataque
que dañe al jugador.
63. 60 Cómo ajustar el movimiento de la IA hacia el reproductor: Ahora bien, si vuelves
a las carpetas una vez más y dentro
de las carpetas, debería
haber
debajo del reproductor, notarás que creamos una carpeta específica para el
daño en las cajas para el jugador. Vamos a hacer algo
muy parecido por el enemigo cuerpo a cuerpo Dentro de eso, vamos
a crear una nueva carpeta, y esa carpeta va
a ser dañada en las cajas. Bien. Déjame solo
revisarla casilla, no en las cajas. Bien, la caja del sombrero de daño. Bien. Quiero mantener igual el
naming para que todo sea
similar entre los dos Bien, ahora que hemos terminado
de tener eso disponible, hagamos ahora algunos
ajustes para que el enemigo cuerpo a cuerpo en lugar de llegar hasta la ubicación exacta del
jugador, lo que debería hacer es llegar a los jugadores Básicamente, no debería
intentar entrar dentro
del jugador, ¿de acuerdo? Se trata de ir
dentro del jugador. Eso no queremos.
Queremos que se detenga justo afuera del jugador. Así que queremos que siempre detenga un poco de
espacio ante el jugador. Ahora bien, la forma en que
vamos a hacer eso es usando
un nodo diferente, y ese nodo se llama
get distance two. Entonces vamos a buscarlo. Obtener la distancia dos. Ahí estamos. Nos da la distancia a
un personaje jugador, ¿de acuerdo? Entonces usaremos este nodo. Es el get distance to node. Entonces, primero movamos todos estos nodos que son
para mover al actor, moverlo un poco más adelante. Entonces lo que queremos hacer es
después de la sencilla herramienta de movimiento, queremos tener una comprobación
básica de distancia al personaje del jugador. Y después de esa comprobación de distancia, queremos detener todo movimiento
activo. Entonces, la forma en que vamos
a hacer eso es, antes que nada, espaciemos rápidamente estos un poco más porque necesitamos
hacer un par de comprobaciones. Bien. Entonces también tenemos distancia, y el otro actor va a ser ese héroe
que está detectando. ¿Bien? Ese va a
ser el otro actor. Y además, déjame mover
esto aún más hacia la izquierda porque
va a necesitamos un
poco más de espacio, ¿de acuerdo? Entonces estamos consiguiendo
la distancia al héroe y luego va
a intentar devolver un valor. Y entonces lo que queremos
hacer es desde el
valor de retorno, vamos a arrastrar esto. Queremos buscar
menos de igual a. Entonces queremos
buscar menos o igual a. Bien. Y después de eso
menos o igual a, vamos a establecer una cantidad. Digamos que la cantidad
es de 150 unidades. Y después de eso,
vamos a montar una rama simple y
después de esa rama, si esa rama es, veamos. Entonces básicamente, si la distancia es menor o igual a 150 unidades, lo que queremos es que eso signifique
que el jugador esté dentro de
esa distancia, ¿verdad? Está dentro de 150 unidades. Básicamente queremos dejar de
hacer cualquier movimiento lo que significa que si la distancia
no es si la distancia
no es inferior a 150 unidades, lo cual va a ser falso, lo
arrastraremos hacia afuera y lo moveremos al movimiento
simple también. Entonces se moverá si la distancia
es menor o mejor dicho, si no es menor
o igual a 150 unidades, sin embargo, si es cierto, arrastraremos esto y
queremos imprimir una cadena simple, y queremos que el color de
la cadena sea rojo. Clic, ¿bien? Y lo llamaremos en rango de
ataque porque ese es
básicamente el rango de ataque. Lo hemos configurado para que 150 vaya a ser como cada vez que el
jugador esté dentro de las 150 unidades, ahora
va a
estar en el alcance de ataque, por lo que estará listo para
comenzar a atacar al jugador. Ahora, con todo esto
configurado correctamente, arrastremos al elenco
a héroe hasta aquí. Así que vamos a repasar el código. En la detección de jugadores
lanzados a héroe, va a obtener
la distancia al héroe y comprobar si es
menor que igual a 150. Si la distancia no es
menor que igual a 150, simplemente intenta moverte a la ubicación del
personaje. Si es menor que igual a 150, solo imprime que oye,
estás en el rango de ataque. Bien, así que con solo eso, hagamos rápidamente una compilación y golpeemos play y
hagamos una revisión rápida. U, dice en rango de ataque. Pero la distancia de 150
parece ser demasiado pequeña. Aumentemos eso a 500. Bien. Ahora a una distancia de 500 que estamos utilizando para verificar. Hmm. Ahora tenemos un problema menor. Así que cuando me muevo,
lo intento, ¿de acuerdo? No, el cheque no
funciona correctamente. A ver. Bien, ahora está parando en un
buen rango correcto. Ahora se está deteniendo en
el rango correcto. Ahora se está deteniendo en
el rango correcto. Ahora no está funcionando correctamente. Ahora no está funcionando correctamente. Ahora no está funcionando correctamente. Esto va a necesitar algunos
ajustes. Inténtalo de nuevo. No, está siendo poco confiable. Ahora vamos a hacer algunos problemas
básicos. ¿Cómo estamos haciendo la
solución de problemas? Ven aquí y
vamos a golpear Play. Quiero ver qué está pasando. Oye, eso va, ¿
correcto? Bien. Entonces el único problema es que el simple movimiento también
sigue funcionando. Parece que el código está
funcionando correctamente porque déjame intentar
demostrarlo. Cuando llego al rango
correcto, espera. Espera un segundo. Parece que se está moviendo
y en realidad está haciendo lo correcto de cambiar el flujo apagando también
el movimiento simple. Pero lo que falta es este movimiento para correr una vez
y sigue funcionando. Lo que queremos hacer
es justo después de que se detecte que está
dentro del rango de ataque, queremos parar vamos a ver. Aquí estamos. Queremos detener el movimiento activo. ¿Bien? Entonces, inmediatamente hagamos
clic en eso. Entonces, lo que ha hecho es más bien, se abre el componente de
movimiento del personaje y está deteniendo el movimiento
activo. Ahora con esa configuración, probemos
esto rápidamente de nuevo. Tan Perfecto. Me muevo un poco. Sí, ahora está
funcionando correctamente. Ahora, vamos a reducir eso de
500 unidades a 150 unidades. Haz una compilación rápida.
Vuelve aquí. Bien, entonces ahora se está
deteniendo correctamente. A? No, pero ahora no funciona correctamente.
Bien, aguanta. Déjame aumentar las unidades para que tenga
una imagen más clara. Déjame aumentar a
300 unidades. ¿Bien? Bien, se está deteniendo.
Se detiene ahí. Se detiene ahí.
Se detiene ahí. Se detiene ahí. Bien. Por lo que actualmente
no está funcionando de manera confiable. Ahí, está parando a
la distancia correcta. Aquí, se detiene ahí. Bien. Entonces detener el movimiento es ayudar a resolverlo
en algunos escenarios, pero no lo está ayudando
en otros. Entonces lo que vamos a necesitar
hacer es hacer otro cambio. Entonces ahora que estamos aquí, lo
hemos configurado para
detener el movimiento activo. Pero antes de hacer eso, lo que también tenemos que hacer es, primero
reorganicemos
esto un poco, asegurarnos de que esté
realmente limpiado Déjame poner esto
distancia y ramificar juntos aquí para que pueda ver
claramente lo que está pasando. Esto va a estar aquí, bien. A mí me gusta esta organización. Y entonces si es cierto, se ramifica para
detener el movimiento activo. Mm hm. Bien. Pero si está deteniendo
el movimiento, ¿por qué se detiene a
diferentes distancias? Eso se reduce a la velocidad. Eso se reduce a la velocidad. Entonces, ¿cómo alteramos la velocidad? Eso en realidad es bastante simple. Estamos usando detener el
movimiento activo, arrastra esto. A ver. Aquí estamos he añadido en un movimiento de
parada de inmediato para evitar que eso siga
avanzando después de que lo hayamos hecho. Así que estoy usando tanto detener el movimiento inmediatamente como detener el movimiento
activo. Probemos esto y veamos si esto va a dar
el resultado correcto. Bien. Bien. No. No. Ah. Ya veo. Bien. Este es un comienzo suficientemente bueno, pero hay un par de ajustes
más que
vamos a necesitar
hacer para que la IA
siga al personaje y se detenga en un lugar determinado
que trabajamos correctamente. Y creo que una
parte importante de eso va a ser ajustar el componente
psensing Hagámoslo en el siguiente video.
64. 61 Ajuste de componentes de detección y algunos trabajos teóricos sobre la sincronización: Entonces ahora que estamos en
un lugar donde podemos
movernos hacia nuestro enemigo cuerpo a cuerpo Y a veces se detiene
en la posición correcta. A veces se detiene demasiado tarde, y, ya sabes, pero su
movimiento ahora está funcionando. Necesito salir solo
del código y los nodos en una forma de pensar un poco de
nivel superior. Cada juego en el mundo
entero se ejecuta con un temporizador. Este temporizador se llama el técnico. Ahora, déjame sacar esto a la luz. Déjame imprimir una cuerda. Y quiero que imprima los segundos Delta
cada vez que tome. Entonces veamos cómo se ve
esto. ¿Dónde está el nivel de este lado? No, quiero que se vaya. Bien. Entonces fíjate que está haciendo tictac. Ahora, ahora mismo, estás viendo
0.008 como el temporizador de toma. Ahora, lo que eso significa, vamos a
abrir una calculadora, ¿verdad? Ahora, si conseguimos uno
y lo dividimos por 0.0 083, obtenemos 120 Bien. Eso significa que
cada toma se dispara alrededor de
cada 120 fotogramas,
y podemos verificarlo , ¿verdad? Viniendo aquí saliendo, si le pedimos que muestre FPS, ¿verdad? Observe de qué
se trata el FPS de 120 fotogramas. Todo lo que hacemos está basado en temporizador. Ahora déjame presionar play. Entonces notarás que va
a mostrar el tiempo
entre cada fotogramas, que ahora es 0.008 3 segundos. Por lo que la variación en donde se detiene el oponente
se reduce a la sincronización. Ahora, déjame regresar y borrar esta cadena que está
apareciendo en Te go away. Ahora ya lo he quitado. Si vamos y verificamos la detección
del jugador, entra en el panel de detalles. Déjame abrir esto. Y vamos a ver algo aquí. Aguanta, veamos, toma de
componentes, eso es bueno. Bien. Así que he hecho clic en la detección del jugador en componente
de detección.
Ahora, vengamos aquí. Observe que en este momento su intervalo de
tick está establecido en 0.0. Lo que eso significa
es que se va
a establecer en el mismo intervalo t
que la velocidad de fotogramas. En realidad no es cero, pero está fijado a eso. Y ahora, lo que queremos es que podamos ajustar esto y podemos
aumentarlo o disminuirlo. Eso no es lo más
importante. Bueno, veamos. Aquí estamos detectando intervalo. Ahora, el intervalo de detección básicamente significa la cantidad de tiempo que lleva entre cuando el juego
verifica ese componente. Entonces ahora está establecido en 0.5. Entonces lo que podemos hacer es establecer el
intervalo de detección en cinco. Eso son cinco segundos enteros. Eso es mucho, ¿de acuerdo? Así que compile esto. Entonces
eso significa esencialmente, va a seguir
haciendo eso ahora, uno, dos, tres, cuatro, cinco. Observe que solo está haciendo esa
comprobación cada 5 segundos. Uno, dos, tres, cuatro,
cinco, ahora se mueve. Alternativamente, podemos
hacer un ajuste a ese intervalo de detección para
que tenga sentido mucho más rápido. Lo haremos 0.1. Recuerda, empezó
a la 0.5, ¿de acuerdo? Ahora vamos a entrar aquí. Entonces fíjate que ahora en 0.1, está siguiendo y ajustando
a la distancia correcta. La razón por la que está haciendo eso es porque ahora de repente, es verificar dos veces
a cada 0.1 segundos que el enemigo está corriendo las matemáticas y comprobando dos veces la
distancia al jugador. Entonces déjenme abrir una vez más el gráfico de
eventos. Estoy alejando un poco,
pero puedes, bien, déjame acercar la
impresión de la cuerda, fundir y ramificar Así que vamos a golpear rápidamente Play. Quiero que veas
lo rápido que es hacerlo, ¿verdad? Está completamente cambiado. Pase, es poner
las cosas en la pantalla. Ahora bien, la razón por la que
quería compartirlo es porque
vamos a estar haciendo mucho trabajo usando
diferentes sistemas de detección de puntos. Para hacer realmente una buena IA, vamos
a necesitar trabajar mucho
con ellos para detectar la distancia y tomar diferentes
decisiones en función de
cuál es la
distancia del personaje. Si el personaje está lejos
a través de un ataque a distancia, si están cerca, puedes
configurar la IA para que huya Eso es solo un concepto
general básico. Y ahora que tenemos aumentar el intervalo de detección
a 0.1 segundos. Ahora el código está
funcionando exactamente como pretendemos desde una perspectiva
humana. Ahora, ahora que tenemos esta
configuración y la tenemos
configurada para atacar
básicamente a distancia o mejor dicho cuando
está en alcance de ataque. A continuación, pasemos
del código y agreguemos algo de animación a
nuestro enemigo cuerpo a cuerpo, y luego entraremos en
agregar un ataque y hablaremos sobre cómo tomar decisiones en
torno a los sistemas de ataque
65. 62 Añadir un sprite visible al enemigo cuerpo a cuerpo: Ahora, lo siguiente que queremos hacer es realmente cambiar
a nuestro enemigo cuerpo a cuerpo para que podamos ver
realmente a un enemigo en la pantalla Déjame acercarlo
al jugador para que
podamos ver rápidamente los cambios. Queremos que esto sea
realmente un enemigo, no solo una caja
con barra de salud. Entonces para hacerlo, entraremos en el plano
del Enemigo cuerpo a cuerpo. Seleccionaremos el cubo, y entraremos en sus detalles, y queremos buscar renderizado
visible y
hagámoslo invisible. Entonces ahora no deberíamos
estar viendo ninguna, solo
estamos viendo una barra de
salud. Eso es genial. Pero vamos a
hacer otro cambio. Vamos a seleccionar el
widget, entrar en detalles. Y además, sólo vamos
a hacerlo invisible. Para que sepas, ahora solo tenemos
al enemigo vacío. Con el enemigo vacío
ahí, entremos, y ahora queremos
comenzar a agregar
algunos sprites en preparación
para los sprites Vamos a añadir un componente, y va a
ser un flip book. ¿Bien? Solo agreguemos un flipbook de
papel como componente, y aquí va a ser
donde vamos a poner en
todos nuestros sprites Ahora, se agrega con este video también algunos activos de sprites que usaremos
para crear al enemigo Puedes descargarlos
y luego seguir adelante. Ahora, agregar los sprites
va a ser bastante sencillo. Primero, seleccionaremos todas las
imágenes que hemos importado y nos aseguraremos de que esas tengan aplicadas las
configuraciones de textura de papel dos D. Lo siguiente que
queremos es seleccionar esqueleto io, y queremos extraer
sprites de él Después de golpear extraer sprites, observe que NRL
ya ha
segmentado automáticamente los
diferentes sprites
y simplemente presionamos extraer y simplemente presionamos Y ahí vamos. Entonces ahora tenemos todos estos esqueletos, sprites
inactivos desempaquetados Entonces los seleccionaremos y luego iremos a
crear Flip Book, que está por ahí
y creamos un flipbook Y se llama
esqueleto Ídolo Uno. Simplemente lo cambiaremos a
mí NMI, subrayado inactivo. Bien, ahora echemos un
vistazo al enemigo cuerpo a cuerpo inactivo. Entonces esa es la animación. Básicamente, el esqueleto
está parado en un solo lugar. Es una muy buena animación, y esto es lo que usaremos
para mantener al enemigo inactivo. Ahora que tenemos eso adentro, simplemente
cerraremos esto. Seleccionaremos el libro de
papel que
hemos creado dentro
de nuestro enemigo cuerpo a cuerpo Y vamos a cambiar el libro
de volteo de salsa para que bajemos. Queremos que el enemigo cuerpo a cuerpo esté inactivo. Bien. Ahora que hemos puesto al enemigo cuerpo a cuerpo inactivo por
ahí, vamos a compilar Y cuando golpeamos arcilla, mira, ahí está ese pequeño enemigo
cuerpo a cuerpo por allá Muy lindo. Ahora eso está funcionando. Hemos demostrado que está
apareciendo correctamente. Ajustemos la escala para que se ajuste y tenga más sentido lógico. Voy a bloquear la
escala, escalarla en la Y. Eso es genial. ajustar su posicionamiento
para que sea un poco más alto. Muévelo un
poco hacia adelante, y luego hacia abajo. Por lo que su escalado actual es de 4.4. Déjame hacer ese 4.5. Ese es el escalado. Compilar.
Déjame ver cómo se ve. Eso es bueno. A continuación, regresa, selecciona el flip book, busca sombra, y
queremos configurarlo para proyectar sombras porque en este momento
no está proyectando ninguna sombra. Va a seleccionar
sombra proyectada, compilar. Y ahora nuestro pequeño enemigo dos D está ahí lanzando una
pequeña sombra agradable. Qué genial. Y mira, se está moviendo correctamente,
izquierda y derecha, moviéndose a la
izquierda, moviéndose a la derecha. Esto es excelente. Ahora que tenemos a
nuestro pequeño esqueleto ahí haciendo pequeñas cosas de
esqueleto, creo que vamos a
hacerlo un poco más grande, ya
sabes, un poco
más intimidante Vamos a verlo escala. Permítanme aumentar
la escala a seis. Incrementar su ld vertical. Necesito mirar el suelo, asegurarme de que solo esté
tocando el suelo. Permítanme aumentar la
escala a siete. Eso es bueno. Asegúrate de que solo se trata de tocar el fondo. Déjame sacarlo a colación sólo un toque. Compilar. Veamos
qué tenemos aquí. Esto se ve mucho mejor. Mira ese esqueleto. ¿Bien? El único
ajuste que voy a hacer es bajarlo solo una pizca Veamos ahora mismo, 30. 20? No, quiero que su ubicación Z
sea algo así como 28. No, déjalo caer 27. Eso debería encajar sobre lo correcto. Ajusta hasta que hayas terminado
de gustarle, ¿de acuerdo? Ajusta a tu gusto. Bien. Ajusta a tu gusto. Esto
es bueno, y me gusta. Ahora que hemos terminado con eso, hagamos un último ajuste. Um, no, dejémoslo así. Entonces ahora tenemos un enemigo
esqueleto básico que es capaz de seguir
al jugador alrededor. A continuación, vamos a
trabajar en adjuntarlo, configurarlo en papel
Zed y darle una
animación de ejecución real para
que persiga al
jugador. Vamos.
66. 63 Cómo agregar animaciones caminantes en PaperZD: Bien, ahora que tenemos
el arte básico, vamos a darle vida
y sumar esa funcionalidad más
dinámica. Entonces lo primero que
vamos a hacer, es una configuración muy similar a la
que se hizo con el jugador. Queremos encontrar el componente de animación de papel
Z D. Y con esa configuración de
componentes de animación, solo llámalo animación en papel Z. Y luego decidiremos, bien, instancia de
animación, trataremos con esto más adelante, que renderizan bien el componente. Queremos usar el libro de
papel
como nuestro componente de renderizado, y ahora simplemente está
buscando una clase de instancia de animación. Entonces vamos a crear eso. Así que dentro de la
carpeta del enemigo cuerpo a cuerpo, entra en animación, y vamos a crear, veamos, queremos una instancia de
animación Veamos qué son los papeles a. Aquí están los papeles al día. Queremos comenzar
creando una salsa de animación,
y la llamaremos salsa de animación cuerpo a cuerpo
em Bien. Y después de eso, lo
hemos salvado. A continuación, queremos crear
un plano de animación. Bien. Y está aquí preguntando, Bien, ¿cuál va a ser
la salsa de animación para padres? Queremos que la
salsa de animación cuerpo a cuerpo NEM sea su madre. Y lo llamaremos
enemigo cuerpo a cuerpo Animación BP. Mantendremos limpios los nombres. Ahora que hemos
configurado esos dos, comenzaremos entrando en
la fuente de animación. Queremos añadir una nueva secuencia de
animación. Llamaremos a esta secuencia ociosa. Bien. Como pueden ver, lo estamos llamando inactivo. Ahora seleccionando la animación
Idle. Queremos antes que nada, no
sé por qué eso
se abrió ahí arriba. Queremos una ventana llena. A continuación, qué datos de animación
queremos macho mi ocioso. Así que no usaré la identificación del enemigo cuerpo a cuerpo, y esta es la animación Se trata de jugar limpio. Está jugando limpio.
Esto es bueno. Ahora que ya lo hemos hecho,
volveremos, nos aseguraremos de que
todo esté guardado. Entonces esto es lo que hay en
la salsa de animación. Entonces iremos a la animación cuerpo a cuerpo
Enemigo Blueprint. Tenemos acceso al enemigo
cuerpo a cuerpo como variable. Vamos a
asegurarnos de que desde dentro
del gráfico de eventos de la animación M
Enemy Blueprint, queremos lanzar a Mel enemigo Y luego en cuanto al objeto, queremos conseguir el actor dueño Y la razón por la que estamos
consiguiendo al actor propietario es porque tienes
múltiples enemigos cuerpo a cuerpo y cada código de animación
debe ejecutarse por separado, y luego simplemente
queremos ascender a variable y la
variable es enemigo cuerpo a cuerpo Eso es todo lo que necesitamos
para ponernos en marcha. Bien. Ahora con toda
esa configuración, pasemos al gráfico de
animación. Entonces, dentro del gráfico de
animación, lo primero
que queremos hacer es crear una máquina de estado completamente
nueva. Entonces busquemos la
máquina de estado, agreguemos nuevos, y simplemente vamos a llamar a este mele Enemigo va a
mantenerlo realmente simple Ese va a
ser nuestro nuevo estado. Trae esto por aquí,
entraremos en él, y saldremos directo
de afuera, arrastraremos eso. Queremos agregar un nuevo estado de
animación, y simplemente
llamaremos a esto inactivo. Y haga doble clic en Idle. Y realmente queremos
simplemente buscar play inactivo, que es la animación, la única que tenemos. Hasta el momento, conecta eso adentro
, sal, Control y, por
supuesto, para guardar
y luego compilar. Ahora, aunque de esto
compilado y listo, esencialmente
tenemos nuestro
artículo Z completamente configurado. Volveremos a la gráfica de
animación. Entonces en este momento, de
inmediato inicia, pasa directamente a inactivo. A continuación, sigamos adelante y agreguemos
la animación de movimiento o
la animación de carrera. Ahora, agregar la
animación de ejecución es básico. Simplemente empezaremos primero, vamos a regresar,
volver al arte. Oh, no del personaje. Queremos el arte enemigo cuerpo a cuerpo. Y dentro del arte,
fíjate que hay m. Veamos. Tenemos W aquí. Hay caminata de esqueleto. Bien. Por lo que simplemente
seleccionaremos la obra esqueleto. Queremos extraer sprites. Se cortan automáticamente. Y luego el sprite andante
simplemente los seleccionará y
creará flipbook y
llamaremos al flipbook guión bajo cuerpo a cuerpo Bien. Entonces esta es la animación de trabajo del
enemigo cuerpo Es un pequeño trabajo bastante agradable, que el enemigo está haciendo. Ahora que tenemos
esa animación de trabajo, simplemente
vamos a entrar en la fuente de
animación del enemigo cuerpo Añadiremos una nueva secuencia de
animación. Lo llamaremos trabajo. Haga doble clic en él,
y lo mismo, queremos buscar trabajo en
la secuencia de animación aquí. Entonces ahora tenemos esa sencilla animación de
trabajo agregada. Con eso agregado, volveremos al Blueprint de Mele
Animation Arrastraremos esto y crearemos un nuevo estado de
animación. Nombraremos al estado W.
Dentro del estado de trabajo, queremos jugar al trabajo. O la animación de trabajo. A continuación, queremos conectar el
enlace de trabajo de nuevo a inactivo. Y una vez que entremos,
simplemente obtendremos al enemigo ASM. Entonces queremos obtener velocidad. Bien, queremos obtener velocidad. Aquí está este componente
de obtener velocidad, dividirlo y
queremos que hagamos una
doble comprobación rápida una vez más. Es la velocidad X
lo que estamos buscando, y queremos ver algo. Entonces queremos ver,
es igual a, y queremos decir no igual a. Entonces estamos usando la función
no igual a, que es esta función. Y para pasar del ocioso al trabajo, que es la regla que
estamos configurando ahora mismo, una vez que la velocidad en el
eje X es mayor que cero, puede comenzar a funcionar, pero luego pasar de caminar de regreso
a exactamente igual a. En otras palabras,
exactamente igual a cero. Se debe hacer la transición a un
trabajo. Este fue mi mal. Aquí, entra en la clase de instancia de
animación y selecciona el plano mele Enemy
Animation Guardar, compilar, y
ahora vamos a ver. Bien, ya ves, ahí está
ese paseo y jactancia. Mírelo persiguiendo al enemigo. Una vez que llega, se detiene. Entonces ahora tenemos a nuestro enemigo
capaz de ver al jugador, trabajar hacia él, y parar. Bonito. Entonces tenemos eso
configurado correctamente. Tenemos nuestra animación de trabajo de
línea base enemiga configurada correctamente. Y ahora podemos
meternos en sumar un ataque al
enemigo cuerpo a cuerpo. Vamos a seguir adelante.
67. 64 Añadir el sprite de ataque al enemigo cuerpo a cuerpo: Ahora que tenemos a nuestro personaje
enemigo que puede hacer swag y moverse hacia el jugador enemigo una vez que el
jugador se vuelve visible Lo siguiente que realmente
queremos
hacer es que queremos hacer un básico como lo llamamos ataque para que el enemigo pueda
hacerle daño al jugador. Y a medida que construimos en el ataque, vamos a hacer
otros ajustes
al sistema de movimiento para
que sea mucho mejor en reconocer la posición del
jugador y ajustarnos para moverse
hacia el jugador. Entonces lo que vamos a
hacer es salir aquí. Vamos a empezar
seleccionando el ataque esqueleto, y después de asegurarnos de
que tiene el papel dos configuraciones D, vamos a extraer sprites Y parece que esta vez, Unreal Engine está
luchando por
descubrir cuáles son las dimensiones
de los sprites Por lo que actualmente, la
extracción de sprites está configurada en auto. Va a cambiar eso
porque auto no es suficiente. Vamos a
configurarlo a grilla. Ahora como cuadrícula,
necesitamos determinar el ancho de celda y la altura de celda. Ahora bien, esta es una manera
fácil de hacerlo. Ahora esto va a funcionar
para esta imagen específica. Para empezar,
déjame acercarme un poco. Sabemos que el ataque
tiene uno, dos, tres, cuatro. Bien, cinco, seis, siete,
ocho, nueve, diez, 11, 12, 13, 14,
15, 16, 17, 18 cuadros, ¿de acuerdo? Entonces aquí hay 18 marcos. Entonces, para poder suss
estos a los 18, sabemos que ahora mismo, cada ancho de celda está establecido en 774 Ahora, haremos algunas
matemáticas y cálculos básicos. Por supuesto, cuando haces
los sprites tú mismo, no necesitas hacer
estos cálculos Pero si estás usando activos, a veces
necesitarás hacerlo. Entonces tenemos 774/18, que es 43. Entonces cambiemos el ancho a 43. Y ahora tenemos sprites
limpiamente cortados. Bien. Sólo con eso. Ahora con eso, nos acercaremos al extracto y al extracto. Y sin perder tiempo, crearemos un flipbook, y vamos
a llamar a este
EM mele veamos ataque de subrayado enemigo cuerpo a cuerpo Bien, eso debería ser perfecto. Ahora, con esa configuración, bien, tenemos nuestro ataque
cuerpo a cuerpo enemigo Ahora volvamos a
la carpeta del enemigo cuerpo a cuerpo. Quieres entrar en animación, y vamos a abrir la salsa de animación
y
el Blueprint de animación una vez más Bien, Salsa de animación, abre
el Blueprint de animación. Ahora, dentro de la fuente de
animación, queremos agregar una nueva animación, y simplemente la llamaremos
ataque. Lo mantendremos simple. Ahora, ataque, masticaremos
los datos de animación correctos, y buscaremos
mi ataque enemigo Ahí está. Esa es la animación básica de ataque enemigo
Me. Tan ocioso. Ataque a pie.
Eso es bastante genial. Bien, déjame atender
esta llamada telefónica. Y ahora hemos añadido en
esa animación de ataque. Lo siguiente que vamos
a hacer es que nos vamos a abrir de nuevo a mi enemigo, abrir la clase de planos cuerpo a cuerpo
Enemigo Ahora, vamos a regresar, reorganizar la lógica
y pensar en cuándo queremos que el enemigo
ataque al jugador y asegurarnos de que
los nodos aquí dejen que
el jugador sea atacado
en el espaciado correcto, y también vamos a ajustar el movimiento del enemigo para que el enemigo
se mueva mucho más despacio para que el jugador pueda
huir. Hagámoslo.
68. 65 Resumen de la IA de Melee Enemy y comentarios de código: Todo bien. A medida que vamos has configurado el movimiento, profundizando en la IA,
has configurado el movimiento,
es capaz de seguir
la jugada. Volvamos a
pensar en las cosas desde los
primeros principios. DCAA, código de diseño en Audio. Ahora mismo, comenzamos
con algo de código solo para
darte una sensación de crear
y configurar la IA. Funcionalmente, vamos a
estar usando sistemas de detección,
que son los sistemas de detección de pan
y movimiento Esos dos son realmente lo que
gobierna cómo se siente una IA. Así que volvamos a
pensar en el diseño, ¿de acuerdo? Entonces esta es una visión general muy
simplificada de lo que vamos
a hacer con la IA. Esta es una IA NM cuerpo a cuerpo realmente
simple. Lo primero que hace
es patrullar una zona. Bien. Cuando el
personaje jugador entra en un área, la IA parece estar
patrullando un área A continuación, se mueve hacia el jugador detectado y
realiza un ataque. Y lo último que
tiene que hacer es, oye, cuando su salud
cae por debajo de cero, muere inmediatamente, ¿de acuerdo? Simplemente muere, lo cual
es muy bueno. Entonces esto es lo que
vamos a hacer para
establecer para el enemigo cuerpo a cuerpo Se necesita patrullar una zona. Necesita moverse hacia un jugador detectado
y atacarlo. Y luego una vez que su salud
cae a cero, muere. Sigamos con estos principios
básicos en mente. Ahora, estamos de vuelta
en el motor real, y estamos dentro
del plano de nuestro simple enemigo cuerpo a cuerpo Ahora, entremos y echemos
un vistazo rápido a todos
los diferentes nodos. Entonces lo primero es, tenemos un peón básico, que es capaz de
detectar al jugador Vamos rápido. Esta
es la detección de jugadores. Entonces dentro de ese radio
alrededor del enemigo, detecta al jugador. Eso es bueno. Ahora,
pongamos rápidamente un comentario básico. Oh, Dios mío. No, no, no, presione C. Simplemente presionando
C para los comentarios. Entonces este es un simple comentario, y llamaremos a esto
detectar al jugador. Entonces todo lo que hace aquí dentro ese código es
detectar al jugador. Eso es todo lo que hace.
No es hacer otra cosa. Como de costumbre, me encantan los
fondos negros con texto en blanco. Los encuentro muy fáciles de leer
y organizar los nodos en. Entonces esta de aquí es
la detección del jugador. Ahora hay actualmente una cadena que detecta cuando el
jugador es visible. ¿Bien? Esa es una cadena que se dispara después de que eso es detectado. Déjame primero alinear estos,
enderezar todas las
conexiones aquí, bien Y luego arroja y comprueba si es el héroe lo que es bueno. Y luego ven aquí. Oye, trae esto por
aquí. Empezar con esto. Básicamente detecta al
jugador y arroja y como, Oye, bien, este es el jugador. Eso es genial. Esta es
la línea de base de la IA. Es capaz de detectar al jugador, y luego hasta
cierta distancia, se mueve hacia el jugador. Reorganicemos el movimiento. Trae todo esto aquí abajo, trae esto por aquí. Y esta rama, quiero
dejarla fuera de eso porque quiero ponerla
bajo un comentario diferente,
asegurarme de que bajo un comentario diferente, todas estas estén correctamente alineadas. Bien. Ven aquí. Este es el simple movimiento a ubicación que usamos
para mover la IA, mover la ubicación
del actor del jugador, y luego el controlador
mover esto por aquí. Para que podamos alinear el
controlador en el lado izquierdo, ya que es el
controlador de IA el que se
utilizará para
moverse por sí mismo, ¿de acuerdo? Entonces fundamentalmente,
detectamos al jugador. Y una vez que sepamos que es el jugador el que es
el plano del héroe, eso es lo que vamos
a utilizar para llevar a cabo todas estas otras
acciones. Bien, bien. A continuación, realiza una comprobación de
condición básica para ver si la distancia
al jugador es de 300 unidades. Si la distancia no lo es, se moverá hacia el jugador. Si la distancia
es, en cambio
detendrá todo movimiento, y necesita realmente
llevar a cabo el ataque o más bien ahora mismo detectamos
que está en alcance de ataque. Ya no necesitamos ese texto. Vamos a traer esto por aquí. Ahora, tenemos que hacer
un comentario aquí. Entonces obtendremos esta copia y la pegaremos por
aquí, la arrastraremos. Llamaremos a este ataque el jugador cuando esté en rango.
Eso es todo lo que hace esto. Atacará al jugador
cuando el jugador esté dentro del alcance. Entonces aún no hemos agregado en
el código para el ataque, pero vamos
a meternos en eso. Entonces esto está configurado para atacar al jugador cuando esté en
el rango, y copiemos y peguemos ese comentario por el bien de la
organización. Y esto va a ser
movimiento al alcance de ataque. De jugador detectado. Ah, no, no, no hay necesidad de mayúscula L.
Haz de eso una pequeña L. Bien. Por lo que esto se moverá
al rango de ataque
del jugador detectado. Vamos a arrastrar esto justo por aquí. Muévelo un poco hacia arriba.
Vamos a mover esto hacia arriba. Mueve esto un poco más a
la derecha. Esto es bueno. Entonces, esencialmente, estamos detectando al jugador
cuando está en rango detectable. Una vez hecho eso, hacemos una comprobación básica
del rango de ataque. Si el jugador
aún no se encuentra en el alcance de ataque, se mueve hacia el jugador
para intentar meterse en el rango. Sin embargo, si el jugador
está en el rango de ataque, comenzamos por detener
todo movimiento activo, y luego
realmente vamos a atacar al jugador. Ahora, ahora que esto está
realmente configurado en general, entremos y agreguemos realmente el ataque que la IA
va a realizar hacia el
69. 66 Agregar un hitbox de daños para un ataque enemigo cuerpo a cuerpo: Todo bien. Entonces ahora que tenemos nuestro código
razonablemente organizado,
entremos y comencemos a agregar
en el ataque para la IA. Ahora, lo primero que
queremos hacer es, sabemos que vamos a
estar desove en nuestra caja de cabeza Entonces, cuando volvemos y miramos la animación desde verificar
la fuente de animación, y ten en cuenta que
esto varía mucho en función del tipo de
animación que quieras. Ahora, notarás que hay un arco de daño que
hace. Mira ese arco. Bajemos cuadro por cuadro. Oh, chasquido, abre esto un poco. Volvamos. Mira ese bonito
arco de daño. Mira eso. Entonces,
alrededor del marco siete, tenemos ese gran arco de daño de
barrido. Ahí es cuando queremos
hacerle daño al jugador. Y puedes ver
el bonito tamaño grande de ese arco ocho pavos, ¿de acuerdo? Ahora, ahora que tenemos
esa escena, bien, volvamos a
nuestro enemigo cuerpo a cuerpo, y tenemos que decidir
la ubicación de donde va
a aparecer esto en box Entonces iremos rápidamente y seleccionaremos
el libro de papel, bien. Y luego dentro de eso, queremos agregar una simple
colisión, ¿de acuerdo? Y usaremos una
simple colisión de caja. Ahora, esta caja está
aquí, es demasiado grande. Hagámoslo más pequeño. Para hacerlo más pequeño, vamos a reducir su escala a algo así como 0.1, hermoso, y luego
vamos a movernos vamos a mover
su posición justo adelante. Ahora que tenemos eso,
creo que permítame
volver a mirar esa animación. Oh, mira eso. Se trata de dos longitudes al frente, pero queremos tener un área enorme de caja de
sombreros para eso. Entonces creo que voy a
moverlo por aquí. Volvamos al enemigo. Así que por aquí, ¿de acuerdo? Esta es una buena posición para ello. Y ahora que ya vamos a ver, ahí es donde está. Y luego para la caja, llamemos a esto columpio de hacha. Bien,
lo llamaremos x swing, ¿verdad? Ubicación. Bien.
Lo llamaremos la ubicación x swing. Ahora que tenemos
esa configuración de ubicación, lo siguiente que
vamos a hacer es, agreguemos una bonita
colisión para ello. Una bonita, hermosa,
caja grande que va a ser la
gran colisión que tenemos. Entonces para hacer eso, controlemos rápidamente la barra espaciadora Entonces, bajo nuestro personaje héroe,
fíjate que teníamos una carpeta
para la caja de impacto dañada. Ahora vamos a
entrar en el enemigo cuerpo a cuerpo. Y el enemigo cuerpo a cuerpo también tiene
una carpeta dañada en caja. Entonces dentro de esa carpeta, queremos crear una
nueva clase de blueprint Va a ser un actor básico de
planos, y queremos llamar a
esto x swing at box Bien. Ahora haremos doble clic
en la caja de sombrero x swing. Y aquí está.
Tenemos un poco de x swing. Entonces este es nuestro columpio X básico. Ahora necesitamos agregar en una caja
real propiamente dicha. Entonces vamos a agregar
vamos a agregar una esfera porque la X swing en caja va a ser una esfera, y vamos a
reducir su tamaño a aproximadamente 0.5 en la escala. Y esto es sobre el tamaño. Todo lo demás al respecto
no es tan importante, ¿de acuerdo? Así que ahora que hemos
configurado el swing X en box, vamos a compilar eso y
vamos a volver a nuestro enemigo
cuerpo a cuerpo, ¿de acuerdo? Y vamos a volver
al gráfico de eventos. Y lo que vamos a
hacer una camioneta que acaba de pasar. En fin, lo que
vamos a hacer es que lo
vamos a hilar
aquí mismo. Entonces lo que queremos hacer es entrar y
vamos a decir, Hey, actor de
hilado hilado SP AWN Bien, actor hilado de clase, y queremos seleccionar la
clase como X swing at box. Bien, x columpio. Caja. Y luego cuanto a la c para
obtener la ubicación, todo lo que queremos hacer es
obtener la ubicación del swing del hacha, la
arrastraremos por aquí, y luego queremos obtener una ubicación
salvaje de eso. Oh, vete, vete. Arrastre esto hacia atrás. Obtener ubicación
mundial. Bien, ahí queremos
obtener su ubicación, y esa va a
ser su transformación. Bueno, bueno, bueno, bueno, bueno. Grafica esto por aquí. Y si no
recuerdo bien,
sí, va a dulce convertirlo en vector. Entonces aquí estamos. Entonces eso es esencialmente todo lo
que queremos que haga, ¿de acuerdo? Ahora, todo lo que hemos hecho es
configurarlo para que se mueva al
alcance de ataque del jugador detectado. Una vez que esté en el rango, va a
generar inmediatamente el columpio x en la caja Ahora, para asegurarse y probar que esto está
funcionando correctamente. Sí, ahí está. Es
desove en esa caja de calor. Es engendrarlo de inmediato. Pero lo que vamos a hacer ahora es que vamos a ir
a la caja de calor x swing. Vamos a aumentar
su escala a uno. Bien. Hmm.
Tamaño razonable de tamaño razonable. Creo que ese es un
tamaño razonable para el hit box. Ahora, solo para hacer una doble comprobación
rápida, esta es la animación. Ahora, déjame volver al plano del enemigo
cuerpo a cuerpo. No, vamos a volver
a eso ahí. Entonces sobre esto es el
hit box en estos momentos. Entonces volvamos al enemigo cuerpo a
cuerpo. Redujamos el rango en el
que va a parar. Ahora mismo está en 300 unidades. Reduzcamos eso
solo a 150. Vuelve a entrar, haz
otra prueba rápida. Bien. Entonces aquí es donde se detiene
el hit box. Ahora, volveremos a
la caja de golpes x swing. Vamos a cambiar las propiedades de esta esfera y vamos a
ir a colisionar. Y ahora mismo está configurado
para bloquear todo dinámico. Vamos a configurarlo
como solapamiento, todo dinámico. Haz una compilación rápida. Veamos cómo
se ve eso ahora. Bien, entonces se superpone. Entonces una vez que se mete en 150 unidades del
jugador, lo hace. Esto es bueno. Esto es bueno. Eso es suficiente daño. Ahora bien, esa es una posición lo suficientemente
buena para que inicie el ataque. Ahora que tenemos eso, agreguemos también en el código
para reducir las del jugador. Ahora con el ánimo de
acelerar nuestro desarrollo, he vuelto al ataque con espada del
jugador, y luego básicamente voy a copiar todo este código,
copiarlo, ir al columpio X, y luego simplemente pegarlo aquí. Ahora, claro, este código
no va a funcionar desde adentro aquí, pero
nos va a mostrar cómo hacer todo. Así que recuerda, todo lo que está haciendo es en componente comenzar a superponerse. ¿Bien? Pasa a lo
que quieras que haga daño, aplica el daño y
luego destruye al actor o en evento t que es un
fotograma, destruye al actor. Ahora, estamos haciendo algunos cambios. Para empezar, el daño
podemos vivir igual por ahora, eliminaremos el elenco para atacar el
daño que no sea necesario, y eliminaremos
la superposición del cubo. Todo lo que necesitamos es aplicar daños, destruir al actor, y en
caso de que destruya al actor. Eso es todo lo que necesitamos. Ahora con solo eso nos
dirigiremos a la esfera. Añadiremos el evento y lo
llamaremos en componente
begin overlap. Este evento ya
se ha agregado en. Hemos agregado en el componente de
superposición. Ahora, a partir de aquí, lo
que queremos comprobar y ver, Oye, por casualidad, estamos pegando al héroe. Así que empieza con el elenco
básico a héroe. Es decir, si estamos
pegando al personaje jugador, eso es lo que queremos
ver si nos estamos superponiendo. Entonces, si ese es el otro
actor, eso es bueno. Como héroe, vas a
actuar como el actor dañado. Y aquí vamos. Entonces esto esencialmente
debería ser todo lo que
necesitamos para que haga
daño correctamente. Entonces en componente comienzan a
superponerse, es la esfera. Es esa caja de calor x swing, estamos lanzando al héroe, aplicando diez puntos de daño, y ese es el actor de daño. En realidad,
aumentemos este daño. Diez puntos es un poco tacaño. Aumentemos el
daño a 25, ¿de acuerdo? Solo para ti idea x swing. Eres especial. Ahora,
vamos a compilar. Con eso compilado,
volvamos a ver si está
funcionando correctamente. Ah, ahí estamos. No está mal. Ahora, claro, lo
hizo varias veces, que
no es lo que queremos. Pero puedes ver que
sigue desove en esa caja de calor y está matando a
nuestro jugador. Eso es bueno. Eso significa que nuestro
swing de hacha está funcionando correctamente, más bien el swing en caja
está funcionando correctamente. A continuación, ahora
vamos a asegurarnos que en lugar de que
desove de inmediato, el enemigo vaya a
pasar por todo el ciclo de
animación de su ataque y desove
en esa caja de calor de
oscilación de hacha única Durante el ataque,
vamos a conectar el desove de la caja de
sombrero de ataque a la animación Hagámoslo en el siguiente video.
70. 67 Vinculación de la animación de ataque con código para un enemigo cuerpo a cuerpo: Entonces ahora que hemos agregado en el cuadro de golpe de daño básico
para el enemigo cuerpo a cuerpo, ahora
asegurémonos y configurémoslo que cuando el
enemigo cuerpo a cuerpo esté atacando,
juguemos esa bonita animación de
ataque ¿Dónde está eso? Sí,
esta animación. ¿Bien? Esa agradable animación de
ataque de barrido. Entonces, dentro del plano NEM
cuerpo a cuerpo, queremos crear una
nueva variable Ahora, dentro de las variables, agreguemos una variable
llamada x swing attack. Y luego agregaremos
otra variable. Bien. Y vamos a llamar a esa
variable está atacando. Ahora bien, estos dos
booleanos van
a hacer algo
muy, muy básico Ahora, el ataque x swing lo
vamos a configurar para iniciar la animación x swing y
luego E atacando le va a
decir a la IA que
actualmente está decir a la IA que en
una animación de ataque o en estado de ataque, y vamos a estar usando
eso más adelante para ajustar parte del
comportamiento de la IA. Una vez que hayas agregado
esos dos Bolans, todo
esto va a tener mucho
sentido una vez que
entremos en el código A continuación, tenemos nuestro
repunte en box. Entonces lo que queremos es
configurarlo para que esto sea para
detener todo movimiento activo. Agreguemos esto justo después de detener
todo movimiento activo. Pero antes de desovar
en el ataque con espada, obtendremos el ataque de swing de
hacha Arrastra esto por aquí. Queremos establecer x swing attack, y queremos ponerlo en. Entonces estamos encendiendo el ataque de swing de
hacha, bien. Y cuando el ataque x
swing está encendido, lo que queremos es que queremos
conseguir es atacar Bien. Y queremos establecer está atacando. ¿Bien? Entonces aquí estamos. Querer set está atacando. Pero donde queramos esto, trae esto aquí. A ver, el set está atacando. Vamos a arrastrar esto por aquí. Entonces vamos a establecer está
atacando justo por aquí. Entonces de inmediato, dijimos, Oye, estamos atacando la
IA está atacando, y debería usar
el ataque x swing. Esa es la línea de base. Ahora, para evitar que esto se vuelva a reproducir
varias veces, quería jugar una vez, vamos a
esta rama Bien. Y vamos a crear otra sucursal justo por aquí. Ten en cuenta, estamos
usando las sucursales aquí solo por simplicidad, ¿bien? Ahora bien, lo que vamos a
prepararlo es justo por aquí. Así que justo después de
detectar al jugador si el enemigo cuerpo a cuerpo está en
el rango de ataque correcto, vamos a
conectarlo aquí arriba Y entonces si esto es falso, lo hará. ¿Bien? Si es falso, va a continuar y hacer atacar al jugador
cuando esté en alcance. ¿Bien? Permítanme avanzar
un poco esto porque necesitamos
extenderlo mucho, extenderlo. Seguimos agregando más
y más código. Entonces fundamentalmente, si el
jugador está atacando, si el jugador no está atacando, va a llevar todo esto a cabo, y se fijará está
atacando a sí, y hará el ataque de swing de
hacha, y va a engendrar en
la caja de golpe, ¿bien? No obstante, si es falso,
no debería hacer nada. Ahora, vamos a conseguir el ataque. decir, vamos a
conseguir el ataque, lo
arrastraremos hasta aquí, y lo conseguiremos, y lo conectaremos aquí. Por lo que sólo debe jugar una vez. Ahora, vamos a tener una visión general rápida antes de hacer algunas pruebas básicas. Se comprobará al jugador si el jugador está en el rango
adecuado para atacar. Si definitivamente
no está atacando
ya, ahora llevará a cabo
todo ese código, pero se
configurará para estar atacando y pondrá el
ataque de swing C en positivo, y se generará
en esa caja de calor Ahora, solo con todo
en su estado actual, entremos rápidamente al nivel de
desarrollador, y lo hizo. Observe la pérdida de salud del jugador. Entonces hagámoslo.
Boom, el jugador ha perdido 25% de salud. Entonces está haciendo eso y
lo ha hecho una vez. Antes estaba creando
múltiples cajas de hit, ahora lo está haciendo una vez. Eso es lo suficientemente bueno para comenzar. A continuación, agreguemos
en la animación. Entonces iremos al plano de
animación cuerpo a cuerpo. Iremos al gráfico de animación, e iremos al interior
del estado enemigo cuerpo a cuerpo Entonces en este momento está
configurado en inactivo y puesto a trabajar. Ahora, todo lo que tenemos que hacer es
crear un nuevo estado de animación. Y en su lugar llamaremos a esa
animación. Vamos a llamarlo x swing. Vamos a llamarlo
x ataque de swing. ¿Bien? Sólo
lo llamaremos X ataque swing. Entonces arrastraremos del inactivo
al ataque del swing del hacha, y arrastraremos de
trabajar a realmente. Ni siquiera necesitamos
arrastrar del trabajo. La razón por la que
eliminamos que solo nos conectaremos de inactivo. Y la razón por la que
solo necesitamos conectarnos de ralentí es porque la IA siempre se detiene por completo antes de
que inicie el swing del hacha. Ahora, cuando miramos el código, Observe que primero detiene
todo movimiento, y luego inicia
el está atacando. ¿Bien? Lo que significa
que en ese punto, su velocidad de movimiento
debe ser cero. Así que no tenemos que
preocuparnos por hacerlo desde el trabajo
porque los jugadores trabajan. Pero em es generalmente, los
detienes muertos, aunque sea por una
fracción de segundo y luego reproduce las animaciones de
ataque. Ahora, hagamos doble
clic en x swing, y simplemente queremos
jugar ataque desde aquí. Bien. Y verás que esta animación
se llama ataque. Ahora, dentro del plano ahora que está listo
para jugar el ataque, lo que necesitamos es la condición que lo mueva
de inactivo a ataque, y la condición se
pondrá como enemigo cuerpo a cuerpo Entonces queremos comprobar
x ataque swing. Estamos recibiendo x ataque swing, y queremos ver, oye, es esto exactamente igual a Bien. ¿Esto es exactamente igual a sí entonces juega la animación de ataque x
swing? Eso es todo lo que va a hacer. Actualmente todavía tenemos una manera volverlo
a pasar de
x swing a inactivo, pero solo queremos probarlo. Ahora está haciendo la
animación x swing. Mira eso. Mira cómo está
cortando al jugador enemigo. Ese es un buen esqueleto
evo. Buen pequeño eoskeleton. Bien hecho. Ahora, ahora
que está configurado para hacer eso, ahora
necesitamos simplemente
conectar el desove in de ese daño a
un fotograma de animación, lo cual es bastante simple Entonces entraremos en melemy y vamos a conseguir que veas desovar al actor
del hit box, y vamos a
crear un evento personalizado Bien. Entonces estamos agregando
en un evento personalizado. Llamaremos a este evento
de simplemente
lo llamaremos Axe swing eso es todo lo que
vamos a llamarlo. Ahora que tenemos ese evento, vamos a arrastrar
todo este código de engendrar a este actor en box, y
lo conectaremos desde aquí, y luego volveremos por aquí y romperemos
ese vínculo, ¿de acuerdo? Entonces, lo único
que va a abarcar en la caja de calor real es este evento personalizado x swing. Bien. En realidad, vamos a cambiarlo porque X swing no
es suficiente. Vamos a llamarlo X swing hit box. ¿Bien? Así es como lo
vamos a llamar. Y luego, claro, como
Good Little Citizens, vamos a agregar
en un cuadro de comentarios, y
lo vamos a llamar vamos a
escribir el comentario, spawn en X swing at box para que podamos saber fácilmente lo que está pasando Entonces con ese evento aquí, si volvemos al nivel, Observe que ahora no está haciendo daño porque se ha eliminado el
cuadro de aciertos. Ahora, volvamos al plano
de animación. Y lo que vamos a
hacer es que nos vamos a encabezar, veamos. No, tenemos que entrar en la fuente de
animación. Aquí estamos. Entraremos en la animación de
ataque y vamos a reproducir rápidamente
la animación de ataque. Bonito. Ahora, vamos
a repasar, ¿verdad? Aquí, boom, ahí mismo
cuando hace la chuleta. En el lugar
donde haga la chuleta, vamos a agregar una notificación. Vamos a agregar una nueva
notificacion y vamos a llamar al nombre de
notificacion xSwinghtBx Ese es el nombre de la notificación. Ahora que esa notificación está configurada, volveremos al Blueprint de animación Me
Enemy Pasaremos a la notificación. Ahí está xSwinghtBx
que es bueno, y luego
arrastraremos Ponte como enemigo cuerpo a cuerpo, y luego lo arrastraremos, y luego queremos usar
la caja de sombreros x swing Por eso es importante nombrar todo de una manera que
tenga sentido Así que no necesitas
pensar demasiado en lo que estás haciendo. Simplemente es fácil. Entonces sabemos que esta es la x
swing it box, y aquí está. Así que con solo esa configuración, vamos a compilar y
ahora vamos a jugar. Boom, boom, está haciendo daño. Boom, daño otra vez. Boom, uh, el jugador está muerto. Bonito. Y eso es con nosotros. Entonces tenemos a Sepuldon. Hagamos de nuevo esta salida. Yo mato al jugador, mato al jugador. Bueno. Entonces el jugador está muerto.
Ahora, la razón por la cual. La razón por la que esto funciona de
manera tan efectiva y recomiendo todos estos métodos
es porque hemos separado la posición de
la animación hit box. Hemos separado la
animación de los daños. Todo está separado para que
podamos ajustarlo por separado. A lo mejor quieres ajustar el hit box,
puedes ajustar eso. Puedes ajustar la animación y cambiar donde se extiende
el hit box Esto es simplemente un buen
diseño de juego en general, lo
recomiendo encarecidamente. De todas formas, así que ahora que
lo tenemos configurado para que el enemigo pueda ir
realmente hacia
donde
está el jugador y comenzar a infligir daño. Lo siguiente que
queremos es hacer un
par de ajustes. Ahora, te darás cuenta
cuando yo oh chasquido, realmente está tratando de
venir y simplemente seguir atacando Aviso cuando
estoy huyendo, sigue reproduciendo
esa animación. ¿Bien? No queremos
que esté haciendo eso. Queremos separar el movimiento de cuando
hace el ataque. Queremos agregar un poco de retraso cuando el enemigo decida
hacer diferentes acciones. Esa es la mejor manera de tener
una buena IA en tu juego. Hagámoslo en el siguiente
video, algunos ajustes de IA.
71. 68 Cómo agregar la función de reajuste del estado de ataque: Todo bien. Entonces, ahora que tenemos nuestra IA capaz de entender
cuándo está atacando, ahora solo estamos haciendo algunos ajustes de
tiempo, ¿de acuerdo? Entonces no es solo como correr por ahí haciendo
lo que quiera. Bien. Entonces, antes que
nada, enemigo cuerpo a cuerpo , ubicación ascendente, colisión,
superposición todo dinámico, bien, no sé con qué
nos estamos encontrando Pero hay algo con
lo que nos encontramos, sí, el flipbook de papel que configuró para bloquear
todo
lo que lo estoy configurando para que se
superponga todo lo que debería
resolver el problema Ahora puedo, no sé
qué está causando eso. Mm. Bien. No me gusta eso no me gusta
lo que hacen las cámaras. Alternativamente, eso podría
ser una cosa de personaje héroe. Entonces voy a ir
a la cámara del héroe, la cámara, y luego a
verificar su colisión. A ver. Bien, chequeado dos veces. No es la cámara. Es el brazo de resorte.
Esa es la primavera. Voy a salir.
En este momento está haciendo una prueba de colisión. Lo he desactivado durante
la prueba de colisión. Quiero asegurarme de que esto
se haya detenido. Bien, mucho mejor. Mucho mejor. Yo prefiero esto. Bien, así que sólo podemos
correr a través de la gente. Camino vete, vete, vete, vete,
bien. Eso está bien. En fin, eso fue
solo una cosa rápida. Ahora, fundamentalmente,
queremos que el movimiento y las acciones de la IA hagan que la falta
de una palabra mejor, un poco más de sentido, ¿de acuerdo? Así que esto es lo que
vamos a hacer, ¿de acuerdo? Cuando la IA se mueve y comienza a
atacar al jugador, vamos a hacer una doble comprobación básica de la distancia al
jugador desde el peón Y luego una vez que supera
cierta distancia, asumimos que el
jugador está
huyendo o ha salido de la distancia donde puede
ser atacado. Y luego en ese punto, vamos a desactivar
la animación de ataque. Bien, esa es la visión
general. Entonces entraremos en
el enemigo cuerpo a cuerpo. Vendrá por aquí. Y luego justo aquí alrededor
del rango de movimiento al ataque, justo después del simple
movimiento a la ubicación, ya que está haciendo su movimiento
a la ubicación cosa, luego lo siguiente que
va a hacer, en realidad, lo primero que
va a hacer, lo arg esto por aquí Bien, entonces vamos
a hacer una simple comprobación. Va a hacer una simple revisión de
sucursal. Y dentro de esta rama, vamos a preguntar
si estaba atacando. ¿Bien? Vamos a conseguir está atacando. Es decir, ahora mismo, el jugador se ha movido
fuera del alcance de ataque, pero la IA sigue
atacando. Bien. Entonces como seguía atacando, lo primero que
queríamos hacer es que queremos establecer x ataque swing. No, entonces, ¿por qué me está
mostrando todo eso? Sí, aquí estamos establecidos
x ataque swing off. Bien. Ahora que hemos establecido
x swing attack two off, espera, vamos a arrastrar
esto un poco más, dale un poco más de espacio. Justo después de establecer el ataque
X swing off, va a hacer el
simple movimiento a la ubicación. No obstante, si
no estaba atacando, entonces todo lo que va a necesitar hacer es trasladarse a la ubicación. Es una lógica básica de código
simple. ¿Bien? Muy básico. Entonces volvamos al plano de animación cuerpo a
cuerpo, al gráfico de animación, al estado enemigo cuerpo
a cuerpo Entonces vamos a venir aquí y vamos a conseguir
el ataque x swing. Bien, y primero lo
dejaremos como está. Ven aquí, principalmente animación de
anime, bla, bla, bla, bla, bla Principalmente animación,
obtendremos el ataque x swing. Y para pasar del
ocioso al swing del hacha, todo lo que tiene que ser es x swing
ataque es igual a verdadero. No obstante, para pasar de x ataque
swing a inactivo, lo que queremos es que
consigamos al enemigo cuerpo a cuerpo Queremos obtener x ataque de swing. Bien, estamos recibiendo
el ataque x swing. Y también, vamos a
conseguir que la A atacando Bien. Y entonces lo que queremos hacer es verificar dos cosas. Para empezar, queremos
decir igual a. Quiere verificar si el
swing ataque más bien. Quiero ver vamos a ver. La lógica tiene que ser apretada. La lógica tiene que ser apretada. Si el ataque Aswing es falso, puede entrar en esa transición Hagamos un chequeo rápido. Bien, ahora se ha detenido. Bien. Pero está creando
otro problema. No va a volver
a la animación. Entonces fíjate aquí, está atacando. Bien. Reiniciar, está atacando. No obstante, si está atacando y salimos
del alcance de ataque, cuando vuelve
al alcance de ataque, boom, ya no es
capaz de atacar. Bien. En serio debería dejarme desactivar estas notificaciones
de disco Bien, así
es como está funcionando ahora mismo, y luego cuando huyes, las animaciones
funcionan correctamente. Ahora bien, para que esto
funcione, esto es exactamente lo
que hay que hacer. F arrancadores dentro
del enemigo cuerpo a cuerpo, lo
vas a organizar para que justo después me dejes
acercar correctamente Justo después de hacer
el chequeo de distancia, nos bifurcamos y comprobamos y vemos
si la condición de ataque es pulso, seguirá
haciendo el movimiento. Esto es para garantizar
que solo comience moverse después de que la animación de ataque se
haya jugado en cuatro. A continuación, asegúrate, claro, ahí está la rama normal
está atacando. Ahora note al final del inicio del código de animación de
ataque, bien, yo atacando
está configurado en sí, y el ataque CSWing
está configurado en sí Ahora encima de eso,
vas a agregar en un estado de ataque de reinicio simple. Comenzaremos con
un evento personalizado llamado reset de estadísticas de ataque. Y dentro de eso, se
restablece está atacando stat, y el ataque cswing
también se vuelve a estar apagado Y eso está justo dentro del plano
del enemigo cuerpo a cuerpo. Y luego dentro de la fuente de
animación, ¿de acuerdo? Vaya a la
animación de ataque y al final, agregue una notificación conocida
como reinicio de estado de ataque. Una vez que esa
notificación, esa notificación, por supuesto, se configura al final de la animación,
al final mismo. Después de configurar esa notificación, entra en el
plano de animación para el enemigo cuerpo a cuerpo Y bajo el notificador
de reinicio de estado de ataque, agregue en recibir notificar reinicio de estado de
ataque, por lo que llamará a esa función de reinicio de estado de
ataque Y una vez que tienes
todo ese conjunto, ahora cuando el enemigo
se acerca al jugador, es capaz de hacer el ataque, pero el jugador es
capaz de huir. Bien. Ahora, en el siguiente video, vamos a hacer
un cambio sencillo porque ahora el
jugador puede simplemente
avanzar y ya no es
capaz de hacerlo como puedes ver,
el jugador ya no es capaz
de recibir ningún daño
desde aquí mismo, y el enemigo solo se da la
vuelta después de que el jugador
se mueve una cierta distancia. Queremos ajustarlo para que el personaje enemigo esté siempre orientado hacia la dirección del
jugador. ¿Bien? Boom, no, hagámoslo. Bien, eso es bueno. Hagámoslo. Poco
ajuste en el siguiente
72. 69 Impedir que el jugador pueda ejecutar IA: Bien, por lo que queremos
evitar que el jugador simplemente chesing todo corriendo a través
de nuestros enemigos Entonces, una forma sencilla de hacerlo es que la colisión cápsula está configurada
actualmente en el preajuste de
colisión de peón Básicamente podemos
configurarlo en algo tan simple como
bloquear toda la compilación dinámica, para que no interrumpa
el diseño de niveles Asegúrate de que esto
realmente tenga que estar en el suelo. No me gusta su posición
cuando está afuera o ahí. Entonces ahora el jugador no puede simplemente
atravesar al enemigo,
el jugador tiene que saltar por
encima Pero ahora con solo ese cambio, seleccionemos el personaje. Bien, ese es nuestro héroe. Selecciona el
movimiento de su personaje, selecciona salto. Actualmente, la
velocidad de salto Z se establece en 840. Vamos a
aumentar eso a 900. Bien. Hagamos un chequeo rápido. Sí, eso es estúpido. 909,000
centímetros/segundo no es lo que queríamos.
A ver. Vamos a poner eso a
9 metros/segundo. A veces Unreal
Engine, a veces Unreal Engine cambiará los números de una manera que
no tiene sentido para mí Ha habido mejores
flujos, sólo una variable. Pero de todos modos, así que ahora somos
capaces de saltar sobre el enemigo, pero no podemos queso y simplemente empujar a través de bulldoze a
través del ¿Bien? Eso se estaba
volviendo un poco salvaje. Entonces ahora que está
arreglado, podemos movernos
73. 70 Cómo nerver a la IA del enemigo cuerpo a cuerpo: Todo bien. Entonces en
el estado actual, tenemos un simple enemigo cuerpo a cuerpo que atacará al jugador Bien, está subiendo y
atacando al jugador. Lo cual es bastante razonable.
Bien. Eso es genial. No obstante,
fíjate que cada vez que ataca, inmediatamente comienza a perseguir
al jugador de nuevo. Queremos incorporar las cosas en la IA después de que haya
hecho algo, dejar que disminuya un poco la velocidad y retrasar
su siguiente acción
para darle al jugador un poco
más de tiempo para reaccionar. Entonces entremos en
el enemigo cuerpo a cuerpo, y ahora
vamos a separar
mucho más de sus habilidades Para empezar, Clear es visible. Esa cadena,
vamos a deshacernos de ella. No lo necesitamos actualmente. Y lo siguiente
que vamos a hacer es dentro del nivel. Vamos al rango de
visibilidad nerfs, así que esto va a
ser mucho más claro Entonces estoy seleccionando su detección de
jugador. Y voy a Nerf
su rango de detección. Actualmente, está establecido en un radio de
sitio de 1,000. Voy a nerf
el rango de detección, su radio de visión hasta 600 Bien. Sólo para hacer mucho de lo que más está pasando,
un poco visible. ¿Bien? Entonces ahora, el jugador
necesita estar dentro de las 600 unidades. El siguiente NaF que se le
va a dar es que vamos a
conseguir su velocidad de movimiento, ir al movimiento del personaje Y luego busca la velocidad. Por lo que su velocidad máxima de trabajo
es actualmente de 600. Vamos a
bajarlo a 450. Bien. Entonces cuatro 50
centímetros/segundo, lo que significa que ahora es significativamente
más lento que Entonces detecta al jugador, pero el jugador puede
saltar fácilmente sobre él y huir. Observe que el jugador está a
punto de huir. Ahora viene
hacia el jugador, pero lo hemos ralentizado. Estos son nerfs básicos de
simplificación, bien, porque nunca quieres que
esto nunca quieras, ya
sabes, que tu enemigo sea excesivamente
difícil para el jugador Entonces hay que notar que
necesita ponerse al alcance, luego ataca,
necesita meterse en rango, luego ataca, pero el
jugador puede huir. El jugador puede huir antes de que se haya jugado
su animación de ataque. ¿Bien? Entonces esos son solo
algunos nervios básicos. Entonces el nervio de velocidad de movimiento
y la animación ya son lo suficientemente
lentos como para que el
jugador pueda realmente contrarrestarlo
razonablemente huyendo. ¿Bien? Esto es solo para darle
un poco de potenciación a los jugadores Y ahora que eso está hecho,
entremos y hagamos que
cada vez que el jugador
ataque al enemigo,
el enemigo inmediatamente se
vaya a quedar aturdido para que el jugador pueda simplemente hacer su triple ataque con espada y
sol al enemigo hasta la muerte Vamos a entrar en eso.
74. 71 Animación de muerte para IA y un poco de teoría lógica: Entonces ahora que tenemos un par
de cosas basales funcionando, lo que realmente queremos
ahora es para empezar, cuando el jugador hace
daño al enemigo, no
queremos que
sigan atacando. Básicamente es un poco suficiente. Queremos que entren
un poco de hit stern para que el jugador pueda
realmente sacar su combo. Ahora sabemos que para hacer eso, necesitamos agregar algo de animación de estado de
calor a nuestros pequeños
sklebons Entonces entremos en nuestro enemigo
cuerpo a cuerpo en el arte, y queremos
buscar esqueleto muerto Bien, y el esqueleto golpeó. Ahora bien, si nos fijamos
en el calor del esqueleto, básicamente está
preestablecido con, como ,
Oh, se le ha llevado un
poco de daño por calor, y luego vuelve a estar inactivo. Es una animación básica de it. Bien. Así que volvamos aquí. Entonces ahí esqueleto golpeado
y luego esqueleto muerto es el esqueleto
cayendo sobre. Bien, ahí lo puedes ver. Esqueleto básicamente cayendo. Ahora, solo por el bien de
tener una buena lógica, solo
vamos a usar el esqueleto muerto
para esta animación. ¿Bien? Entonces seleccionaremos el esqueleto muerto y
lo configuraremos acciones de sprites Queremos extraer
todos los sprites. Ahora puedes ver todos los sprites que
están aquí cuando acercamos el zoom. Hay múltiples sprites. Pero vamos a sacarlo de auto
y ponerlo de nuevo en la grilla. Ahora son uno, dos, tres, cuatro, cinco, seis,
siete, ocho, nueve, diez, 11, 12, 13, 14, 15 animaciones diferentes. Entonces necesitamos dividir
el ancho de celda por 15. Así que abramos nuestra
calculadora muy rápido. Entonces 495/15 es 33. Entonces haremos el ancho de celda 33 píxeles, extraeremos
esos sprites. Y entonces vamos a crear un flip book, y lo
vamos a llamar. Lo llamaremos muerto. Lo llamaremos muerto, ¿de acuerdo? Entonces esta es la animación actual de
muertos. La puedes ver ahí, 15
películas por segundo, ¿de acuerdo? Esa es la animación.
¿Bien? Eso es genial. Así que déjame hacer una pausa y
pasar cuadro por cuadro. Para que veas que empieza
por volverse blanco, ¿de acuerdo? Se vuelve blanco. Entonces como que retrocede un
poco y luego se derrumba. Entonces aquí es donde entra
la lógica. Lo vamos a configurar para
que alrededor del cuadro seis, antes de que empiece a desmoronarse, vamos a hacer una
revisión básica de la salud. Si la salud es buena, volverá a volver a
estar inactiva, ¿de acuerdo? No obstante, si la salud es cero o más bien es
cero o menos que cero, se desmoronará, y ese será el final de nuestro pequeño y agradable esqueleto
enemigo cuerpo ¿Bien? Entonces ahora tenemos esta
animación. Juguémoslo primero. Por lo que está configurado para moverse a
15 cuadros por segundo. Pero creo que tenemos que
ralentizarlo un poco o ralentizarlo a
unos 20 fotogramas por segundo. Ah, eso lo está acelerando. Disculpas. Vamos a ralentizarlo a unos diez
fotogramas por segundo. Entonces está tomando un golpe. Está tomando un golpe.
Está tomando un golpe. Bien. Pongámoslo de nuevo a 15. Regresaremos más tarde basándonos en
cómo se ven y se sienten las cosas. Ahora que hemos
configurado esa animación, volvamos a
nuestra fuente de animación, y queremos agregar una
nueva secuencia de animación, y llamaremos a la secuencia de
animación, papá. Nosotros lo mantendremos, ya sabes,
limpiaremos los nombres, mantendremos
los nombres limpios. En cuanto a los datos de animación, estamos buscando
muertos en flipbook Entonces esta es la
animación de muertos vivientes. Mira eso. Bastante genial. Ahora que
se terminaron configurando la animación aquí,
volvamos. Volvamos y echemos un
vistazo rápido. Volvamos a
nuestro enemigo cuerpo a cuerpo. Bien, volveremos a
pensar aquí, Gráfica de animación. Vamos a entrar en el plano de
animación
para el enemigo cuerpo a cuerpo Selecciona al enemigo cuerpo y ahora queremos tener
un nuevo estado de animación Y a este estado de animación
se le va a llamar papá. Alejar. Alejar, volver
atrás, cambiar el nombre. Se llama muerto. Y lo
vamos a arrastrar aquí. Así que de inactivo a x ataque swing, podemos ir inmediatamente
a muertos, ¿de acuerdo? Y muertos, vamos
a tener el
tipo de animación play dead, así que empezará a reproducir
la animación de muertos. Bien, eso es realmente
lo que va a hacer. Vamos a compilar rápidamente. Ahora no está vinculado a nada. Lo siguiente que
vamos a hacer es vincularlo y
configurarlo para que juegue en cualquier momento
que el enemigo tome
75. 72 Cómo hacer visible la barra de salud de IA y algunos ajustes antes de avanzar: Todo bien. Ahora, por el poder del viaje
generalizado en el tiempo, ahora mismo, el jugador puede atacar
al maniquí de ataque y su salud
eventualmente llegará a cero ¿Bien? Aún no está
configurado para morir, pero somos capaces de atacar
el ataque más bien de
atacar al enemigo y
bajar su salud. Se
han cambiado un par de cosas. Número uno, por tu
ataque con espada del jugador, cambia su
daño base de aproximadamente 25, aumentarlo a 40, que esté haciendo más daño. Y luego para que el
hacha oscile la caja, baje el daño a uno. Esto es solo para que
podamos hacer algunas pruebas sin que asesine
al jugador súper rápido Eso es más o menos lo
que hay que hacer para eso. A continuación, dirígete
al enemigo cuerpo a cuerpo y
crea un nuevo comentario A este comentario se
le va a llamar cabezas stater
al recibir daños, pero queremos
asegurarnos de
que lo configuramos para que el enemigo realmente tome daños visibles porque quieren que se muestre su
mala salud Para que se muestre
la mala salud, lo primero que hacemos es
volver al widget, volver al widget y
configurarlo para que sea visible. Configúrelo para que sea visible verdadero. Una vez hecho eso, lo siguiente es ahora
organizar y configurar
estos planos Dentro de ese comentario, comenzamos
con un evento cualquier daño, y luego una variable
golpea stan y haremos una cadena básica de impresión de
hey daño se está haciendo. Y luego vamos a
crear otra cadena de impresión, que va a teclear el daño más bien
a escribir la salud del enemigo. Ahora, si volvemos, ahora mismo, nota que estás
viendo a dammi Salud aquí Para tener eso revelado, dirígete dentro
del My Blueprint y hay un
ajuste y luego muestra las variables
heredadas
porque la variable DamiHalth está siendo heredada
de la Ahora, aquí usamos mucho la
salud de Dami. Para empezar,
obtendremos la salud dammi, y restaremos la cantidad de daño
del evento cualquier Entonces lo restamos por simplemente
haber establecido dammi salud. Hay una resta pasando. Esa es nuestra nueva salud dammi. Una vez que terminamos con eso, venimos y obtenemos el widget del
enemigo cuerpo a cuerpo y lo arrastramos hacia afuera. Y luego obtenemos el
widget desde su interior, que es, por supuesto,
dammi health bar Y una vez que lo hayamos lanzado a la barra de
dammi Salud de aquí, como barra de salud de dammi, vamos a por supuesto, apuntar a la barra de progreso de dammi
Salud, y la pondremos
como el porcentaje de 100 haciendo el porcentaje establecido la barra
de progreso de dammi
Health, y estaremos usando el
DamiHalth dividido por 100, y esa será la salud que Y con toda esa configuración, tendrás al
jugador capaz de hacerle daño al enemigo y podremos ver bajando la barra de
salud. Con toda esa configuración, pasemos ahora a sumar la lógica
de Hit Stern.
76. 73 Melee Enemy Hitstun y Death todo en uno: Ahora, para agregar en el
stater de cabezas en el juego, cuando estemos dentro del Blueprint enemigo
cuerpo a cuerpo, note que en cualquier daño, configuramos esta variable
llamada heads stan, y la hemos configurado para que sea verdad Ahora, ahora que
tenemos esa configuración, vamos a entrar en el Blueprint de animación
Me Enemy, y lo vamos a configurar para que desde el ataque de swing de Axe, pueda pasar a la animación de muertos, y todo
lo que necesitamos es AsmLeeenmy Queremos checar
headstan Get está en hits. Queremos verificarlo bajo igual. Bien.
Esto lo hemos hecho varias veces. Esto debería ser fácil para ti ahora. Y siempre y cuando los hits
sean iguales a positivos, puede pasar de atacar de
nuevo a, ya
sabes, reproducir
la animación de muertos. Entonces hagámoslo. Entonces
te estoy atacando. Entonces ahora está haciendo
la animación de muertos. Observe, una vez que se golpea una vez, está atacando, está atacando. Pero una vez que se golpea una
vez, reproduce la animación muerta. ¿Bien? Eso es genial. Ahora
eso está perfectamente bien. Sin embargo, volvamos
al plano de animación. También queremos que
pueda pasar de la animación muerta
de nuevo
a la ociosa. Pero vamos a
configurarlo así. Ahora la razón por la
que pasa de x balanceándose
Bien, de nuevo a muerto. Y la razón por la
que también
debería poder pasar de inactivo a muerto, lo
configuraremos más tarde es
porque de inmediato está dentro del rango de cleartack, comienza a hacer el swing x Pero le pegamos, empieza a
reproducir la animación muerta, y esa animación es esa
animación de que colapsa Pero no queremos
que siempre reproduzca la animación de muertos si aún no
está realmente muerta. Entonces vamos a venir aquí. Veamos uno, dos,
tres, justo antes de
que empiece a colapsar. Alrededor del final
del quinto fotograma, vamos a
crear una nueva notificación. Por lo que agregaremos una notificación. Añadiremos una nueva notificación, y la llamaremos
MeleEM heads Bien, solo lo estamos llamando
cabeza de enemigo cuerpo a cuerpo. Y eso es todo lo que
vamos a llamarlo. Ese es el notificador. Ahora que estamos haciendo eso
me Enemigo encabeza Stater, ¿de acuerdo? Está revisado por ahí. Ahora entremos al estado y
fíjense en mí El
headstand enemigo notifica aquí dentro del plano Y lo que queremos hacer es
querer arrastrarnos como enemigo. Ahora lo siguiente que queremos
hacer es que queremos
crear una función. Y lo que
va a ser esa función es que va
a ser la función dst del
enemigo cuerpo ¿Bien? Ahora, de vuelta al plano del enemigo
cuerpo a cuerpo, voy a agregar un cuadro de comentarios, y luego vamos a llamar a este bateador help check.
Se le puede llamar. Honestamente, puedes cambiar
esto de múltiples maneras. A ver, yo llamo a esto
Melanem headstart no hay problema. Llamémosme chequeo de salud de
jefes. Entonces cada vez que el jugador es cabezas, va a llevar a cabo esto
más bien el EM es head stan, lleva a cabo esta comprobación. Entonces vamos a
crear un nuevo evento, y va a ser
un evento personalizado, ¿de acuerdo? Ahora, sólo para asegurarse de que los
nombres son exactamente los mismos, se llama mele ENM hit
Stern. Vamos a llamarlo. Vamos a ponerle
el nombre por aquí. Mele N golpeó a Stern así que ahora tenemos esa verificación de bateador enemigo cuerpo en lugar de funcionar por
aquí, este evento personalizado Ahora bien, ¿qué queremos hacer
en este evento personalizado, verdad? Entonces lo que queremos hacer es lo que
realmente queremos hacer es que
queremos arrastrar en la salud dammi ¿Bien? Entonces queremos obtener la salud de dammi y queremos
hacer una revisión básica, ¿de acuerdo? Entonces lo que queremos
ver es que queremos ver menos o igual a. Y es menor o
igual a cero, ¿de acuerdo? Y luego vamos a
hacer una rama básica. Una rama muy básica. Ahora bien, si la salud
del maniquí es menor
o igual a cero, lo que queremos hacer
es
quererlo configurarlo para que cambiemos la propiedad de la variable
Hetster ¿Bien? Entonces, si la
salud del enemigo es menor que cero, o igual a cero, eso
significa que el enemigo cuerpo a cuerpo en realidad
está muerto Entonces lo que vamos a hacer
es si es verdad, es simple, lo dejaremos como está, simplemente lo dejaremos como está. ¿Bien? No obstante, si es falso, lo que vamos a hacer es
que queremos poner la cabecera. ¿Bien? Oh, no estoy escribiendo. Ajuste el soporte para la cabeza en el
reposacabezas para que esté apagado. Ahora bien, la razón por la que
estamos haciendo eso es porque queremos que
el stater de cabezas se apague porque queremos que el enemigo salga de la animación
del stater de cabezas Ahora, actualmente no va
a funcionar porque note ahora mismo
que aún no está listo para funcionar. Los golpeé una vez que
todavía están en la cabecera. Ahora, para que
funcione, antes que nada, necesitamos configurar
el evento aquí. Queremos centro comercial headstan enemigo, configurarlo dentro del plano de animación
en la notificación Perfecto. Ahora está
configurado en el Notificar. Todavía no debería funcionar,
pero quiero asegurarse que incluso con el evento,
esté configurado correctamente. Bien. Ahora, a continuación,
queremos volver
al plano de animación
en el gráfico de animación, y queremos poder ir
mientras pueda pasar de
XSwing a muerto,
la animación de muertos, queremos también pasar
de animación ociosa a la muerta Yo solo voy a copiar exactamente
el mismo código
del AxSing porque es exactamente
la misma lógica
cada vez que esté en el headstand, y luego haremos doble clic en la animación dead
y en el play dead, vamos a configurarlo para
que no En otras palabras, se trata de una
animación que sólo se reproduce una vez. ¿Bien? Así que ahora ya no hace bucles. Ahora que
ya no está en bucle, vamos ahora puedo pasar
de muerto atrás a inactivo en una instancia de donde
si bateador es igual a off, volverá directo a Y si bateador es igual a off, puede ir directo hacia atrás. Vayamos aquí a
atacar si está apagado. Bien. Por lo que tiene ambas
rutas disponibles para ello. Así que vamos a jugar ahora.
Observe que ahora, lo
tenemos en pie
déjenme hacerlo otra vez. Entonces ahora puede atacar. Si le pego, se pone hit start, pero vuelve a
atacar y luego es capaz de ir tras
el jugador otra vez. Cabezas, y luego se pone de pie. Pero esta vez
se juega la animación. Espero que eso tenga sentido. He hecho todo lo posible para
describir la lógica completa. Por favor, si nada
tiene sentido, regresa y vuelve a ver el video Quiero que esto
funcione correctamente, pero más que eso,
también quiero que esto tenga
mucho sentido. Ahora, entonces el enemigo
es ahora matable. Entonces uno, es pie de cabeza, uno, dos, tres, ahora es stand de cabeza, y ahora está muerto. Lo hemos configurado correctamente
para que realmente muera correctamente. Ahora, con eso en mente, no
queremos que estos policías se queden sentados
para siempre. ¿Bien? Entonces lo que vamos a
hacer es configurarlo dentro
del enemigo cuerpo a cuerpo para que si esta condición de salud dammi es igual o
menor que cero es cierta, lo que también queremos hacer
es que va a haber un retraso de creo que 0.2
segundos está perfectamente bien, pero creo que eso es
un poco demasiado corto Pero entonces simplemente
destruiremos al actor, y ese será el yo. Entonces, vamos a compilar esto rápidamente. Compilar bien. No,
no, no, compilar. Primero guardemos
todos y asegurémonos de que todos los cambios estén correctamente
guardados. Esto está compilado. Entonces volvió a golpear, muerto. Y luego, boom, ha
desaparecido del mundo. Y esa es una forma
general muy sencilla de
configurarlo para que el enemigo pueda entrar de
cabeza al recibir daños. Bien, pero vuelve a atacar, pero aún puede
entrar a Head Stan, y ahora está muerto. Ahora con esa configuración, ese muy buen sistema
para Headstart, ahora
podemos simplemente avanzar
y hacer más ajustes Hay un par de
direcciones diferentes a las que puedes ir. Para empezar, ahora podemos hacer exactamente lo mismo por el personaje jugador y
configurarlo en Headster Podemos hacer exactamente
lo mismo por otros enemigos, ya que la lógica
ahora debería tener sentido para ti. Con esta configuración,
pasemos a agregar más código
a nuestro juego. Y a continuación, vamos a hacer algunas limpiezas
y ajustes, hacer una doble comprobación rápida de
todo con el enemigo, ajustar algunos de los números, y luego pasar a otro
tipo de enemigo para tu
77. 74 Configuración del enemigo en rango: Ahora, para
empezar rápidamente con tener un buen enemigo a distancia en nuestro juego porque aquí tenemos
al enemigo cuerpo a cuerpo Pero ahora mismo no te
necesitamos ahora mismo, así que solo podemos ya sabes, podemos dejarlo en el
mundo para volver a visitarlo más tarde, pero por ahora, vamos a
borrarlo No lo necesitamos en estos momentos. Pero lo que vamos
a hacer es entrar y crear
una carpeta completamente nueva,
llamar
a la carpeta enemiga a distancia y crear
dos carpetas en su interior, una llamada animación,
la otra llamada arte Ahora, dentro del arte, vas a tener algunos sprites básicos que se te proporcionan
dentro de este proyecto, que puedas
usarlos para aprender También puedes usar
tu propia animación si eres un muy buen artista, y podemos empezar a
crear el enemigo a distancia Una vez que tengas esas
dos carpetas establecidas, lo siguiente que
vamos a hacer es entrar en
los personajes. Volveremos al ataque
dammi y lo siguiente que queremos hacer es
crear un plano infantil, Y vamos a llamar
al plano enemigo a
distancia. ¿Bien? Vamos a conseguir a ese niño pequeño. Lo vamos a cortar. Y
esencialmente quiero moverlo. Veamos, usemos
movimiento, quiero usar movimiento. Vamos a venir
aquí, lo vamos a conseguir,
y lo arrastraremos enemigo a
distancia y queremos
movernos allá, queremos moverlo Entonces ahora nuestro
enemigo a distancia está por aquí. Ahora, cuando haga doble clic
en el enemigo a distancia, permítanme
traerlo ahora por aquí Aquí tenemos a nuestro
pequeño y agradable enemigo a distancia básicamente listo para ir Lo siguiente que
vamos a hacer, por supuesto, es que seleccionaremos el cubo
que buscaremos colisión. Lo pondremos en ninguna colisión. Y luego en cuanto a visibilidad, haremos invisible
porque realmente no necesitamos ese Ube en absoluto.
Pero aquí estamos. Hay una barra de salud básica y
simple, y el gráfico de eventos en este
momento está completamente vacío. Esto es perfectamente
bueno para que empecemos. Ahora, ahora que tenemos eso, sigamos adelante y
agreguemos la animación de línea base para que
podamos tener
algo que mirar cuando
estemos mirando nuestro arreglado
78. 75 animaciones inactivas simples para el enemigo alejado: Entonces, agregar la animación
básica ociosa en el enemigo a distancia
va a ser muy similar a como lo hicimos con
el enemigo cuerpo a cuerpo Ahora, solo para asegurarnos de que
estamos haciendo todo de
la manera correcta, abriré el plano del
enemigo cuerpo a cuerpo, Ahora bien, en un sentido muy similar, lo primero que
vamos a hacer es agregar en un flipbook de papel, ¿de acuerdo Entonces simplemente agregamos y
queremos flipbook de papel. Por lo que ahora se agrega el
libro volteo de papel. Ahora que eso se agrega, bien. Exactamente igual que dentro
del enemigo cuerpo a cuerpo, ¿de acuerdo? Entonces ahora que tenemos el flipbook de
papel agregado, lo siguiente que
vamos a hacer es agregarle
una animación Entonces entraremos en el arte. No, no en el enemigo mele. Vamos a adentrarnos en enemigo
arreglado, arte, y tenemos un par de animaciones
diferentes, pero queremos la animación ociosa. Entonces, doble clic. Se puede
notar que hay uno, dos, tres, o,
cinco, seis sprites Bien. Entonces, esencialmente, queremos asegurarnos de que
extraemos esos sprites. Ahora, lo que
haremos es primero que nada,
aplicaremos papel dos configuraciones de
textura D. En realidad, vamos a
aplicarlos a todo. Bien. Ahora, desde el inactivo, iré a Sprite Actions y seleccionaré extraer Sprite Déjame pasar por eso otra vez. En primer lugar, permítame guardar todo
rápidamente. Bien. Así que de inactivo, simplemente haga clic derecho y
luego vaya a Sprite Actions y extraiga Sprite como
se ha hecho varias veces Ahora note que Engine real quiere entrar y extraer
manualmente el sprite No vamos a hacer eso. Vamos a
configurarlo como una grilla. Ahora sabemos que son uno, dos,
tres, cuatro, cinco, seis, sprites Bien. Entonces lo que
vamos a hacer es simplemente calcular que es 750/6, lo que los convierte Entonces haremos que
el ancho de celda sea 125. Entonces, en el ancho de celda, lo
pondremos 125 por 125. Eso ya lo ve. Eso es genial, ¿verdad? Bien. Entonces ahora que tenemos
eso, vamos a extraer. Ahora con todos nuestros
sprites extraídos, simplemente
crearemos un libro
volteo y
lo llamaremos a rango M subrayado inactivo Eso es básicamente todo
lo que vamos a llamarlo. Veamos ahora
la animación inactiva. Es una animación inactiva bastante genial, agradable
y sencilla. Con esta configuración de animación ociosa, volvamos al plano enemigo
a distancia Nuestro flipbook de papel está aquí y simplemente
cambiaremos el
flipbook de origen a animación de inactividad enemiga a distancia Ahí está. Entonces ahí está. Ahora bien, si volvemos
al mundo, bien, justo al lado de nuestro jugador, simplemente
añadiremos un enemigo a distancia Asegúrate de que
esté puesto a cero. Bien. Y bueno, tenemos nuestra pequeña dama
fantasma enemiga a distancia justo por allá Ella no está haciendo nada, pero en este momento existe en
el mundo. Ahora hagamos algunos ajustes. Así que volvamos al enemigo a distancia. Y entonces lo que haremos es, veamos con el enemigo mele, hicimos la escala siete Con el enemigo a distancia, hagamos la escala
cuatro para empezar Eso es muy grande, muy grande. A una escala de cuatro, en
realidad ya ni siquiera está en
el mundo. Entonces lo que vamos a hacer es que
primero comenzaremos
levantando el posicionamiento de ese libro volteo de
papel, para eso. Ahora que lo hemos
levantado, compila. Ahora todavía es demasiado grande. Vamos a bajarlo a dos. Y luego bajar
la posición de la dama fantasma flotante.
Y veamos ahora. Bien, eso no está mal. A las dos, se ve un
poco razonable, pero todavía se siente un
poco demasiado pequeño. Entonces veamos 2.52 0.5, se ve bien. Se ve bien. Y ahora fíjense si nos
paramos dentro, se descasca. Lo que podemos hacer es simplemente
seleccionar al enemigo a distancia. Y en el eje de vamos a ver, en el eje Y, podemos simplemente moverlo
donde diez unidades. Entonces lo moveremos a
digamos diez negativos. Entonces ahora está en el fondo. Entonces no están en el plano
exacto de píxeles, y básicamente puedes
ajustarlo porque a los diez negativos, ya no
están parpadeando Técnicamente,
ya no debería parpadear ni siquiera en uno
negativo porque estos
sprites tienen un grosor de un píxel ¿Bien? Entonces así es como te
deshaces de cualquier superposición de píxeles. Esa es una forma bastante
simplificada de hacerlo. Bien. Pero ahora tenemos nuestro NEM arreglado con una animación
básica de inactividad Ahora, vamos a agregar un simple proyectil que el enemigo a distancia dispara contra
el jugador Hagámoslo en el siguiente video, y luego iremos más
allá en meternos en más animaciones y vida en
ese enemigo a distancia.
79. 76 Generar un proyectil que va a la ubicación del jugador en el lanzamiento: Bien, entonces ahora nuestro enemigo a
distancia existe, y puedes golpearlo
y recibe daño, pero no puede simplemente recibir daño. Necesita hacerle daño
al jugador. Entonces, para asegurarnos de que hace
daño al jugador, vamos a crear un objeto
que pueda rastrear hasta la ubicación del jugador y
hacerle daño al jugador. Ahora dentro de la carpeta
enemiga a distancia, similar a como la hemos
hecho en todas partes, vamos a crear una carpeta
llamada caja de daño, y dentro, vamos
a agregar en un plano Dirígete al enemigo a rango. Ese es el
enemigo a rango ahora mismo. Crearemos una nueva carpeta y queremos
llamarla caja de daño. Dentro de esta carpeta, Bien, dentro de esa carpeta, vamos a crear
una nueva clase de blueprint, y solo queremos
crear un actor de blueprint Y vamos a llamar a
este proyectil enemigo. Eso es todo lo que
vamos a llamarlo. Y luego vamos a ahorrar rápidamente. Entonces, dentro del proyectil
enemigo, todo lo que vamos a hacer
es que vamos a sumar agreguemos en una esfera
rápida, ¿de acuerdo? Eso es todo lo que queremos,
esta esfera básica. Así que vamos a compilar rápidamente. Entonces ahora, por sí mismo, dejemos caer rápidamente el
proyectil enemigo al mundo Probablemente traerlo a alguna parte. Entonces ahí está. Hay una
gran mancha por aquí, ¿de acuerdo? Ese es el proyectil enemigo. Entonces lo que queremos es
que ese blob necesite moverse
hacia
el jugador, ¿de acuerdo? Entonces, para que esa esfera
se mueva hacia el jugador, entremos en el
proyectil enemigo y entremos en su vamos rápidamente a
entrar en su gráfica de eventos Pero antes de hacerlo,
seleccionamos la esfera. Selecciono colisión y luego selecciono solapar
todas las dinámicas para que, ya
sabes, esencialmente
con la esfera, no pueda
saltar a ella y hacer que se mueva alrededor del jugador
sin bloquear el espacio. Bien, con esa configuración, vuelve a la esfera, entra en su gráfico de eventos y ahora comencemos a trabajar que se mueva hacia
la ubicación del jugador. Bien. Ahora, para darle la cantidad
correcta de movimiento, primero
vamos a agregarle
cierta propiedad,
y ese va a ser el movimiento de
proyectiles Por lo que ahora hemos agregado en el movimiento del proyectil
a la esfera Podemos comenzar a jugar con su movimiento de una manera agradable
integrada en el motor real. Ahora las cosas se van a poner
un poco matemáticas, pero confío en que con tu
conocimiento del motor irreal, ya que has llegado
tan lejos en el tutorial, va a tener sentido Entonces, lo primero que
vamos a hacer es que vamos a necesitar averiguar la ubicación
del jugador,
averiguar la ubicación
de la pelota en sí, bien, la esfera, e intentar mover la esfera hacia la ubicación del
jugador. ¿Bien? Eso es esencialmente lo que queremos hacer para que se
mueva hacia el jugador. Entonces esa es la gran teoría
general. Bien. Entonces,
lo primero que haremos es que empezaremos
trayendo movimiento de proyectiles, y queremos que esté aquí y
asegurarnos de que esté listo para activarse Bien. Y estamos poniendo esto en el evento start play node. Ahora, el nodo de inicio de juego de eventos es fundamentalmente
el primer nodo al que se llama cada vez que el juego
tiene este objeto generado en Entonces quiero hacer todo esto
en el evento comenzar a jugar. Ahora eso es todo enderezar
enderezar la conexión. Ahora que eso está hecho,
se activa. Hemos activado el movimiento del
proyectil. Lo siguiente que queremos
hacer es establecer su velocidad. Quiere establecer la velocidad. Veamos en el espacio,
y eso es todo. Quiero establecer la
velocidad en el espacio local y notar que es un componente de movimiento de
proyectil Déjame coger esto y
ponerlo aquí. Ahora estoy pensando, actualmente la velocidad está
puesta a cero, cero. Eso es lo que estamos viendo. Vamos a establecerlo en uno en
el eje X para empezar, compilar y ver cómo se ve
eso. Observe que va hacia abajo. Fresco. Bien, entonces vuelve aquí
y lo pondremos en uno, uno ,
uno por el bien de la simplicidad. Bien. Y así está
tratando de moverse, y sigue cayendo
por el mundo. Bien. Tendremos que hacer
algunos ajustes más grandes. Ahora bien, lo que queremos que sea
esta velocidad, no
vamos a alearla y globo ocular sobre la velocidad En realidad queremos que
tenga un valor específico, que es el valor de la distancia entre el
jugador y el objeto mismo. Lo que vamos a hacer es que vamos a conseguir
el personaje jugador. Vamos a conseguirlo y
después de que lo hayamos conseguido, vamos a conseguir la ubicación. Bien, entonces ahora tenemos la ubicación del
jugador. Lo tenemos. Y entonces queremos obtener la
ubicación del yo, ¿de acuerdo? Entonces esto es notar
el propio objetivo. Eso quiere decir que esta
ubicación aquí es la ubicación del propio
proyectil Ahora lo que queremos
hacer es
restar estas dos
ubicaciones entre sí Bien. Entonces esto de aquí es esencialmente la diferencia entre estos dos actores
diferentes. Y con solo eso, lo siguiente que
vamos a hacer es que vamos a hacer
una simple multiplicación. Observe que el multiplicador
tiene tres coordenadas. Eso es para X, Y y Z, y conectaremos el final de ese multiplicador
a la velocidad. Entonces suponiendo que establecemos el factor
multiplicador en uno, uno y uno, se va a mover
a una velocidad de
una unidad por segundo
hacia Veamos cómo se ve eso
en realidad en el juego. Entonces, dentro del juego, presiona play. Ahora se mueve hacia la ubicación real del
jugador. Entonces está funcionando como se pretendía. No obstante, fíjate
que va demasiado hacia abajo, eso es algo de gravedad. Entonces para arreglarlo,
volveremos al proyectil. Seleccionaremos el movimiento del
proyectil. Y después de seleccionar
el movimiento del
proyectil, lo siguiente que queremos
hacer es buscar dentro del movimiento del proyectil, Um, queremos que esto
se ponga a cero porque este es un proyectil menos
gravedad Si necesitamos empezar a
factorizar la gravedad, vamos a tener
un problema, bien. Las cosas se ponen muy complicadas
y muy fuera de control. Entonces, sin gravedad,
echemos un vistazo. Boom, se está moviendo
hacia el jugador. Ahora que se está moviendo
hacia el jugador, simplemente
hagamos
que se distraiga al contacto con
el jugador, ¿de acuerdo? Ahora bien, la forma más sencilla de
hacer que se detenga
más bien en contacto es simplemente
hacer que, ya sabes, se detenga. Cada vez que golpea cualquier cosa,
se destruye. Entonces crearemos
un actor de destrucción. Bien. Entonces está este componente de
destruir actor. Lo pondremos por aquí. Por supuesto, el objetivo es el
yo con el actor de destruir. Y luego dejamos esto aquí y agregamos buscaremos el
evento sobre tope de proyectiles Bien. A ver, a ver. Entonces, para llamar a esto, en realidad
voy a necesitar dirigirme a Movimiento de
Proyectiles Ahí está este evento llamado
On Projectiles Stop. Vamos a conseguir eso rápidamente. Entonces ahora tenemos ese evento
disponible para que lo usemos, y agreguémoslo
rápidamente justo antes
del actor de destruir. Bien. Déjame romper este enlace. No creo que esto sea necesario. Vamos a probar rápidamente. Entonces en el tope del proyectil, eso significa en cualquier movimiento, parada del proyectil En cualquier movimiento, parada
del proyectil, va a ser destruido Detener. Empecemos. Boom. ¿Bien? Entonces el movimiento no se
detiene todavía porque en realidad no
se superpone con el jugador
haciendo que se detenga. Entonces ahora necesitamos simplemente
agregar en una superposición rápida. Entonces ahora que estamos aquí, entremos y digamos:
Bien, entonces tenemos esta esfera. La esfera es buena. Agreguemos otra cosa. Vamos a agregar en colisión. Agreguemos en una colisión de esfera. Consigamos la
esfera propiamente dicha. En realidad, quiero esto
en la raíz por defecto. Entonces esta es la esfera. Redujamos el
tamaño de esta esfera. Bien, entonces la colisión está
justo alrededor de la esfera. Entonces esta es la esfera
uno, no hay problema. Entonces con la esfera uno, queremos agregar en un evento
sobre componente comenzar solapamiento. Ese es el evento que
queremos sumar. Y lo que queremos hacer es
en componente comenzar solapamiento. Inmediatamente vamos
a lanzar al jugador más bien ahora mismo lo
estamos llamando héroe. Entonces lo llamaremos elenco a héroe. Y ese va a
ser el otro actor, ese es el objeto
que ha golpeado. Y justo después de que
lo haya hecho, destruirá al actor. Ahora que tenemos eso,
vamos a compilar rápidamente. Y enseguida le
pega al actor. De inmediato me destruyen. Eso es genial, y luego
para darle algún daño, para darle algún daño,
fíjese como inmediatamente se destruye una vez que está en el personaje
del jugador, bueno. Ahora bien, para darle algún daño, todo lo que
tenemos que hacer es alargar esto. Y queremos decir, Oye, aplica algún daño, presa
algunos daños, lo que sea. Y queremos que el
actor dañado sea el héroe. Y digamos que cada
proyectil hace 30 daños. Bien. Hagámoslos, compilemos
rápidamente y luego presionemos play. Mira eso. El jugador acaba de recibir
30 daños directos a su barra de salud debido a que fueron impactados
por el proyectil Entonces ahora tenemos un
enemigo básico y tenemos un bonito proyectil
que en realidad puede hacer daño al personaje del
jugador En el siguiente video,
combinemos esos dos juntos para que podamos tener
un peligroso enemigo a distancia
80. 77 Configuración del plano de animación para un enemigo de rango: Y ahora que tenemos
el proyectil básico, vamos a sacarlo rápidamente
del mundo porque
no sólo va a estar ahí en el mundo
para hacer cosas por sí mismo No, tiene que ser creado
por nuestro enemigo a distancia. Ahora que tenemos eso, entremos y
agreguemos algunas animaciones adecuadas de lanzar
la pelota y
agreguemos
algunas animaciones adecuadas de lanzar
la pelota
a nuestro enemigo a distancia Ahora, para hacerlo,
lo primero que vamos a hacer es entrar en
la animación enemiga a distancia Y entonces lo que
queremos hacer es agregar en una salsa de animación de papel Z D, y llamaremos a esta fuente de animación
enemiga a distancia Y ahora vamos a agregar
en un plano de animación. Entonces por supuesto se nos pregunta qué queremos
usar como fuente, queremos usar la
animación enemiga a distancia. Como fuente. Nombramos a esta animación naranja, B P. Así es como la
vamos a nombrar por el
bien de la organización. Ahora, abriremos la fuente de
animación enemiga a distancia y agregaremos una nueva
secuencia, la primera Por supuesto, lo
llamaremos ocioso. Ese es el nombre del primero porque comenzamos con
una animación ociosa. Entonces simplemente queremos encontrar
al enemigo a distancia inactivo.
Esa es la animación. Hay una pequeña
animación ociosa disponible para su uso. Entonces, para hacer la configuración adecuada, queremos abrir el plano de animación
enemiga a distancia Eso abre esto. Y ahora que
lo hemos lanzado al enemigo a distancia, lo que queremos hacer es querer conseguir
al actor dueño. Bien, muy parecido a lo que
hicimos con el cuerpo a cuerpo. Y entonces queremos promover
al enemigo como a
distancia con variable porque eso es lo que
vamos a utilizar en la animación Entonces esto es todo. Evento al iniciar lanzamiento enemigo a distancia, y luego como enemigo a distancia
va a ser la variable Bien. Ahora, ahora que
eso está configurado, tenemos acceso
al gráfico de animación, y queremos crear
un nuevo estado de animación. Entonces agregaremos una nueva máquina de
estado, y simplemente llamaremos a
este rango EEM Lo mantendremos simple, y lo configuraremos como salida. Y luego para asegurarnos de que
esto funcione de manera efectiva, volveremos al propio Blueprint
enemigo a distancia agregaremos el componente papel
Z D,
para manejar las animaciones. Añadiremos en el Plano enemigo a distancia como la clase de instancia de animación Y luego para el componente
render, seleccionaremos
el flipbook de papel como nuestro componente de render En cualquier momento el papel está
haciendo las animaciones, lo manejará a través que hemos hecho esto tres
veces, dos veces antes. Espero que todo esto tenga sentido
lógico para ti. Porque ahora notamos que simplemente
está atascado en su lugar, pero luego volveremos
al plano de
animación enemiga a distancia Seleccionaremos hacia fuera,
lo arrastraremos hacia fuera el estado de animación. Establezca el estado como inactivo. Oh, cap a I como inactivo, y luego seleccione el estado inactivo, y luego queremos que
reproduzca la animación inactiva. Compila, vuelve. Y luego ahora cuando
entramos al nivel, está reproduciendo la
animación ociosa correctamente. Aquí es exactamente
donde queremos estar, y espero que
porque has estado aprendiendo muy bien de
los otros videos, todo esto está conectando y teniendo sentido lógico para ti. De hecho, deberías poder
hacer esto principalmente por ti mismo. Pero ahora que hemos hecho esto, pasemos a agregar
realmente
la animación de dibujo de proyectiles Ahora bien, si vuelves a los personajes dispuestos NEM
y vuelves al arte, fíjate en que existe esta animación de remo de
ataque Bien. Ahora con esto, lo que queremos hacer es queremos conseguir esa animación de
ataque. Haz lo mismo, aplica
papel a estos ajustes y luego extrae sprites. Todavía va a
hacer lo mismo al
tratar de extraerlos
por ti automáticamente, pero el motor real no es
lo suficientemente inteligente como para hacerlo todavía. Entonces configurarlo como una cuadrícula y luego dividir 750 por uno,
dos, tres, cuatro, cinco, seis, que
sale a uno, dos,
cinco, y esos
nos darán los sprites de tira limpia extraemos. Ellos
salen como ataque de cero a cinco, y luego creamos un flipbook, y queremos llamarlo ataque de
subrayado EM a distancia Bien. Y con eso,
fíjate en la animación. Ese es el ataque enemigo a distancia. Pero vamos a ralentizarlo. Creo que esto es
demasiado rápido, ¿de acuerdo? Entonces lo que quiero que sea
es en lugar de 15 frames, hagamos cinco frames. Mucho mejor. Eso es mucho más razonable como animación de
ataque. Para que veas a la
bruja
levantando su mano y
luego tirándola. Entonces eso es muy, muy bueno. Ahora que tenemos
esa animación aquí, ahora volvemos a la fuente NEM
a distancia Añadimos una nueva secuencia de animación, y simplemente la
llamaremos ataque. Mantenlo simple. Los datos de animación
van a provenir de
la animación de ataque
NEM a distancia. Ahí está. Bien, eso es esencialmente todo. Y luego con la animación de
ataque NEM a distancia en juego, vamos a guardar todo rápidamente Ahora podemos volver al NEM
a distancia
básicamente esto, Entonces tiene ocioso. Ahora básicamente necesitamos
configurarlo para ataque. Entonces crearemos un
nuevo estado de animación, y simplemente
lo configuraremos como play attack para que reproduzca
la animación de ataque cuando se haga la transición a Y vamos a configurarlo. Esto lo haremos más tarde, pero
cambiemos el nombre. Vaya, de ese estado, no
debería ser solo estado. Debería ser ataque. Entonces ahora tenemos una manera de
pasar de inactivo a ataque, es capaz de reproducir la animación de
ataque, pero todavía no hay código para hacer la transición,
y eso está bien. Pero ahora
simplemente volvamos al plano enemigo a distancia una vez más al plano enemigo a distancia y
entraremos en el gráfico de eventos Ahora bien,
para que haga el ataque de
una manera muy similar a como
configuramos al enemigo cuerpo a cuerpo, vamos a agregar
vamos a agregar
algún punto de detección Bien. Y vamos a llamarlo lo mismo que antes, detección de
jugadores. Entonces una vez que se detecte al jugador, funcionará y lo mismo, radio de
visión
bajará eso hasta digamos 500. La audiencia será cero. No queremos que esté escuchando. El intervalo de detección se establece en
0.5, lo cual es fantástico. Eso es razonable.
Lo bajaré a 0.1 solo para que el intervalo
de detección sea mejor. El rango de visión se fijará 179 grados para que tenga
mucho rango visual. Y con eso, simplemente
entraremos en la gráfica de eventos. Vamos a arrastrar en no, no
necesitamos arrastrarlo dentro. Entraremos en
detección clara en el evento de peón en C que es la detección del
jugador Entonces cada vez que ve el peón, todo lo que queríamos
hacer es imprimir cuerda y queremos decir, Oye,
jugador detectado Bien, ese será un buen comienzo para ver
si está funcionando correctamente. Así que presiona play. No
se detecta arcilla. Se está detectando claro. Entonces sabemos que está funcionando correctamente dentro
del rango denamy Ya no necesitamos eso. Entonces ahora que tenemos esto, lo que vamos a
hacer es simplemente
vamos a desovar en
ese proyectil Entonces ahora que lo tenemos. Ahora, en la misma
línea que antes, entraremos en el libro flip book de
papel, y lo que queremos
hacer es agregar un colisionador de cajas básico, y queremos llamar a
ese engendro de proyectiles Bien. Entonces la razón por la cual es porque ahí es donde va a desovar el
proyectil, que podamos arrastrarlo dentro Y pongámoslo por
aquí, ¿de acuerdo? Bonito. Lo pondremos
por aquí. Ahora que tenemos encerrado ese engendro de
proyectiles,
entraremos en el gráfico de eventos Entonces, cada vez que
se detecte al jugador, generará ese proyectil Entonces usaremos el
nodo básico para el desove. Entonces lo llamaremos actor engendrado, bien, actor de tarea Y la clase va
a ser proyectil enemigo. Bien. Esa es solo
la clase básica que vamos a estar usando. Y entonces para span transform, obtendremos el palmo del
proyectil. Obtendremos su ubicación salvaje. Oh, la física. No
sé por qué esa física fue seleccionada por mí.
Ese es mi mal. Lo que queremos es
conseguir una ubicación salvaje. Y entonces ese lugar salvaje es lo que abarcará transformarse. Arrastra esto aquí abajo,
arrastra esto aquí. Entonces ahora esto tiene sentido. Entonces, esencialmente, va a sentir y cada vez que siente, va a desovar
en ese proyectil Vamos a compilar,
verificar que esto funcione. Así que fíjate que sigue desove en esos proyectiles y observa los proyectiles desovan moviéndose hacia Entonces ahora tenemos listo ese desove
de proyectiles. Ahora, en el siguiente video, agreguemos la animación de
lanzamiento, y configuramos el fotograma en
el que realmente va
a aparecer el proyectil
81. 78 Vinculación de la animación de lanzamiento con el germinado de proyectiles: Ahora con todo eso configurado, tenemos a nuestro enemigo dispuesto
desove en esos proyectiles Ahora, volvamos rápidamente
al plano NEM a distancia. Y recuerda, cada
vez que detecte al jugador, va a desovar
en el proyectil Pero en lugar de que desove en el proyectil cada vez que
detecte al jugador, vamos a hacer un ajuste
muy básico Entonces comencemos agregando
un comentario rápido. Entonces he añadido en el
comentario de solo, ya
sabes, detectar jugador. Por supuesto, como siempre, fondo
negro texto blanco, aumenta el tamaño
de este comentario y asegúrate de que los nodos
estén bien posicionados. Entonces sabemos que dentro de aquí, todo lo que está haciendo es
detectar al jugador. Y ahora, esto está desove
en el proyectil. Entonces lo que vamos a hacer es que vamos a
romper ese eslabón y arrastrar esto por
aquí para separar
esas dos acciones, y luego después de
detectar al jugador, vamos a crear un nuevo
comando y luego llamar
al proyectil hilado Todo bien. Así que permítanme
arrastrar esto rápidamente hacia aquí. Y vamos a
crear una función personalizada. Bien. Ahora, más bien
un evento personalizado, y llamaremos a esto fuego. No, llamémoslo
disparar bola de fuego. Bien. En realidad no bola de fuego
porque no es una bola de fuego Es una bola mágica. Así que simplemente
llámalo disparar bola mágica. Así que disparar bola mágica es el
nombre de esa función. Y cada vez que se llama bola
mágica disparar,
se desplazará en el
proyectil, ¿de acuerdo? Ahora, con esta configuración
y fuera del camino, salgamos a detectar jugador. Ahora, queremos configurarlo
para hacer una de dos cosas. En primer lugar, si detecta que
el jugador está muy cerca, queremos que el enemigo
a distancia intente huir. Y sólo debería hacer esto una vez. No obstante, si el jugador
se encuentra en el campo de tiro, entonces va a intentar disparar un
proyectil al jugador Ahora, fundamentalmente,
comencemos con solo
configurarlo para que una vez que se vea
al jugador, le dispara una bola de fuego
al jugador Y la forma en
que lo haremos es
simplemente vamos a crear una nueva variable. Y añadiremos
esa variable en. Va a ser
un booleano básico. Y lo vamos a llamar
yo pie bola mágica. Bien. Ahora con esa configuración
variable, arrastraremos esto
y lo configuraremos
como set está disparando bola mágica. Y vamos a configurar eso como sí. Comienza como no, pero justo
cuando se ve al jugador, lo
configuraremos para
disparar la bola mágica. Ahora que aquí tenemos su bola
mágica de tiro lista para ir, abramos el
plano de animación del enemigo Entonces ahora, dentro del plano de
animación, para pasar de ocioso a ataque, todo lo que tenemos que hacer es
entrar en la transición, y luego como
enemigo a rango, perdón, arrastrar eso Ponte como el enemigo a distancia. Buscamos es
disparar bola mágica. Y entonces queremos decir, Oye, igual a y, entonces puedes
entrar en esa transición. Es muy lógico y
debería tener sentido muy fácilmente. Entonces volvamos
al nivel principal. Así que fíjate, ahora es
de inmediato el jugador entra. Comienza jugando esa animación demostrando que está
lanzando la bola mágica. Ahora, lo que
haremos es ahora
volveremos a la fuente de
animación y seleccionaremos la animación de
ataque. Queremos buscar un punto cuando se arroje
la pelota por aquí. Boom, y
crearemos una nueva notificación. Crearemos una nueva notificación
y vamos a llamar
al notifique lanzar bola mágica así es como la
llamaremos Zoom back out. Así que a la vuelta oh, lo siento. Alrededor de este momento, lanzamos la bola mágica. Ahora que tenemos esa configuración
en la fuente de animación, volveremos al plano,
e iremos a buscar el
lanzamiento de notificaciones de recepción Magic Ball Y entonces lo que queremos
hacer es como enemigo a distancia. Queremos el evento de tiro lo he llamado
disparar bola mágica aquí. Entonces llamaremos a ese evento
de disparar bola mágica. Siempre es mejor
nombrarlos de una manera que sea lógica. Entonces aquí estamos. Entonces cada
vez que se llame a esa notificación, debería disparar la bola mágica. Entonces, vamos a entrar en
esto. A ver. Así que vuelve al juego. Ahora, cada vez que el enemigo
es capaz de ver al jugador
, dispara la bola mágica. Bien. Boom. Eso es muy bueno. Entonces ese es un básico. Ahora tenemos la configuración de animación para lanzar la bola mágica, ¿de acuerdo? Entonces, sigamos adelante. Ahora, a continuación, arreglemos el cambio de
dirección y luego agreguemos
una
animación mucho más animada porque en este momento la bola mágica
básicamente está flotando para el jugador. Hagamos un ajuste
a su aspecto.
82. 79 Ajustar la dirección del Sprite a la ubicación del jugador: Entonces ahora que tenemos
al enemigo a distancia capaz de lanzar una
bola mágica al jugador, y se configura y se
hace en base a la animación, asegurémonos de que lo primero que hace
el enemigo a distancia cuando
el jugador está en rango de detección es se enfrenta hacia el Ahora entraremos en el sprite de enemigos a
distancia,
y notarás que
estos sprites fueron dibujados mirando a la izquierda
en lugar Entonces, lo que simplemente
haremos es seleccionar el libro volteador de
papel, y vamos a ajustar
su rotación sobre el eje Z, y simplemente
lo rotaremos 180 grados negativos. Es realmente así de simple. Entonces ahora, está enfrentando
al jugador correctamente. No obstante, fíjate que cuando
vas al otro lado, ya no está orientado correctamente. Eso está bien y es
sencillo de corregir. Ahora, todo esto,
sólo voy a mostrarte el código
después de que esté escrito. Observe ahora que está orientado hacia
la dirección correcta. Y déjame llevarte a través los planos y
el pensamiento rápido Ahora, para hacerlo rápido, permítame comenzar
mostrándole cómo está funcionando el flujo de
código. Entonces lo he configurado para que el enemigo a
distancia sea depurado. Ahora fíjate aquí, está fluyendo
a través de la línea superior. Cuando cambio a este lado izquierdo, está fluyendo a través de
la línea de fondo. Aquí, está fluyendo a través del flujo superior de la olla en los asentimientos. Aquí, está fluyendo
por el fondo. Ajusté, claro, el daño a B un daño
en el proyectil enemigo, pero esto es solo para mostrarte Ahora, entremos en
los nodos ellos mismos. Lo primero
que hacemos es desde Os pon ir directamente al
casting al héroe. Después de lanzar al
héroe como el héroe, obtenemos su componente cápsula. Esencialmente, casi
cualquier componente servirá, pero la cápsula es muy útil. Y luego obtenemos
la ubicación comodín, y al usar click izquierdo, dividimos los pines
de la estructura para que podamos obtener el valor
X por separado. Una vez que hayamos terminado con eso, obtendremos el
componente flipbook que podemos obtener aquí desde dentro
del enemigo a distancia como de costumbre hará
cualquier componente,
pero solo usaremos
el flipbook por
simplicidad y luego lo
conseguiremos pero solo usaremos
el flipbook por simplicidad y luego lo
conseguiremos Una vez hecho eso, seguimos adelante y
queremos restar Ahora, queremos restar la ubicación salvaje de la cápsula
del libro volteo de
papel, eso nos va a
dar una medida de la distancia entre los dos Y entonces comprobaremos
la diferencia de distancia usando el nodo
mayor que, y ¿es mayor
o igual a cero? Esa es la lógica detrás de esto. Y luego armamos una sucursal. Ahora bien, la rama es simple. La distancia es
mayor o igual a
cero, lo cual es cierto. Eso quiere decir que el
jugador está a la derecha. Por lo que estableceremos la
rotación salvaje para que sea negativa 180 llamándonos a sí mismo y obtendremos el libro de papel
y estableceremos la rotación salvaje. Ese es el nodo que
vas a usar. Ahora después de
ponerla a 180 negativa, estará enfrentando correctamente al
jugador. No obstante, si es falso, eso significa que el jugador
está detrás del enemigo, así que pondremos la nueva
rotación a cero. Espero que la lógica esté teniendo
sentido para ti y
luego después de eso, conectamos todo de nuevo
a su bola mágica de tiro. Veamos eso en acción una
vez más ahora que
has visto los nodos. Entonces yo soy c el jugador
está del lado derecho. El sprite está mirando a la derecha. El jugador está del lado izquierdo, el sprite está mirando en
la dirección correcta
constantemente, lo cual es muy bueno Ahora que esto está hecho, sigamos adelante y hagamos algunos ajustes más
a nuestra IA NEM a distancia
83. 80 Cómo agregar Sprite a la bola mágica: Todo bien. Entonces ahora, el enemigo en realidad lanza
una bola mágica real. Corregimos la dirección
en el siguiente video, pero puedes ver al enemigo
lanzando una pelota y déjame llevarte a través de los pasos muy
simples para configurarlo. Para comenzar, simplemente entras en el proyectil enemigo y
podrás eliminar la esfera inicial Una vez hecho esto, agrega
un libro volteador de papel, algo que hayas
hecho varias veces antes. También he configurado esto para
que sus sombras se proyecten, lo cual creo que es genial,
y también le he agregado lo cual creo que es genial,
y también le he agregado
sombras al
enemigo a distancia además de eso Entonces dentro de aquí, después de haber agregado
el flipbook de papel, notarás que dentro del interior de la carpeta
del enemigo a distancia,
hay un archivo
llamado proyectil hay un archivo Ahora, dentro del proyectil
hay uno, dos, tres, cuatro, cinco, seis pequeños sprites
que son el proyectil, y para extraer los sprites, aplicas papel dos configuraciones de
textura D les
aplicas papel dos configuraciones de
textura D y luego entrar en
extraer sprites, y real siempre intentará Pero quieres
configurarlo en cuadrícula, y ancho de celda,
en vez de ser 288, solo
obtienes 288 y
lo divides por seis, lo que debería darte
un ancho de celda de 48. Y fíjate ahora que puedes
extraer limpiamente todos
esos seis sprites Después de extraer,
simplemente consíguelos y conviértelos en un libro volteo. Y esto se enrolla, no. Fue el libro flip, El libro, y llamar al
flipbook bola mágica Una vez hecho eso, agregas eso al
flipbook de papel y Wala, básicamente
terminaste de agregar la fib real, por supuesto,
aumentar el, aumentar la escala al tamaño correcto Y ahora que esa
bola de fuego está montada, ahora
vamos a
entrar en el código para organizar su dirección para que esté orientada hacia la
dirección, se mueva Hagámoslo en el siguiente video. Ahora, en caso de que estés teniendo problemas para hacer esa sencilla configuración, quizás volver a algunos de los videos anteriores te
ayude. Esto es algo así como una
comprobación de conocimientos porque esta es una acción que ya deberías haber hecho unas cinco o
seis veces, y debería estar en tu sangre. Sin embargo, si has
entendido completamente cómo hacer eso, eso significa que estás aprendiendo
efectivamente del tutorial, y estoy muy contento por
eso. Vamos a seguir adelante.
84. 81 Dirección cambiante de la bola mágica: Ahora que tenemos el sprite
agregado a la bola mágica, solo
ajustemos su dirección Pero antes de hacer eso,
vamos a hacer una rápida
limpieza básica del código, ¿de acuerdo? Entonces ahora, cuando se trata del código para el proyectil
enemigo, tiene mucho que hacer Vamos a organizarlo rápidamente. Entonces todo este código aquí es
para Actor comenzar a superponerse. Este es el código que
maneja el daño. Simplemente agregaremos un comentario rápido presionando C. Me gusta
establecer el tamaño del teléfono en 50. Y luego como siempre, fondo
negro texto blanco. Ahora, solo vamos
a agregar esto aquí, ampliarlo para que
haya mucho espacio. Excelente. Ahora,
voy a dejar caer estos nodos aquí abajo justo
dentro del comentario. Entonces queda bastante claro
lo que está pasando. Entonces esto está comenzando
solapamiento de la esfera, lanzando al héroe
y haciendo daño, y aumentemos ese
daño de uno atrás a 30 porque solo estaba
en uno para pruebas básicas. Y al detener el movimiento del proyectil, se destruye a sí mismo.
Esto es bueno. Se destruye a sí misma.
Esto es bueno. Ahora pasemos al nodo
de inicio de juego. Consigamos rápidamente este comentario. Pon esto Oh,
Dios mío, antes que nada, pon el comentario
a solo un comentario que no esté moviendo
nuestros nodos alrededor. Y así reorganizando
todo desde comenzar a jugar. Todo el camino hasta el movimiento del
proyectil. Déjame acelerar esto. Todo bien. Entonces estos nodos ahora están todos
organizados en un solo lugar. No se
han realizado cambios adicionales. Entonces lo que vamos
a hacer es justo después de establecer la velocidad
en el espacio local, lo que vamos a hacer
es que la vamos a configurar para que apunte hacia la dirección del personaje
jugador una vez después de que haya
terminado de configurarlo. Y así es como se ve
eso. Hay dos cosas
que queremos. Lo primero es que queremos
conseguir la ubicación del actor, ¿de acuerdo? Ese es nuestro actor actual. Y solo queremos
tener su ubicación disponible para que la referenciemos. Después de obtener la ubicación del
actor, lo siguiente que queremos hacer
es que queremos conseguir oh, perdón. Queremos obtener su velocidad
actual. Estos dos van a ser
importantes para elegir la dirección a la que apunta el
proyectil Ahora, hay un nuevo nodo al
que vamos a hacer referencia, y ese nodo se llama
el hallazgo mirada a la rotación. ¿Bien? Este es el nodo que queremos. Se llama el hallazgo
Mira la rotación. Y lo que queremos que
haga es que queremos que
básicamente llame a un valor de rotación para que nuestro proyectil lo vea Y para que eso funcione, necesita una ubicación inicial
y una ubicación objetivo. Ahora, la ubicación de partida
va a ser la ubicación actual del
actor. No obstante, el objetivo, el objetivo
va a ser diferente. Lo que vamos a
hacer es que vamos a sumar y vamos a
sumar la velocidad actual, y después de sumar, vamos a agregar obtener
la ubicación del actor. Y la razón por la cual es porque la velocidad
va a estar apuntando a la dirección en la que se mueve el
proyectil Y con esos, obtenemos el valor de eso y lo
fijamos como el objetivo. El objetivo será
aproximadamente un marco de movimiento por delante de la ubicación inicial del
actor. Ahora, con eso,
vamos a encontrar la rotación, y vamos a conseguir el vamos a ver,
conseguir flipbook de papel, ¿ Entonces, oh, no,
ni siquiera necesitamos eso. Lo que necesitamos es
solo el flipbook, y luego vamos
a establecer la rotación Bien. Entonces quiero
establecer la rotación salvaje, y ese va a ser el
nodo al que nos conectemos. Y entonces la
rotación de Look
se va a establecer como la nueva rotación. Sin embargo, por lo
irreal que funciona el código del motor, si ejecutamos esto por
sí mismo en este momento, no
va a
funcionar de manera efectiva Y esta es la razón por la que
con todo como está, si entramos en el nivel
desarrollador y presionamos play, Oh, disculpas Primero detengamos esa
simulación muy rápido. Bien, porque estaba
tratando de mostrarnos eso, pero no queríamos ver eso. Entonces, si presionamos Reproducir, observe que no hay cambios. No hay ningún cambio en cómo se trata
de la dirección, excepto, claro, sí, no
hay cambio. El motivo es por lo rápido que se realiza el cálculo, necesitamos que esto suceda
después de al menos un fotograma. Entonces, para que esto suceda
después de al menos un fotograma, lo que vamos a
hacer es justo después establecer la velocidad
en el espacio local, ¿de acuerdo? Justo después de ese nodo de
velocidad establecida en el espacio local, vamos a
configurar un delay un delay, pero hay diferentes
tipos de delay, y el delay que queremos es este llamado delay
until next Tech. Entonces simplemente nos
retrasaremos hasta la próxima tecnología. Entonces una vez hecho
eso, pasará por el resto de los nodos para establecer
la rotación del flipbook
de papel Ahora vamos a probarlo. Bien.
Ahora está funcionando correctamente. Observe que la dirección se
está calculando correctamente. Ahora, podrías preguntar, pero espera. Se ve un poco
flippy. ¿Por qué es? Al igual que, verticalmente, parece que la dirección es la correcta,
pero todo está mal. Eso es realmente simple. Simplemente volvemos
al proyectil enemigo. Volvemos a la vista
y notamos que este es
el flipbook de papel Entonces lo que vamos a hacer es que
obtendremos el propio
flipbook de papel, y queremos darle la vuelta Y ahora que hemos regresado, notarás que el proyectil
está orientado hacia la izquierda Entonces porque está de
cara a la izquierda, vamos a hacer
un pequeño ajuste. Entonces, en lugar de sumar la ubicación del actor get
y la velocidad get, vamos a cambiarla, y vamos a
configurarla para restar Por lo que queremos restar
la ubicación del actor. Más bien, queremos
restar la velocidad de la ubicación del actor y
configurarla como objetivo Ahora con esa configuración, de esta manera, volvamos a entrar y ver si está funcionando según
lo previsto. Entonces vamos a golpear play sí, ahora está funcionando como se pretendía. Observe que la pequeña bola mágica en
realidad va en la dirección
correcta. Eso es bastante genial. Y
ahora que tenemos eso, fíjense que en realidad se está moviendo básicamente en
la dirección correcta. Bien. Bonito. Mira eso. Bien, entonces ahora tenemos nuestra bola de fuego
mágica moviéndose. En la dirección correcta. Mira eso. Bien. Eso está hecho. Ahora sigamos adelante y hagamos algunos ajustes adicionales a la IA del enemigo a largo plazo
85. 82 Configuración de la combinación de animación de impacto y muerte: Entonces, para realmente redondear y
finalizar ese enemigo a rango, vamos a ajustarlo para que cuando esté golpeando el EM a rango o a
cualquiera de los jugadores realmente, en un buen básico
en la animación de stater,
y luego muera y Y luego note que tenemos esos proyectiles
siendo engendrados en el mundo, pero están pasando por el
infinito a menos que
golpeen infinito a menos que
golpeen Así que vamos a poner un temporizador para evitar que se
mantengan vivos para siempre. Hagamos esas dos
cosas ahora mismo. Primero, comenzaremos con
el proyectil enemigo y lo
configuraremos para que
después de que fallara el elenco, habrá un retraso, y ese retraso
va a durar, digamos, 6 segundos, y luego
destruirá al actor Por lo que el proyectil
solo puede permanecer en pantalla durante unos 6 segundos antes de que se elimine por completo
del mundo ¿Bien? Eso está hecho. Ahora pasemos
directamente al enemigo a rango,
y abramos, volvamos al redil
del enemigo a rango,
volvamos al arte, volvamos al arte, y notarás que hay un sprite llamado hart haciendo
doble clic en él muestra que hay esta
pequeña animación de corazón por aquí cuando recibe daño.
Eso es genial. Entonces hay otra llamada muerte ahora nota que la muerte y el arte tienen
muchas similitudes. Entonces queremos configurar el código de
una manera muy similar a la
que hicimos antes. Entonces hay una animación de daño, pero si la salud cae
por debajo de cero o igual a cero, termina de reproducir
la animación de muerte. Empecemos por hacer alguna extracción
básica de sprites. Así que he seleccionado a Hart. Y antes que nada,
corazón y muerte, permítanme aplicar rápidamente papel
a los ajustes de textura, y guardemos rápidamente todo. Y luego después de eso,
empieza con el arte. Y, lo siento, haz clic derecho en Sprite
Actions, extrae Sprite. Hay tres sprites. Vamos a configurarlo como cuadrícula. Entonces haremos algún cálculo
básico. Bien, así que realmente debería
fijar la calculadora aquí. Entonces obtendremos 375/3, lo que significa que el ancho de
celda es 125, y extraemos esos Entonces hay corazón cero, t uno, y corazón
dos. Eso es bueno. Después seleccionaremos las animaciones de la
muerte,
bien, las
acciones del sprite de la muerte, extraeremos sprite Vamos a configurarlo a la cuadrícula. Y ahora es 875 o uno,
dos, tres o cinco,
seis, siete fotogramas. Bien. Entonces, si sacamos
nuestra calculadora y obtenemos 875 y la dividimos por siete, obtenemos 125 nuevamente. Entonces 125, cortamos esos sprites correctamente
y extraemos. Eso es genial. Ahora, lo que vamos a hacer seleccionaremos todos los sprites de
la muerte, y luego vamos a crear
un flipbook y
lo llamaremos lo llamaremos , solo
llamémoslo muerte Vamos a llamarlo a rango
EM Subrayar la muerte. Bien. Ahora con esa configuración, así que fíjate que esta es
la animación de la muerte. Lo que ahora
vamos a hacer es que
primero reduzcamos eso a
unos diez fotogramas por segundo. Ahora, lo que vamos a hacer es que queremos agregar
otro fotograma clave. Lo arrastraremos dentro. Entonces
veamos que este es el marco uno. El cuadro dos está vacío,
luego el marco Bien. Entonces este es uno y este es dos. Entonces dentro de este marco
vacío por aquí, vamos a ins
vamos a escoger un nuevo sprite, y vamos a buscar,
veamos, herir, sprite uno Ese es ese, que tiene el blanco ya sabes, destello blanco. Entonces ahora así
es como recibe el daño. Y luego
agregaremos en otro fotograma después y en ese fotograma vamos a agregar en
otra animación. Escojamos un nuevo sprite. Entonces llamemos a pick heart zero. Usaremos corazón cero para eso. Así que fíjate, solo está haciendo un flash rápido cada vez que
recibe daños, lo cual es genial. Ahora, bajemos los fotogramas
por segundo de diez. Vamos a bajarlos a nueve. Así que vamos a reproducir la animación
. Fíjese en eso. Entonces tiene ese pequeño destello
cuando recibe daño, y esa es la animación. Bien, paremos justo en eso. Entonces, con esa configuración, ahora
tenemos a rango la
animación de la muerte enemiga lista para rockear Entonces simplemente volveremos al enemigo a rango, entraremos en animación Vamos a abrir la fuente de animación
enemiga a largo plazo. Añadir una nueva secuencia de animación. Vamos a renombrarlo muerte. Bien. Y dentro de la muerte, usaremos la
muerte enemiga a rango como animación Así que vamos a configurar eso
como la animación. Ahora en la siguiente lección, agreguemos las notificaciones correctas y los eventos correctos para tener
esta playout
86. Enemigos de 83 rangos entran en el golpe para tomar cualquier daño: Bien. Así que de vuelta a la salsa de
animación, ¿de acuerdo? Observe que
existen esos marcos cuando el enemigo ha recibido
un poco de golpe. No queremos entrar en el
tercer fotograma de animación. Entonces justo al final de
la segunda animación, agregaremos una notificación. Lo llamaremos nuevo aviso, y vamos a llamarlo a
distancia cabezas enemigas stater Así es como lo
vamos a llamar. Se llama headstand
enemigo a distancia. ¿Bien? Apenas se paran las cabezas
enemigas a distancia Eso es todo lo que se
va a llamar. Bien. Ahora, una vez que
tenemos esa configuración, ahora
entramos en el plano NEM a
distancia y aviso bajo notifica al adster NM a
distancia aquí Entonces vamos a estar
accediendo a la función aquí. Entonces volveremos
al enemigo a distancia. En lugar de simplemente copiaremos
este cuadro de comentarios específico, bien, y lo
pegaremos y vamos a llamar a esto. No, olvídate del cabezón. Eso es solo por
el bien de la velocidad, llamemos a esto golpea
stater, ese es el comentario Pero lo que realmente
queremos es que queremos
crear un
evento personalizado. Sí, ¿bien? Y este
evento personalizado se va a llamar Range NEM hits stater Así es realmente lo que
queremos llamarlo. Solo ten listo ese simple evento
personalizado. Ahora, con el evento listo para funcionar, ahora
vamos a crear una nueva variable. Y llamaremos a esta variable en headstar es un booleano básico y se llama Ahora, ahora mismo, vamos a compilar esto
rápidamente. Cuando empiece el juego, va a estar vacío. Ese es su valor predeterminado. Ahora, lo que vamos a hacer es ahora que tenemos
esa variable headstand Cuando se llama a esta función de
cabecero enemigo a distancia, solo
queremos que haga una revisión rápida para ver
la salud del enemigo Volvamos. Y ahora
vamos a decir como enemigo a distancia, queremos que
saque al enemigo a distancia la función
estater Esto lo hemos hecho
varias veces, por lo que debería tener sentido lógico. Ahora que tenemos eso, sabemos cada vez
que se desarrolla
esta animación, aquí
mismo, va a hacer
un chequeo rápido del stater de cabezas Y lo que queremos es que si la comprobación del headstand sale verdad que el jugador
el enemigo está muerto, juega la animación de
muerte completa No obstante, si los
golpes terminan siendo, ya
sabes, no,
solo estás en la cabeza, aún no
estás
muerto, vuelve atrás A su animación ociosa por
un corto periodo de tiempo. Y luego vuelve a su animación de ataque tras
detectar al jugador. Esa es la lógica por la que
vamos. Así que vuelve aquí. Rápidamente salvaremos a todos y
volvamos al enemigo a distancia. Aquí solo queremos comenzar simplemente verificando el valor para
la salud. Lo primero que vamos a hacer es que vamos a conseguir
la salud de Dami, arrastrarla hasta aquí y
queremos conseguir la salud de Dami, y vamos a
establecer una rama básica Y lo que queremos hacer
es que queremos comprobar el estado de salud de Dami
es mayor Bien. Es decir, ¿es
mayor que cero? Si la salud dammi
es mayor que cero, esto va a ser cierto Bien. Entonces, si la salud dammi
es mayor que cero, configuramos esto en true, y entonces simplemente
realizaremos algunas funciones aquí Y para empezar,
diremos, Bien, mira, yo maniquí La salud es
menos que básicamente, si es menor que cero, lo que queremos hacer
es querer
alargar esto y luego queremos decir,
Oye, no, más bien,
déjame tener claro que esta lógica
está teniendo sentido. Bien. Entonces, si es menor que
cero, lo que realmente queremos. ¿Bien? No, si es
menor que cero, decir, es falso. Queremos que haya un
retraso de aproximadamente 1 segundo, solo un simple retraso de 1 segundo, y luego inmediatamente
destruimos al actor. ¿Bien? Es un simple cheque. Es un cheque muy sencillo. Y lo que eso hace es
que significa que el
enemigo a distancia ya está muerto. Entonces, si volvemos a la gráfica de animación
enemiga a distancia, notemos que solo hay
ocioso y hay ataque Pero ahora, vamos a crear
un nuevo estado de animación, y llamemos a esa estadística de
animación muerte. Bien. Entonces, del ataque a la muerte, puede hacer la transición, y de la inactividad a la muerte,
puede hacer la transición. Y la forma en que puede hacer la
transición es, entremos. Vamos a hacer que se
revise como el enemigo a distancia. Queremos que nos golpeen a Stern, ¿verdad? Y si en golpes stater, es igual a, sí,
está en su stater Puede hacer la transición. Bien. Entonces, mientras el
enemigo esté en su estón, puede hacer la transición.
Eso es esencialmente todo. Y luego tomamos un vamos a copiar esto
en realidad. Entonces, cada vez que el enemigo
está en cualquier cabeza, comienza a reproducir
la animación de la muerte Entonces copiemos y pongamos eso
aquí. Eso salva eso. Hacemos doble clic sobre la muerte
y queremos reproducir la animación de la muerte desde interior del
nodo de muerte por aquí, bien, ese pequeño estado. Entonces puede pasar de ocioso a muerte y puede pasar
de ataque a muerte. Sin embargo, solo puede
volver de la muerte a inactividad en una situación en la
que ya no está en la cabeza, entonces puede volver a
su animación ociosa, ¿de acuerdo? Eso es esencialmente por ahora. Ahora bien, así es como se ve
esto. Oh, aún no
va a volver a estar inactivo. Nos meteremos en eso a continuación. Ahora fíjate que
ahora mismo en el enemigo a distancia, todavía no
hay de todos modos
para volver a meterlo más bien, actualmente no
hay forma darle la propiedad
stater hits Cambiemos eso. Entonces, la forma en que
vamos a hacer eso es que consigamos rápidamente
ese cuadro de comentarios y lo pongamos por aquí. Ingresa tt animation
en cualquier daño. Lo cual es bastante
fácil de entender. Por lo tanto, ingresa la animación
del headstand al recibir cualquier daño. Entonces empezamos por conseguir
el evento, cualquier daño. Bien, vamos a obtener el evento de
cualquier daño. Y luego simplemente nos pondremos en el cabezal y
lo pondremos para que una vez que
esté en el headstand,
se ponga en headstand para que sea Ahora, con solo eso, volvemos al nivel de
desarrollador. Entonces está recibiendo daños. Ahora está jugando eso, pero
lo está jugando indefinidamente. Entonces, para evitar que
juegue, volvemos a entrar. Y esta vez, cuando hace la doble comprobación básica
y descubre que es, hecho, su salud
sigue siendo mayor que cero. Lo que va a hacer es que
queremos colocarnos en la cabeza, así lo pondremos
y diremos que no, ya no está en la cabeza Entonces así es
como se ve eso. Observe eso, ¿verdad? Entonces, si dejas de
comboar al enemigo, inmediatamente
vuelve, Eso es esencialmente
lo que realmente queremos. Entonces, entremos aquí. Por lo que lanza un proyectil.
Ahora le estoy pegando. Bien. Entonces en realidad está
recibiendo daños, pero fíjate que no está muriendo, y hay un poco de retraso. Más bien, el retraso antes de que vuelva a
atacar es
realmente demasiado corto. Así que vamos a sugerir
que en el próximo
87. 84 Configuración de retardo de ataque después de recibir un golpe: Todo bien. Entonces ahora tenemos nuestro bonito enemigo de alcance al
que podemos atacar, y cuando atacamos, entra un poco de su estater y no puede atacarnos de nuevo Eso es bastante genial. Hagamos un ajuste sencillo para
que una vez que sea golpeada, gaste mucho más
antes de entrar en su animación de ataque real para que lleve
más peso con ella. Ahora para hacer esto, realmente solo necesitamos abrir una
cosa para comenzar,
que va a ser entraremos en la carpeta enemiga a distancia y nos
aseguraremos de que el plano
enemigo a distancia Y una vez que esté abierto, ahora podemos avanzar y sumar un poco más de
retraso al headstart Ahora, lo siguiente que
vamos a hacer, te darás cuenta
cuando vayamos y le hagamos daño al maniquí de ataque
mientras esté recibiendo el daño, fíjate que la barra de salud no
está funcionando correctamente La razón por la
que eso está sucediendo es porque una vez que llamamos en
caso de algún daño aquí, deja de ser llamado
en el plano padre Así que vamos a necesitar
copiar sobre todo el código del evento cualquier daño
del padre para asegurarnos de que está
funcionando correctamente aquí. Ahora, la forma más rápida de hacerlo es que
quieres abrir tu ataque Dummy Blueprint y dirigirte al
evento cualquier daño, y notar que podemos
entrar y ahora hacer una copia de todo esto y
luego ponerlo en el niño Ahora, déjame mostrarte
cómo es eso, y luego
te llevaré a través del código. Entonces, boom, hay
un poco de pie de cabeza, y luego está muerto. Voila. Ahora bien, esto es
lo que fundamentalmente, realidad se ve en el código. En realidad,
volvamos un poco, ¿de acuerdo? Así que ahora mismo, el enemigo es capaz lanzarme proyectiles, ¿
de Es capaz de lanzar proyectiles. Oh, chasquido. No. No. Gato de ventana. Sin embargo, una vez que lo golpee, ahora, note que es por
unos 2 segundos, ¿de acuerdo? Esa es la verdadera estrella de éxito. Y durante 2 segundos, no
puedo hacer nada. Ahora, claro,
eso es exagerado. En un juego real, quieres que ese
tiempo sea un poco más corto, pero lo estoy exagerando
solo por enseñar, ¿de acuerdo? Entonces el enemigo más bien el personaje
jugador puede golpear a un enemigo solo
por el enemigo a distancia, y por un tiempo, totalmente no pueden hacer nada
y luego están muertos Así de simple, bien.
Es así de simple. Ahora, déjame entrar en el código, y vamos a
ir paso a paso. Entonces comenzaremos con
el enemigo básico a distancia. Bien. Entonces aquí mismo ahora mismo, bien, todo lo que tienes es
configurarlo para que vaya en la cabecera. Pero pasemos por
esto paso a paso. Entonces una vez que llamamos al evento
cualquier evento de daño aquí, ahora, ya no
va a funcionar
desde el evento padre. Entonces necesitamos volver a agregar
en todo este código. Entonces comencemos.
Hay una secuencia. Vamos a señalar todo aquí
arriba un rato. Y sigue esta línea.
Obtenemos el dammi Salud Por supuesto, eso lo conseguimos
desde dentro del personaje. Bien. Y una vez que tengamos
el dammi Salud, lo que
haremos es restarle el daño
a cualquier daño de
la a cualquier daño de salud dammi y ponerle eso
como el nuevo dammi salud Una vez hecho eso, queremos lanzar
a la barra de salud de dammi Ahora bien, la forma en que lo hacemos
es llamar a un widget. El widget está por aquí. Ya lo agregamos en. Esa es la barra de salud. Obtenemos widget y lanzamos
a dammi Barra de salud Y luego como la barra de progreso de
salud dammi, obtendremos dammi Salud, la dividiremos por 100 y fijaremos eso como el porcentaje establecido,
eso está hecho Y todo
lo que hace es que se asegure de que cuando
golpeemos al Dummy más bien, cuando golpeamos a este enemigo, en
realidad aparece
en su barra de salud Bien, sigamos adelante. Ahora que tenemos eso Bien. Volvamos a la estado
del
stater de cabezas enemigas a distancia. ¿Bien? Aquí es donde estamos comprobando para ver si la salud es
menor que si la salud es
menor o mayor que cero. ¿Bien? Ese es el estatero de cabezas
enemigas a distancia Ahora, por aquí, lo que queremos hacer es que va a
haber
un retraso de 1 segundo, y luego destruye al actor Eso está bien por ahora, bien. No obstante, queremos
configurarlo para que esté a la cabeza. ¿Está disparando
bola mágica? No, no lo es. Agregando un
retraso rápido de 2 segundos. Y luego queremos crear una nueva variable
llamada No se puede disparar. Ahora bien, ¿cuál es el propósito
de disparar a Carnot? Vamos a entrar en
No se puede disparar más tarde, sino simplemente crear esa variable. Y ahora mismo, No se pone en marcha el
rodaje de No se puede disparar. Eso significa que después de
dos segundos de retraso, no se puede disparar se apagará, lo
que significa que puede disparar, ¿de acuerdo? Ahora, volvamos a la animación enemiga a distancia.
Es la animación de la muerte. Al final de su animación de
muerte, configuramos para destruirse a sí misma. Eso es usar un Notificar. ¿Bien? Ahora, dentro del plano de
animación a distancia, simplemente
está configurado para que si está disparando la
bola mágica, vaya a atacar Si no lo es, pasa a ralentí. No va a tener eso configurado, ¿de acuerdo? Y luego del ataque
a la animación de la muerte, es
decir, ¿está en el headstand? Sí. Si está fuera de la cabecera, puede volver a atacar, o si está fuera de la cabeza,
puede volver a estar inactivo
o atrás de id, ¿de acuerdo? Esta es la lógica básica. Ya has hecho esto
antes. Ahora, vayamos al yo destructor. Todo lo que hace es que
lleva a una función en el enemigo a distancia
llamada destruir yo Ahora dentro del rango enemigo,
esencialmente, hemos establecido Destroy Self como un actor básico de destrucción. Eso es todo lo que hace. Destruye al actor si su infierno va por debajo de
cero o llega a cero Bien. Eso es todo lo que hace. Ahora con esta configuración, en cualquier daño, está configurada
para tener su reposacabezas encendida Ya no está disparando la bola mágica y
no puede disparar. Ahora veamos cómo se ve eso en realidad en
cuanto a código, ¿de acuerdo? Ahora, volvamos a donde se detecta
al jugador. Esta vez hay un gran
cambio. Bien, hemos añadido adentro, Está en el headstand Si está en la cabecera, no
debería hacer nada. Yo headstan es verdad, no hagas nada. Si está fuera de cabezas stater, entonces debería hacer el
resto de este código Por supuesto,
siempre está el elenco a héroe, eso
lo hemos hecho, el cambio de
dirección. Pero después del cambio de dirección
y estableciendo la rotación salvaje, hemos agregado una nueva rama y la rama es bastante
simple, no puede disparar. Si no puede disparar, no
hace nada. Si puede disparar, dispara la bola mágica. Ahora veamos cómo es
esto en realidad, ¿ de acuerdo? Va a configurarlo a dbug juego. Entonces ahora mismo, puede
disparar, así que está disparando. Sin embargo, bien,
déjame reiniciar esto. Entonces, una vez que lo golpeé, se paró
y no puede disparar ni un poco. Y puedes
ajustarlo a tu gusto. Ahora bien, si seguiste
los tutoriales correctamente, todo esto ha tenido un sentido lógico
y limpio. Y ahora tienes un enemigo a distancia que
trabaja, y vamos rápidamente a entrar en enemigo
masculino para
arrastrarlo al mundo Oh, en realidad ya
tengo uno aquí. Es un enemigo que
he colocado aquí. Entonces tengo un enemigo varón que viene y puede
atacarme, pero, claro, puedo golpearlo y matarlo, así muere, y luego
tenemos un enemigo a distancia Ven moria. Yo y se ata. Así que ahora tenemos un enemigo a distancia y un enemigo macho
listos para ser usados, y has experimentado cómo usar el papel z d para
configurar a estos dos enemigos Entonces hay una cosa más que vamos a hacer
por el enemigo a distancia, y luego avanzamos Y eso va a ser nos
adentraremos en el enemigo a distancia. Iremos al widget de su barra de salud y la configuraremos para
que no sea visible. Y la razón por la
que lo hemos hecho es porque solo
queremos limpiar el
aspecto de nuestro nivel. ¿Bien? Bien. Entonces ahora que sus
barras de salud ya no son visibles en el juego, eso es genial. Preparémoslo también para
el enemigo mele. O sea, con el widget. No necesitamos que la barra de salud
sea visible. Eso es bueno. Ahora que ya está hecho.
Bien. Desarrollar un nivel. Voi a fini. Ahora que
terminamos con eso, hagamos otro ajuste
al enemigo a distancia Que va a ser,
vamos a establecerlo. En realidad son
dos ajustes. El primero es
que vamos a hacer un ligero ajuste
a su velocidad. Y ahora mismo, parece estar chocando contra
el enemigo a distancia, que es algo que
no queremos que sea verdad Entonces queremos que el
enemigo cuerpo a cuerpo pueda
moverse y no interactuar con
el enemigo a moverse y no interactuar con distancia en absoluto de
ninguna manera porque ahora mismo se está apegando a él,
que no es lo que queremos Y luego queremos
configurarlo para que el enemigo a distancia, una vez que alcanzas cierto alcance,
deje de lanzarte proyectiles Queremos que solo
arroje proyectiles dentro de un rango específico ¿Bien? Hagámoslo. Siguiente,
88. 85 Cómo evitar que tus enemigos se atasquen entre sí: Entonces en este video, comencemos con el problema
básico simple. Tenemos un enemigo cuerpo a cuerpo. Bien. Entonces, vamos,
sígueme. Sígueme. Vamos, vamos,
aquí. Bien. Pero una vez que llega al
enemigo a distancia, se queda atascado Así que vamos a resolver ese
problema, ¿de acuerdo? Ahora, la forma en que
vamos a resolver ese problema es que
entraremos en el Blueprint Me NEM Bien. Y seleccionaremos su componente cápsula porque ese es el que está
ocurriendo la mayor parte de esa colisión, ¿de acuerdo? Ahora vamos a entrar en detalles, y quiero
buscar su colisión. Ahora, ahora mismo, está configurado
para bloquear toda dinámica, y cambiemos eso a pastor. Ahora que está en un estado personalizado, observe que podemos cambiar sus respuestas de colisión
en todos los ámbitos. Entonces lo que haremos es seleccionar peón y
lo configuraremos para que ignore,
así se puede configurar para que ignore, así se puede configurar para que ignore superponga o bloquee, pero
simplemente lo
vamos a configurar para ignore por completo los
peones en general, Una vez hecho eso,
compilamos rápidamente. Ahora vamos
a probarlo rápidamente y ver si realmente va
a hacer el trabajo. ¿Bien? Bien. Y ahí está. Entonces ahora ignora
completamente, Oh, chasquido, necesito correr Ahora bien, morí. Pero se puede ver
que ahora ignora por completo al enemigo a distancia y ya
no se quedará atascado en Sí, esa es básicamente la
solución. Sigamos adelante.
89. 86 Crear un campo de ataque para el enemigo rangado: Bien. Déjame
mostrarte rápidamente el resultado final porque el enemigo atacaba
constantemente, pero ahora ataca al jugador. No obstante, una vez que salgo
de cierto alcance, deja de atacar al jugador. Cuando vuelvo a estar al alcance,
empieza a atacar. Y una vez que salgo
de ese rango, inmediatamente
deja de atacar al jugador. Eso es lo que queremos. Ahora déjame llevarte paso a paso por
el código. Entonces, entremos en
el enemigo a distancia. Lo primero
que vamos a hacer es sumar en una esfera grande. Entonces este tipo de esfera
requiere que entres, por
supuesto, en la cápsula
y agregues una esfera. He puesto mi esfera en
unas 20 unidades de radio. Puedes configurarlo como
cualquier radio que quieras. Y estoy llamando a esa esfera rango de ataque de
colisión. Una vez que el rango de ataque esté configurado, simplemente agregue simplemente agregue dos eventos
diferentes, ¿de acuerdo? El primer evento es start overlap y end
overlap es el segundo. Una vez que haya creado esos
dos eventos, entremos en el gráfico de eventos. Ahora bien, lo primero que
queremos hacer es justo antes de que la detección
del jugador comience a verificar si hay ventaja, queremos que haga una simple
verificación bajo una nueva variable, que es una booleana,
llamada en rango de ataque Básicamente, sostiene si el jugador está o no
en el rango de ataque. Entonces, si es cierto, continúa. Si es falso, no hace nada. Ahora, cuando se trata de lidiar realmente con
el rango de ataque, comencemos por
mirar los dos eventos. Tenemos el componente
start overlap event. Y tenemos el evento de superposición
final del componente. Ahora, eso lleva a
dos cosas distintas. Ambos están siendo arrojados
al héroe porque solo
queremos que el componente sea
el héroe para causar esto Y ahora, si ha
comenzado el solapamiento, establecerá en
rango de ataque a true. Si está terminando la superposición, establece en el rango de ataque a off, y luego solo por claridad
visual. Muestra si está
en rango de ataque, se muestra en rango de ataque. Una vez que esté fuera del alcance de ataque, se imprimirá a salvo, y se establecerá está disparando bola
mágica se apagará para
evitar que el enemigo a
distancia dispare la pelota Vamos a verlo en tiempo real. Ahora he entrado al alcance de ataque. Ahora estoy a salvo. Estoy en rango de ataque.
Ahora estoy a salvo. Pero ahora aunque el rango de
ataque está ahí, ahora entramos en el rango de
detección, ¿de acuerdo? Porque esto también
tiene la sensación de pata que en realidad
causa los ataques. Entonces ahora que estoy en el rango de ataque, golpeé el peón sintiendo y
empieza a atacarme. Pero cuando me voy, ahora estoy a salvo, y deja de atacarme y
lanzarme proyectiles Esa es la lógica simple utilizada para crear un rango de
ataque alrededor del enemigo a distancia y luego usar la detección para manejar el lanzamiento de proyectiles
hacia
90. 87 Una mirada al nivel: Todo bien. Entonces ahora
que hemos terminado, trabajando en estas IA, realidad
vamos a ponerlas
dentro de un nivel. Volvamos a los niveles y ahora que hemos terminado con algún trabajo en
el nivel desarrollador, entremos en el nivel uno. Ahora bien, este es nuestro nivel uno
actual, y vamos a hacer un
poco más de diseño de niveles porque este nivel estaba
configurado para ser muy abierto. Vamos a
comprimirlo para que ocupe un área mucho más pequeña y hacerlo es
en realidad bastante sencillo. Conseguiremos estos dos objetos en el inicio de nivel y los
moveremos aquí. Bien, mucho, mucho mejor
con solo este cambio. Y luego tenemos nuestro personaje de
jugador. Entonces ahora mismo, esto es
desde el inicio de nivel. Oh, hay
algo más que no agregamos. Entonces está este pequeño bloque
que agregué al nivel. Bien, la estoy arrastrando hasta aquí. Arrástralo justo por aquí. Básicamente evita que el jugador suba completamente las
escaleras, a solo una cuadra. Y ahora tenemos estos pequeños pasos que el jugador puede pisar y
por favor asegúrese, que dentro del activo de
mega escaneos, si ha utilizado un activo de
mega escaneo, que para asegurarse de que la
colisión funcione correctamente, asegúrese de buscar la configuración de
colisión en él, y desea asegurarse esté configurado para usar colisión
compleja tan simple
para garantizar que el jugador puede
pisarlo correctamente. Ahora que tenemos
eso, veamos, tenemos al jugador a
partir de aquí. Haremos que entren, y luego
comenzarán luchando contra un solo enemigo cuerpo a cuerpo Entonces después de eso,
avanzarán y habrá
un enemigo a distancia allá arriba, y luego va a haber
un enemigo cuerpo a cuerpo más
que necesitan para luchar,
y luego enemigo a distancia Y una vez que terminen, suben las
escaleras y
va a haber un
personaje jefe aquí arriba, ¿de acuerdo? Ahora hagamos un diseño básico de nivel
adicional. Estoy entendiendo eso y copiándolo. La razón por la que estoy haciendo
eso es porque quiero,
veamos, Bien, esto no va a
ser lo suficientemente bueno para mí. Lo que vamos a hacer es
que vamos a agregar en una forma, y tal vez te preguntes qué forma, solo
queremos un
cubo simple. Vamos a escalarlo. Desbloqueemos la escala. Pienso escala de 50 en la X, diez en la Y y luego
50 en la horizontal. ¿Bien? Entonces ahora tenemos
esta enorme sombra proyectada, y luego seleccionaré ese bloque. No lo voy a poner en rotación. Lo pondré en movimiento. Vamos a avanzar de esta manera. Bonito. Entonces ahora está proyectando esta enorme sombra grande por allá. Déjame mover la cámara
hacia adelante de esta manera y solo quiero ajustar
esa sombra un poco. ¿Bien? Esto es como hacer trampa
real en el desarrollo de juegos, ¿de acuerdo? Usar un
objeto artificial para proyectar una sombra. Entonces ahora está esa sombra, que creo que hace que
se vea mucho mejor. Entonces ahora cuando saltes por encima, viniendo aquí,
tendrás algunos enemigos que luchar. Y luego una vez que los enemigos han sido combatidos, avanzas, y luego
subes por las escaleras, y en esta zona sombría es donde se
va a pelear al jefe Esto es perfecto. Pero ahora, notarás que
nuestro material de sprites no
responde a la luz Así que vamos a ajustarlo para que realmente pueda
responder a la luz, y podamos ver claramente cuándo el jugador ha entrado en
el área de sombra. Hagámoslo en el siguiente video. Y luego haremos
algún diseño de niveles, bajaremos un par de personajes, y luego
llamaremos al Tutorial un wrap después de que
te haya enseñado el ejercicio final, que va a ser crear
un jefe enemigo. Vamos.
91. 88: Cómo hacer que el sprite del jugador reaccione a la luz: Bien, entonces he puesto al jugador justo alrededor
del área que está siendo causada por
ese pequeño objeto allá porque ahora mismo, cuando los jugadores en la
sombra, se ven tarde. Cuando el jugador está en
la luz, se ven tarde. Entonces podemos hacer un ajuste
sencillo para hacer que reaccione a la luz. Entonces, lo primero es lo primero, entra en configuración y asegúrate de que contenido
del motor de espectáculos y el contenido de show plug in estén ambos seleccionados. Lo que eso va a hacer
es exponer Unreal Engine a todo su
motor y enchufar contenido Esa es la razón por la que
estamos haciendo eso es porque vamos a entrar en el reproductor y luego vamos a seleccionar
el libro de papel y notar que su material
actual está
configurado en el material de sprite enmascarado y
no iluminado,
y queremos cambiarlo
hasta el material y queremos cambiarlo
hasta de sprite iluminado enmascarado,
que va a abrir nuestro
sprite a recibir Entonces entremos al
nivel uno, dale play. Noto que ahora nuestro sprite está aceptando la luz y
está reaccionando ante ella. Los cambios de color se basan en la iluminación de
rebote a su alrededor. Literalmente, cuando la
capa está fuera de luz, se
puede ver que
eso es bastante genial. Y ahora, cada vez que
el personaje jugador se mueve hacia un área oscura, puedes ver la oscuridad
a su alrededor. Eso es genial. Pero ahora que ya lo hemos hecho, agreguemos un poco de
luz al personaje que siempre tenga
algo que esté brillando luz. Ahora, para hacer eso,
simplemente entramos en el héroe, seleccionamos el componente cápsula. Y lo que queremos hacer
es que queremos añadir luz. Bien, comenzaremos
con una luz puntual básica. Vamos a arrastrarlo hasta
aquí. Y por aquí. Ahora, el personaje siempre
llevará consigo un poco de
luz. Muévelo hacia el personaje. Veamos cómo se ve eso. Observe aquí, es
un poco demasiado brillante, está brillando en todo. Pero cuando el personaje jugador
se encuentra ahora en una zona oscura, todavía
tienen una luz
sobre ellos. Podemos entrar. Levanta su posición
y muévelo más atrás para ablandarlo un poco, y luego ahora mucho mejor
no visible en áreas claras Pero una vez que
entres en un área oscura, solo
se está
poniendo un
poco de luz sobre el
personaje del jugador que realmente lo está ayudando a verse un poco
más y en la escena. Bien. Ahora, puedes hacer todo tipo de
ajustes a la iluminación. Puedes cambiar su posicionamiento, puedes cambiar donde está. Todo se reduce a ti, pero esa es solo una forma genial agregar algo de vida a tu sprite
92. 89 toques generales para el nivel: Todo bien. Así que
déjame rápidamente solo hacer un poco de diseño suave y de
nivel lento. Entonces he agregado en otra plataforma aquí,
agregué esto aquí. Bien, así que vamos a ver rápidamente. ¿El jugador puede llegar a
esa plataforma? Sí, el jugador puede llegar a
esa plataforma. Eso es bueno. Déjame opy y pega eso. Asegúrate de que estos dos se
junten correctamente. ¿Puede el jugador saltar sobre esta plataforma y
luego esta excelente. Ahora, asegúrate de
que sea un desafío. Siempre es bueno
poner al enemigo arreglado en un lugar difícil de alcanzar
para el jugador. Permítanme elevar su posición
sólo un poco. A ver. Cómelo y es agradable. Ahora que ese
enemigo a distancia está allá arriba, estoy por aquí y lo
pongo, aguanta, déjame
asegurarme de que su posición es negativa uno, negativo 20 Ahora ese es un enemigo a rango. Voy a poner a otro
enemigo a distancia justo por aquí. Negativo en el
posicionamiento, bueno. Entonces voy a poner
un neem cuerpo a cuerpo. Esta es la siguiente fase
de desarrollo de juegos. Cuando hayas terminado
con tu planeación, vas a hacer
tu código de arte y animación y luego audio. Eso va a hacer componentes
individuales, pero los componentes individuales realmente
no hacen que el juego este enemigo sea el personaje
jugador, los niveles. Lo que realmente hace un juego es cuando estos componentes se
juntan de una manera de
interactuar entre sí. Oh, perdón por eso. Observe que está
luchando por moverse, ¿por qué? Porque le falta navegación. Agreguemos rápidamente veamos, una gran malla nerviosa limita el volumen Permítanme aumentar su tamaño
para ser alrededor de 20 aquí, excelente, y luego aumentar
su altura para ser alrededor de 20. Eso es demasiado profundo. No,
no necesito mucho ancho. Pongamos eso a unas diez. Bueno y luego moverlo sobre todos estos
diferentes personajes. Bien. Ahora, en cuanto a su altura, déjelo caer al
suelo para empezar, pero luego significativamente
buffets de altura a, digamos, 20, para que sea
capaz de mirar estas áreas de
navegación Bien, 20 es razonable. A lo mejor podamos ir un poco más alto. Hagamos eso 30. Bueno. Hay estos límites de navegación, aumentar un poco su ancho, aumentar su longitud alrededor de 30 Creo que 30 es justo
para aquí. Entonces como esto bloquea al auto
enemigo, ya es bastante bueno. Después copiaremos ese límites para crear
un segundo volumen de límites Y ese volumen encuadernado
sólo va a escalar su ancho hacia abajo porque este siguiente sólo
va a aguantar. No quiero que
llegue hasta las escaleras. Aquí estamos perfectos
y luego copiamos eso y lo pegamos en
el mundo, y aquí. Este siguiente
volumen de límites tiene que ser aún más pequeño porque todo lo que
tiene que hacer es manejar
la arena de aquí Bonito. Por lo que nuestros enemigos son
capaces de moverse por todas esas zonas. A continuación, dejaré caer a otro enemigo
masculino por aquí. Eso es dos, claro. Y Valla tenemos las makings
de un nivel muy básico. Oye. Ahora, nuestros enemigos en realidad son
capaces de perseguirnos adecuadamente. Ese está muerto. Bonito. Ahora que venimos hasta aquí, nos están lanzando bolas
mágicas. Oye, oye, mueres, mueres. Ese también está muerto. Y ahora, muere muere dos, y ahora que eso está hecho, seguimos adelante triunfalmente Ahora fíjate que este
material de sprites no llega tarde, así que vamos a
hacer algunos ajustes solo a ese material de sprites Entonces seleccionaremos
al enemigo a distancia, iremos a Viewport, seleccionaremos el libro de papel y lo ajustaremos al material del sprite
tardío Y luego le vamos a
agregar una luz puntual. Bien. En realidad, vamos a traerlo
aquí. Algo así como aquí. Eso está bien. Y luego
vamos a ajustar rápidamente el
color de las luces para que sea verde. Oh, eso es verde. Perfecto. Y entonces vamos a ahora que hemos ajustado
esa luz para que sea verde, lo siguiente que vamos
a hacer es que vamos a reducir el radio. A ver. Vamos a bajar su
radio de atenuación. No 200. Hagamos 150. 150 no es suficiente, 100. Bonito. Ahora, ese es un pequeño radio de
atenuación agradable ahí mismo. Eso es bueno. Ahora con eso, volveremos al nivel. Y esta vez, creo, déjame sacar al personaje del jugador
y moverlo hasta
aquí para que podamos llegar rápidamente a la acción, matar a este tipo. Bien, ven aquí. Ahora miren eso. Oh,
pero tenemos un problema. Entonces ahora mismo en el campo enemigo, el centro de atención está
bajo el flip book, así que está siendo volteado Entonces ahora vamos a conectarlo
al componente cápsula para
que no se dé la vuelta. Bien. Adiós. Ahora es tarde y tiene ese
pequeño resplandor verde. Pero siempre podemos ajustar la
posición del resplandor verde. Podemos ponerlo más cerca de
los pies y
echarlo atrás solo un poquito. Sólo un poco. Podemos bajar
su intensidad a 2,500 y luego aumentar un
poco su radio de
atenuación y luego volver a bajar su
intensidad a 1,500 Ahora con eso, echemos un
vistazo a cómo se ve en ganancia. Por favor, muere.
Te ataco, adiós. Ahora se ve bien, pero ahora está un poco demasiado
cerca del suelo. Tenemos pero eso es genial. Todavía hace frío para ver eso. Vamos a aumentarlo un poco. De vuelta aquí, y luego levantarlo un poco más. Eso
debería estar bien. Lo siguiente que vamos
a hacer es en el EM a distancia, abramos ese proyectil, y luego vamos a
agregar en una luz una luz, LUZ, una
luz puntual Bien. Voy a
arrastrarlo por aquí. Y entonces, claro, color
claro va a
ser verde que bonito verde. Y luego el radio de atenuación lo
bajará a aproximadamente 150 es demasiado. Hagámoslo 100 y veamos si esta en
cuál está la esfera? Bien. Entonces ahora veamos
cómo se ven los proyectiles ¿Por a mí un proyectil? Sí, ahora los proyectiles tienen una pequeña luz agradable
que se mueve con ellos Es solo un toque suave. Ten en cuenta, claro que puedes Oh, Dios mío. Muere, muera, muera, muera. Bien, te has ido. Ahora, todo esto es solo para
mostrarte algunos pequeños toques. Esto es sin siquiera agregar tu propio audio personalizado o los efectos de
calor y el daño. Ahora es el momento para mí
en el siguiente video, te
voy a dar tu prueba final, que va
a ser para crear un jefe EM. Con todo lo que has aprendido, todo debería unirse.
93. Haz un enemigo jefe como práctica final: Ahora que has ido aprendiendo todo lo que
tengo para
enseñarte sobre los fundamentos
del desarrollo 2.5 d, ya
estás listo para
tu práctica final Ahora, lo que harás en esta área o en cualquier
área que hayas designado para tu personaje
jefe es que vas a
crear un jefe enemigo, y esta es tu prueba de
práctica final antes seguir adelante creando
tus propios proyectos de juego. Ahora, las animaciones
que vas a usar para ese proyecto
se van a
encontrar todas en una simple plantilla
gratuita cada punto IO llamado Demon
slime y tiene muchas animaciones
diferentes
desde
comenzar como un pequeño blob hasta cuando puede elevarse como un personaje jefe
completamente madurado Tiene una animación de ataque, tiene un alto y tiene llamas además de
lanzar un hechizo. Ahora, el enlace para esto se va a
incluir con el curso. Ahora, una vez que tienes eso
y lo has importado, ahora
tienes todos
los conocimientos que necesitas para crear un jefe sencillo. Como simple ilustración de
lo que podrías hacer es que podrías tener al jefe viniendo
y atacando al jugador. Ese es un
ejemplo simplificado, ¿de acuerdo? Y entonces puedes hacer otras
cosas, como, por ejemplo,
golpear para que una vez que el jefe haya sido atacado
a cierto nivel, genere en enemigo arreglado Ahora, ojalá pueda
conseguir esto de una sola vez. Me ha dañado. Se acabó el juego. Bien. Entonces ese es un ejemplo
sencillo. Ahora bien, hay muchas
formas de diseñar la IA de jefe, pero un consejo rápido que te
daría es que esta está configurado con
dos fases diferentes. En la primera fase, lo
único que hace es hacer un ataque
cuerpo a cuerpo cuando está en el rango En la segunda fase, se genera en un
solo enemigo a distancia que está destinado a
atacar al jugador Eso es solo un simple conjunto de
ejemplos de lo que
podrías hacer para ser creativo. Si añades en el tocón, podrías hacerlo para
que en la fase uno, seleccione aleatoriamente entre un ataque cuerpo a cuerpo y
el tocón o lanzar un hechizo se pueda llamar
como animación antes de que traiga a
ese enemigo a distancia Hay muchas maneras de
crear un jefe. Sólo puedo hacer recomendaciones. Depende de ti como desarrollador
de juegos crear
cosas por ti mismo. Con ese ejercicio de
práctica final, quiero
agradecerles por completar el curso de
desarrollo de juegos de 2.5 d. Espero que hayas aprendido mucho para avanzar
en el desarrollo de juegos. Recuerda siempre
pensar bien, planificar antes de ejecutar. Y finalmente, realmente recuerden que planear las cosas
está realmente dominada, ¿de acuerdo? Planear está bien. Así que no tengas miedo como desarrollador de
juegos a solo escribir cosas y
usarlas como tu guía. Y mi último consejo sencillo es en
aras de simplificar cómo te gusta desarrollar juegos Siempre comienza con un diseño
generalizado, luego pasa al código y luego, por último, más bien
después de ese arte. Y luego, por último, audio para lo que sea que
estés haciendo por tu juego. Hasta la próxima vez que nos encontremos, soy hiper dev y en
caso de cualquier duda, puede enviarme un mensaje, pero espero que hayas aprendido
mucho de este curso De lo contrario, sal
y no olvides que juego de
tus sueños no se va a construir solo. Te lo ruego bien.