En la conferencia anterior, empezamos con un sistema de waypoints sencillo.
En esta conferencia, ¿vamos a trabajar para que nuestros personajes miren progresivamente hacia el
lugar al que se dirigen, en lugar de ir de un lado a otro?
Así que tenemos que volver a nuestro código de seguimiento de puntos de ruta y encontrar nuestra línea de mirada.
Así que sólo voy a comentarlo para que recuerdes lo que estamos tratando de lograr aquí.
Y en su lugar, vamos a utilizar el retorno de la unidad y el sistema.
Así que empecemos por crear un dibujo animado.
Y así puedo entregar a las tiendas una rotación.
Así que entrega.
Mira el punto de ruta y eso va a ser igual a girar.
Rotación de la mirada de los puntos.
Puntos de referencia.
Punto actual del waypoint.
Transformación del punto en posición de punto.
Menos este punto transforman la posición del punto.
Así que podría parecer familiar de obtener su ubicación de la meta menos la posición de su personaje.
Si recuerdas el desarrollo de los vectores que hicimos donde encontrábamos el vector de dirección desde
tu ubicación hasta la meta.
Así que esto es exactamente lo mismo que estás dando tu vuelta y mira un vector que vamos a utilizar
como una rotación.
Así que eso le da lo que necesita para girar a través de obtener de su rotación actual de su tanque para hacer frente a la
dirección correcta.
Aunque, sólo vamos a utilizar una pequeña proporción de este giro en la transformación o esta transformación de puntos.
La rotación de puntos se almacena en realidad como un giro.
Así que en lugar de configurarlo para que mire el waypoint, que podríamos, lo que vamos a hacer es realizar
lo que se llama un slurp.
Y slurp se escribe como cabría esperar, que es una interpolación esférica del ángulo real o de la rotación que
está atravesando.
Y básicamente significa girar un poco por todo el ángulo.
Así que transfórmalo.
Rotación.
Mira el waypoint.
Y luego vamos a poner nuestro tiempo, el tiempo Delta aquí, que es la cantidad de rotación que desea hacer a
través de todo ese ángulo.
Permítanme poner esto delante de aquí para ser coherente, ya que lo estoy usando en todo.
Ahora, al igual que la velocidad aquí que se puede establecer como una variable para la cantidad de velocidad que desea, también
puede establecer la cantidad de rotación que desea.
Así que pongamos mucha velocidad aquí y multipliquemos eso.
Y luego en la parte superior crearemos un flotador público para la velocidad de Rod.
Y pongamos eso también a diez decenas.
Siempre es un buen número redondo para empezar a probar cosas.
Muy bien.
Así que tenemos eso.
Ahora guardémoslo y veamos el efecto.
Así que vamos a pulsar el play.
Y lo que vas a encontrar es que tu tanque va a girar.
Bastante suave alrededor en lugar de romperse.
Entonces, ¿qué crees que va a pasar si volvemos a nuestro tanque y ahora cambiamos nuestra velocidad
de rotación a, digamos, cinco?
Pulsa el play.
De acuerdo.
Basta con el tanque.
Y no si se nota mucho ahí, pero se tarda más en dar toda la vuelta.
Bajémoslo aún más a uno y deberías empezar a notarlo de verdad.
Empezará a tomarse su tiempo para girar, lo que significa que vas a tener una curva mucho más suave
que pasa por todas estas palmeras.
Así que puedes ver cómo está empezando a moverse por ese camino.
En lugar de tomar las esquinas con fuerza como antes.
De acuerdo.
Ahora, ¿qué sucede si cambiamos la velocidad de rotación a 0? ¿5 y tenemos otra oportunidad?
Pulsemos el play.
De acuerdo.
Sí.
Tenemos una situación en la que el tanque está rodeando el waypoint.
Permítanme centrarme en eso para ustedes.
Ahora, ¿qué está pasando aquí?
Bueno, esto ya lo has visto antes.
Ya nos hemos cansado de otros personajes que en realidad nunca llegarán a su lugar de destino.
Así que lo que sucede en este caso es que el tanque está tratando de girar hacia el árbol, pero su círculo
de giro no es lo suficientemente apretado, por lo que nunca, nunca va a llegar a una distancia de tres
del árbol para que luego cambiar a la siguiente waypoint.
Así que tienes que volver a tu código y hacer que tu umbral de distancia aquí de donde llegas a un waypoint
sea mucho más grande.
Así que si establecemos esto en digamos diez, creo que debería estar bien para tal.
Vehículo de giro perezoso.
Veamos si podemos acercarnos a diez de eso.
De acuerdo.
Así que ahora se considera que ha estado dentro de los diez.
Lo mismo para ese de ahí.
Pero lo que también se puede decir es que no es muy preciso.
De acuerdo.
Porque le dejas un gran margen de maniobra en cuanto a si ha llegado a un punto de paso o no.
Así que supongo que depende del efecto que realmente quieras.
Si quieres que tengan un radio de giro bastante grande, entonces tendrás
que darles un poco más de margen en la forma de llegar con su precisión a esas palmeras reales.
Pero voy a volver a ponerlo en tres.
Guarde eso en el código y voy a establecer mi rotación de impuestos de nuevo a, digamos, cinco para que sepamos ahora que vamos a golpear
estos puntos de ruta.
Pero que sepas que si alguna vez tu tanque o coche o lo que sea que tengas cerca de un waypoint y no hace más que dar vueltas
y más vueltas al waypoint, es por tu precisión.
No puedes llegar al waypoint porque no es capaz de girar lo suficiente para alcanzar esa distancia concreta
que quieres que alcance en ese momento.
Seguro que estás preparado para poner tu guión en cada uno de los tanques y hacerlos correr por la pista.
Así que hazte con tu script de seguimiento de puntos de ruta y empieza a ponerlo en cada uno de tus tanques.
Y no olvides rellenar cada una de esas matrices de waypoints con todas las palmeras.
Así que cuando pulsamos el play, se van.
Ahora, no tenemos ningún elemento de física en estos en absoluto, por lo que sólo van a estar en la parte superior
de la otra, lo que realmente hace que sea un tipo bastante aburrido de la simulación.
Así que lo que vamos a hacer en el siguiente vídeo es volver y empezar a añadir algunos elementos de física
a nuestros tanques.