Bienvenido a la tercera parte de esta serie de tutoriales sobre aceleración.
Ahora vamos a empezar con un pequeño reto.
Ya te dije en el último vídeo que estamos añadiendo constantemente aceleración a la velocidad y, por tanto,
la bala realmente se acelera con un proyectil, aunque normalmente empieza con una aceleración determinada cuando se
dispara del arma y luego no se le añade más propulsión.
Entonces, ¿cómo modificarías este código?
Así que sólo recibe un empujón al principio de su vida y luego continúa con esa velocidad particular.
Ponga el vídeo en pausa ahora y pruébelo.
Y cuando vuelvas, te enseñaré cómo hacerlo.
Bienvenido de nuevo.
¿Cómo le fue con ese desafío?
Bueno, básicamente, tenemos un método de inicio aquí.
Y este Dartmouth se va a ejecutar cuando la bala se instancie porque el script de shell está
en la bala.
Eso significa que podemos sacar este cálculo de aquí y ponerlo aquí para calcular realmente lo que
va a ser.
Ahora, la aceleración en este caso no será en el tiempo.
Tiempo delta.
Quieres la aceleración al principio y ni siquiera al principio, porque al principio la
velocidad es cero.
Así que cuando esto empiece, básicamente lo vamos a tener acelerado después de un segundo.
Ahora, también te habrás dado cuenta de que anteriormente habíamos multiplicado el tiempo delta por la velocidad dos veces con
la bajada aquí.
Pero ahora que nos hemos librado de eso, eso ya no es un problema.
Si quisieras dejar este código aquí abajo, entonces no necesitarías los dos lotes de tiempo, tiempo delta
que teníamos antes.
Básicamente ahora con la aceleración ajustada para multiplicar por un segundo nos lleva a la pregunta de ¿cuáles
son las unidades de fuerza y masa?
Bueno, en la unidad utiliza unidades métricas.
Si está interesado en todos estos tipos de unidades, puede echar un vistazo a este enlace que aparece
ahora en la pantalla, que le llevará a todas las unidades estándar que se utilizan en los cálculos de fuerza.
La fuerza es básicamente Newtons.
Entonces, ¿cuántos newtons hay detrás de la fuerza, que es la masa y las unidades de aceleración juntas?
Así que básicamente tienes kilos y los multiplicas por la aceleración, que en realidad es en segundos al cuadrado.
Así que aquí arriba con nuestra masa y nuestra fuerza que estamos poniendo inicialmente una masa de diez kilos para una bala,
que es una bala de cañón.
Bueno, tal vez no tan grande, pero es una bala grande.
Así que reduzcamos esto a unidades adecuadas ahora.
Ahora, ¿cuánta fuerza quieres poner detrás?
Si piensas en simular una bala real, incluso un kilo es mucho, ¿no?
Pero un toro de verdad.
No puedes verlo ahora.
Podemos simularlo para no verlo.
Pero entonces no tiene sentido.
Lo que voy a hacer en su lugar es reducir esta fuerza a una.
Así que, básicamente, cuando empujemos la bala hacia fuera, la velocidad acabará siendo uno dividido por uno, lo que nos dará una
velocidad de un metro por segundo.
Sin embargo, no olvides que tenemos la velocidad establecida en la parte superior aquí en tres.
Voy a deshacerme de él por ser público porque de todas formas no lo vamos a poner en el inspector.
Y pongamos esto a cero inicialmente porque esa será la velocidad inicial.
¿De acuerdo?
Así que con todo eso en vigor, vamos a guardarlo y entraremos en la unidad cuando lo ejecutemos.
Ahora tendremos estas balas volando a un metro por segundo.
Vale, pues vamos a darle a la tecla B.
Y ahora podemos ver realmente estas balas volando, viviendo durante 3 segundos, que esencialmente,
si lo piensas, han vivido durante tres metros a través de allí.
Así que irán a un metro cada segundo porque estamos bastante alejados de los tamaños de estas cosas y esas
balas son enormes.
¿Y ahora qué vamos a hacer si quieres acelerar esto?
Bueno, por supuesto, podrías añadirle un poco más de fuerza.
Así que si volvemos a nuestra secuencia de comandos, podemos llegar y hacer esto una fuerza de dos, que debe
dar el doble de tipo de oomph cuando se inicia.
Así que guarda eso.
Volvamos, pulsemos el play y veamos el efecto.
Necesitamos que vaya a una velocidad decente para que podamos ver cómo se ralentiza.
Vale, bueno, no está tan mal.
Podrías hacerlo un poco más rápido si quisieras.
La siguiente parte de la simulación de esta bala es ralentizarla realmente, de modo que se ralentizará cuando
esté en la atmósfera debido a la resistencia o a la fricción del aire.
Así que tenemos que añadir un valor para esto.
Lo pondremos aquí debajo de nuestra otra fuerza.
Así que pon flotador y arrastra y establece que sea, digamos, uno en este caso.
Ahora bien, es posible que también te hayas dado cuenta.
He aumentado la masa de mi bala.
Eso fue para poder ralentizar mi simulación para que se pueda ver, porque con mi software de grabación
de pantalla, sigue cambiando las velocidades en mí.
Y antes era muy, muy lento.
Pero desde entonces reinicié todo y ahora es mucho más rápido.
Así que si quieres ver lo que estás haciendo, tienes que manipular estos valores.
Pero sólo queremos ver el efecto real del arrastre.
Así que si bajamos a nuestra actualización tardía, vamos a actualizar la velocidad aquí.
Así que la velocidad y esto se multiplica por igual y va a ser uno menos el tiempo punto delta.
Multiplicado por el arrastre.
Y, por supuesto, también se puede aumentar esa cantidad de arrastre.
Así que con eso dentro, guardémoslo y echemos un vistazo a cómo eso ralentiza la bala.
Así que pulsa el play.
Y vamos a disparar una bala.
Ahora puedes ver que sale y se ralentiza.
Así que es un aire bastante espeso que está tratando de viajar a través.
Lo siguiente que tenemos que añadir es algo de gravedad porque la bala no va a llegar a ese punto y detenerse.
Tiene que, al salir, crear un arco porque es la gravedad en la tierra la que crea ese arco
para nosotros.
Así que de vuelta a nuestro caparazón, vamos a subir a la parte superior y añadir una fuerza para la gravedad.
Así que pondremos flotador.
La gravedad y la gravedad es -9. 8 metros por segundo al cuadrado en la Tierra.
Así que vamos a utilizar ese valor aquí.
Asegúrate de poner una F ahora necesitaremos un flotador para la aceleración de la gravedad, que es básicamente una desaceleración,
que calcularemos.
Y también necesitamos otra velocidad.
Así que en la parte superior pondremos float y esta será nuestra velocidad en y para movernos en la dirección
Y y hacer ese cero f.
De acuerdo.
Así que ahora tenemos que calcular la deceleración real o la aceleración de la gravedad.
Así que aquí después de esto, puedo poner en G Excel es igual a la gravedad, que es la fuerza f dividida por la masa de nuevo.
Y luego en nuestra última actualización podemos añadir nuestro factor de gravedad a nuestra velocidad.
Por qué la velocidad más es igual a g excel multiplicado por el tiempo delta.
Y entonces ese valor puede ir aquí como nuestra velocidad y.
Muy bien, entonces tenemos eso en su lugar.
Ahora vamos a guardarlo y a probarlo.
Así que vuelve a la unidad.
Ahora bien, si quieres que las balas se destruyan al chocar con el suelo, podrías marcar el suelo que
está ahí.
Tiene un colisionador.
Así que podríamos etiquetarlo como tanque o podrías etiquetarlo como suelo y ponerlo en tu código como una de las condiciones
para hacerlo.
No importa de qué manera lo hagas, pero para nosotros en este momento, realmente no importa porque
no vamos a seguir utilizando este proyecto de esa manera.
De acuerdo.
Así que voy a levantar mi torreta.
Ahora estoy corriendo y voy a pulsar la tecla B y verás que las balas ahora salen y bajan
bien con la gravedad.
Y si ahora cambio el ángulo, salen.
Y en realidad debido a la gravedad que golpea ese colisionador de caja alrededor del tanque en
ese ángulo particular que tenía como, bien, genial.
Así que en este punto podrías darles un poco más de fuerza dependiendo de cómo estén volando para ti.
Así que la fuerza de arranque, si subo a la parte superior, podría aumentar esto por dos o podría aumentar el arrastre si desea reducir
la velocidad o disminuir el arrastre si desea acelerar.
Hay todo este tipo de fuerzas involucradas.
Y vamos a jugar de nuevo con esos valores para ver cómo se ve en mi tanque.
Así que lo tengo para ir un poco más allá.
En este punto, probablemente quieras girar la bala para que mire en la dirección que va.
Pero créeme, no querrás hacerlo con el código que tenemos por la forma en que
lo estamos haciendo, porque estamos empujando la bala.
Es básicamente su eje ascendente y su eje aquí.
Si tratamos de girar la bala, entonces afectará a esta línea de traducción aquí.
Y como la bala puede estar mirando en cualquier dirección, nos confundimos y nos encontramos con un montón de matemáticas complicadas
que tienen que ver con las posiciones locales y las posiciones mundiales y cosas así.
Así que no vamos a hacerlo aquí.
En su lugar, lo que vamos a hacer es volver en la próxima conferencia y ver algunas otras formas de hacer trayectorias,
porque esto era sólo para hacerles conscientes de todos los elementos matemáticos que están involucrados.