Bonjour, bon retour, Mes développeurs de jeux préférés dans cette vidéo,
notre arme n'est plus un objet statique.
Si vous regardez de près,
vous pouvez voir que lorsque nous descendons,
le pistolet se déplace vers le bas.
Quand on lève les yeux,
le pistolet se bloque.
Évidemment, il y a encore quelques choses qui doivent être
réparées parce que tenir le pistolet comme ça me semble plutôt mal à l'aise,
mais pas de soucis à ce sujet.
C'est la première étape pour nommer correctement notre arme.
Donc, ne perdons plus de temps et commençons.
Il y a beaucoup de maths là-dedans.
Alors mettez vos casquettes de réflexion.
Maintenant que nous avançons et que nous nous heurtons à des choses,
il est temps de commencer à viser notre arme.
Pour ce faire, nous voulons faire pivoter l'arme autour d'une certaine position.
Nous ne voulons pas vraiment faire tourner l'arme exacte parce que si nous regardons ici,
si nous allons sur les lieux, vous pouvez voir maintenant,
si nous essayons de faire pivoter le pistolet tel qu'il est,
il n'a pas l'air aussi beau.
Nous avons besoin d'un point d'où le pistolet va tourner.
Ce que nous allons faire, c'est que nous allons faire un clic droit sur le lecteur dôme.
Nous allons créer un objet de jeu vide.
Nous allons appeler ça le bras d'armes.
Et nous allons le déplacer à un certain point.
Et c'est le point où le pistolet ou à partir duquel le pistolet va tourner.
Je vais donc le mettre presque autour de la main ou du bras du joueur.
Et je vais fabriquer le fusil de chasse,
un enfant de ces armes.
Maintenant, lorsque nous tournons le bras de l'arme,
vous remarquerez que le fusil de chasse reste à sa place presque autour du bras,
et cela semble beaucoup plus naturel lorsque nous faisons tourner le fusil de chasse ou les armes.
Il est donc temps de prendre un peu de froid.
Mais avant de faire cela,
comment allons-nous réellement faire tourner ce bras ?
Cela dépendra de l'endroit où se trouve notre bouche.
Disons donc que nous sommes ici.
Nous voulons que le fusil de tir pointe vers la souris.
Comment allons-nous calculer cela ?
Eh bien, nous aurons besoin de quelques points et laissez-moi l'expliquer en maths, yay math.
Commençons donc.
Tout d'abord, nous avons besoin de la position du joueur à l'écran.
J'utilise le terme « position du joueur »,
mais c'est en fait le point sur lequel nous tournons le fusil de chasse.
Mais pour l'instant, restons simples.
Appelez cela la position du joueur,
et nous avons la position de la souris sur l'écran.
Ce que nous voulons, c'est que nous voulons obtenir le vecteur sur ces deux points.
C'est la direction qui aura disparu qui va pointer.
Mais comment allons-nous réellement calculer l'angle dans lequel nous voulons que le canon pointe ?
Eh bien, nous connaissons l'exposition et nous connaissons la position Y.
Eh bien, je voulais dire X et Y.
Ce que nous pouvons faire, c'est que nous pouvons utiliser quelque chose appelé la tangente d'arc.
Et c'est quelque chose qui nous est disponible en maths.
F de l'unité est une bibliothèque.
Nous pouvons donc utiliser cela pour calculer l'arctan.
Et si vous ne savez pas quel arctan ou si vous ne savez même pas ce que Dan est
tangent, je crois que c'est l'avant,
c' est-à-dire le Y divisé par V x.
Et lorsque nous faisons cela,
nous obtenons un certain nombre,
qui est la tangente.
Donc, pour obtenir l'angle,
nous utilisons quelque chose appelé la tangente de l'arc,
qui est un peu inverse.
Mais tout ce que vous devez savoir, c'est que nous avons la différence de hauteur,
nous obtenons la différence de distance.
Et en utilisant cela, nous calculons l'angle dans lequel l'argon devrait pointer.
Il s'agit de mathématiques élémentaires de base.
Je ne sais pas si vous êtes familier avec ça.
Si vous voulez approfondir la question, soyez mon invité,
je crois que ce sera une explication suffisante.
Traduisons donc ces équations mathématiques en codes mathématiques.
Je vais donc revenir en arrière et notre script ici dans la manette du joueur.
Et la première chose dont nous avons besoin, c'est les deux références pour la caméra et pour les armes.
Je vais donc commencer par créer un champ sérialisé,
qui sera une transformation.
Et ça va représenter que les armes sont géniales.
La deuxième variable que nous allons créer en tant que caméra privée,
et elle sera la caméra principale.
Et ce qui est cool à ce sujet, c'est que nous pouvons immédiatement aller
Stuart et dire que la caméra principale est égale à la caméra.
Dot principal.
Et en utilisant cette caméra, cette principale,
nous pouvons immédiatement obtenir une référence à la caméra principale dont nous disposons.
Et ici, super.
Nous devons maintenant savoir où se trouve notre bouche dans le monde.
Nous allons donc faire défiler vers le bas et ici,
et je vais simplement supprimer ces commentaires parce que nous n'en avons plus besoin.
Si vous estimez que vous en avez besoin,
gardez-les pour vous rappeler plus tard comment nous avons changé et évolué dans notre code.
Maintenant, je vais trouver la position de la souris.
Je vais utiliser un vecteur trois.
Et ça va s'appeler la position de la souris.
Et cela sera égal à la position de la souris point d'entrée.
Et vous pouvez voir maintenant que la communauté Visual Studio nous donne immédiatement
la position actuelle de la souris en coordonnées pixel.
Super, c'est ce dont nous avons besoin.
Et évidemment, je connais déjà ce genre de choses.
Si vous vouliez faire des recherches sur ce point,
vous auriez dû aller dans Google,
comment obtenir le plus de position.
Vous avez obtenu les documentations pour l'unité.
Vous auriez trouvé cette position de souris point d'entrée.
Vous l'auriez utilisé.
Ce n'est qu'un raccourci.
Continuons. La prochaine chose dont nous avons besoin, c'est le point d'écran.
Donc, point d'écran, et il sera égal à la caméra principale,
la caméra mondiale, au monde à l'écran.
Et vous pouvez voir la définition et voici
la position de transformation de l'espace mondial et de l'espace écran.
On y va. C'est ce dont nous avons besoin.
Transformez l'échelle locale, je veux dire la position locale.
Et cela nous donnera la position locale de la transformation,
qui est le joueur en ce moment.
Et maintenant, il est temps de calculer l'angle.
Tout d'abord, sauvegardons tout ça.
Allons de l'avant et assignons le bras au joueur.
Je vais donc tirer le bras de l'arme maintenant.
Nous allons sauver ça.
Et maintenant, la prochaine étape consiste à calculer réellement l'angle.
Donc, je vais tout d'abord
vous montrer ceci à nouveau pour que vous puissiez revenir en arrière et regarder ça si vous en avez besoin.
Et puis je vais vous lancer un défi.
Et votre défi sera de calculer l'angle.
première chose que vous faites est de soustraire
la position x de la souris de la position du point d'écran du x.
Évidemment, vous devrez faire la même chose pour le y.
Ensuite, vous devrez calculer
le point F mathématique arctangent pour le trouver dans la documentation Unity.
Allez-y, mettez la vidéo en pause dès maintenant.
Va faire de ton mieux.
Essayez-le.
Vous ne perdrez rien en faisant de votre mieux.
Mettez la vidéo en pause dès maintenant et relancez le défi.
Salut, bon retour.
Comme vous pouvez le voir,
je viens de chercher des maths,
tangente d' arc dans Unity.
Maintenant, je suis juste ici.
Que dois-je faire ? Je dois voir comment cela fonctionne.
Que fait ? Il renvoie un flotteur.
Voici notre façon d'utiliser matlab.org Tange.
Ok, super.
Revenons ici.
La première chose à faire est donc de calculer la différence.
Je vais mettre les deux dans un vecteur deux.
Je vais donc utiliser un vecteur pour,
j'appellerai cela le décalage.
C'est donc le décalage entre les deux points.
Il sera égal à un nouveau vecteur deux.
Et ici, je vais d'abord obtenir la position de la souris point x et en soustraire, le
point d'écran dirige.
Et je vais faire la même chose sur le pourquoi.
Maintenant, je vais créer un flotteur car comme nous avons vu cette méthode,
la méthode dot arctan renvoie un float,
va être égale à maths F dot arc tan ou non, Eta.
C'est ce qu'on appelle un bronzage deux.
Et je vais utiliser le point de décalage y divisé par le décalage DRX.
Super, je vais donc sauver ça.
Mais chaque fois que nous voulons attribuer la rotation réelle aux armes, nous ne pouvons pas simplement le
faire à l'aide d'un flotteur.
Ce que nous devons faire, c'est que nous devons utiliser une méthode supplémentaire,
qui est la méthode qui suit deux degrés.
Et vous pouvez voir que cela convertit les radians en degrés constants.
Nous devrons donc le faire.
Et la dernière chose que nous devons faire, c'est que nous devrons accéder aux armes en
rotation des points et nous préparer à affronter un monde un peu effrayant.
Nous allons utiliser les quaternions.
Donc, Quaternion Dot Bueller.
Et nous allons le définir à 00 sur l'axe X.
Nous ne tournons pas sur l'axe Y, nous ne tournons pas.
Nous tournons uniquement autour de l'axe Z en utilisant l'angle.
Avant de vous enfuir,
qu'est-ce que Turnitin dot Hulu ?
Si vous regardez la précédente ici,
vous pouvez voir qu'elle renvoie une rotation qui fait pivoter des degrés Z autour de l'axe z,
x autour de l'axe des x,
des x autour de l'axe des x, etc.
Donc, Quaternion Dot.
Si vous êtes intéressé,
vous pouvez approfondir cela.
Personnellement, je fais tourner des objets dans Unity depuis
plusieurs années et je n'ai jamais tout à fait compris ce qu'ils entendent
par quaternion n'est qu'un moyen de convertir
le XYZ en une rotation et un espace réels.
Alors n'hésitez pas à plonger en profondeur,
aller le chercher, à vous assurer de tout comprendre.
Si ce n'est pas le cas, si vous n'êtes pas dérangé de ne pas comprendre complètement
ce qui se passe avec quaternion u dot.
Croyez-moi, vous pouvez traverser votre parcours de développement de jeux sans vous en soucier.
s'agit donc simplement d'un moyen de convertir x,
y et z en un angle en rotation.
Nous allons sauver ça.
Nous retournerons dans Unity.
Et nous allons diriger le jeu.
Et voyons ce qui se passe avec le pistolet en ce moment,
nous montons, le pistolet monte.
Nous descendons. Le pistolet descend.
Si nous allons à gauche, oui.
Notre arme a l'air un peu bizarre quand on regarde dans l'autre sens,
mais quand il s'agit de la bonne direction, on y va.
Nous bougeons et nous nous adaptons même à mesure que nous marchons.
Vous pouvez donc voir quand nous montons,
le pistolet descend.
Je regarde toujours exactement où se trouve la position de la souris.
Tellement génial maintenant, nous avons un pistolet qui tire réellement,
ce qui est incroyable à mon avis, pas vraiment de tir,
qui tirera dans la bonne direction plus tard au fur et à mesure que nous avancerons.
Mais il y a évidemment quelque chose qui ne va pas lorsque
nous essayons de déplacer la souris dans l'autre sens,
elle se déplace correctement.
C'est ce que nous allons corriger dans la prochaine vidéo tout en apprenant
quelque chose de très agréable encodage qui s'appelle les instructions if et les conditions if.
Je vous y verrai donc.
Mais avant de partir,
assurez-vous toujours de mettre en scène tous vos fichiers.
Mega s'engage.
Je vais dire que ça a fait pointer mon arme dans
la bonne direction ou ne pas envier l'angle droit.
Parce que dans la vidéo suivante,
nous allons le faire pointer dans la bonne direction,
faire pointer tout le joueur et la bonne direction.
Alors, à ce moment-là.