Hey, bienvenido de nuevo, Mis desarrolladores de juegos favoritos en este video,
nuestra pistola ya no es un objeto estático.
Si miras de cerca,
puedes ver que cuando bajamos,
el arma se mueve hacia abajo.
Cuando miramos hacia arriba,
el arma se cierra.
Obviamente, todavía hay un par de cosas que necesitan ser
arregladas porque sostener el arma así me siento bastante incómodo, pero no se
preocupe por eso.
Este es el primer paso para nombrar adecuadamente a nuestra pistola.
Entonces, no perdamos más tiempo y empecemos.
esto hay mucha matemática.
Así que ponte tus gorras de pensamiento.
Ahora que nos estamos moviendo y nos estamos chocando con las cosas,
es hora de empezar a apuntar nuestra arma.
Para ello, queremos rotar el arma alrededor de una determinada posición.
No queremos realmente estar rotando el arma exacta porque si miramos aquí,
si vamos a la escena,
ya puedes ver,
si tratamos de rotar el arma tal como está,
no se ve tan bien.
Necesitamos un punto desde el cual estará girando el arma.
Entonces lo que haremos es que vamos a hacer clic derecho en el jugador de cúpula.
Vamos a crear un objeto de juego vacío.
Nosotros lo vamos a llamar el brazo de armas.
Y vamos a moverlo a cierto punto.
Y este es el punto donde el arma o desde el que estará girando la pistola.
Entonces lo voy a poner alrededor casi de la mano o del brazo del jugador.
Y yo voy a hacer la escopeta,
un hijo de esas armas son.
Entonces ahora cuando rotemos el brazo de armas,
notarás que la escopeta se queda en su lugar casi alrededor del brazo justo aquí,
y se ve mucho más natural a medida que rotamos la escopeta o las armas están.
Entonces ahora es el momento de un poco de frío.
Pero antes de que hagamos eso,
¿cómo vamos a estar rotando este brazo?
Va a depender de dónde esté nuestra boca.
Entonces digamos que estamos aquí arriba.
Queremos que la pistola de disparo apunte hacia el ratón.
¿ Cómo vamos a calcular eso?
Bueno, necesitaremos un par de puntos y déjame explicarlo usando matemáticas, yay matemáticas.
Entonces, empecemos.
primera hora necesitamos la posición del jugador en la pantalla.
Bueno, yo uso el término posición de jugador,
pero en realidad es el punto en el que estamos girando la escopeta alrededor.
Pero por ahora, vamos a mantenerlo simple.
Llama a esto la posición del jugador,
y tenemos la posición del ratón en la pantalla.
Entonces lo que queremos es que queremos conseguir el vector en estos dos puntos.
Esta es la dirección que se han ido va a estar apuntando.
Pero, ¿cómo vamos a calcular realmente el ángulo en el que queremos que el arma apunte?
Bueno, conocemos la exposición y conocemos la posición y.
Bueno, me refería a X e Y.
Entonces lo que podemos hacer es que podemos usar algo llamado arco tangente.
Y esto es algo disponible para nosotros en matemáticas.
F de unidad es biblioteca.
Entonces podemos usar eso para calcular el arctan.
Y si no sabes qué arctan o ni siquiera sabes lo que Dan es
tangente creo que se llama es la parte delantera,
que es la y dividida por V x. Y
cuando hacemos eso,
obtenemos cierto número,
que es la tangente.
Entonces para obtener el ángulo,
usamos algo llamado el arco tangente,
que es una especie de reversa.
Pero todo lo que necesitas saber es que obtenemos la diferencia en la altura,
obtenemos la diferencia en la distancia.
Y usando eso, calculamos el ángulo en el que el argón debería estar señalando.
Se trata de matemáticas elementales básicas.
No estoy seguro si estás familiarizado con eso.
Si quieres profundizar más en ello, sé mi invitado,
creo que esta será suficiente explicación.
Entonces, traducimos estas ecuaciones matemáticas en códigos matemáticos.
Entonces voy a volver atrás y nuestro guión aquí en el controlador de jugador.
Y lo primero que necesitamos es los dos referentes para la cámara y para las armas son.
Entonces voy a empezar creando un campo serializado,
que será una transformación.
Y va a representar las armas son geniales.
La segunda variable que vamos a crear como cámara privada,
y va a ser la cámara principal.
Y lo genial de esto es que de inmediato podemos entrar a
Stuart y decir que la cámara principal es igual a la cámara.
Punto principal.
Y usando esta cámara, esa principal,
inmediato podemos conseguir una referencia a la cámara principal que tenemos.
Y aquí, genial.
Ahora necesitamos saber dónde está nuestra boca en el mundo.
Entonces vamos a desplazarnos hacia abajo y aquí,
y sólo voy a eliminar estos comentarios porque ya no los necesitamos.
Si sientes que los necesitas,
guárdalos como recordatorio para más adelante cómo cambiamos y avanzamos a través de nuestro código.
Entonces ahora voy a conseguir la posición del ratón.
Voy a usar un vector tres.
Y se va a llamar la posición del ratón.
Y va a ser igual a la posición del ratón de punto de entrada.
Y puedes ver en este momento que de inmediato la Comunidad Visual Studio
nos da la posición actual del ratón en coordenadas de píxel.
Tan genial, eso es lo que necesitamos.
Y obviamente, ya conozco estas cosas.
Si quieres investigar esto,
habrías necesitado entrar en Google, cómo ir a
conseguir la mayor parte de la posición.
Se han conseguido las documentaciones para la unidad.
Habrías encontrado esta posición de ratón de punto de entrada.
Lo habrías usado.
Esto es sólo un atajo.
Sigamos adelante. Lo siguiente que necesitamos es el punto de pantalla.
Entonces punto de pantalla, y va a ser igual a la cámara principal,
la cámara mundial, mundo a punto de pantalla.
Y se puede ver la definición y aquí está
la posición transformada del espacio mundial y al espacio de pantalla.
Ahí vamos. Esto es lo que necesitamos.
Transformar escala local, me refiero a posición local.
Y esto nos dará la posición local de la transformación,
que es el jugador en este momento.
Y ahora es el momento de calcular el ángulo.
Primero que nada, guardemos todo eso.
Adelante y asignemos el brazo para el jugador.
Entonces voy a arrastrar el brazo de armas ahora mismo.
Eso lo vamos a salvar.
Y ahora el siguiente paso es calcular realmente el ángulo.
Entonces voy a primero que nada,
mostrarte esto otra vez para que puedas volver atrás y mirarlo si es necesario.
Y luego te voy a emitir un reto.
Y tu reto va a ser calcular el ángulo.
Entonces lo primero que haces es que necesitas restar
la posición x del ratón de la posición del punto de pantalla de la x.
Obviamente, necesitarás hacer lo mismo para el y.
y entonces necesitarás calcular
el punto F matemático arctangente para encontrar eso en la documentación de Unidad.
Adelante, pausa el video ahora mismo.
Ve a hacer lo mejor que puedas.
Pruébalo.
No perderás nada haciendo lo mejor que puedas.
Pausa el video ahora mismo y ve a hacer el reto.
Hey, bienvenido de nuevo.
Entonces como pueden ver,
acabo de buscar matemáticas,
arco tangente en Unidad.
Ahora estoy justo aquí.
¿ Qué hago? Bueno, necesito ver cómo funciona esto.
¿ Qué hace? Devuelve un flotador.
Esta es nuestra como uso matlab.org Tange.
Está bien, genial.
Entonces volvamos aquí.
Entonces lo primero que tenemos que hacer es calcular la diferencia.
Voy a poner ambos en un vector dos.
Entonces voy a usar un vector to, voy a
llamar a esto el offset.
Entonces es el desplazamiento entre los dos puntos.
Será igual a un nuevo vector dos.
Y aquí dentro voy a primero de todo conseguir la posición del ratón punto x y restarle de ella,
el punto de pantalla dirige.
Y yo voy a hacer lo mismo en el porqué.
Ahora voy a crear un flotador porque como vimos este método, el método
dot arctan devuelve un flotador,
va a ser igual a matemática F dot arc tan o no, Eta.
Se llama bronceado dos.
Y voy a utilizar el offset dot y dividido por el offset DRX.
Genial, así que voy a guardar eso.
Pero siempre que queremos asignar la rotación real a las armas son,
no podemos simplemente hacerlo usando un flotador.
Lo que necesitamos hacer es usar un método extra,
que es el método que rad dos grados.
Y se puede ver esto convierte radianes en grados constantes.
Entonces tendremos que hacer eso.
Y lo último que tenemos que hacer es que tendremos que acceder a las armas en
rotación de puntos y ahora prepárate para un mundo un poco aterrador.
Vamos a usar cuaterniones.
Así cuaternion dot Bueller.
Y lo vamos a fijar como 00 en el eje x.
No giramos en el eje Y, no giramos.
Sólo giramos alrededor del eje z utilizando el ángulo.
Ahora, antes de huir,
¿qué es Turnitin dot Hulu?
Si miras lo anterior justo aquí,
puedes ver que devuelve una rotación que gira Z grados alrededor del eje z,
x alrededor del eje x,
y así sucesivamente y así sucesivamente.
Entonces cuaternion dot.
Si te interesa,
puedes ahondar en esto.
Yo personalmente, llevo varios años rotando objetos en Unity
y nunca he entendido del todo lo que significan
por cuaternión es solo una forma de convertir
del XYZ en una rotación y espacio reales.
Así que siéntete libre de ahondar, ve
a buscarlo, asegúrate de entender todo.
Si no, si no te molesta no entender completamente
lo que está pasando con cuaternion u dot.
Confía en mí, puedes pasar por tu viaje de desarrollo de juegos sin preocuparte por ello.
Entonces esta es simplemente una forma de convertir x,
y, y z en un ángulo en una rotación.
Eso lo ahorraremos.
Volveremos a Unidad.
Y vamos a correr el juego.
Y veamos qué está pasando con el arma ahora mismo,
nos movemos hacia arriba, el arma se mueve hacia arriba.
Nos movemos hacia abajo. El arma se mueve hacia abajo.
Si vamos a la izquierda, sí.
Nuestra pistola se ve un poco rara cuando miramos en la otra dirección,
pero cuando se trata de la dirección adecuada, ahí vas.
Nos movemos e incluso se ajusta a medida que caminamos.
Para que veas cuando nos movemos hacia arriba,
el arma se mueve hacia abajo.
Siempre mirando exactamente dónde está nuestra posición del ratón.
Tan genial ahora tenemos un arma que en realidad está disparando,
lo cual es increíble en mi opinión, no en realidad disparando,
que estará disparando en la dirección correcta más adelante a medida que nos movamos.
Pero obviamente hay algo mal cuando
tratamos de mover el ratón en la otra dirección,
sí se mueve correctamente.
Eso es lo que vamos a estar arreglando en el siguiente video mientras aprendemos
algo muy agradable codificación que se llama las sentencias if y si condiciones.
Entonces te veré ahí.
Pero antes de irnos,
siempre asegúrate de poner en escena todos tus archivos.
Mega se compromete.
Voy a llamar a esto hizo que mi arma apuntara en
la dirección correcta o no envidio ángulo recto.
Porque en el siguiente video,
lo haremos apuntar en la dirección correcta,
hará que todo el jugador apunte y la dirección correcta.
Entonces, nos vemos entonces.