En esta sección, veremos los agentes de movimiento autónomo y la mecánica de dirección que se
utilizan para moverlos por el mapa.
Ahora hay un montón de ellos que vamos a ver.
Uno a la vez y luego juntarlos para obtener diferentes comportamientos.
Entonces, antes que nada, lo que me gustaría que hicieras es crear un nuevo proyecto de unidad y traer el archivo
de inicio para esta conferencia.
Cuando abres la escena de la dirección, que es esta aquí, encontrarás que tienes un plano
de tierra y hay un árbol y hay dos agentes pequeños allí.
Ahora, si presionas play, verás que el agente de policía podrá moverse libremente usando las teclas de flecha
para que no sea un agente de malla de navegación, pero vamos a convertir al personaje de goma en un agente
de malla de navegación y Más adelante también haremos del árbol un obstáculo.
Pero antes que nada queremos que el hule pueda perseguir al policía y también huir del policía.
Ese será nuestro objetivo en esta conferencia.
Ahora echamos un vistazo al policía o al policía al que llama en una jerarquía.
Simplemente haga clic en eso y verá que tiene un cuarto de cápsula sobre él y tiene el guión de
manejo que le permitirá moverse.
Ahora hizo un pequeño ajuste a este script de unidad.
Abramos eso y echemos un vistazo.
Es ligeramente diferente de la secuencia de comandos en seco estándar estándar que encontrará en el eje de olvido de la
documentación de la unidad.
En eso también he agregado un flotador público de velocidad actual.
Y luego estoy grabando en este flotador público de la velocidad actual.
Las traducciones que están aquí abajo que estamos calculando porque las usaremos más adelante.
Todo bien.
Entonces esa es la diferencia con eso.
Ahora, la goma en sí misma debe convertirse en un agente de malla de navegación, por lo tanto, seleccione ir al inspector,
haga clic en Agregar componente y queremos ir al agente de malla de navegación.
Ahora, si echamos un vistazo al cierre de goma, verá que el colisionador del agente de malla de navegación está desplazado sobre el
carácter que desea mover hacia abajo.
Así que nos acercamos al inspector y en el desplazamiento de la base solo colocamos uno y eso lo moverá hacia abajo
en la Unidad de Uno, que luego le quedará bastante bien.
Ahora, para ver el NAF enredarse en el suelo y el árbol si solo seleccionamos los dos que están dentro
de este entorno aquí.
Entonces, ese árbol allí y el suelo allí en el inspector verán que ambos están inclinados
a la navegación estática.
Solo traigamos esto para que pueda ver la navegación estática, lo que significa que si
rompemos nuestra malla de navegación si es miembro, vamos a excluir el árbol.
Por lo tanto, se convertirá en un obstáculo porque es demasiado empinado para que los agentes escalen.
Ahora, si agrega más árboles a esto, lo que haremos un poco más adelante, tenemos que retroceder
cada vez para reconstruir nuestra malla de navegación.
OKAY.
Así que ahora estamos listos para comenzar a programar la goma para perseguir a la Copa,
así que agáchense en activos como hacer clic con el botón
derecho del mouse. a la goma.
Por lo tanto, debe estar en el mismo nivel que el agente de malla de navegación porque vamos a acceder a él dentro del
script.
OKAY.
Así que ahora abrimos eso en la parte superior y haremos lo que hemos hecho antes con la obtención de agentes de malla de navegación.
Pero antes que nada necesitamos nuestra biblioteca ocular, así que usando Unity dot engine dot I I.
Y luego, en una especie de clase, crearemos un agente de malla nerviosa llamado agente y al principio iremos Agente es igual
a este componente de obtención de puntos y queremos obtener el agente de malla de navegación que está unido a
este objeto de juego como ese.
Bueno.
Así que ahora podemos escribir el método de búsqueda.
Entonces, buscar es probablemente la más fácil porque básicamente se trata de seguir algo más en la malla de
navegación.
OKAY.
Así que no vamos a devolver nada de eso.
Por lo tanto, será nulo buscar.
Le daremos un vector 3, que es nuestra posición.
OKAY.
Entonces llamaremos que aquí pasa la ubicación y luego todo lo que hacemos con nuestro agente de
malla de navegación para eso es nuestro destino de conjunto de puntos de agente y el destino es la ubicación.
Ahora la ubicación en este caso será el policía.
Por lo tanto, necesitamos localizar al policía para poder seguirlo.
Entonces, una vez más arriba de nuestra clase, crearemos un objeto de juego público para nuestro objetivo, lo
llamaremos allí y luego lo haremos con nuestro objetivo en la actualización, envíelo para buscar.
Entonces será buscar.
Y aquí vamos a pasar a través de Target dot transform dot position porque ese será nuestro vector
a través del valor de la copa.
Bueno.
Así que guárdelo ahora, volvamos a la unidad y quiera ir a su lugar y encontrar el guión, el
guión de la caja, tendrá el objetivo expuesto.
Y eso es lo que queremos arrastrar y soltar la copa sobre ese objetivo.
OKAY.
Así que ahora presiona play y tendrás una goma que actualiza continuamente su posición para seguir el cobre o
buscar la ubicación de la copa de manera bastante sencilla.
Ahora, cuando el caucho llega a la Copa si lo miramos detenidamente, se detiene encima para evitar
eso.
Seleccione el ladrón en la jerarquía y el inspector sobre el que desea establecer su distancia de frenado y eso está en
la dirección de la distancia de frenado de cuatro hombres y configúrelo para decir que pongamos a dos.
Lo que significa que se detendrá pero no justo encima del policía.
Así que ahora solo presiona play y puedes verlo venir y se detendrán cara a cara de esa manera
y luego él no irá encima del policía y aunque el policía tiene un colisionador sobre él, no
lo hagas Realmente lo necesito para detenerlo.
OK, entonces esa búsqueda es bastante sencilla.
Entonces, lo que está haciendo Sikh es calcular un vector del ladrón al policía en el caso más simple, es decir, si no
hay obstáculos allí.
De lo contrario, tiene que calcular un camino por allí.
Pero digamos que tenemos nuestro vector yendo de esta manera.
Entonces, el vector va a ser el policía menos el robot, lo que nos dará este vector aquí para la dirección en
que el policía tiene que viajar.
Ahora, si vamos a huir, queremos hacer lo contrario.
Queremos seguir este camino, pero ¿cómo podemos averiguar qué es este camino?
Bueno, de esta manera es solo este vector multiplicado por menos uno que va a darle la vuelta.
Entonces, está orientado en esa dirección, pero no podemos darle al destino establecido solo un valor vectorial.
Necesitamos darle una ubicación real donde desee que el robot huya.
Entonces, en lugar de tomar solo este vector que vamos a calcular aquí, lo agregaremos
a la posición de la goma que realmente nos dará este punto aquí.
Y eso hará que el robot huya en la dirección opuesta por allí.
OKAY.
Así que pongámoslo en práctica, regresemos a su código y debajo de la búsqueda vamos a agregar
en void huir.
También vamos a huir a un vector, así que al vector tres le daremos la ubicación de
la que estamos huyendo.
Que de nuevo es nuestro objetivo.
Pero esta vez vamos a primero ir al vector de tres vectores de huir es igual a la ubicación menos esta posición de punto
de transformación de punto y luego con ese vector vamos a establecer el destino en el destino de conjunto
de puntos del Agente y esa será la ubicación de el agente.
Estas tendencias de punto forman la posición de punto menos el vector de huida, de acuerdo.
Así que eso está mal aquí abajo en la actualización en lugar de buscar.
Simplemente cambiaremos eso para huir para que podamos ver eso corriendo.
Guárdalo
Volvamos a la unidad y ahora presionaremos play y puedes ver que ahora está desvanecido.
Ahora solo para verlo un poco más claramente si nos alejamos y hagamos que la copa intente dar la
vuelta por algún lado para que pueda moverse y huir en una dirección diferente.
OKAY.
Así que ahora lo ha hecho ir así.
Y se puede ver que va
a seguir huyendo desafortunadamente del borde del mapa.
Pero se entiende la idea.
Entonces, si nos agarramos a esa goma y solo lo ponemos aquí y luego presionamos play y
simplemente damos la vuelta de esta manera, entonces podemos manipular que él va a huir de nosotros de esa manera.
Entonces, a medida que intentamos acercarnos, él seguirá adelante.
Pero el policía en este caso va mucho más rápido.
Así que se pondrá al día, pero esa es la huida y los sij.