Bienvenidos de nuevo a la segunda parte de este tutorial sobre la aceleración.
Lo que vamos a hacer ahora es preparar el caparazón para que se destruya a sí mismo, así como para que golpee cosas y
pueda moverse.
Así que vamos a empezar por la selección de la cáscara prefabricada que hemos estado utilizando todo
el tiempo y vamos a venir en el inspector.
Tenemos el script Move Shell adjunto.
En realidad vamos a desactivar eso y no lo vamos a usar.
También vamos a añadirle un colisionador.
Así que queremos un colisionador de cápsulas para sentarse alrededor de la cáscara y también queremos añadir algunos scripts que ya tenemos
en nuestro paquete de inicio.
Así que si vas a los scripts, he movido los que estaba trabajando antes, que eran Fire Shell
y Move Shell aquí, encontrarás que hay un script de shell y un script de destrucción de shell.
Coge el script de shell y el script de shell de destrucción y ponlos en tu shell.
Así que déjame hacer la concha en el mundo allí.
Y si nos acercamos a ella, podemos ver dónde fue nuestro colisionador de cápsulas.
Así que no encaja del todo.
Puede que quieras reajustarlo un poco.
Así que probablemente tenga que trabajar sólo con el radio.
Creo que necesita una dirección del eje Z, por lo que es la otra manera.
Y luego podemos trabajar con el.
Radio y altura para conseguir que encaje.
Así que ahí está la altura y bajar ese radio y luego bajar la altura sólo un poco.
Es decir, no tiene que ser tan preciso.
Entonces puede que quieras moverlo en su dirección Z hacia atrás a lo largo de la cáscara un poco.
De acuerdo.
Así que tenemos que ahora con ese shell allí en la jerarquía, podemos abrir nuestras secuencias
de comandos y arrastrar y soltar el script de shell en el shell y luego también el script de shell destruir en el shell.
Ahora selecciona ese shell y busca el script de shell.
Notarás que hay una explosión justo aquí.
Vamos a seleccionar la explosión en la carpeta Prefabs, que se llama Shell Explosion.
Arrastra y suelta eso en ese script de explosión.
Ahora que hemos terminado con la cáscara, vamos a ir a las anulaciones en el inspector
para asegurarse de que guardar todo de nuevo a la prefabricación.
Ahora no puedes verlo porque está fuera del borde de mi pantalla, pero hay
un botón de aplicar todo al final que escribirá de nuevo en el prefabricado y podemos eliminar la cáscara.
Ahora echemos un vistazo a Destroy Shell.
Abramos eso.
Lo que hace simplemente es destruir su caparazón después de 3 segundos.
Así que si tu proyectil no golpea nada, esto lo eliminará.
Eso es todo lo que hace.
Ahora, si volvemos a nuestro código shell, este es el que vamos a empezar a trabajar.
Así que tenemos nuestra explosión que viene a través.
Tenemos una colisión con un objeto llamado Tank, que necesitamos para comprobar si nuestros tanques son realmente etiquetados
con eso.
Y luego tenemos un inicio y una actualización ligera en la que estamos trabajando principalmente en esta actualización tardía.
Así que antes de empezar, como he dicho, deberíamos poner un tanque como tanque.
Así que vamos a entrar, seleccionar nuestro tanque verde, que es este tipo aquí.
Ahora, tiene que ser el objeto que tiene el colisionador en él, todos los objetos que tienen el colisionador en
él.
Ahora, en este caso, ninguno de estos objetos tiene un colisionador en él, y por lo tanto tenemos que añadir un colisionador.
Así que añade aquí un simple colisionador de cajas.
En realidad no importa demasiado.
No tiene que ser demasiado preciso.
Entonces echaremos un vistazo a nuestro tanque y veremos si podemos ver a dónde fue a parar.
Puede que tengamos que reajustarlo un poco.
Muévete hacia arriba.
Y hazlo un poco más grande en la dirección Z y en la X y la Y.
De acuerdo.
Y también queremos uno alrededor de nuestro tanque enemigo, que ya está etiquetado como Tank y tiene un box collider en
él.
Así que eso es bueno.
Así que este tanque verde tiene que ser etiquetado con la etiqueta del tanque así.
Ahora, si no tienes la etiqueta del tanque, siéntete libre de hacerla y luego adjuntarla al tanque
y al enemigo, el padre superior de ambos objetos.
Ahora, sólo estoy recordando antes de que realmente despojado de la cáscara, prefabricado de todo, antes de
empezar a jugar con él.
Lo que me gustaría que hicieras es seleccionarlo y asegurarte de que añades un cuerpo rígido porque
es el cuerpo rígido el que va a registrar, si ha golpeado algo y también ha utilizado la gravedad en él, como puedes
ver ahí.
Ahora puedes cambiar eso con sólo tenerlo en los activos.
No es necesario hacer una copia en la jerarquía.
De acuerdo.
Así que con eso hecho, podemos pulsar el play.
Y si pulsamos la tecla B para el tanque rojo, verás que ahora está produciendo proyectiles y están explotando.
Ahora, ¿por qué están explotando?
Porque realmente están golpeando ese tanque.
Si pulsas la barra espaciadora, ésta disparará celdas.
Lo que no quieres es que tus proyectiles sean golpeados por el objeto del que provienen.
De acuerdo.
Así que lo que podemos hacer con eso en lugar de eso es simplemente modificar.
Dejemos de jugar su posición de torreta.
Así que en el tanque rojo, si nos acercamos aquí y pulsamos la tecla W, podemos moverlo
hasta allí.
Y luego también vamos a ir a nuestro tanque verde, que tiene nuestra torreta del tanque que hemos añadido anteriormente.
Ahora no se basa en la rotación de ese tanque, si lo recuerdas, pero podríamos
moverlo así y luego pulsar la tecla y girarlo alrededor de su eje x.
Tendrás que comprobar que eso no está dentro de esto o hacer esto un poco más pequeño.
Ese es el colisionador de su tanque.
Así que voy a hacer el colisionador sólo un poco más pequeño en la dirección Z así.
Y luego iremos hacia el tanque enemigo.
Vamos a comprobarlo dos veces.
Cambiemos su caja colisionadora en la Z.
De acuerdo.
Así que ahora, si pulsamos el play, podemos comprobar que esas balas no lo hacen, y ahora no le dan
al tanque.
Tampoco van a ninguna parte porque no hemos puesto ningún código.
Así que volvamos a nuestro script de Shell y agreguemos eso.
Así que lo que quiero que hagas para un desafío aquí es proyectar esa cáscara hacia adelante a lo largo de su eje Z.
Ya hemos hecho eso antes y ya tienes el código para hacerlo, asegúrate de que va a
un metro por segundo, o que puedes establecer la velocidad de la misma y poner eso dentro de esta actualización tardía.
Así que ponle pausa al video y dale una oportunidad.
Y cuando volvamos, lo repasaré contigo.
De acuerdo.
Bienvenido de nuevo.
Lo que vamos a hacer es, por supuesto, en primer lugar, definir nuestra velocidad.
Así que la velocidad de flotación es igual a uno.
Así que eso es si quieres un metro por segundo y eso es lo que tendrías.
Que sean tres.
Y también podríamos hacerlo público para poder cambiarlo en el inspector así.
Y luego dentro de nuestra actualización de la luz, vas a tener este punto de transformación, punto traducir cero
en la extracción, cero en la dirección Y y la velocidad multiplicada por el tiempo, punto delta de tiempo en la dirección Z para que se mueva
hacia adelante en la Z.
Bien, entonces guardaremos esto.
Volveremos a la unidad y echaremos un vistazo al resultado de la misma.
Así que vamos a pulsar el play.
Permítanme alejar el zoom un poco en esta misma vista para que podamos ver si van más lejos y luego usaremos la
tecla B y echaremos un vistazo a dónde van.
Ahora, fíjate que salen y hay un poco de curva en la trayectoria.
Eso es porque la gravedad está en ese cuerpo rígido.
Así que el cuerpo rígido se está moviendo con el sistema de física de Unity para añadir gravedad, pero se está moviendo hacia
adelante con nuestro transform translate.
Así que si entramos en nuestra cáscara sólo por ahora, hay la cáscara que queremos apagar la gravedad.
Así que aquí abajo en las noticias, la gravedad, desactivar eso allí, porque en realidad estamos programando nuestro propio movimiento de
aceleración, no utilizando el sistema de física en Unity's, aunque usted podría hacer eso.
Pero esa no es la cuestión.
Bien, ya lo tenemos.
Ahora, lo que vamos a hacer en nuestro script de shell es calcular la velocidad basada en la aceleración.
Así que ahora vamos a añadir algunas variables que tienen que ver con nuestra física de la aceleración.
Queremos que la masa, vamos a establecer que es igual a diez, entonces queremos un flotador de la fuerza, establecer que a 1000, entonces necesitamos un flotador
para la aceleración y ya tenemos nuestro valor de la velocidad hasta allí.
De acuerdo.
Así que bajemos y usemos eso en nuestra última actualización.
Así que primero calculamos la aceleración.
¿Puedes recordar cuál es la fórmula de la aceleración?
Bueno, la aceleración es igual a la fuerza dividida por la masa.
Esta es la fórmula F es igual a M que vimos en la conferencia anterior de la aceleración.
Podemos calcular la velocidad.
Así que la velocidad está determinada por la aceleración.
La aceleración en el tiempo.
Así que multiplicado por un punto de tiempo delta.
Así que ahora nuestra velocidad no se pone como un valor establecido.
Se va a basar completamente en la aceleración.
Y si piensas en el funcionamiento de un coche, se basa en la aceleración.
Sin aceleración, no hay velocidad.
Así que guarda esto.
Ahora volveremos a entrar en unity y pulsaremos el play para ver el efecto cuando pulsamos
la tecla B de la caja de programación de Shell.
Así que si golpeo el pico, va a ir muy lejos porque estamos poniendo un poco de fuerza allí.
Fíjate en la cantidad de fuerza que sale de esa bala y simplemente se acelera porque constantemente estamos
añadiendo esa fuerza una y otra vez a la bala.
En realidad, no lo añadimos una sola vez.
Así que es como si esa bala fuera empujada por el aire, que a menos que tenga un cohete
detrás, lanzando algún tipo de propulsión, no va a ir muy bien en la vida real.
Tendría un pequeño impulso y luego querría simplemente caer al suelo.
De acuerdo.
Así que volvamos en la próxima conferencia y analicemos esa mecánica en particular.