Las partículas que se emiten a una velocidad y un ángulo determinados y que no tienen más fuerza
aplicada que la gravedad forman la curva de una parábola.
A este tipo de movimiento lo llamamos movimiento de proyectil, y es exactamente lo que simulan los proyectiles de nuestros tanques.
Hay muchas matemáticas y trigonometría involucradas en el trabajo con parábolas, y un excelente
desglose de todo ello está en Wikipedia, donde puedes encontrar más información si quieres profundizar.
Pero vamos a repasar algunos de los aspectos básicos.
Todo el movimiento del proyectil lo consideramos en dos direcciones horizontalmente, que son sus coordenadas x y
verticalmente que son sus coordenadas y.
Una vez disparado el proyectil, no experimenta más aceleración en la dirección x.
Sin embargo, la aceleración se mantiene constante.
Espera, te oigo decir o espero que digas.
Eso significaría que un objeto nunca dejaría de moverse.
Y efectivamente, en el vacío es así.
Por supuesto, en el mundo real hay resistencia al viento y al arrastre y todo el resto de cosas que se pueden
considerar.
Pero para simplificar, no vamos a ir allí ahora.
La dirección Y de la aceleración siempre va a ser nuestra buena amiga la gravedad.
Puedes ver en la animación cómo la gravedad se mantiene constante en la vertical, sea cual sea el ángulo de proyección.
Así pues, las cuestiones de aceleración en el movimiento de los proyectiles son bastante sencillas, al igual que las relacionadas
con la velocidad.
Si te acuerdas de la trigonometría del instituto, hay una estupenda página de Wikipedia en la que también puedes
repasar esos conocimientos.
Por lo tanto, la velocidad o el vector en el que comienza la proyección se dona v cero o la velocidad inicial.
Y el ángulo que forma este vector con la horizontal es alfa.
Utilizando este conocimiento, podemos construir un triángulo rectángulo para dividir la velocidad en
su dirección y o vertical y x su dirección horizontal.
Utilizando las razones trigonométricas, podemos calcular además que v x es igual a v cero multiplicado por
el coseno de alfa y v y es igual a v cero multiplicado por el signo de alfa menos g t, donde g t es el efecto gravitatorio en cualquier
punto del tiempo.
Recuerda que la aceleración debida a la gravedad tiene un efecto compuesto.
Así que cada bucle de juego o intervalo de tiempo al que añadamos otro lote de gravedad lo va a multiplicar.
Así que si hacemos este número t de bucles, entonces tenemos que multiplicar la gravedad por T para obtener la cantidad correcta.
Ahora, a partir de este diagrama, si conocemos v, x y v, y, podemos calcular la velocidad inicial del proyectil,
que es la magnitud o longitud de nuestro vector v cero.
Y para ello utilizamos el teorema de Pitágoras así para lo que queremos utilizar.
Los principios del movimiento del proyectil para es calcular el ángulo al que el tanque debe apuntar su torreta
para disparar un proyectil con una velocidad conocida y dar en su objetivo cuando se conoce la posición del mismo.
Así que para calcular este ángulo, la fórmula que se puede utilizar es diez del ángulo es igual a la velocidad al
cuadrado, más o menos la raíz cuadrada de la velocidad a la potencia de cuatro menos g multiplicado por g x al cuadrado más
dos y multiplicado por la velocidad al cuadrado todo dividido por g x.
Si no has utilizado antes una ecuación con el símbolo de más menos, lo que significa es que puede
haber dos soluciones posibles.
En este caso, podría haber dos ángulos que podrían utilizarse para llegar al mismo lugar final.
Pero esa es la naturaleza de las ecuaciones paramétricas.
Y esto se puede ver en la animación que se muestra para todos los puntos de impacto final del proyectil, puede
haber dos ángulos de inicio.
Así que basta ya de tanta matemática.
Tenemos la ecuación que necesitamos.
Volvamos a la unidad y pongámosla en práctica.
Bien, ahora vamos a concentrarnos en trabajar con el tanque verde y las conchas que salen de
él porque es una especie de personaje de nuestro ojo como tal.
Así que es el que tiene que calcular automáticamente la trayectoria de nuestros proyectiles.
Así que tenemos que crear un tipo de cáscara diferente a la que tenemos.
Así que coge el prefabricado de cáscara con el que estás trabajando actualmente en ambos tanques y haz una D controlada del
mismo.
Así que tienes una segunda versión.
Ahora puedes renombrar esto como un caparazón, para que sepas que pertenece al tanque verde y luego sólo tienes que seleccionarlo.
Y en el inspector, lo que queremos hacer es quitar el script de shell que está allí para que podamos
eliminar eso.
Y lo que hagamos debe deshacerse de este script de shell mov también.
Así que haremos un nuevo guión para avanzar.
Puedes dejar destruir la cáscara allí.
Está bien.
Pero algo que deberías hacer ahora y que no he hecho en este vídeo es asegurarte de que compruebas.
Utiliza la gravedad en este prefabricado también, ya que se necesitará más adelante.
De acuerdo.
Así que lo siguiente que tenemos que hacer es editar el código de ese shell.
Así que voy a crear un nuevo script y vamos a tener esto como el script de shell.
Así que abre eso.
Ahora quieres meter algunas cosas aquí desde el script original de Shell que ya estamos usando,
y sobre todo tiene que ver con las cosas de colisión.
Así que agarra el en colisión, entra.
Ahora también vamos a tener que llevar a través de la explosión.
Así que si tomamos esto y lo copiamos y venimos a la cáscara y luego sólo añadir que a la parte superior y deshacerse
de todas estas cosas que programamos la física con.
Y aquí eso se ve bien.
No hay nada más que hacer aquí por ahora.
Así que guarda eso.
Volvamos a la unidad y ahora queremos adjuntarle ese script de shell.
Así que arrastra esto y queremos añadir la explosión, que está en nuestra carpeta de prefabricados, que está
justo aquí.
Así que volvamos a nuestro caparazón.
En realidad, permítanme poner una copia de que en la jerarquía que hará que sea más
fácil, y luego ir a los prefabricados y arrastre sobre esa explosión, explosión de la cáscara sólo en allí como eso.
Y después de hacer esos cambios, asegúrese de hacer clic en anular y aplicar todo para ese prefabricado.
Bien, ahora volvemos a nuestros guiones.
Queremos hacernos con el proyectil de fuego.
Así que Fire Shell es el guión que está en el tanque verde.
Vamos a abrir eso después de que elimine esta cáscara porque hemos terminado de jugar rampa que prefabricado y vamos a llegar
a trabajar la modificación de este modo que va a hacer automáticamente las trayectorias.
De acuerdo.
Así que, para empezar, vamos a eliminar la cosa de calcular la trayectoria de este script.
Si quieres guardar una copia de esto, entonces haz una copia de seguridad de Fire Shell.
Antes de eliminar todas estas cosas, vamos a bajar y deshacernos de nuestra trayectoria
de cálculo y también vamos a eliminar eso de aquí.
Así que vamos a quitar calcular la trayectoria y también vamos a deshacernos de este código AIM y sólo tener la bala de crear
como lo hicimos al principio cuando la barra espaciadora se hace clic en, que por supuesto más tarde se puede hacer de forma
automática.
Vale, pues volvamos a meter eso ahora.
En su lugar, vamos a utilizar el sistema de física de Unity para todas estas cosas.
Pero lo primero que tenemos que hacer es dar la vuelta al tanque para que esté de cara al enemigo.
Así que vamos a crear un vector tres y vamos a llamar a esa dirección, y eso va a ser igual
a nuestra posición de punto de transformación enemiga menos esta posición de punto de transformación.
Y puedes normalizarlo si quieres porque sólo necesitamos el vector de dirección, así que puede ser una longitud
de uno que está bien.
Así que normalizado.
Y luego haremos una catalana para darle la vuelta a esto y poder entregarme.
Mira, la rotación es igual a la vuelta en la rotación de la mirada del punto.
Ahora podríamos estar utilizando una mirada para la transformación en el tanque verde, pero luego sólo se encaja alrededor de la
posición exacta.
Esto realmente lo hará girar en el tiempo, por lo que parecerá que se está moviendo, que es básicamente el
uso del deslizamiento que vamos a hacer.
Así que vamos a mirar la rotación en el nuevo vector tres dirección punto X cero en la Y y la dirección punto
Z.
Esto es sólo en caso de que los tanques no estén en el mismo nivel.
No quieres que tu tanque se levante del suelo como si estuviera mirando
al aire porque un tanque no hará eso.
Bien, esa es nuestra rotación de miradas.
A continuación, vamos a este punto transformar la rotación del punto es igual a su vez en el punto slurp, que es una interpolación esférica entre un
ángulo de rotación y otro.
Así que este será este punto de transformación de la rotación del punto.
Así que es la rotación actual y la rotación de la mirada.
Y vamos a actualizarlo.
Tiempo Delta tiempo multiplicado por una velocidad de cohete, que es nuestra velocidad de rotación y, a continuación, los corchetes finales.
De acuerdo.
Ahora, no tenemos esto definido, así que tenemos que llegar a la parte superior de nuestro código y poner eso.
Así que aquí arriba, vamos a crear un flotador para la velocidad y vamos a establecer que a dos y se puede volver y cambiar que si desea
que su tanque verde a girar más rápido.
Bien, ya lo tenemos.
Vamos a guardarlo y volveremos a entrar en Unity para probarlo y poder conducir el tanque
rojo.
Y el tanque verde debe girar y mirar constantemente y se puede ver allí.
Fíjese en que no se encaja inmediatamente alrededor de los sorbos, que es un movimiento más bien natural.
En el próximo vídeo, volveremos a calcular el ángulo que necesitamos para que nuestra torreta
dispare nuestro proyectil para que impacte en el tanque rojo según la ecuación que hemos visto antes en
este vídeo.