Bienvenidos de nuevo, mis compañeros desarrolladores de juegos.
Por lo que acabamos de hacer que nuestro juego sea mucho más fresco.
Entonces ahora cuando debemos premiar,
no sólo tenemos nuestras balas desapareciendo.
Tenemos nuestra bala va en una bocanada de humo.
Entonces cuando disparamos por ahí,
se puede ver que tenemos este pequeño efecto fresco que se destruye.
Observe aquí mismo que se destruye después de un cierto tiempo,
que es algo que sí tenemos que tomar en consideración.
Entonces, no perdamos más tiempo y empecemos.
Ah, así que es hora de agregar algo de peso a nuestros impactos de bala.
Y lo haremos agregando un efecto de impacto.
Entonces voy a entrar a los activos y voy a entrar a la carpeta sprites,
y voy a crear una nueva carpeta aquí dentro,
que será el hecho de las balas.
Y aquí dentro vamos a entrar a los recursos.
Y les he proporcionado un par de hechos que encontré.
Puedes usar el que quieras.
O también puedes encontrar algunos en el sitio web,
open game art.com o cualquier otro sitio web.
Por lo que se puede ver aquí mismo tenemos tres efectos.
Este con un poco de humo,
éste con un poco menos de humo,
pero es un poco raro.
Y éste, ahora voy a usar el OH,
así que ven que tiene el impacto metálico de impacto.
Metal impacto metal.
No se preocupe por eso.
Sólo tendremos que ver con lo que tenemos.
Usaremos el metal de impacto.
Usaré el primero. Seguro.
¿ Por qué no?
Entonces, ¿cómo vamos a hacer esto?
Vamos a rebanar el sprite.
Vamos a crear una animación y luego vamos
a reproducirla cada vez que golpeemos el objeto.
Voy a rebanar esto si quieres.
Podemos hacer esto juntos al mismo tiempo y ver quién lo hace más rápido o mejor.
Por lo que a primera hora, seleccionamos el primero 1.
Primer impacto, hazlo múltiple.
Aplicar cambios.
Hagámoslo punto.
A lo mejor no hace falta que lo apunte.
Adelante y Sprite Editor.
De acuerdo, la partícula de humo o no visible,
pero vamos a seguir adelante y rebanar esto por tamaño de rejilla.
Veamos qué tan grande es esta cuadrícula.
Entonces tenemos 1, 2, 3.
De acuerdo, así que voy a conseguir mi calculadora a mano.
Y la forma en que voy a rebanar esto es porque tenemos este 960.
Se puede ver aquí abajo a la derecha,
960 en la horizontal y 576 en la vertical.
Por lo que 576 dividido por,
porque hay tres líneas,
creo que son 192.
Entonces en el eje Y, es 192.
Y aquí dentro tenemos 12345,
lo que 960 dividido por 5 también 192.
Genial, debería haber visto venir eso.
Por lo que hemos rebanado cuadrados.
Muy bonito.
Aplicar los cambios.
Ahí vamos.
Ahora tenemos todos estos.
Voy a crear un nuevo objeto de juego aquí dentro,
y este será el impacto de bala.
Por lo que impacto de bala en pared.
Y ahí vamos. Aquí está.
Voy a seguir adelante y agregarle un renderizador sprite.
Entonces sprite renderizador, y yo sólo le voy a dar este efecto aquí mismo.
¿ Dónde está?
Añadamos este impacto de hecho aquí mismo.
¿ Podemos verlo?
¿ Es visible?
Está atrás. ¿Deberíamos crear una capa de clasificación?
Seguro. ¿Por qué no?
Vamos a seguir adelante y crear o podemos hacer una capa profunda de clasificación de viñetas.
Las balas. Claro, dejémoslo así porque obviamente es parte de las balas,
así que es lógico hacerlo en la capa de balas que lo colocará aquí.
¿ Eso es lo suficientemente grande? A lo mejor queremos hacerlo más grande.
Vamos a seguir adelante y hacerles pensar que 50 es mucho.
Hagámoslo 75 y veamos qué tan grande es eso.
De acuerdo, tal vez podamos agregar, hacer 50,
aplicar eso, y tal vez quitar el punto,
hacerlo bilineal para que sea un poco más suave.
Sí, eso me gusta más.
Entonces ahí lo tienes. Este será nuestro impacto.
Voy a agregar un componente de animador aquí.
Y elijamos éste.
Animaciones en realidad.
Claro, Vamos a seguir adelante y crear.
Esto será en las animaciones patrimoniales.
Y a esto se le llamará el muro de impacto de bala.
Y yo lo llamo la bala impactante.
Bueno, porque más adelante tendremos diferentes tipos de impactos.
Entonces aquí dentro vamos a tener la bala.
Pared de bala golpeando.
Guarde eso.
Ahí vamos. Entonces puedes ver de inmediato porque ya teníamos el componente animador,
el controlador es enviado aquí que ha movido
un poco la animación para que podamos conseguir todos estos,
ponerlos aquí, y ahora volver a poner la animación.
Ahora, juguemos esto.
Está bien, muy bonito.
Creo que es un poco rápido.
O tal vez eso sea perfecto.
A ver.
Simplemente lo haré un poco más amplio.
Está bien, genial.
Creo que eso es suficiente.
Pero sigo pensando que 50 es un poco demasiado.
A lo mejor hagámoslo 18 son no,
guarde eso. Y animaciones.
Vamos a jugar esto.
De acuerdo, creo que ya es lo suficientemente bueno.
Entonces voy a guardar esto.
Voy a entrar a los activos,
ir a los prefabs,
y voy a hacer de esto un prefijo o el impacto de bala ahora es un prefabricado.
Está en la visita,
los sprites están en la capa de bala y tenemos todo preparado.
Espero que hayas hecho lo mejor posible y creando esto o si no lo hiciste,
espero que te hayas seguido y no fui demasiado rápido para ti.
Entonces ahora, ¿qué vamos a hacer?
Ahora necesitamos instanciar este efecto cada vez que una bala golpea una pared.
El modo en que hacemos eso es emitiéndote un reto.
Por lo que tu reto es instanciar el efecto.
Por lo tanto, encuentra tu propio efecto de impacto si lo necesitas.
Para que puedas pasar por el juego abierto, nuestro sitio web,
o a través de HIO o simplemente buscando en Google.
A lo mejor si eres un buen artista,
puedes crear el tuyo propio y conseguir una referencia
al impacto en el script del controlador bullet.
Y asegúrate de instanciar el efecto antes de que la bala se apoye.
Así que pausa el video ahora mismo y ve a hacer el reto.
De acuerdo, bienvenido de nuevo.
Por lo que de vuelta en nuestra bala de jugador aquí dentro,
voy a crear una referencia al campo serializado a la bala.
O va a ser un objeto de juego,
el efecto impacto de bala.
Guarde eso.
Y lo que haremos es antes
destruir o ser destruidos o antes de que la bala sea destruida,
vamos a instanciar el efecto Impacto de bala.
Y va a ser dónde, ¿dónde debería estar?
Va a estar en la posición de transformación,
la punta de bala, y la rotación de transformación de esa bala.
Entonces voy a guardar todo eso.
Voy a volver a Unity.
Voy a elegir la bala del jugador.
Ahora tenemos un hecho de impacto.
Podemos agregarlo aquí mismo.
Podemos ahorrar eso.
Nosotros sólo vamos a revisar al enemigo a 1 segundo.
Entonces, ¿qué pasa aquí dentro?
¿ Por qué estamos tan confiados y creando esto?
Y por qué hay un pequeño problema.
Aún así, lo que pasa es que en cuanto instanciamos, se
ve que la capa predeterminada aquí mismo es la bala que golpea la pared.
Por lo que inmediatamente al entrar,
empezamos a golpear de bala a paredes, hecho.
Entonces veamos cómo funciona eso.
Permítanme que me quite esto de aquí.
Sí, creo que puedo quitarlo.
Y una cosa más que quería hacer,
me he dado cuenta de que estos Z estaba en 0,
que yo solo reinicié todos estos, guarde
eso, ejecute el juego.
Entonces ahora debería disparar un muro y al impacto se puede ver que hay una explosión,
pero por alguna razón se puede ver que sigue en marcha.
Entonces si tengo muchas balas, te darás cuenta de
que tenemos muchos hechos y ninguno de ellos se va a ir.
Se puede ver aquí mismo en el impacto de balas en la pared.
Entonces lo que vamos a hacer,
y eso es por la naturaleza de la animación que acabamos de crear.
Si entro en las animaciones,
si entro en la bala,
se puede ver aquí mismo que tenemos el controlador y tenemos la animación.
Y te he dicho anteriormente hace un par de videos
cuando estábamos haciendo las animaciones del jugador,
que hay este tiempo de bucle aquí mismo.
Entonces solo lo voy a quitar,
guardar eso, ejecutar el juego.
En caso de que la bala.
Ahí tienes, explota en la pared.
Ahí vas.
Se puede ver en este momento que el impacto se juega sólo una vez,
pero hay un ligero problema y es que los impactos de bala
en la pared siguen presentes y no están siendo destruidos.
Entonces, ¿cómo vamos a arreglar eso?
Y hay una forma muy sencilla de hacer esto.
Y mientras te enseño a hacer esto,
te mostraré una herramienta extremadamente efectiva dentro de la animación.
Entonces lo que vamos a hacer es que vamos a entrar en los activos.
Vamos a ir a prefabs.
Agregaremos la bala Impacto de nuevo. Y aquí.
Y lo que vamos a hacer es retroceder activos, guiones,
y crear aquí un nuevo guión C-sharp que será el,
veamos, impacto, efecto, destructor.
Y va a ser un guión extremadamente, extremadamente sencillo.
Vamos a golpear Enter.
Y más adelante, me van a recordar poner
cada guión y una carpeta porque a medida que vamos tendremos muchos más guiones.
Voy a añadir el destructor de efectos de impacto.
Voy a abrir esto.
Voy a quitar el inicio y la actualización y sólo voy a hacer un método.
Y eso va a ser un vacío público.
Destruir. Y lo que vamos a hacer,
no, no enDestruir, sólo destruir.
Y lo que vamos a hacer aquí es simplemente destruir el objeto del juego.
Genial, ¿cómo vamos a llamar a esto?
Ahora bien, podríamos llamar a este método desde aquí,
pero eso no es muy efectivo.
¿ Por qué? Porque cuando instanciemos el boletín aquí,
está bien, vamos a pasar por la lógica.
Instanciamos la bala al impactar,
y luego destruimos el objeto del juego,
que es la bala,
porque el controlador de bala del jugador está en la bala.
Por lo que las placas de impacto.
Entonces después de destruir este objeto de juego,
ya no tenemos el controlador de bala del jugador.
No está disponible y podemos demostrarlo.
Entonces voy a crear este hecho de impacto.
Por lo que acabo de poner la bala creada aquí.
Y después de que destruyamos el objeto del juego,
trataré de obtener
el efecto de impacto dot get componente y voy a acceder al destructor de impacto.
Y desde aquí voy a acceder a la destrucción.
Entonces este es el método.
Y ahora si juego mi juego,
te darás cuenta de que tendremos un error.
Entonces voy a mover esto y asegurarme de que aplique los cambios.
Por lo que todo el impacto de bala en la pared tiene
este método y mira lo que pasa cuando disparamos en la consola.
Ahí vamos.
¿ Qué pasa?
Ni siquiera vemos el impacto.
¿ Por qué es eso? Porque hemos sido destruidos.
Y si tratamos de hacer esto antes de destruir el objeto del juego,
veamos esto.
Ejecuta el juego.
Ahí vamos. Por lo que no hay efecto.
Se está destruyendo antes de que siquiera lo veamos.
Entonces voy a comentar esto y podemos mantenerlo como está.
Eso no es problema.
Pero creo que voy a quitar esto.
Y esto será para las pruebas tal vez más tarde recuerden
cómo lo intentamos pero no funcionó.
Entonces ahora tenemos aquí el método de destruir que destruye el objeto del juego.
Y cómo vamos a llamar a esto después de que terminemos nuestra animación,
esta es la parte complicada.
Entonces ahora si voy a la animación mientras tengo el efecto de impactos de bala,
puedo tocarla y veo que al final,
te darás cuenta de que cuando todo el humo se haya ido,
nos queda nada que hacer.
Lo que podemos hacer es aquí dentro tenemos esta pequeña llave y aquí y yo estoy teniendo,
vale, así que agrega un evento.
Podemos sumar un evento en algún momento de la animación,
y esto será crucial más adelante a medida que vayamos por el curso.
No esperaba hacer el solo temprano,
pero no se preocupe por eso.
Podemos agregar un evento.
Y cuando agregamos un evento,
vemos aquí mismo que tenemos animaciones,
evento y funciones que podemos elegir.
Y si hacemos click aquí,
vemos que tenemos la paja.
¿ Por qué sólo tenemos que destruir?
Esta es la destrucción,
que está justo aquí.
Entonces, ¿qué sucede cuando añadimos un evento también,
la animación que tenemos sobre un objeto determinado,
podemos acceder a todos los métodos que están presentes de los métodos públicos aquí mismo.
Y no te preocupes si te sorprendiste un poco de cómo creamos
esto más adelante en el curso,
voy a pasar por cada paso de crear métodos.
Pero por ahora, sólo sepan que podemos acceder a
todos los métodos públicos que están disponibles para nosotros en el objeto.
Entonces, ¿qué pasará ahora?
Al tocar nuestras animaciones,
veremos la explosión,
la bocanada de humo.
Y cuando lleguemos al último cuadro,
se activará este evento,
que es el destructor.
¿ Y qué hace esto destruye?
Entra aquí y destruye el objeto del juego,
que está sosteniendo el destructor de efectos de impacto,
que es el impacto de bala en la pared.
Por lo tanto, asegúrate de aplicar todos los cambios y la anulación.
Voy a la cabeza la bala Impacto.
Yo voy a correr el juego.
Y cuando disparo un muro,
deberíamos ver el efecto,
pero no lo hacemos. ¿Por qué es eso?
Volvamos aquí.
¿ Guardamos estos cambios?
Probemos esto otra vez.
Creo que eso es porque no hemos guardado el guión.
Corrimos el juego.
Vemos la bocanada de humo.
Y ahí tienes.
Se puede ver que ha desaparecido de la jerarquía.
Entonces ahora vamos a probar esto un poco mejor.
Ahí lo tienes, puedes ver el efecto de impacto que ocurre a nuestro alrededor.
Y entonces todo el efecto desaparece.
Y es mucho más efectivo.
Es mejor que tener muchos objetos de juego en nuestra jerarquía,
ocupar espacio, ocupar memoria RAM crucial,
y la obstrucción del sistema.
Entonces espero que hayas disfrutado,
espero que estés haciendo lo mejor de ti en cada reto.
Espero que estés disfrutando de las cosas nuevas que agregamos cada vez.
Voy a escenificar todos estos.
Voy a decir que agregó bala Hecho de impacto
y lo destruyó, destruido después.
Usando eventos con un signo de exclamación,
porque esto es, los eventos son una herramienta increíble que no verás muy a menudo la gente usa.
Entonces espero que lo disfruten y los veré en el siguiente video donde estaremos
agregando los efectos de trail a nuestras balas, de ahí,
haciendo órgano mucho más fresco.