En este vídeo, vamos a mejorar la mecánica de conducción que tenemos en este coche.
Así que necesitamos que se rompa y se acelere de una manera mucho mejor.
Ahora bien, si pensamos en el coche cuando necesita frenar y acelerar, bueno, cuando va lento, necesita
obviamente acelerar hasta una determinada velocidad.
Ahora, déjame coger este coche para ti.
Y lo que voy a hacer es llevarlo hasta el final de la pista aquí para que pueda ilustrar algo
y luego ampliarlo.
Así que en este punto, este coche se ha acelerado hacia el final y probablemente estás pensando.
De acuerdo.
Si fueras tú el que condujera este coche, verías que esto se acerca y, por lo tanto, tienes que reducir la velocidad.
Por lo tanto, tendría que romper.
Ahora, el coche actualmente es que estamos diciendo que queremos entrar en un waypoint y luego acelerar fuera de un waypoint.
Actualmente estamos entrando en el waypoint y seguimos avanzando y seguimos
avanzando y dirigiéndonos hacia ellos, pero no estamos teniendo en cuenta cuánto avanza la curva en realidad.
Sólo miramos como a un waypoint por delante en lugar de un poco más allá.
Ahora la otra cosa que también debemos considerar es el ángulo entre el waypoint.
Así que si este waypoint de aquí estaba realmente sentado aquí y este coche estaba llegando a
este waypoint, entonces necesitaba ir a este waypoint, entonces el coche no necesita realmente romper porque sólo
va en línea recta.
Por lo tanto, eso no tiene ningún sentido basado en la distancia a un waypoint.
En cambio, queremos mirar el ángulo en el que el coche va a girar en el futuro, porque cuando se gira,
en realidad se quiere reducir la velocidad en ese giro.
Por lo tanto, vamos a, en lugar de mirar la distancia de los waypoints, mirar el ángulo de nuestro
coche a nuestro waypoint.
¿Verdad?
Vayamos a nuestro controlador de IA y echemos un vistazo a la implementación de esto.
Así que vamos a hacerlo para la aceleración y también para la frenada.
Vamos a dejar la dirección en paz.
Así que voy a coger esto y lo pondré aquí abajo para que podamos mantenerlos separados.
Ahora, lo primero que tenemos que hacer es calcular algún tipo de valor que tenga que ver con el ángulo que estamos girando.
Ahora, ya sabemos el ángulo objetivo que estamos girando porque estamos calculando
aquí, pero tenemos que normalizar que en algún tipo de valor entre cero y uno, donde cero sería casi ningún ángulo tiene que
girar y uno significa como 90 grados tiene que girar, y entonces podemos utilizar
ese rango o porcentaje como tal como un factor en el trabajo de nuestra aceleración y frenado.
De acuerdo.
Así que vamos a calcular algo llamado, en primer lugar, la esquina, por lo que la esquina flotante y que va a ser
igual a las matemáticas f abrazadera.
Y vamos a sujetar el valor matemático f absoluto del ángulo objetivo porque recuerda, puede ser un ángulo
menos, por supuesto, y vamos a sujetarlo entre cero y 90, donde 90 es el ángulo máximo que vamos a
considerar.
Porque si es algo más de 90 grados, entonces todavía estamos en un descanso bastante duro, casi totalmente
romper entrar en eso.
Bien, ahora desde ahí, vamos a normalizarlo.
Así que vamos a ir a flotar el factor de la esquina.
Y esto nos dará una especie de porcentaje de lo mala que es la esquina o lo aguda que es la esquina.
Así que iremos a la esquina dividida por 90. 0 F.
Ahora bien, si la esquina es de 90 grados, es decir, muy aguda, obtendremos un uno.
Si la esquina es de cero grados, entonces obtendremos un cero.
Así que el factor de esquina, cuanto más alto sea, más nítida será la esquina.
Ahora podemos usar esto para influir en nuestro valor de aceleración.
Así que aquí arriba podríamos poner que la aceleración es igual al bucle F matemático entre cero y uno para nuestro factor de esquina.
Ahora no queremos tener el factor de la esquina como tal cuando es uno.
Así que cuando la esquina es muy, muy empinada, de acuerdo, por lo que 90 grados entonces no queremos ir a toda velocidad,
que es la de aquí.
En realidad queremos ir a una aceleración cero.
Eso significa que podemos cambiar esto, este tipo de factor con un factor de esquina menos.
Bien, eso nos dará nuestra aceleración.
Ahora bien, es posible que ni siquiera quieras tener ninguna aceleración en las curvas dependiendo de otros factores.
Así que lo que voy a poner aquí es si.
La esquina es.
Mayor que 20 y la magnitud de la velocidad del cuerpo rígido
es mayor que, digamos, diez.
Entonces fijaremos nuestra aceleración.
De lo contrario, vamos a utilizar la aceleración normal.
Ahora, de nuevo, tenemos estos valores arbitrarios que estamos poniendo aquí.
Y sí, es cuestión de jugar con ellos para obtener los resultados que quieres.
Y si hay algo más que quieras considerar dentro de esta declaración if, entonces ponlo
ahí.
De acuerdo, esto no es ninguna regla dura, una especie de declaración "si".
Es que va totalmente con la lógica de la situación y puede ser que haya que poner
algo más que haga que esto sea aún mejor.
Así que esa es la lógica para hacer un bucle matemático para nuestra aceleración.
Ahora queremos hacer más o menos lo mismo para nuestro frenado.
Ahora, en el caso de la frenada con la que estoy empezando, si la esquina es mayor que diez y la magnitud del punto
de velocidad del cuerpo rígido es mayor que diez.
Por supuesto que vamos a romper.
No queremos frenar a menos que vayamos a una velocidad determinada, porque realmente no hay necesidad
de frenar.
Entonces, si este es el caso, ¿B va a ser igual a qué?
Así que aquí tienes un reto.
¿Puedes terminar esta declaración de bucle para B?
Y es algo así como lo contrario de lo que hemos hecho para un vídeo de pausa.
Ahora, inténtalo.
Y cuando volvamos, lo repasaré contigo.
Muy bien.
¿Cómo te fue?
Bueno, va a ser matemático después del bucle y será de 0 a 1.
En este caso, sólo queremos que sea factor de esquina.
Cuanto más aguda sea la esquina, más cerca estará de uno.
Nuestra ruptura va a ser recordar de nuevo que nuestra dirección, nuestra aceleración y nuestros factores de frenado aquí que
estamos calculando para pasar a través de nuestro ir hacia abajo aquí son todos los valores entre cero y uno, que se multiplican
por los valores de par máximo, máximo, el freno y la dirección máxima que estábamos poniendo juntos antes.
De acuerdo.
Una vez hecho esto, guardemos esto y echemos un vistazo al resultado.
De acuerdo.
Así que, en primer lugar, no quiero que mi coche esté ahí porque se dará la vuelta e intentará volver a ese
primer waypoint, de vuelta a la pista.
Así que déjame salir de aquí y coger mi coche y traerlo de vuelta.
De acuerdo.
Así que eso golpea la llave y trae el coche de vuelta a esta máquina sólo un poco más atrás.
De acuerdo.
Así que ahora vamos a pulsar el play y a echar un vistazo al comportamiento de este coche mientras sube por la recta.
Voy a hacer un zoom en esta esquina porque la esquina es en realidad donde la parte importante de nuestra conducción está
teniendo lugar, esencialmente.
De acuerdo.
Así que está llegando a la esquina.
Ahora, todavía tiene que ir recto.
Tiene que ir recto, tiene que ir recto.
No se acuerda de pasar al siguiente waypoint ni piensa que el siguiente waypoint es su ubicación hasta que ha llegado
a esta ubicación de aquí, el otro waypoint.
Así que va a pensar que todavía voy directo.
Sigo yendo en línea recta.
Y entonces bang, tan pronto como se ha puesto dentro del rango de aquí que considera su alcance, ese waypoint,
es entonces de repente va, Oh Dios mío, tengo que ir por aquí y frenar rápidamente, rápidamente, bang
en allí.
Así que ahora tiene que considerar que probablemente debería frenar más atrás.
Y en este punto se puede ver que actualmente estamos a tope con el freno y no vamos a ninguna parte porque
hemos frenado.
Y por lo que el ángulo que hemos girado en el freno es más probable que el ángulo, algún tipo de ángulo como a
donde está considerando el siguiente waypoint es por allí.
Así que lo que tenemos que hacer es implementar una forma de mirar hacia adelante.
Y ya lo hemos hecho cuando miramos los waypoints y los pequeños tanques para asegurarnos de que podíamos llegar a los
waypoints con precisión.
¿Recuerdas cuál era esa técnica?
Bueno, era poner un rastreador de progreso y luego hacer que el rastreador de progreso vaya alrededor del
circuito y golpee todo casi perfectamente y luego hacer que su vehículo siga ese rastreador de progreso.
Así que volveremos en la próxima conferencia y lo pondremos en común.