Bien, en este video te voy a dar un pequeño desafío.
Lo que me gustaría que hicieras es mantener la búsqueda y la mecánica de ocultación como las tenemos, pero
ahora incluye un rango.
Y si el policía está fuera de una distancia de 10 del ladrón, entonces el ladrón solo debe deambular.
Déjame mostrarte eso en acción.
Bien, ahora se va a esconder y
puede parecer que está aquí en esta vista.
Está escondido detrás de la espalda.
Aquí viene por allí.
Y si puedo, solo puedes ver que ahora se ha maravillado, lo que voy a hacer es intentar
que me siga hasta aquí y me quedaré cerca de él.
Entonces aquí viene el siguiente.
No quiero darme la vuelta y asustarlo.
OKAY.
Y ahora voy a ir muy rápido para salir de una distancia de 10, momento en el
que simplemente vagará y hará lo suyo.
Entonces él solo entra por una ventana.
Pero si vuelvo cerca, visto de nuevo así, va a decidir que necesita ir y esconderse de mí,
lo que acaba de
hacer, y si me doy la vuelta y vuelve a mirar, no se
irá y vagará. porque esa distancia es obviamente 10 alrededor de esa área OK.
Así que vea si pueden parar juntos Pause el video ahora y cuando regresemos le mostraré cómo
lo implementé.
Todo bien.
¿Cómo te fue con eso?
Bueno, lo primero que necesitará es determinar si el policía está fuera de rango.
Y para eso voy a crear otro método.
Entonces va a devolver un objetivo bull bull en rango.
Lo llamaremos
Ahora podría pasar eso a través de un rango particular si quisiera configurarlo para
poder tener una variable y usarla para otras condiciones en su actualización.
Pero no estamos haciendo eso.
Todo lo que vamos a hacer es que si la distancia del vector 3 entre esta posición de punto de
transformación de punto y la posición de punto de transformación de punto objetivo es menor que 10, entonces volveremos a,
de lo contrario, volveremos falso.
OKAY.
Así que ese es nuestro objetivo en el rango.
Ahora solo tenemos que implementar eso en nuestra actualización.
Entonces, ¿dónde lo vamos a poner?
Bueno, si el objetivo está fuera de alcance, realmente no depende de si puedes ver algo o si el objetivo
puede verte simplemente teniendo fuera de alcance.
Por lo tanto, realmente debe ser lo primero en su declaración if.
Entonces, si no tenemos un objetivo dentro del alcance, lo que podemos hacer aquí es asombroso.
Y no voy a establecer un tiempo de reutilización para ese comportamiento en particular porque quiero que deje
de preguntarse de inmediato si el agente entra en el rango y puede continuar en altura y luego hacer todas estas otras cosas.
Ahora tenemos que poner otra cosa aquí abajo.
Así que estamos verificando si estamos fuera del alcance, entonces queremos que las preguntas se produzcan prácticamente sin importar qué.
Es por eso que está en la cima, porque nosotros también lo hemos hecho con estas otras cosas.
No van a intentar sobrescribirlo si ya está sucediendo o si esta es una condición verdadera.
Y eso es todo.
Muy simple
Solo hemos agregado como Uno, dos, cuatro, cinco, seis, siete, ocho, nueve, 10 líneas atrás aquí solo para
lograrlo.
Y la mayoría fue solo en nuestra condición que pusimos aquí.
Así que va a salvar que vuelva a la unidad y podemos presionar play y probar eso con nuestro pequeño agente que
estamos buscando para comenzar.
Y si ahora salimos aquí, entonces él se irá y deambulará, y si volvemos al alcance, él irá y
se esconderá, lo que no se puede ver porque ahora está aquí.
Así que tenemos ese comportamiento complejo y ahora es posible que desee duplicar su robot y crear algunas versiones
para que pueda ver cómo es si tiene muchos agentes.
Así que solo lo seleccionaremos y controlaremos a D para que una copia golpee la jaula W para asegurarnos
de que
pueda moverlos. No sé cuántos queremos tantos como quieras realmente.
Bueno.
Y ahora presionemos play y todos irán a esconderse.
O en realidad los que están en el otro extremo de ido y se preguntaron.
Algunos de ellos se están escondiendo.
Entonces, si llevamos al policía a estos tipos, podemos hacer que se escondan de él.
Se esconderán detrás de ese árbol.
Vea si puedo obligarlos a todos a venir al otro lado y esconderse de él.
Entonces él viene un montón.
Están escondiendo a la policía detrás de la casa.
Y obviamente no tiene colisionadores para pasar por esa casa.
Así que cambiemos esto porque la mayoría de las acciones que suceden en esa área de atrás
allí y simplemente se mantienen ocupados.
Estos tipos se esconderán detrás de ese árbol de allá.
Y si me doy la vuelta, todos esos tipos volverán y se esconderán allí detrás de la casa al otro lado
y luego otros simplemente se preguntarán.
Y tenemos un buen comportamiento complejo.
Ahora, si consigo a mi policía y lo traigo de vuelta al
frente y lo pongo totalmente fuera del alcance de todos, entonces todos deberían irse por su cuenta.
Como puede ver, están deambulando alegremente y, si alguna vez se acercan al policía,
son así y descubren que de repente existe.
Tal vez si vamos así, entonces comenzarán a acercarse sigilosamente a él y simplemente lo pondrán aquí.
Entonces, cuando deambulan dentro del alcance, lo que por supuesto no lo harán, porque estoy deseando que lo hagan
ahora.
Así que algunos de ellos ahora se han escabullido detrás de él y él se ha acercado a otros.
Pero si me doy la vuelta, los obligaré a todos a huir e ir a esconderse de mí porque me di cuenta de que me gusta cómo todos tuvieron que
mirar
a la vuelta de la esquina para ver si todavía estaba allí.
Supongo que ese es otro comportamiento complejo que ahora hemos agregado a nuestro tipo de persecución furtiva que
tenemos errante y puedes evadir allí si quieres poner eso en lugar de esconderte, algunos podrían evadir o parte del tiempo
él iría y se escondería.
O si no está lo suficientemente cerca de una posición de ocultación particular, que es algo más en lo que puede
programar, puede pasar al modo de evasión.
Entonces, si no puede encontrar ninguna manera de esconderse, comience a evadir muchas posibilidades.
Ahora que tiene ese conjunto simple de herramientas para estos agentes.