Bienvenido de nuevo.
No, no estás viendo el vídeo equivocado.
He vuelto a entrar aquí para recordarles el código que escribimos para que estos tanques rodeen estas
palmeras.
Ahora, originalmente teníamos un código de seguimiento de puntos de ruta para los propios tanques, y tendrían una precisión de
lo cerca que estaban del árbol, y luego se actualizarían para ir al siguiente árbol en el
circuito particular.
Y luego actualizamos eso y pasamos a un rastreador de progreso en el que el rastreador realmente dio vueltas en los tanques,
siguió al rastreador.
Lo que me gustaría que hicieras para este video en particular es que te remontes a cuando sólo teníamos los tanques dando vueltas entre
los árboles sin el rastreador de progreso, porque no vamos a usar el rastreador de progreso en este
caso en particular.
Y también te dará una buena experiencia en la escritura de código para conseguir que algo vaya entre puntos de paso.
Porque créeme, lo he hecho creo que un millón de veces.
Así que lo que vamos a hacer es recordarlo para que vosotros podáis ir a buscar dónde está el vuestro y abrirlo.
Por el momento, dejaré eso fuera del camino.
Ahora, vamos a volver a este proyecto.
Y en primer lugar, vamos a entrar en el código del gráfico porque quiero hacer un pequeño cambio aquí.
La lista de rutas va a ser tu lista de nodos que debes seguir en el tanque para llegar de un lugar
a otro.
De acuerdo.
Ahora, vamos a necesitar esto en nuestro código de seguimiento porque es lo que va a
seguir estos nodos.
Así que voy a hacer esto público por ahora porque eso va a hacer la vida mucho más fácil.
Si quieres añadir métodos para obtener la lista de rutas y devolverla, eso es completamente tuyo.
Pero esto es más fácil.
Así que vamos a guardar eso aquí en el gráfico.
Ahora vuelve a pasar al seguimiento.
Lo que me gustaría que hicieras como reto.
Sí.
Es hacer una actualización tardía para empezar.
Y luego dentro de aquí escribir el código para que si vamos a ir a heli se ejecuta, entonces la actualización tardía va
a ir a través del proceso de movimiento de un waypoint a otro.
Y de hecho, sólo para conseguir que esto se ejecute para empezar, arriba en el inicio,
vamos a poner una invocación y vamos a invocar ir a ejecutar en 2 segundos.
Estamos haciendo eso para que el resto del código y el resto de la unidad tiene tiempo realmente poblar todas las cosas en el
inspector que tiene que hacer.
Porque si ejecutas todo esto en el inicio y luego tratas de ir a la ruina, podría ser
que los waypoints no se hayan configurado actualmente en el gestor de waypoints y que esto falle porque no puede
encontrar las posiciones de inicio y final.
Créeme, lo sé porque lo he probado y no ha funcionado.
Así que por eso puse la invocación aquí durante 2 segundos.
Ahora la otra cosa que te gustaría hacer también, para que no termines dando vueltas y corriendo.
Un punto de ruta es llegar a la precisión y cambiarla por un cinco.
Encontré que en realidad funciona un poco mejor para resolver este problema.
Bien, entonces vamos a guardar esto.
Ahora te toca a ti ver si puedes escribir ese código de actualización tardía.
Así que ponle pausa al video y ve a probarlo.
Cuando volvamos, lo recorreré con ustedes.
Bienvenido de nuevo.
¿Cómo te fue con.
Fue una gran tarea.
Ahora bien, hay numerosas formas en las que podrías disponer este código para que funcione.
Sólo voy a mostrarte mi camino.
Puede que se te ocurra algo completamente diferente, que siga funcionando bastante bien, y eso está absolutamente
bien.
Bien, ¿qué vamos a hacer?
Lo primero es comprobar si tenemos un camino que podamos seguir y que no estemos ya al final
del camino que seguimos.
Por lo tanto, si la lista de puntos de la ruta G es igual a cero o el punto de ruta actual es igual.
Por lo tanto, el índice del waypoint actual es igual a la lista de rutas de puntos g.
Cuenta de puntos.
Si ese es el caso, entonces vamos a regresar porque no tenemos a dónde ir.
O no tenemos camino o estamos al final del camino que seguíamos.
Bien, ahora vamos a comprobar si nos hemos acercado lo suficiente al waypoint al que nos dirigimos
para poder cambiar al siguiente waypoint.
Así que si el vector de tres puntos de distancia de la lista de ruta g punto en la posición actual WP.
Transformación del punto en posición de punto.
Ahora esto es una lista de nodos de la ruta.
Ahora bien, este será un punto obtener ID en él porque eso es lo que tiene el objeto de juego en él.
Queremos asegurarnos de convertir el nodo en el objeto del juego para obtener la posición.
Ahora la distancia entre eso y donde el tanque actualmente es, que será este punto transformar la posición del punto
y que luego va a ser probado en contra de nuestra precisión, que es lo mismo que hicimos donde
teníamos los tanques de carreras alrededor de las palmeras.
Bien, si este es el caso, nos hemos acercado lo suficiente al waypoint al que nos dirigimos actualmente
para poder ir al siguiente waypoint.
Ahora, si no estamos en el final de nuestro camino, si todavía estamos siguiendo los waypoints alrededor,
vamos a ir si corriente.
El punto de referencia es menor que el recuento de puntos de la lista de rutas g.
Entonces nuestro objetivo será igual a la lista de rutas de puntos g en la posición.
El punto de ruta actual obtiene el vector de transformación de punto tres.
Mira la meta.
Esta es la dirección hacia la que tenemos que mirar para poder sorber nuestra rotación para nuestro
tanque.
Nuevo vector tres ir punto posición punto x.
Y luego este punto transformado posición punto y y luego meta posición punto z.
La razón por la que estamos tomando la posición Y de los tanques es para que el tanque no se incline hacia adelante o hacia atrás,
por lo que se mantiene nivelado en la Y.
Incluso si usted ha puesto sus posiciones de waypoint ligeramente hacia arriba o hacia abajo de la posición y de los tanques, esto sólo se asegurará
de mantener el nivel del tanque.
De acuerdo.
Ahora el vector tres dirección es igual a mirar la meta menos este punto transformar la posición del punto y entonces podemos hacer nuestra rotación.
Así que este punto transformar la rotación del punto es igual a girar en el punto slurp este punto transformar la rotación del punto y podría girar
en el aspecto del punto.
Rotación en la dirección.
Y luego nuestra velocidad, que será el tiempo, el tiempo delta multiplicado por nuestro valor de velocidad.
Y entonces simplemente empujamos nuestro tanque hacia adelante.
Así que esta transformación de puntos.
Traduce el punto.
Cero pala cero multiplicado por tiempo punto delta.
Una pequeña cosa que me olvidé de poner en este código antes de continuar es poner esta línea aquí para
que cuando llegues a un waypoint, entonces este nodo actual se actualiza porque es este nodo actual el que se está utilizando
para establecer básicamente la posición de inicio de la ruta en todos tus go tos.
Y si no tiene esto, entonces no actuará correctamente.
Así que quieres establecer el nodo actual al nodo actual que acabas de encontrar, que es con esta cosa de la distancia,
entonces puedes actualizar el waypoint actual para ir al siguiente y cuando encuentre el siguiente waypoint,
lo actualizará para el nodo actual también.
Vale, genial.
Guarda eso.
Y ahora estamos listos para probarlo.
Así que volvamos a la unidad.
De acuerdo.
Así que ahora lo que tenemos que hacer es conseguir nuestro tanque o es más en la jerarquía y tenemos este gestor de WP expuesto
aquí.
Necesitamos el gestor de WP para obtener el gráfico y la lista de rutas y todas esas cosas desde
allí.
¿Verdad?
Así que vamos a pulsar el play y podremos ver nuestro tanque en movimiento.
Vamos a ampliar la vista de la escena aquí para que podamos ver lo que está sucediendo.
Así que vamos a empezar de nuevo en el Waypoint uno ahora después de 2 segundos, vamos a empezar en nuestra ruta y vamos
a ir en esta dirección.
Bueno, no debería predecir hacia dónde va a ir.
Va a tomar el camino más corto que encontró.
Por supuesto, podría haber dado la vuelta por aquí, creo, también, y llegar hasta allí.
Así que ahora estamos aquí.
Así que podemos programar en este punto para volver al helipuerto.
Así que debería dar la vuelta y seguir los puntos de vuelta y volveremos a poner algunos pequeños botones para
los comandos en la próxima conferencia.
Pero mientras tanto, tal vez quiera programar otros destinos.
Bien, entonces tenemos ir a Heli, tenemos ir a la ruina.
Podríamos tener algo como ir a lo que son estas bombas de aceite o fábrica o lo que sea, ir
a la fábrica, ir a allí.
Depende de ti.
Así que ponlos.
Y eso iría en nuestro código de seguimiento de puntos de ruta con nuestros otros ir a aquí.
Y cuando volvamos en la próxima conferencia, te mostraré cómo poner algunos botones
realmente rápidos en la pantalla para llamar a estos y hacer que nuestro tanque se mueva por el entorno.