En la lección anterior, vimos cómo calcular la distancia utilizando el teorema de Pitágoras.
Ahora vamos a ver otras formas en que unity puede hacerlo con sus métodos incorporados.
Bien, volvamos a nuestro código para poder añadirlo.
Así que esta es nuestra distancia de cálculo y esto es Pitágoras.
Ahora debajo de aquí crearemos otro flotador y lo llamaremos Distancia U.
Así que este es el cálculo de la distancia de Unity.
Ahora, la unidad es la distancia.
El cálculo puede tomar dos posiciones en el espacio y calcular la diferencia entre ellas.
Bien, entonces estamos haciendo esto con el combustible y también con nuestro tanque.
Así que en la unidad podemos ir vector tres distancia porque es en realidad en el vector tres clase y luego darle a los valores
de posición que también se almacenan como vectores porque es un valor X, Y y z.
Así que podemos ir a la posición de punto de transformación de combustible y la posición de transformación.
No importa la dirección que tengas porque estás trabajando en la distancia, no en una dirección.
Bien, ahí vamos.
Ahí está nuestra distancia U.
Y luego podemos añadir otro registro de depuración aquí debajo para que podamos ver lo que es.
Así que te pondremos distancia es igual a ti.
La distancia así en los cálculos.
Bien, guardaremos esto y volveremos a entrar en Unity Pulsar play y veremos la precisión de nuestros
dos cálculos.
Así que con el play pulsado, vamos a.
Presiona el espacio para empezar.
Ahora echemos un vistazo a lo que estamos haciendo aquí abajo.
Tenemos 49, que es la distancia que hemos calculado con Pitágoras.
Y luego tenemos nuestra distancia de unidad, que dice 53.
¿Por qué son diferentes?
Seguramente te estabas dando cuenta mientras escribía eso.
Déjame encontrar ese código para ti.
Recuerda que esta distancia aquí es sólo en dos dimensiones X y Z.
Esta distancia aquí es el cálculo de la distancia en tres dimensiones, esencialmente, porque tienes la dimensión
tres de esa posición y la dimensión tres de esa posición.
Así que si volvemos a la unidad y echar un vistazo a nuestro combustible, lo que nos interesa bastante aquí es el valor
Y del combustible porque ahora se está incluyendo en el cálculo de la distancia de la Unidad.
Así que el combustible es en realidad, en mi caso, 9. 8.
Y si no lo has movido, debería seguir ahí.
El tanque, si miramos eso, la posición del tanque, mira su posición Y es -11. 3.
Así que te está dando diferentes valores en los que está calculando su distancia en base a ellos.
Si realmente no te importan las alturas de estas cosas, por supuesto que puedes
ponerlas igual o forzarlo en el código.
Déjame mostrarte cómo hacerlo.
Así que deja de jugar.
Vamos a volver a nuestro código y aquí queremos establecer estos valores con un valor Y de cero por lo que en realidad podemos decir
en lugar de vector tres y este será nuestro combustible.
Pausa es igual al nuevo vector tres y podemos establecer esto a la posición transformada de campo x cero para la Y y luego el combustible
punto transformar la posición punto z así y podemos hacer un vector tres para nuestro tanque.
La pausa equivale prácticamente a lo mismo, así que vamos a coger esto.
Y ponlo aquí abajo y cambia esto por transformar y transformarse.
Así que ahora estas dos posiciones tienen cero en la Y.
No afectarán a la ubicación de su objeto de juego tanque o del objeto combustible.
Sólo hay que sacar los valores de ellos y utilizarlos poniendo la Y a cero.
Esto es completamente legítimo y a veces realmente no te importa la altura.
Te interesa más la distancia horizontal entre las cosas y así es como lo harías.
Bien, ahora en el trabajo de la distancia que aquí abajo, en realidad va a ser la pausa de combustible y la
pausa del tanque así.
Bien, entonces guarda esto y vamos a probarlo para ver si eso arregla nuestros cálculos.
Así que ahora vamos a pulsar el play y vamos a darle a la vieja barra espaciadora inmediatamente y vamos a ver nuestros
cálculos mucho, mucho mejor y mucho más precisos.
Y luego, por supuesto, si vengo y muevo mi tanque, recalculará ambos para que estén en el mismo
lugar.
Genial.
Eso funciona bien.
Así que eso es encontrar la distancia entre dos puntos.
Si calculamos el vector entre este punto y este otro, también podemos averiguar la longitud del vector,
que es la distancia entre estos dos puntos.
Al igual que la magnitud que utilizamos antes cuando teníamos un pequeño aldeano y los cerdos que lo perseguían.
Así que déjame mostrarte cómo lo haríamos.
De nuevo en el código, vamos a calcular otro vector, en este caso.
Así que el vector tres y vamos a utilizar estas dos posiciones para hacer el vector entre, bien, porque sabemos que han
puesto a cero en la Y.
Así que esto será un tanque a combustible y que va a ser igual a la pausa de combustible menos el tanque, la pausa así.
Entonces, acabamos de obtener la magnitud de esto.
Así que ahora vamos a hacer el registro de depuración y vamos a ir vector.
Así que como la magnitud v y aquí pondremos el tanque a la magnitud de punto de combustible así, que es lo que hemos utilizado anteriormente.
De acuerdo.
Así que salvando, volvamos a la unidad.
Vamos a pulsar el play y a echar un vistazo a nuestros cálculos.
Así que pulsamos el play.
Y luego presiono la barra espaciadora y obtenemos tres valores que son exactamente iguales, pero tenemos
diferentes formas de calcularlos.
Genial.
Así es como puedes calcular la distancia.
Y ya hemos visto la magnitud antes.
Antes de irnos, una cosa que me gustaría señalar con este tanque a combustible, también vamos a agarrar esta línea y quiero ponerla aquí
abajo porque puede que hayas visto este método antes es conseguir la magnitud al cuadrado.
Ahora permítanme poner la magnitud SKU aquí abajo, el tanque de combustible en lugar de la magnitud.
Lo que voy a hacer es ir a la magnitud cuadrada del punto así.
De acuerdo.
Y hablaré de esto en un momento después de que lo hayamos visto.
Así que guarda ese cambio de nuevo a la unidad y de nuevo, vamos a pulsar el play.
De acuerdo.
Así que vamos a acercarnos un poco más a este tanque.
Así que cuando pulso la barra espaciadora, podemos ver nuestra magnitud al cuadrado y nuestra magnitud normal.
Así que la magnitud normal es diez.
La magnitud al cuadrado es de alrededor de 100, que es diez veces diez, o el cuadrado de diez.
Diez a la potencia de dos da la magnitud del cuadrado.
¿Por qué demonios necesitas la magnitud cuadrada?
Bueno, la magnitud cuadrada es una operación mucho más rápida que la magnitud, porque la magnitud requiere que
realices una operación de raíz cuadrada, porque eso es lo que hay en la fórmula.
Pero si sacamos esa raíz cuadrada, terminamos con la magnitud al cuadrado.
Ahora, obviamente es un valor mayor, pero te ahorras la operación de la raíz cuadrada.
Así que en el caso con nuestro aldeano y los cerdos antes, cuando podríamos haber dicho que la dirección
punto magnitud es mayor que dos, o también podríamos haber dicho dirección al cuadrado magnitud es mayor que cuatro en nuestro
código y es en realidad una operación más rápida de realizar.
Así que tenlo en cuenta, especialmente cuando estás haciendo algo una y otra vez dentro de un bucle
de actualización es que puedes utilizar la magnitud cuadrada.
Y si miras muchas de las herramientas en unity y el código que está disponible para los personajes y que
funciona a distancia y cosa, verás que la magnitud cuadrada se utiliza una y otra vez.
Y es por eso.