Bienvenidos de nuevo a mis compañeros desarrolladores de juegos a un video totalmente nuevo.
Y como pueden ver,
ahora tenemos un círculo amarillo.
¿ Qué hace este círculo amarillo cuando ejecutamos nuestro juego?
Se puede ver que si entro al círculo amarillo,
no pasa nada y simplemente hacer que el enemigo se acelere un poco menos.
Si entro en el círculo rojo como normal,
empieza a perseguirnos.
Traté de escapar.
Yo estoy dentro del círculo amarillo,
pero él todavía nos persigue.
¿ Qué está pasando?
El único modo de ganar es salir del círculo amarillo.
Además, así es como te alejas
del enemigo porque él empezó ahora ya no te quiere perseguir.
Entonces, no perdamos más tiempo.
Empecemos.
Y me olvidé de decirte que necesitas comprometer tus cambios al final.
No olvides hacer eso.
Entonces empecemos k
Así que ahora tenemos al enemigo sabiendo
dónde está el jugador en base a cierta distancia que está de él.
Cuando el jugador llegue a cierta distancia,
un cierto rango de persecución,
el enemigo lo sabrá y comenzará a perseguir al jugador.
Bueno, él no hace eso físicamente,
pero podemos ver por la lógica y el código que conoce,
¿cómo vamos a hacer esto?
En primer lugar, vamos a determinar la dirección en la que se estará moviendo este enemigo.
Entonces si la distancia es menor que el rango de persecución del jugador,
voy a detener la depuración y voy a guardar que la dirección para entrar, va a
ser igual al rango de persecución del jugador o no alineación Eclair para perseguir capa
para perseguir posición de punto menos la posición de transformación.
Entonces esto es igual a la fórmula que usamos.
El 2 el arma y la dirección correcta,
elegimos la posición,
quitamos la posición del jugador a perseguir.
Le restamos la posición del enemigo al
jugador para perseguir posición y de esa manera obtenemos la dirección.
Entonces es similar a la forma en que estamos señalando nuestro ido,
puedes volver atrás y ver cómo funciona eso.
Ahora lo que vamos a hacer después de conocer la dirección en la que nos estamos moviendo,
vamos a normalizar esa dirección.
Porque no queremos que el enemigo sea más rápido cuando se mueve diagonalmente.
Entonces normalizamos.
Y luego vamos a acceder al cuerpo rígido.
Por lo que el cuerpo rígido enemigo consigue la velocidad y va
a ser igual a la dirección para mover n veces el enemigo.
Habla.
Guarda eso.
Y ahora volvamos a nuestro juego.
Veamos cómo funciona eso.
Voy a establecer la vista de juego junto a la vista de escena para que podamos ver cómo funciona el rango.
Cuando lleguemos a rango,
voy a correr el juego.
Entonces ahora mientras me acerco al enemigo,
sí, allá vamos, no pasa nada.
¿ Por qué es eso?
Bueno, porque aquí tenemos el pequeño error y que el objeto,
no tenemos referencia al ancho.
¿ Por qué es eso?
Porque estamos tratando de acceder al cuerpo rígido enemigo,
pero no lo hemos puesto.
Por lo que el cuerpo rígido NMI,
el punto es igual al componente de deuda, cuerpo rígido 2D.
Ahí vamos.
De acuerdo, ahora todo debería estar funcionando bien.
Detengamos el juego, corremos de nuevo.
Y ahora nos estamos acercando. Y ahí tienes.
Se puede ver que el enemigo en realidad nos persigue.
Y obviamente necesitamos arreglar un par de cosas,
pero está funcionando.
¿ Qué pasa si estamos fuera de alcance?
Estoy tratando de salir de rango.
Está bien. Entonces no funciona.
Déjame solo en primer lugar,
bueno al menos está funcionando.
No es perfecto, pero está funcionando.
Entonces déjenme fijar éste.
Déjame hacer el rango un poco más pequeño porque quiero demostrar algo.
Y hagamos la velocidad también para que podamos escapar.
Yo voy a correr el juego.
Voy a acercarme al enemigo y luego me voy a parar, soy pasarela.
Entonces como puedes ver,
el enemigo sigue caminando y finalmente golpea una pared.
Entonces, ¿cuál es el problema aquí?
El problema es que el enemigo seguirá teniendo el impulso con ellos.
Entonces me acerco, me alejo.
Y aunque no lo esté y el campo de tiro sigue caminando sin pensar, ahora,
esto no estaría muy mal si fuera un zombie,
pero al parecer es un esqueleto,
por lo que debería parar.
De acuerdo, debería parar aunque bromas.
Y veamos qué podemos hacer.
Entonces aquí dentro, lo que debemos hacer es cuando estamos a alcance,
estamos persiguiendo al enemigo.
Si estamos fuera de rango,
la dirección para movernos será igual al vector 3, 0.
Ahí vamos. Esa fue la dirección para entrar y el vector tres,
vale, Sí, lo fue. Entonces guarde eso.
Entonces ahora cuando salgamos del alcance,
debemos dejar de perseguir al jugador.
Entonces házmelo saber qué.
Usemos una vista diferente, un diseño diferente.
Podemos usar el dos por tres.
Ahí vas. Esta es una buena manera también de ver el motor Unity.
Por lo que puedes ver ahora mismo cambiar esto de tres aspectos a 19 para 1920 para 1080.
Ahora podemos verla vista de escena con claridad y la vista del juego con claridad.
Corremos el juego y nos acercamos y al rango de persecución.
Ahí vamos.
puede ver que nos sigue persiguiendo cuando estoy fuera de ese rango.
Se puede ver que se detiene de inmediato.
Ahí vas. Se puede ver en cuanto entre yo, se detiene.
Cuando estoy fuera, deja de perseguir.
Está bien, genial.
Entonces, ¿qué hizo eso?
Espero que lo disfruten.
Ahora podemos hacer que la persecución alcance un poco más grande
porque sabemos si nos alejamos lo suficiente del enemigo.
Ahí vas.
Se puede ver que deja de perseguir a las chicas.
Ahora, puedes agregar una capa extra de inteligencia al enemigo si quieres,
puedes crear un rango de parada.
Por ejemplo, digamos que tenemos este rango,
tenemos otro rango.
Y si el jugador,
si podemos salir de ese rango,
el segundo, entonces el enemigo dejará de perseguirnos.
Y eso va a ser en realidad un reto para ti.
Entonces, ¿cómo te gustan las transiciones al reto ahora, hay mejores, ¿verdad?
Te tengo desprevenido ahí, ¿no?
Por lo que espero crear una variable de rango de seguir persiguiendo.
Tendrás que dibujar ese rango usando los artilujos.
Necesitas crear un booleano está persiguiendo.
Eso es cierto al perseguir y falso cuando estamos fuera del cierto rango.
Y por último, necesitarás crear una declaración else if que verifique si
estamos persiguiendo y estamos dentro del rango de seguir persiguiendo.
Por lo que espero que hayas entendido el reto.
Es un poco duro.
Necesitará un poco de configuración,
pero estoy seguro de que estás a la altura del reto.
Así que pausa el video ahora mismo y ve al caso Shalon.
Entonces lo primero que vamos a hacer es que vamos a crear una nueva variable aquí dentro,
que va a ser el seguir persiguiendo.
Y lo llamaremos el jugador mantenga a alcance Chase.
Y entonces estamos creando un booleano.
Y aquí que vamos a llamar,
lo haré privado o saber qué,
hagámoslo público para que lo veamos y luego lo haremos privado.
Y booleano público está persiguiendo.
Entonces el siguiente paso,
cuál fue el siguiente paso y el reto que vemos, dibujar,
vale, entonces vamos a dibujar el círculo aquí mismo.
Yo sólo voy a tomar esto y duplicado.
Entonces Control D como siempre,
hagámoslo amarillo.
Y este será el rango de las persecuciones de mantener.
Guarda eso.
Y ahora qué tenemos que hacer a continuación?
Tenemos que crear un booleano como rastreo con eso.
Y bien, entonces, ¿cuándo es verdad?
Es cierto aquí cuando estamos dentro del rango y empezamos a ir tras el jugador.
Así es perseguir es igual a verdad.
Entonces, ¿qué pasa si salimos de este rango?
El está persiguiendo se vuelve falso.
Pero en el medio, queremos crear un if else o else, if.
De lo contrario, si el vector o la distancia del jugador
y el enemigo sigue siendo menor que v0, mantén el alcance de Chase.
Y así esto es para, es perseguir.
Lo que vamos a hacer es que vamos a mantener la dirección tal como está.
Ahí vas.
Guardemos eso. Veamos una vez más y este código y a ver si todo funciona.
Por lo que hemos creado el rango,
lo hemos hecho amarillo.
Lo que pasa aquí es cuando el jugador entra al rango de perseguir,
la dirección se convertirá en el jugador a perseguir.
Y entonces vamos a poner el está persiguiendo a la verdad.
Entonces vamos a comprobar si el jugador puede salir
o si el jugador sigue dentro del rango de Keep Chase.
Y estamos persiguiendo,
entonces tendremos la dirección para movernos y aún en el jugador.
De lo contrario.
Si estamos afuera,
tanto los jugadores persiguen rango y ellos mantienen alcance Chase,
entonces es perseguir es falso.
Y lo que es genial de esto es que si vamos dentro del jugador mantener a alcance Chase,
el enemigo no nos seguirá porque está persiguiendo tan falso.
Entonces, veamos si eso realmente funciona.
Y voy a aumentar el alcance de Keep Chase.
Hagámoslo.
Sí, ahí vamos. Creo que ya es suficiente.
Yo voy a correr el juego.
Y ahora veamos si camino dentro del rango de Keep Chase.
No pasa nada.
Si entro dentro del rango de persecución,
el enemigo empieza a perseguir.
Si lo soy, en realidad puedo empujarlo.
Si estoy fuera del rango de persecución,
todavía me sigue.
¿ Y si salgo fuera de ambos rangos?
Deja de seguir.
Y se puede ver aquí mismo que está persiguiendo es falso.
Para que no me persiga.
¿ Cuándo es la persecución es verdad?
Sigue persiguiendo hasta que salgo del círculo amarillo.
Por lo que espero que hagan el reto.
Espero que no fuera demasiado duro.
Sé que cuando hice este reto,
sentí que podría ser un poco demasiado duro,
un poco demasiado confuso.
Pero espero que hayas entendido cuál era el punto del booleano.
Espero que hayas entendido cómo funcionaban las demás si las declaraciones aquí.
Si no volviste a ver el video,
creo que lo expliqué bastante bien,
así que espero que lo disfrutes y te veré en
el siguiente video donde realmente estaremos animando a nuestro enemigo.
Porque como puedes ver,
actualmente es muy aburrido.
Hasta entonces, que tengas un buen día y te veré entonces.