Transcription
1. Bande-annonce du cours: L' un des genres les plus populaires dans le jeu moderne est le jeu de tir. Croyez-moi, je google ce cenotes legit dans le genre de tireur vient à pléthore de sous-genres. Pillards comme Destiny, champ de bataille militaire et Call of Duty, C5a, halo arène, comme Overwatch, Survie Horror, Resident Evil. La liste continue vraiment. Cette classe vise à vous enseigner les bases de la mécanique avancée de tir à la première personne, vous
permettant de créer n'importe quel jeu de tir de votre choix. Bonjour, mon nom est Tim, mais certains d'entre vous peuvent me connaître mieux comme bois pour ma chaîne YouTube avec plus de 130 mille abonnés en dehors de faire des vidéos YouTube sur mes jeux préférés, je travaille actuellement pour Epic Games, le de l'Unreal Engine sur le populaire jeu de bataille royale Fortnite. Dans ce cours, nous allons commencer avec un modèle complètement vierge pour transformer en un tir à la première personne robuste, nous allons créer six armes entièrement personnalisables chacun sauf leurs propres sons, animations, temps de
rechargement, balles, intensité de recul, effets d'impact, ramassage de munitions et plus encore. Je vais vous montrer comment imiter le jeu, comme Call of Duty, en utilisant des traces de ligne invisibles pour générer des événements à succès dynamiques, d'autres armes imiteront des titres plus réalistes tels que le champ de bataille, qui tirent des projectiles réels sur de nos canons, ce qui nous permet de personnaliser notre vitesse de balle et notre force gravitationnelle. Nous allons couvrir comment faire exploser les choses avec des lance-roquettes et des grenades. Nous allons même faire une classe ennemie qui réagira dynamiquement
aux dégâts en fonction de la partie du corps que nous touchons au festival. Chaque élément utilisé dans ce cours est 100% gratuit, car nous utiliserons Unreal Engine 4, le même moteur de jeu utilisé pour créer ces titres AAA populaires. Bien que cette classe puisse être prise par n'importe qui, je le recommande pour ceux qui ont au moins une expérience de codage Unreal Engine, car la plupart de notre travail se fera en scriptant dans des Blueprints. Donc, si vous voulez prendre vos compétences irréelles au niveau supérieur, ou vous voulez simplement apprendre comment les jeux de tir populaires sont créés. Suivez-moi et je vous guiderai à travers le processus étape par étape. Dans Unreal Engine 4.
2. Introduction et aperçu du projet: Bonjour à tous et bienvenue dans ce cours sur Unreal Engine 4, où nous allons construire un jeu de tir à la première personne. Je m'appelle Tim. Je vais te guider dans toutes les choses cool et géniales qu'on va faire dans ce cours. Donc, je vais essayer de garder cette première vidéo assez simple et juste prendre un peu de temps pour examiner manière plus détaillée qui convient le mieux à cette classe. Et quand prenez un peu de
temps pour voir le projet final que nous allons construire. Donc, à peu près tous ceux qui veulent suivre ce cours, je le recommande pour les gens qui sont plus d'un niveau intermédiaire. Donc, si vous avez pris le cours précédent que j'ai fait sur les jeux d'aventure d'action, alors vous devriez être très bien entrer dans ce. Quand je dis intermédiaire, je ne veux pas dire quelqu'un qui connaît beaucoup de choses. Je ne veux pas repousser les gens de prendre ce cours s'ils n'ont jamais touché Unreal Engine avant. Mais tu dois juste le savoir comme si je m'attendais à ce que tu saches des choses très basiques. Juste ne va pas être pris le temps d'expliquer ce que les différences entre comme un flotteur et un entier vont créer beaucoup de variables dans cette classe. Et je ne vais pas prendre le temps de voir
où se trouvent les choses dans le moteur et ce qu'est un plan. Et tout comme les trucs de type débutant très basiques. Donc, si vous vous inquiétez, vous pouvez aller de l'avant et suivre les autres cours que j'ai faits. Mais si vous vous sentez assez à l'aise avec ces trucs ou que vous ne vous en souciez pas, alors vous êtes au bon endroit. Je ne vais pas être le type de personne qui va juste traîner un tas de noeuds et dit juste faire ça, faire ça, faire ça,
et puis boum, cette chose fonctionne comme je veux vraiment que les gens apprennent et comprennent ce que c'est que je
Je fais. Donc je vais être minutieux et méticuleux du mieux que je peux pour que vous puissiez comprendre ce que nous
faisons réellement pour que vous puissiez créer quelque chose par vous-même parce
que vous savez, c'est le but, n'est-ce pas ? Alors, hmm. juste pensé que je mettrais ça dehors avant qu'on commence. Mais si vous avez des questions, hésitez pas à les laisser dans la discussion et je
ferai de mon mieux pour y répondre le plus rapidement possible. Alors oui. Allons-y et prenons un peu de temps. Je vais ouvrir le projet que nous avons. Ce sera à peu près exactement à quoi ressemblera
votre projet quand tout sera réglé et fait. Je vais aller de l'avant et cliquer sur Jouer et on verra ce qu'on a là. Donc, tout de suite, vous remarquerez que nous avons des ennemis ici. Nous avons une sorte de minimap très basique qui traque. On peut voir des traces. Trace les pistes. Qui s'en soucie, où notre joueur se déplace autour de la carte. Ce n'est rien de spécial, mais ça vous donnera une idée de comment faire ce genre de choses. Ici, nous avons deux types
de surfaces différentes que je vais expliquer pourquoi elles sont là dans un instant. Ici, nous avons notre casier à armes. Nous avons six armes différentes qui vont fabriquer, dont
trois sont des scans de frappe. Ils vont se dessiner dans ces lignes invisibles. C' est similaire à un jeu comme Call of Duty, où le coup de la balle à la surface est instantané. Et puis nos trois derniers ici, le fusil de sniper, le lance-grenades et la fusée. Ça va être des projectiles. En fait, nous allons créer un plan qui, en tant que projectile qui a un élément de mouvement, va tirer de ce canon de canons et nous allons voir ce que ça frappe. Et pour que nous puissions faire des choses cool avec ça. Nous pouvons appliquer des vitesses différentes et une gravité différente pour créer des arcs et des explosions
différents et des trucs cool comme ça pour faire des dégâts de rayon. Le pistolet est semi-automatique. Le fusil va avoir un peu de recul à elle et être une variante automatique dans le fusil de chasse va tirer une propagation. Donc, si nous marchons vers l'une de ces armes et que nous touchons la clé E, nous l'équiperons et vous pourrez voir nos munitions actuelles ou nos munitions de réserve et ensuite aussi le type de feu. Et puis vous voyez cette barre d'endurance apparaître également en bas à droite. Et puis nous avons notre réticule, qui réglait dynamiquement le joueur en mouvement et en sprint. Donc, tout est animé. Je vais beau. Donc l'ordre dans lequel ces armes sont ramassées, ça n'a pas d'importance, mais quel que soit l'ordre dans lequel vous les ramassez, nous les lierons à cette clé. Donc on a pris le pistolet d'abord. Donc si j'en frappe un, on reviendra au pistil et j'en ai touché deux, on ira au fusil d'assaut ici. Alors trois seront notre fusil de chasse. Fours, c'est un fusil de sniper,
cinq, notre lance-grenades, et six, notre fusée. Et tous ont leurs petits sons cool et tout comme ça. Donc si je vais de l'avant et que je retourne à l'épître pour que vous puissiez voir la balle se répandre. Pensez pistolet à se sentir comme les poils croisés à la fusée. La fusée n'a pas de bon feu de hanche. Et le feu de la hanche est quelque chose que nous allons faire et qui compte en fait. Je vais expliquer ça à quelques secondes. Pour ce qui est de nos types de munitions, nous avons une variante AML par arme. Si je marche jusqu'à elle et frappe E, ne
ferai rien à moins que vous ne choisissiez la bonne réponse. Donc c'est les munitions de pistolet. Et si vous regardez nos réserves, le 144 devient maintenant 16 huit. Et je ne peux pas interagir avec ces autres,
mais j'ai changé le fusil d'assaut. Je peux ramasser celui-là, le fusil de chasse. Celle-là. Tu comprends le point. D' accord. Passons à nos différents types de surface. Donc, une façon d'illustrer cela dans le scan à coup de projectile vous montrer. Donc si je tire ça dans le ciel, les épîtres frappent Scan. Tu vois, tu vois des effets, mais rien ne se passe. Je peux aller de l'avant et recharger notre arme à. Mais si je passe à quelque chose comme le fusil de sniper et que je frappe le pare-feu, en fait, si vous regardez le canon, j'ai vu quelque chose sortir de ça. Encore une fois, il est très évident que vous avez utilisé le lance-grenades. Peut voir un arc beaucoup plus drastique là-bas. Donc ce que nous allons faire, c'est que nous allons avoir différents effets d'impact en fonction des différentes surfaces. Donc nous avons du métal, qui sont des mannequins sont d'une variante métallique parce que nous manquons dans le département FX ici. Il suffit de faire une démonstration et ensuite nous avons de la pierre, donc quelques effets différents. Donc si je tournais ça, vous remarquerez que des trous de balle s'y trouvent comme ça. Et nous allons personnaliser les tailles de ceux-ci. Et vous verrez quelques petits scintillement en métal. Et puis nous avons différent, c'est un peu difficile à voir avec le pistolet. Mais oui. Donc si je passe à notre fusil d'assaut, deux choses que nous ferons avec ça, c'est que si je maintiens la gâchette et que je ne vise pas, aura un recul qui déplace le pistolet vers le haut et les balles sont en quelque sorte se propageant au hasard. Mais si je devais viser à ne pas le recul du contrôleur et en fait seulement recharger ici pendant une seconde. Pour que je puisse le démontrer. Je vise et les balles atterrissent exactement là où nous visons. Donc nous aurons un tir de hanche réaliste ajouté à cela, puis le fusil, si nous tirons ça, nous aurons une propagation. Comme ça. Plutôt cool. Enfin, je vais montrer, je pense que j'ai montré à la barre d'endurance comment ça se passe pour courir. Lâchez-vous. Et puis ça remonte comme de la magie. Wow. Last but not least, nous avons nos ennemis. Donc tous nos ennemis sont les mêmes. Et ce que nous allons faire, c'est recréer les marqueurs à succès. Et nous allons avoir différents types de marqueurs HIT selon qu'il s'agit d'un coup normal ou d'un coup de mort. Et puis nous avons différents matériaux physiques assignés à ces ennemis ici. Il va détecter différentes quantités de dégâts en fonction de l'endroit où on les frappe. Donc la tête va faire le plus. On va aller à Ouais, les têtes peuvent faire le plus. Ensuite, nous avons le corps, les jambes, les bras. Donc si je l'ai frappé dans la poitrine, 2015512, et puis la tête est un peu cool parce que si nous l'avons frappé dans la tête va obtenir un numéro jaune comme ça et puis il a une santé de 100. Pour qu'il meure ici. Et on devrait avoir un marqueur de lecture comme ça. Et puis nous avons une physique de poupée de chiffon qui sont appliqués à ceux-ci. Donc nous allons vraiment tirer un peu d'impulsion en fonction de l'endroit où nous les frappons. Donc si j'en ai 20, 40, 60, 80. Donc, si je devais le tirer comme dans le bras, il recule avec le bras. Et puis choisir un pistolet différent, ce pistolet n'a pas beaucoup de force, mais notre choc et a beaucoup de force. Donc si je l'ai frappé ici, il volait en arrière. On les met à l'arrière, les roues volent vers l'avant. Donc tout cela est dicté par l'endroit où nous frappons ces ennemis. Fusil de sniper, on peut viser avec une lunette. On y va. Et enfin, nous avons un lance-grenades et la fusée pour les dégâts. Donc, vous allez voir beaucoup de numéros endommagés et comme un cône de celui-ci, comme ça pour obtenir des explosions cool,
des effets d'impact plus importants et tout ça. Donc c'est à peu près le projet. C' est ce qu'on va faire. C' est ça. Ce que je voulais créer avec cela était essentiellement comme un modèle vraiment, vraiment génial. Donc, la façon dont nous construisons cela, comme vous le verrez, que lorsque tout est dit et fait, vous aurez un système vraiment, vraiment robuste et
avancé d'armes et micros et différents matériaux physiques afin que vous pouvez facilement échanger vos propres maillages GAN et vos propres effets sonores de pistolets si vous voulez être en mesure de faire ce que vous voulez. Donc, pendant qu'il y a de l'art, je suppose dans cette classe, comme nous le faisons avec des effets sonores et nous avons de l'art. La plupart de ce que nous allons faire est d'utiliser Blueprints et des scripts dans le Event Graph. Donc, je voulais obtenir toutes ces connaissances fondamentales là pour que si vous vouliez mettre cela dans votre portefeuille, vous pouvez facilement en faire comme un tireur futuriste en échangeant les mailles. Les effets sonores, comme je l'ai dit, sont vous pouvez le faire dans le jeu de type zombie de survie. Vous pouvez faire de ces gars des aliens ou des zombies leurs hommes de l'armée ou quoi que ce soit. Vous pouvez ajuster la quantité de munitions et le type de dégâts qu'elles causent. On va rendre tout ça très facilement accessible. Et la raison pour laquelle je l'ai fait c'est parce que je voulais fournir une base, comme je l'ai dit, que vous
puissiez en faire le type de jeu que vous voulez faire pour que le projet de tout le monde à la fin ne ressemble pas au même. Donc, vous aurez tous cela, mais alors vous aurez les connaissances pour modifier très facilement cela et en faire quelque chose de beau que vous voulez parce qu' il y a tellement de différents types de tireurs là-bas. Donc je voulais vous fournir cette base. Donc j'espère que ça sonne intéressant et amusant, cool. Et si c'est le cas, je vous rejoindrai dans la prochaine vidéo. Alors, merci d'avoir suivi ce cours. J' apprécie vraiment que vous soyez un retour ou que ce soit votre première fois. Dans commençons dans la vidéo suivante.
3. Téléchargez et installez: Bonjour à tous et bienvenue à une autre vidéo Unreal Engine 4. Celui-ci va être très court, mignon. Et au point que je vais faire est juste de parler brièvement de la façon dont vous pouvez installer Unreal Engine 4 sous votre ordinateur si vous ne l'avez pas déjà. Donc, si vous ouvrez un navigateur de votre choix et dirigez-vous vers Unreal Engine.com ou autre. Ça, je suis aux États-Unis. Alors quoi que ce soit pour vous, rendez-vous ici et vous aurez des
informations sur le moteur dans toutes ces choses cool, quelques jeux qui ont été faits avec. Tous ces super trucs de jeux épiques
cool qu'ils ont eu ici. Il suffit d'aller de l'avant et de cliquer sur Télécharger. Vous allez vouloir juste obtenir la licence de créateurs sympa, ce qui est absolument gratuit. Appuyez sur télécharger, puis suivez les étapes pour le faire. En faisant cela, vous devriez également avoir le lanceur Epic Games installé sur votre ordinateur. Donc, si nous ouvrons ça et que vous avez un compte dessus, vous allez descendre dans cet onglet Unreal Engine et ensuite aller à la bibliothèque. Ensuite, vous devriez voir ici ce sont les versions du moteur que vous allez frapper le Plus. Et puis vous allez choisir celui que vous voulez. Celui que nous allons utiliser pour ce projet est 4.26.2 ou 4.26.2, je suppose que c'est ce qu'on appelle techniquement. Techniquement parlant, vous pouvez utiliser celui que vous voulez. Si vous voulez utiliser ce 27 à quatre points, ou si vous voulez être vraiment fou et faire Unreal Engine cinq,
je suppose, Allez-y. Je vous conseille d'utiliser 4.26.2 parce que c'est ce que je vais utiliser. C' est comme la dernière version qui est comme pas un accès anticipé choses. Donc ça va être le plus stable. Et bien qu'il n'y en ait pas, comme généralement beaucoup d' énormes différences entre les versions d'Unreal Engine. Au fur et à mesure que vous faites ça, vous risquez de rencontrer ces petits types de choses. Vous pourriez trouver quelque chose que je fais est juste un peu différent dans votre version. Donc, si vous voulez jouer en toute sécurité et que vous voulez jouer intelligent et ne pas prendre de risques, puis télécharger pour 0.26.2 sinon, meilleure chance pour vous. Mais une fois qu'il aura fait ça, on sera prêts. Dans la vidéo suivante, nous allons commencer à créer notre projet et ajouter des fichiers de contenu. Alors je te verrai là-bas.
4. Configurer notre projet: Tout le monde et bienvenue à une autre vidéo sur Unreal Engine 4. Maintenant que nous avons le moteur que nous espérons télécharger, nous pouvons commencer à créer nos projets. C' est donc ce que nous allons faire dans le cadre de celui-ci. Ok, Donc, dans votre lanceur de jeux épique, allez-y et cliquez sur Lancer à côté de votre version de moteur que vous avez. Et puis après une seconde d'initialisation et de chargement, ce menu va s'ouvrir. On va cliquer sur le jeu parce qu'on ferait des jeux. Frappez ensuite. Et nous allons travailler dans un projet vide. Et irréel a un modèle à la première personne. Et bien que tout soit bien et bien, peu près tout le code qu'Epic a là-dedans, nous n'utiliserons pas de toute façon. Donc, en utilisant un projet vierge, nous allons devoir faire quelques étapes dans cette vidéo et la prochaine que nous n'aurions pas normalement à faire. Mais en le faisant de cette façon, nous pouvons tout avoir et plus personnalisé comme nous le voulons. Ça va juste marcher mieux pour nous. Ok, crois-moi. Alors allez-y et cliquez sur Projet vierge. Recherchez un emplacement sur votre ordinateur où vous souhaitez enregistrer ce projet. Et je vais appeler ce FPS. Comment devrais-je l'appeler ? Projet de classe. Ça me semble plutôt bien. D' accord. Et puis allez-y et quand vous êtes prêt, donnez-lui un nom, allez-y et cliquez sur Créer un projet. Avec notre projet ouvert. Si vous l'avez fait correctement, vous devriez voir ces deux chaises bizarres et
funky avec ce truc de verre très cher assis sur une table. Pourquoi c'est la chose du moteur par défaut. Je n'en ai aucune idée, mais c'est vrai. Nous pouvons aller de l'avant et cliquer sur ce petit bouton ici pour afficher tous nos dossiers. L' énorme, l'un d'eux, le contenu de démarrage qui aurait dû être activé automatiquement. Et nous allons commencer par mettre en place quelques choses. Alors allons de l'avant et faites un clic droit sur le contenu et créez un nouveau dossier et nous appellerons ce FPS. Oh, tire. Jeu de Fps. J' aimerais manœuvrer autour de mon microphone. Attendez une seconde. D'accord. Sous ce dossier, cliquez avec le bouton droit de la souris et appelons ces Blueprints là aussi. Ils ont raison. Et puis en dessous, nous allons en faire un autre, appelé personnage. Donc FPS jeu Blueprints caractère. Et si tu es comme moi, tu aimes mettre les choses en couleurs. Donc, je vais maintenir la touche Maj enfoncée et les sélectionner tous. Je vais aller mettre la couleur. Je vais rendre mes dossiers rouges. Faisons-le comme ça, d'accord ? Et si vous étiez intelligent, contrairement à moi, vous l'auriez traîné et enregistré il semble que nous pouvons toujours l'utiliser plus tard. Ok, dans notre dossier Blueprints, faisons un clic droit et ouvrons de l'espace. Allez en classe Blueprint, ce qui est ridiculement difficile pour moi de le dire pour quelque raison que ce soit. Et nous allons créer une base de mode de jeu basée sur le mode de jeu, comme il est dit ici, cette astuce d'outil définit le jeu en cours de jeu, ses règles marquant d'autres facettes du jeu. Nous ne allons pas mettre tout un tas de données ici, mais nous créons cela s'appelait BP base de mode de jeu souligné. Et faisons un clic droit. Faites une autre classe ici, contrôleur de
joueur, contrôleur de joueur de soulignement BP. Et puis, enfin et non des moindres, nous allons cliquer dessus à nouveau. Et puis sous toutes les classes se trouve le menu déroulant. Cherchons HUD,
juste, devrait être bon de faire quelque chose avec le HUD. Alors allons-y BP soulignement HUD. On peut appuyer sur le bouton Sauvegarder tout. Ça va se débarrasser de ces petits astérix là-bas. Donc toutes nos choses sont maintenant sauvées. Ensuite, à l'intérieur de notre dossier de personnages, nous allons faire notre personnage. Donc, une fois de plus, Blueprint Class personnage et nous allons appeler ce joueur bp. C' est Control-S. Pour dire ça très vite, je le fais beaucoup. Oui. Donc deux façons de faire ça. Nous pouvons soit double-cliquer sur Demode base ou nous pouvons faire ce que j'aime faire,
à les paramètres, les paramètres du projet. Puis sous le projet ici il y a cet onglet, vous dites cartes et modes. Vous cliquez dessus. Nous allons donc descendre sous le mode de jeu sélectionné. Vous voyez que nous avons toutes ces petites choses par défaut qui sont grisées. C' est pourquoi nous avons principalement créé une base de mode de jeu afin que nous puissions insérer notre personnage comme par défaut. Nous ne faisons pas cela, alors il n'a pas d'importance quel que soit le script, mais près du jeu n'enregistrera pas cela comme le personnage que nous voulons jouer à nous. Donc, nous allons fente dans la base du mode de jeu BP pour pion par défaut. Mettons dans le joueur bp et notre classe HUD, dp HUD et la classe contrôleur joueur bp, contrôleur de
joueur, l'instance de jeu de spectateur d'état de joueur peut créer ceux si nous le voulons, mais nous ne les utiliserons pas vraiment. Donc, les par défaut devraient être très bien et dandy. Une autre chose que je veux faire avant de terminer cette vidéo est sur ce petit menu déroulant juste ici,
sur un clic droit dans les paramètres avancés en dessous de la lecture, c'est juste une préférence personnelle. J' aime sélectionner le jeu obtient le contrôle de la souris. Cela permet que chaque fois que je frappe jouer, je n'ai pas besoin de cliquer à l'intérieur de la fenêtre
chaque fois qu'il y a automatiquement entre dans le jeu. Et puis sous cette même liste déroulante, j'aime ça une nouvelle fenêtre d'éditeur, plutôt que de jouer dans cette chose. Donc si vous remarquez que si on touche Play, vous avez de la musique. Ce n'est pas vraiment de la musique. C' est du son atmosphérique, je suppose. Et frapper les touches, c'est frapper la souris, déplacer la souris, ça ne fait rien en ce moment parce que nous n'avons pas encore ajouté ce script. Donc, si vous deviez le
faire à l'ancienne façon et utiliser l'un des modèles et vous seul pouvez vous déplacer tout de suite. Mais dans le modèle vide, vous ne pouvez pas le faire. Donc, dans la prochaine vidéo, nous allons permettre à notre joueur de commencer à regarder autour de lui, à se déplacer. Et oui, on va faire des lattes durs. Donc, en ce moment, c'est juste des choses de cadre de base, mais il est bon de savoir comment le faire. C' est ce que nous allons faire dans la prochaine vidéo. Alors j'espère vous y voir.
5. Faire bouger notre personnage: Bonjour à tous et bienvenue à une autre vidéo. Dans le dernier, nous avons créé notre projet. Et dans cette vidéo, nous allons permettre à notre joueur de regarder autour et de
bouger pour que nous ne soyons pas si bizarres, immuables. Je ne sais même pas comment tu veux l'appeler. Donc, pour commencer, assez simple, Allons dans Paramètres. Les paramètres du projet l'ont déjà ouvert ici. Et puis sous le moteur, vous allez vouloir sélectionner l'entrée. Et vous verrez ces liaisons pour les mappages d'actions dans les mappages d'accès. Nous voulons en créer plusieurs. Alors commençons,
faisons cela dans un ordre étrange car en fait la carte, il dit en haut, Nous allons cliquer sur le signe plus. Et nous allons taper le saut. En dessous de ça. Tapez simplement dans la barre d'espace. C' est tout ce qu'on veut faire là-bas. Sous les mappages d'accès, nous voulons créer 41234. Tu dois frapper ce petit triangle pour les voir. On va en créer un appelé une souris X et cliquer dessus pourrait tomber sur eux comme je l'ai fait pour moi. souris Y est une autre que je veux avoir aller de l'avant et bouger à droite. Pour aller de l'avant et aller à droite. Vous voulez frapper ce petit plus pour vous assurer qu'il y en a deux. Mousex, souris blanche et laisse un. Donc pour la souris X, on voudrait rendre ce MouSex assez fou pour la souris. Pourquoi ? Ce n'est pas MouseY, c'est la souris qui pouvait aller de l'avant. Il voulait le faire W et S
et c' est vrai, tu veux en faire un D et un. Mais une chose que vous remarquerez peut-être, c'est ces petites choses d'échelle ici. Donc, pour pourquoi on ne joue pas inversé ou pas bizarre, on va le rendre négatif pour aller de l'avant pour S, puisque S serait en arrière et qu'on en fait un pour l'avant, on veut faire ce négatif. La même chose pour un. A serait à gauche est l'opposé de la droite. Donc, nous voulons que ce soit négatif comme notre échelle. C' est tout mis en place et bien prêt. Donc, techniquement, vous pouvez sortir de là. La prochaine chose que nous voulons faire est un des deux plans que vous voulez ouvrir notre contrôleur de joueur. Droit ? Tu verras cette caméra de mots. Ignorez l'appareil photo, supprimez les nœuds par défaut. Et ce qu'on va faire, c'est qu'on va faire appel à ces deux souris. Donc, j'ai fait, donc nous allons taper la souris X. Vous voulez cliquer sur l'événement de l'axe. C' est ce qu'on vient de créer. Et une souris, pourquoi pas toi ? On y va. À partir de la souris X, nous voulons ajouter vos entrées. Si je peux épeler, on y va. Et la valeur de l'axe va être cette valeur. Maintenant, si vous vouliez changer cela par une variable, vous pourriez faire un peu de multiplication ici et dire à une variable, changer vos paramètres de sensibilité de cette façon. Cela n'aurait peut-être pas eu de sens ce que je viens de dire. Mais ne vous inquiétez pas pour ça. Ce n'est pas important. Pour la souris pourquoi vous voulez ajouter la valeur de l'axe du plug-in de hauteur à la valeur. Allons de l'avant et sélectionnons le tout. Appuyez sur C pour faire une boîte de commentaire et nous allons simplement appeler cette entrée de la souris. Comme ça. Je n'aime pas les bulles et je vais le faire lire comme on l'a fait avant. On y va. Et c'est tout ce qu'on veut faire. À côté de compiler cette liste déroulante, allez de l'avant et appuyez sur Enregistrer sur la compilation et faire en cas de succès uniquement. Cela signifie que chaque fois que vous appuyez sur Compiler, il enregistrera également. Hey, compilez, sauvegardez un assez bon pour savoir ces petites choses. Croyez-moi, les gens. Comme Control S juste là. Ensuite, c'est notre HUD. On va se diriger vers l'Event Graph ici. Et nous allons faire l'événement tiré recevoir HUD. Voyez ce que cela fait en une seconde. Sur le fil d'exécution, vous voulez faire dessiner un rectangle, dessiner rect ou autre. Et puis en dehors de la taille x, tracez un
astérisque, faites la multiplication pour un int ou un flotteur. Et puis copiez collez-le et faites-le pour la taille. Pourquoi ? Vous voulez le brancher pour l'écran x taille x vert x taille. Pourquoi écran ? Pourquoi ? On va multiplier ça par 0,5. Ce qu'on fait ici, c'est qu'on dessine un petit rectangle sur notre écran. Dit cette couleur et le rendre blanc. Et nous allons faire deux par deux, W et HR largeur et hauteur. Donc pas assez simple là-bas. 0,5 prend la taille de l'écran dans le x et le y et il coupe en deux. Donc juste pour le démontrer, si j'appuie sur Play, vous verrez maintenant que je peux le déplacer. Je peux regarder autour d'une chose et vous verrez un petit point là-bas qui nous sera utile quand nous ferons notre radical. Vous pouvez voir le centre de l'écran. Donc le contrôleur et le Wheter, tout va bien. La dernière chose que nous voulons faire est de permettre à notre joueur de bouger avec W, A, S et D. et nous voulons qu'il puisse sauter. Alors ouvrons notre joueur. Je pense que tous ces paramètres vont de l'avant et utilisent la rotation du contrôleur. Oui, décochez ça avec le vice-président. Joue toi-même. Annuler ça. En fait, je vais faire un nouveau graphique d'événements et je vais l'appeler et les mouvements. Si vous voulez ajouter un nouveau graphique d'événements, vous venez de cliquer sur ce petit plus sur le nouveau graphique. La raison pour laquelle je fais cela est juste pour des raisons d'organisation, je veux mettre tous mes types de composants de mouvement, sauter, sprinter, déplacer dans un graphique d'événements afin qu'il n'y ait tout simplement pas un conglomérat d'événements tout en un graphique. J' aime rester organisé. C' est important. Donc faites un clic droit et nous allons maintenant appeler move forward, pas la fonction, mais l'événement axis que nous avons créé. Et comme vous pouvez probablement le deviner, nous voulions la même chose pour bouger, non ? D' accord. Hors de mouvement 40, souhaitez ajouter une entrée de mouvement. Et nous voulons faire la même chose au copier-coller que de déplacer droite dans les valeurs de l'axe et la valeur de la compétence comme avant. Mais hors de la direction mondiale, nous voulons aller de l'avant, de l'avant, de l'avant. Pourquoi ? Eh bien, j'ai mal orthographié. La plupart du vecteur avant pour l'avant, puis la direction mondiale hors de droite. Je vais trouver le bon vecteur. Sortir de l'un de ces rotateurs. Tu veux faire un rotateur. Celui du bas ici,
en fait, l'a branché dans les deux. Et je ne vais pas revenir en détail sur ce qui se passe ici, parce que c'est ce qui est normalement mis en place par défaut. Donc ce n'est vraiment pas si fou. Ce qu'on fait ici. Nous sommes juste une sorte de mise en place comme si vous avez fait comme un projet à la troisième personne ou un projet à la première personne, ce script est déjà ici par défaut. Donc, hors de fabricant rotateur et glisser hors de n'importe où en soi briser le rotateur un OMS, l'ancien contrôle de la loi sur n'importe quel nœud et cliquez sur vous pouvez réellement le saisir et le brancher dans d'autres. Donc nous voulons que les XI soient connectés. Et à partir de cette rotation, nous voulons obtenir une rotation de contrôle. Nous avons la rotation de notre contrôleur là-bas. Je crois que c'est exact. Alors mettons-en évidence tout ça. Frappez C et ça dira le mouvement WASD. On y va. Ce dernier, mais pas le moindre, faisons notre truc pour le saut. Donc, nous avons un saut d'événement d'action. Donc, ce que nous voulons sur pressé, ceux-ci sont déjà intégrés, donc épique rend très agréable et facile pour nous. Appuyez sur vous vouliez sauter, puis relâché est arrêter de sauter. Et puis laissons la boîte de commentaire autour de cela. Et nous dirons action, événement ou autre. Bien sûr. Quoi que vous vouliez l'appeler, ce qui le rend facile, quel que soit le flotteur de votre bateau, disons Compiler et Enregistrer. Et maintenant, quand on frappera le jeu, on peut regarder autour de lui. Vous pouvez aller de l'avant, en arrière, à droite, à gauche, et nous pouvons sauter de haut en bas. Donc maintenant, nous sommes un personnage qui peut bouger et tout. Ok, donc voici le script. Si vous avez besoin de le voir à nouveau, il vous suffit de faire une pause ou de faire ce que vous devez faire. C' est là. Mais oui, ça devrait être ça. Donc, dans la prochaine vidéo, nous avons notre configuration de personnage. Nous allons commencer à ajouter des packs de contenu. Et une fois que nous aurons fait ça, nous commencerons à faire des trucs cool comme ajouter les armes et créer notre personnage et leur donner des armes et des trucs comme ça. Donc j'espère que vous êtes impatient de ça et je vous verrai dans la prochaine vidéo.
6. Ajouter des paquets de contenu: Bonjour tout le monde, Bienvenue à une autre vidéo. Dans le dernier, nous avons mis en place des mouvements de personnages et des trucs très basiques. Et dans celui-ci, nous allons commencer à ajouter nos packs de contenu au jeu. n'y en a qu'un seul, ou techniquement, je suppose, quelle que soit la façon dont vous le regardez. Alors allons de l'avant et ajoutons dans l'Epic Game Store sous Unreal Engine. Et passons de notre onglet bibliothèque à la place de marché. Fait. D' accord ? Puis entrez les produits de recherche. Vous voulez taper des armes militaires. Silver devrait voir ça. Pack d'argent d'armes militaires. Je crois que ce créateur en a quelques futuristes. Et comme une arme militaire, noire ou comme un autre genre. Mais l'argent est celui qui a les armes nécessaires qui allaient utiliser. Vous pouvez vous sentir libre d'en utiliser différents, mais sachez juste. Tu dois les utiliser à tes risques et périls. Si vous voulez rester fidèle à savoir ce qui fonctionne, je vais juste l'utiliser. Mais tu sais, tu peux faire ce que tu veux. C'est à vous de voir. Donc, dans ce paquet
d'argent d'armes militaires nous allons ajouter à votre projet. Et vous remarquerez qu'il n'y a pas de compatibles. Soyez assurés, nous travaillerons autour du Soviet. Vous cliquez dessus et en mesure de l'appeler un bouton. Et vous allez montrer tous les projets. Allez de l'avant et accédez à notre projet de classe FPS ou à tout ce que vous avez appelé. Et il dira que ce n'est pas compatible avec 4.26. Mais c'est, je vous assure, parce que techniquement, vous avez vu dans la démonstration que c'était. Alors allons de l'avant et sélectionnez le point 2 1, qui est la dernière version du moteur avec laquelle il était compatible. Les versions Engine ne changent pas tellement
au point où il va vraiment bousiller les armes, elles fonctionnent toujours. Et 4.26, même s'ils sont comme,
comme pas techniquement compatibles ou quoi que ce soit. Alors allez-y et sélectionnez cela, puis ajoutez deux projets. Et si vous regardez ici, cela va l'ajouter au projet et cela a très bien fonctionné. Donc ça marche. L' autre chose que nous voulons faire est de se diriger vers l'onglet Apprendre, que je ne savais honnêtement pas existé qu'après comme un an d'utilisation d'Unreal. Et l'onglet Apprendre a tout un tas de ces démos vraiment cool et différents jeux comme un jeu de RPG et de véhicules et
certains, quelques paysages d'art et juste quelques trucs cool ici. Vous allez vouloir sélectionner sur un jeu de tir juste ici. Maintenant celui-ci ne peut pas être ajouté à un projet. C' est son propre fichier, vous devrez
donc créer un projet et installé quelque part sur votre ordinateur. Soyez assuré, chaque fois que nous avons fini avec cette vidéo, vous la supprimez. Nous n'avons besoin que de quelques dossiers à partir de là, alors allez-y et créez ce projet. Maintenant, je suis allé de l'avant et j'ai pris la liberté d'ouvrir réellement ce projet. Ce n'est pas quelque chose que vous devez faire par tous les moyens, mais c'est un projet assez cool pour regarder autour et s'amuser. Et nous allons utiliser certains des actifs d'ici, mais pas tous. Donc, quelques choses différentes que vous pouvez faire à ce stade. Si vous cliquez sur le contenu, faites un clic droit et dites afficher dans l'Explorateur, vous votre Explorateur Windows. Je ne veux pas appeler Internet Explorer. Je ne sais même pas quel hectare vos dossiers. Ok, nous allons ouvrir dans ce navigateur de contenu et vous verrez comment ces dossiers sont corrélés avec ces dossiers. Et c'est ce qu'on veut. Vous pouvez le faire de cette façon. Ou dans l'Epic Games Launcher, vous verrez le jeu de tir apparaîtra sous mes projets. Vous faites un clic droit sur cela. Vous pouvez afficher, en affichant le dossier de cette façon. Et puis vous cliquez juste en dessous du contenu, puis c'est exactement la même chose. Ce que nous voulons faire, c'est nous voulons attraper des animations, maintenir les personnages de contrôle, affecter l'ozone, les sons. Cliquez avec le bouton droit de la souris et Maintenant,
si ces deux projets, si ces deux projets, le jeu The Shooter et celui que nous avons créé sont dans le même dossier comme ils le sont pour moi, qui est ici. Vous pouvez aller de l'avant et juste aller sous le contenu et simplement les coller juste là. Mais si vous avez un problème à trouver où c'est, vous allez simplement à votre projet. Même chose, contenu, montrer dans l'Explorateur et là c'est. Et puis je vais cliquer avec le bouton droit de la souris et appuyer sur coller. Et tu verras comment ils sont là. Maintenant, cela peut prendre un peu de seconde, mais je vais en fait faire un nouveau dossier. Et on va appeler ce jeu de tireur. Et je veux prendre ces animations, personnages, effets et sons aurait probablement dû le faire dans l'inverse. Mais ici, nous allons traîner cela dans le jeu de tir. Cela pourrait prendre un peu de seconde à faire. Oh, ça l'a fait instantanément. Si vous faites cela dans le moteur, cela prendra probablement une seconde si vous le faites dans l'Explorateur de fichiers, c'est comme bam, instantané. La seule raison pour laquelle j'ai fait ça, c'est juste pour que ces choses soient agréables et organisées. Vous remarquerez peut-être que ce sont les copies Cray. Ça pourrait, ça ira probablement. Et honnêtement, parce que si je vais lire le contenu, voir comment il n'est pas là. Donc, ce produit doit être rafraîchi. Si un pose vers le bas, ouvrez-le, ça ira. Ok, donc c'est tout ce qu'on voulait faire dans cette vidéo. Nous avons ajouté nos packs de contenu. Je vais en fait la dernière chose que nous devons faire aller à Ajouter une importation, aller à Ajouter un pack de contenu de fonctionnalité. Et puis nous allons devoir attraper la troisième personne, une fonction de plan parce que nous avons besoin de l'homme mannequin. Littéralement la seule chose dont nous avons besoin. Ajouter celui-ci pourrait visser un peu avec nos mappages d'entrée, mais nous pouvons toujours simplement les fermer. On va devoir voir. Alors ajoutons ceci au projet. Et puis là, ça arrive. Dis-moi que ça marche toujours. Ça aide. Dieu merci gracieux. Parce que je pense que si vous y allez, aurait pu ajouter, oui, donc il a ajouté certaines de leurs autres entrées, qui n'est pas ce que nous voyons est de se débarrasser d'eux. Oui, et tout fonctionne. Tout est bon. Donc ça va le faire pour cette vidéo. Merci d'avoir regardé, et je te verrai dans la prochaine.
7. Créer le personnage de première personne: Bonjour à tous et bienvenue à une autre vidéo. Dans celui-ci, nous allons continuer et nous
allons mettre en place notre personnage à la première personne. Donc, si vous avez notre projet ouvert, allez-y et sous FPS personnage de jeu, Ouvrons le plan de joueur bp. Faites glisser le dessus si ce n'est pas déjà le cas. Et on va se débrouiller dans la fenêtre. Donc, avec notre personnage sélectionné, nous allons ajouter un composant et nous allons ajouter une caméra. Et on peut juste garder ça avec la caméra. Puis sous la caméra avec son sélectionné, nous allons créer un enfant sur cette caméra. Et nous voulons s'insérer dans un maillage squelettique. Et on peut appeler ça les bras du joueur. Ok, donc avec les caméras sélectionnées, il y a quelques choses que nous voulons faire. Nous voulons vérifier la rotation Utiliser le contrôle de pion. C' est une chose que nous voulons faire. Désolé, je fais juste référence à mes notes pour m'assurer que je ne manque rien. Je pense que c'est 0 pour la caméra sur le Z, on veut régler ça sur 75. Donc emplacement z, 75. Ensuite, sur les bras du joueur, le maillage squelettique que nous allons insérer est ce héros F PP juste ici. Ça va surgir là-haut. Maintenant, ce que nous pouvons faire avec cette petite loupe, ça va s'ouvrir là où cet atout se trouve dans notre navigateur de contenu ici. Et ce que nous pouvons faire, c'est que nous pouvons faire
glisser ceci et ensuite le faire glisser dans notre dossier de personnages pour que nous puissions le voir ici. Et puis on peut frapper F2 et le renommer bras de joueur. Donc c'est le même atout. Mais maintenant, c'est un dossier R et nous pouvons accéder aux choses avec lui. Donc, avec notre joueur ARM sélectionné, une chose que nous voulons faire très rapidement est l'échelle des limites de recherche. On veut changer ça à deux. La raison pour laquelle on change ça à deux au lieu d'un, c'est que si on ne le change pas à deux, ça va interagir avec l'appareil photo drôle. Et selon l'endroit où vous cherchez, si vous regardez droit vers le haut ou vers le bas, le maillage disparaîtra. Donc c'est juste un peu bizarre que vous voulez vous assurer que vous le faites. Donc pour les bras, l'emplacement, je vais juste vous donner ces chiffres pour que vous ayez à jouer avec vous-même. J' ai déjà noté tout ça pour toi. X va être négatif dix, z va être négatif 1, 50. Et puis la rotation z sera négative 90. Donc face, allumé un peu la vitesse de ma caméra, il est orienté vers l'avant. Tu as les bras comme ça sur la caméra. Ça a l'air plutôt bien. La dernière chose que nous voulons faire avec les bras est de s'assurer que nous n'avons pas d'ombre parce que nous n'avons pas tout un corps. Donc, il va sauter et jouer et vous montrer ceci. Ça a l'air un peu bizarre et on ne veut pas de bizarre. Donc, nous allons juste décocher ombre
coulée sous l'éclairage à nouveau avec le lecteur ARM sélectionné compiler. Et puis on y va. On a l'air normal. On ne voit pas les bras en ce moment. D' accord. Quelques autres choses que je veux faire dans cette vidéo avant d'
aller de l'avant sous le composant Mouvement des personnages, c'est juste ma préférence personnelle ici. Laisse-moi le trouver. La vitesse de marche maximale est de 600. Je vais régler ça à 750. Comme le personnage marche un peu lentement par défaut. Et je pense que c'est tout. Donc, si vous remarquez le matériel qui est sur ces bras qui sort foutu en le transférant. Donc ce qu'on va faire, c'est qu'on va le refaire. Nous allons le faire exactement comme c'était à l'origine. Donc, faisons un clic droit sur les jeux FPS sélectionner nouveau dossier et nous allons créer un nouveau dossier appelé matériaux. Et je vais mettre ça à notre couleur rouge, quelle que soit la couleur que tu as. Et puis ici, vous allez faire un clic droit et aller aux matériaux et textures vont juste aller matériel juste là. Nous allons déjà faire M pour les fermes de couches de soulignement matériel. Et puis on va ouvrir les bras des joueurs. Crois que tu peux faire ça. Joli. Ok, donc si vous maintenez la touche T enfoncée et cliquez, vous pouvez obtenir des échantillons de texture. Et pour cet échantillon de texture, ce que je veux faire, c'est d'en brancher un dans la couleur de base 1 dans le métal. Et ça va être des erreurs, mais ne vous inquiétez pas. Et puis l'autre dans la normale. Avec cette configuration, vous allez faire un clic droit et vous allez rechercher une constante. Ce sera juste cette petite chose avec un petit numéro là-dedans. Et nous allons mettre ça dans la rugosité. Et puisque je suis perfectionniste, on va s'assurer que tout ça est en ordre. Pour notre valeur de rugosité, nous allons juste faire quelque chose comme 0.3 ou quelque chose comme ça. Et puis pour ces échantillons de texture, nous avons
donc quelques textures qui existent. cadre de ce projet précédent, le jeu de tir est l'endroit où nous tirons ces matériaux. Donc ce matériel, si on ouvre ça, c'est toutes sortes de foiré ici. Comme vous pouviez probablement le voir. C' est ce que nous essayons de recréer. Nous allons donc devoir utiliser certaines de ces textures qui existent, celles qui fonctionnent encore. On va les utiliser. Donc, que la sève que nous voulons est que vous pouvez simplement faire FPS soulignement d dans FPS soulignement soulignement M pour le métal. Et puis pour notre normal, vous pouvez probablement deviner que ce sera FPS soulignement N pour normal, alors vous devriez obtenir un aperçu pour apparaître. Donc cette rugosité dit en fait, donc ce n'est pas le cas. Donc si je mets celle-là, vous pouvez voir comment il n'y a pas de super rugueux, pas de brillance. Ledit zéros peut être vraiment brillant. Donc, je vis autour de la gamme 0.3 si vous voulez faire un point ou peut-être que vous l'aimez vraiment brillant et voulait juste 0.1.2. C' est très bien aussi. Je vais rester avec 0,2. Donc il y a notre matériel. Vous pouvez cliquer sur Appliquer. C' est tout ce qu'on va faire là-bas, sauf ça. Et puis nous allons appliquer ça. C' est ce qu'on appelle les bras des joueurs. Et on y va. Donc ça s'adapte parfaitement. Préparez la dernière chose que nous voulons faire dans notre dossier de personnages. Nous allons donc cliquer avec le bouton droit de la souris et aller à Animation, Animation Blueprint. Donc, dans l'animation, Blueprint est un Blueprint qui peut se connecter à Skeletal Mesh et il
contrôlera essentiellement les animations que vous voulez jouer. Donc on va aller de l'avant et faire ça tout de suite en fait. Avant de faire ça, faisons une autre chose. Donc avant de parler, j'aime copier ces armes. Je veux faire un nouveau squelette. Donc, je vais vraiment prendre ce squelette FTP héros et copier coller ça. Donc nous pouvons trouver que nous allons dans les personnages de jeu de tir ici, FTP dans ce squelette. Alors allons de l'avant et déplacons ça dans notre dossier de personnages. Et puis nous le nommerons comme joueur, joueur squelette. Pourquoi pas ? Donc ça devrait être un peu foiré en ce moment. Espérons qu'il est encore capable de fonctionner. Une chose que nous pouvons faire pour vérifier et voir si cela fonctionne comme nous cliquons sur l'une de nos animations. Et puis faisons un où ils vont réellement utiliser. Donc, le ralenti des fusils est l'un d'entre eux que nous allons utiliser. Donc ça va être comme ne pas trouver de squelette, voudriez-vous en choisir un nouveau ? Alors je vais dire oui. Et nous aurions juste là un squelette de joueur et il arrivera à ce squelette. Et ça nous aide et ne veut pas travailler. Diable de la copie et du collage, ruinant les actifs. D' accord. Donne-moi une seconde. Je vais comprendre ça. Ce Lubeck. Ok, donc je pense que je me suis souvenu comment j'ai fait ça avant. Donc, si vous cliquez, double-cliquez sur notre maillage squelettique va en fait vous
inviter à vous demander de créer un nouveau squelette, et c'est ce que nous voulons faire. Donc il va avoir tous ces trucs déjà préconfigurés ici. Et il va essentiellement attribuer ce maillage à ce squelette, qui comme nous le voulons. Et donc il l'appelait joueur bras squelette. Donc, je vais réellement supprimer cela. Espérons que l'ordinateur ne me déteste pas pour le faire et forcé à le supprimer. On est bons. Donnons-lui un joueur de liste de noms souligne squelette. Et maintenant, si nous devions retourner dans nos animations de jeu de tir, et nous ferions quelque chose comme l'équipement de fusil. Et on dirait qu'on ne trouve pas de squelette. Souhaitez-vous choisir un nouveau ? Et je dirai oui. Et puis nous choisirons notre squelette de joueur. Et l'animation fonctionne très bien. Alors huit, alors maintenant nous en avons 12. Donc, nous devons juste manuellement, quand à l'animation de ceux-ci que nous voulons utiliser, nous allons juste cliquer manuellement dessus, ajouter au squelette, et donc il apparaîtra ici dans notre navigateur d'actifs. Donc on peut le faire pour les carabines au ralenti. Je vais juste le faire parce que ça va être notre animation principale juste là. Plutôt bien. Ok, Donc de retour dans le personnage, nous pouvons maintenant créer ce que nous voulions créer en premier lieu, qui est Blueprint. Pas d'animation, plan d'animation. Et puis nous mettrons ça sur notre squelette de joueur, celui que nous venons de créer. Et nous appellerons ce joueur soulignement Anim VP. Et nous n'avons pas besoin de faire quoi que ce soit ici en ce moment. Ce qu'on va faire, c'est qu'on va juste l'assigner, utiliser le plan d'animation avec les bras sélectionnés. Et nous voulons joueur et BP. Donc, il ne va rien faire en ce moment. Mais maintenant, la fonctionnalité est maintenant branchée dans notre dossier de personnages. C' est tout ce que j'ai pour cette vidéo. Je crois. Je ne pense pas qu'il y ait autre chose que j'ai oubliée. Il suffit de vérifier les notes et on dirait qu'on est bons. Donc ça va le faire pour cette vidéo. Dans la prochaine, nous allons continuer et commencer à animer notre personnage. Donc il est déjà de nous commencer à mettre des armes dans les mains. Alors je te verrai là-bas.
8. Animer notre personnage: Salut tout le monde, bienvenue à un autre épisode de notre série Unreal Engine 4, faisant un jeu de tir à la première personne. Dans la dernière vidéo, nous avons commencé à créer notre personnage. On lui a donné des armes, a créé un matériel pour ça. Et celui-là pour l'empêcher de rester là
tout le temps maladroitement dans l'opposition. Nous allons faire un peu de travail dans ce plan d'animation pour lui donner un peu de mouvement. Ok, donc la première chose que je veux faire est d'ouvrir notre joueur en MBP. Et si vous n'avez pas travaillé dans un Blueprint d'animation auparavant, essentiellement un Blueprint d'animation est un Blueprint qui relie un certain squelette et une partie d'un certain personnage. Donc si je devais aller sur ma maille squelettique, sur les bras de mes joueurs, qui sont ces choses. Vous pouvez voir qu'un Blueprint d'animation est associé au maillage ou à l'animation. Et c'est celui-ci que nous avons créé dans la dernière vidéo. Donc, tout ce que nous faisons ici sera publié ici et notre personnage. Donc, tout ce que nous branchons dans cette pose de sortie va être envoyé à notre personnage. Animation. Blueprint comporte un graphique d'animation et un graphique d'événements. Le graphique d'événements est essentiellement un graphique qui relie des variables qui créeront deux variables trouvées dans ce Blueprint. Ça aura plus de sens quand on le fera. Et puis le graphique d'animation est l'endroit où nous
implémentons réellement les règles qui décideront quelles animations jouer quand. C' est la meilleure façon de l'expliquer en ce moment. Mais ça aura plus de sens quand on commencera à mettre des trucs ici. Donc, ce que nous voulons d'abord faire, c'est de créer un espace de fusion d'animation. Donc, avec notre dossier de personnages ouvert, allons faire un clic droit dans l'espace vide et aller à l'animation et l'espace de fusion, pas déplacer 1D. Et nous allons utiliser notre squelette de joueur, qui est juste ici, celui que nous avons créé. Et appelons ça Idle run. Donc, je ne cours pas est un type très commun d'espace de fusion. Les espaces de fusion vous permettent de placer plusieurs animations à l'intérieur d'eux. Et puis vous pouvez changer une chirurgie quelle animation vous jouez en fonction d'une certaine valeur d'axe. Donc, dans ce cas, notre nom va être « vitesse ». Et ce qu'on va faire dans cet espace de mélange, c'est qu'on va
passer d'une pose inactive à une pose de marche. Et cela va être dicté par notre vitesse. Pour les divisions de grille sont correctes, ou la valeur maximale de l'axe, nous allons faire 600. Si vous vous souvenez dans la dernière vidéo, nous avons réglé notre mouvement de personnage à 750. Donc, si nous allons 600 et plus, je veux basculer entre deux animations différentes. Donc, le ralenti de fusil est le premier que nous voulons attraper. Et on va faire glisser ça à 0 ici. Ce cadran vert est ce qu'on peut voir pour se déplacer entre les deux. Vous pouvez voir la valeur de vitesse changer juste là dans la valeur d'aperçu juste là. Et nous allons avoir besoin d'attraper une autre animation parce que celles-ci n'étaient pas par défaut. Nous allons créer un nouveau squelette dans la dernière vidéo. Donc, il va tourner des animations de jeu, des animations joueur à la
première personne juste ici. Et vous voulez ne pas éroder votre fusil ? Ou devrait-on être comme notre fusil ? Fais-lui un feu de calotte. Suis-je aveugle ici, c'est. FTP ou course rifled. Double-cliquez dessus. Impossible de trouver le squelette. Donc nous allons l'assigner à notre squelette de joueur et à un retarget. Et vous pouvez voir là qu'il se déplace là avant et appuyez sur Enregistrer. On peut le mettre en pause. On pourra s'amuser avec les sons de ça plus tard. D' accord. Et je pense que je sors de notre espace de fusion. C'est gênant. Donc, je vais l'ouvrir à nouveau. Ensuite, je vais prendre notre fusil au hasard et faire glisser ça à 600 heures. Donc maintenant, vous pouvez voir si nos vitesses augmentent, vous pouvez voir que l'animation passe de l'inactivité 1 à la course ou à la marche et ce que vous voulez appeler ça. Donc, on va frapper Save. Ça a l'air bien. Et maintenant, allons dans notre animation. Plan, plan d'événement de l'ADN. D' accord ? Donc, dans un espace vide dans le graphique d'événements, nous allons rechercher un événement, des événements. Les impressions bleues initialisent l'animation. C' est l'équivalent d'un événement start play. Pour les Blueprints d'animation. Ce qu'on veut faire, c'est faire un clic droit et dire, Get Owning acteur. Parfois, vous dites obtenir le personnage du joueur, Obtenir le pion du joueur. Parfois, ça n'a pas d'importance. Mais nous allons lancer au RBP. Ne pas être 0. Joueur Bp. Quel que soit l'objet,
il est juste parfois juste plus loin. C' est la seule fois que nous n'allons pas vraiment
utiliser le casting ou obtenir le personnage. Faites un clic droit sur le lecteur bp et promouvons cela à une variable et nous appellerons ce joueur. Donc tout cela a été que nous avons créé une référence, référence au joueur. Pour que maintenant ce qu'on peut faire c'est qu'on puisse sortir ça. Tu peux l'avoir. Et puis n'importe quelle sorte de variable qui se trouve ici ou fonction ou tout ce que nous pouvons juste sortir de là. Donc, créer des références à des choses est quelque chose que nous allons faire beaucoup sera principalement de créer des références à notre joueur. Ok, donc maintenant ici, animation de mise à jour du Blueprint de l'événement. Je vais appeler un noeud de séquence. Je ne vais pas faire quoi que ce soit hors de la séquence tout de suite. Mais juste pour référence future à partir de là on dira est valide avec le point d'interrogation. Et branchez ça dans essayer, Obtenez le propriétaire du pion. Et est noeud valide est essentiellement juste un moyen de c'est en quelque sorte donné le bon sens de l'ordinateur. Donc, si quelque chose que je ne sais même pas comment l'expliquer, mais que ça dit comme,
ça aura du sens, nous l'utiliserons aussi dans la prochaine vidéo. Et je vais l'expliquer plus en détail là-bas parce que ce sera
beaucoup plus facile d'expliquer ce qu'il fait là-bas. Ok, maintenant, passons à notre graphique Anim. Et nous allons faire un clic droit et nous allons chercher un ajouter une nouvelle machine d'état. Et je veux cliquer dessus et renommer ceci. Et nous allons appeler ce mouvement de joueur et nous allons pour le moment, allons juste mettre cela droit dans la pose de sortie directement. Si vous double-cliquez sur une machine d'état, cette bulle d'entrée s'affiche. Et ce que vous pouvez faire est de faire glisser et vous pouvez ajouter des états. Nous ne serons pas maximum alors un conduit Etats ou autre. Donc, traînons dehors et ajoutons un état et nous appellerons cette course Idle. Donc, si vous n'êtes pas familier avec les machines d'état, ces états sont où vous allez brancher vos animations et ensuite vous pouvez créer des transitions à partir de sous-j' ai ajouté un état différent. Ces choses sont essentiellement des conditions qui doivent être vraies ou fausses pour passer entre différentes animations. Comme je l'ai dit, beaucoup de choses ont du sens comme quand tu le fais vraiment. Donc, double-cliquez sur Idle run. Et ce que nous voulons faire, c'est nous voulons saisir notre espace de fusion appelé Idle Run et le brancher dans la pose de sortie. Et ce que vous remarquerez avec celui-ci, c'est qu'il a une variable de vitesse. Donc si nous devions le faire, mais voir que nous avons notre nom pour la vitesse. C' est ce qu'il saisit ici. Donc pour l'instant, c'est réglé sur 0. Et nous ne voulons pas que cela soit toujours défini comme 0 parce que si c'est toujours réglé à 0, et nous serons toujours là. Nous voulons donc lier cela à la vitesse de nos personnages. Donc, faisons un clic droit ici favorise une variable et nous allons juste appeler cette vitesse. Et c'est tout ce qu'on a à faire là-dedans. Donc maintenant, si nous revenons au graphique d'événements après essayer Get Pion Owner, nous allons obtenir
la vitesse, la vitesse de notre personnage. Et nous voulons obtenir la longueur du vecteur. Et puis nous voulons prendre notre vitesse et régler ça. Nous voulons que le montant SEC de cette branche est valide. Donc ce que ça fait ici, cette première partie est qu'il obtient la vitesse de notre personnage, obtenir la longueur de ce vecteur. Et puis en définissant cette variable que nous avons créée appelée vitesse, qui est configurée ici pour contrôler les animations que nous exécutons. Donc, pour cette boîte commune, je vais juste dire des sets, marcher dans l'animation inactive, quelque chose comme ça. Donc ça devrait ressembler à ça. Et puis le mouvement ouvrier que je vais diriger, nous n'avons qu'un seul État qui fait ça. Donc vous avez compilé, nous l'avons en état d'inactivité. Et si vous appuyez sur Play, vous pouvez voir que nous avons des bras ici. En fait, nous n'avons pas beaucoup d'immobilier, donc temporairement je vais juste remplir Alt, faire oh mon Dieu et comme ça je pense que c'est dix. Attendez. Alternative. Fais une copie de quelque chose, donne-moi
juste de la place pour marcher. Maintenant, si j'appuie sur Play. Donc vous pouvez voir que je suis inactif maintenant. Et quand je le déplace à faire l'animation de marche, on ne tient pas d'armes, donc c'est un peu difficile à voir. Mais c'est ainsi que cela fonctionne. Je vais probablement refaire cet environnement et entre les vidéos. La dernière chose que nous pouvons faire ici, c'est que si vous allez à Fusil Run, vous verrez que nous avons ces petites notifications. Et vous pouvez cliquer avec le bouton droit de la souris n'importe où et ajouter
une notification à l'intérieur d' une animation et jouer comme un effet de particule ou un son ou quoi que ce soit. Ces sons sont en fait un peu cassés ici, donc il est placé vers le bas, il n'est pas réellement implémenté. Donc comme nous le pouvons, mais quel que soit le son que nous voulons ici. Et puis chaque fois que cette animation joue dans des croix là-bas, elle jouera en fait n'importe quel son que nous créons là-dedans. Donc je crois que parce qu'on a les sons ici, on a des sons de pas, herbe, des carreaux de métal, et je pense qu'ils sont en quelque sorte défoncés comme ça. Donc l'homme, l'herbe, la tuile mentale et on s'est complètement enfuis. D' accord. Donc d'accord, alors copier-coller les trucs, genre de foirer ça. Donc ce qu'on va faire ici, alors suivez où je suis. Jeu de tir sonne ici. Entièrement exécuté. Ouvrez ça et nous allons juste placer ces choses près de l'onde sonore. Donc nous avons été complètement courus de 1 à 10. Donc un. Je te donnerai une seconde pour le faire et je reviendrai. Ok, Maintenant que toutes
nos vagues de course sont maintenant correctement remises dans ce randomizer et sorties. Ce signal sonore devrait réellement fonctionner. Donc, à l'intérieur de notre animation de course de fusil, jouer du son, et ensuite nous allons au signal sonore. Tu vois que tu l'entends vraiment. Je vais faire le volume du joueur un. Je voulais être un peu plus bas. Et puis on fera la même chose ici. Réglé à un. Il sauve. Alors maintenant, je me suis débarrassé de mon seigneur. Qu' est-ce que je fais ? Donc, à chaque fois qu'on marche, tu devrais entendre quelques pas. Et je tombe juste de la carte, mais vous pouvez voir qu'il a ce son ambiant. Entendez-moi vraiment me débarrasser de cette personne âgée. Ça sonne beaucoup mieux. Pas à pas, de meilleurs paysages sonores viennent à lui. D' accord. Et si vous n'avez pas l'impression que c'est au bon endroit, vous pouvez les déplacer à différents endroits et les prévisualiser ici. Comme ça. Mais oui, c'est comme ça qu'on peut ajouter une simple marche dans notre jeu. Donc, dans la prochaine vidéo, nous allons continuer et commencer à mettre des armes dans ces mains. Alors j'espère vous y voir.
9. Equiper notre charge (partie 1): Hé tout le monde et bienvenue à une autre vidéo. Dans la dernière, nous avons mis en place un mouvement de joueur de base, donnant à notre personnage l'impression qu'ils marchent entre les vidéos, j'ai fait quelques choses. Je suis allé à la géométrie. Je fais glisser une boîte ici pour qu'on ait un peu plus de place ici. Si vous êtes curieux de ce que j'ai fait. J' ai mis x à 2500, y à 2500, et z à 100. Et si vous allez dans notre vision orthographique, je l'ai rendue agréable et centrée ici. Si vous avez des choses qui sont hors de la grille. Donc, comme j'ai mes paramètres d'accrochage sur 100. Donc, si je devais juste déplacer ça ici,
un 100, voir comment ce n'est pas dans la grille. Si vous rencontrez ce problème, appuyez simplement sur Contrôle et il s'
accrochera ensuite à la taille de grille que vous utilisez. Si je peux annuler une partie de la reconstruction quoi que ce soit, d'accord. C' est ce que j'ai fait. Et puis si vous avez comme votre joueur est égal comme une mauvaise taille ou il est juste comme en haut dans les airs. Si vous appuyez sur la touche
Fin, fin est à côté de supprimer, d'ailleurs, colline puis frapper le sol. Donc, Control N l'accroche à la grille, quels que soient les paramètres de la grille. Et quelque chose comme sur le sol. Faits amusants à savoir sur Unreal Engine. Ok, donc maintenant que c'est fait, on va continuer. Je m'assurerais aussi de nommer vos affaires. J' ai nommé cet étage et je l'ai mis dans des dossiers. Organisez votre vie. Vous me remercierez plus tard. Donc dans cette vidéo, nous allons commencer à
écrire le code qui va nous permettre de mettre des armes dans les mains de notre joueur. Immédiatement. Ce sera l'un des scripts les plus compliqués du jeu. Dans le jeu. Je suppose que j'avais vraiment du sens dans la classe. C' est ce que je voulais dire. Ce n'est pas, vous savez, ce n'est pas des problèmes super compliqués très longtemps. Et le flux de conscience de cette maison, il y a beaucoup de nœuds depuis que nous avons six armes, il y a beaucoup de copies collées. Donc, il peut être facile de se perdre ou, vous savez, juste être un peu confus comme d'où proviennent toutes les données, vous verrez. Mais je vais essayer de vous guider pas à pas pour que vous ne soyez pas super confus. D' accord, la première chose que nous voulons faire est que vous allez faire un clic droit sur le jeu FPS, créer un nouveau dossier, et j'appellerai ces données avec le clic droit et le jeu FPS et créer un nouveau dossier. Et j'appellerai ça des armes. Je vais mettre ces deux sont belle couleur rouge. Au lieu de notre dossier de données, ce que vous voulez faire, c'est que nous allons créer une énumération. Cliquez avec le bouton droit, accédez à Blueprint Énumération. Et l'énumération est une liste de valeurs nommées. Ce n'est vraiment pas plus compliqué que ça. C' est juste penser à ça comme une liste. Donc yo E soulignement, charge. Donc on va nommer celui-là. Vous double-cliquez et ouvrez cela. Nous allons créer pour énumérer les tours 12. Et puis on appellera un sans arme. Et puis l'autre a une arme. Sauvez-le. Fermer. C'est beau. Donc je pourrais écrire pour cliquer à nouveau, faire une autre énumération, nous appellerons ce trait de soulignement E et un type d'arme. Ouvrez celui-là. On va avoir six intégrateurs ici. Donc 3, 4, 5, 6. Et si vous êtes vraiment, vraiment intelligent, vous saurez probablement que nous avons six armes, donc nous allons trouver les noms et nos armes. Je vais appeler une auto serif ou un iPhone parce qu'il est plus facile pour moi de
taper deux lettres en moins. Et je joue beaucoup de destin. C' est pour ça que je l'ai appelé ce qu'on a un fusil de sniper. On a un lance-grenades. Et puis Wrong kid lanceur. Mes doigts frappent de mauvaises touches tout le temps. Dis, cool. Maintenant, qu'est-ce qu'on veut faire ? Si vous n'allez pas déjà dans votre dossier de personnages, ouvrez votre lecteur, et nous allons créer notre toute première variable. Donc, cliquez sur la variable et nous allons appeler cette charge. Et nous allons définir ceci pour être de type charge. Donc maintenant, si vous regardez, nous avons l'énumération que nous venons de créer juste là, définie sur une variable et liquide, nous avons nos deux options ici. Donc, nous pouvons faire, c'est comme si nous pouvions faire ce qu'on appelle allumé. Donc, maintenant, nous pouvons exécuter différents événements en fonction ce que l'intégration est définie S à tout moment. C' est ainsi que fonctionnent les animations. D' accord. Ce qu'on va faire maintenant, c'est de créer notre toute première arme. Maintenant, la façon dont on fait ça c'est qu'on aura une base d'armes en tant que parent. Ou presque tout notre script va aller, notre script général va mentir. Et puis nous allons créer six Blueprints enfants qui vont hériter de toutes les données du parent, la base, avec quelques légères modifications et déviations. Alors. On va aller de l'avant et créer la base. Donc, faisons un clic droit et allons au Blueprint. Et nous allons utiliser un acteur, qui est un objet qui peut être Joues répondre au monde qui ne reçoit aucune sorte d'entrée ou quoi que ce soit. Et on appellera cette arme. J' allais faire une blague là-bas, mais j'ai décidé contre. Ok, sur notre base d'armes, ajoutons des composants et on veut ajouter un gel,
mon Dieu, un maillage squelettique, et on appellera ce maillage d'armes. On ne va pas l'emboîter comme quoi que ce soit. La seule chose qu'on veut faire avec ce maillage, c'est s'assurer de ne pas jeter une ombre. Parce que nos mains projettent une ombre. Nous ne voulons pas que l'arme entre nos mains jette une ombre. Et nous ne le mettons à rien parce que ce n'est que la base. Donc tu n'as pas besoin de le faire. La prochaine chose que nous voulons faire est d'exécuter un créer deux variables. Le premier va être de type arme appelée type arme, désolé. Et on va le faire de type, type d'arme. Donc vous voyez ici, j'ai toutes nos armes. L' autre qu'on va faire va s'appeler sockets name. Et nous allons faire ça du nom de type. La valeur par défaut pour cela sera b, trait de soulignement b en minuscules. C' est une bonne arme ? Les croyances. Alors, bonne arme. Tu n'as pas à faire ça. Eh bien, vous devez taper ce NB, n'avez pas à le faire. Je vais te montrer ici. Donc, si vous allez à notre squelette, Skeletal Mesh sur les bras de nos joueurs, il y a une prise appelée B, l'arme droite. Donc, c'est essentiellement, nous allons créer différentes prises pour différentes armes parce qu'elles sont toutes de différentes tailles. Et donc nous voulons que la prise soit un peu différente afin que nous n'ayons pas de problèmes avec le pistolet à couper à travers la main autant. Mais la valeur par défaut va être cette bonne arme. Et nous définissons ça pour être un nom parce que c'est la socket que nous allons finalement coder aussi, permet à nos armes de s'attacher. Et c'est, puisque c'est une variable, nous pouvons la définir dynamiquement en fonction de l'arme que nous avons. Ok, la prochaine chose que nous voulons faire est dans notre joueur, c'est un espace ouvert et notre Event Graph est l'endroit où nous allons mettre tous nos événements. Nous allons créer un événement personnalisé et nous appellerons ce ramassage. Maintenant, si vous savez quelque chose sur les événements personnalisés, vous savez que vous devez écrire un script qui appelle réellement cet événement. Cet événement va être appelé dans notre, si vous vous souvenez dans la première vidéo. Et nous avions les armes flottantes de haut en bas, nous allons appeler cet événement dans ces plans. Donc, c'est juste un événement personnalisé assis ici pour l'instant. Petit avant-goût pour l'avenir. Je suppose que nous allons ajouter une entrée d'un nouveau paramètre. Et on va appeler cette arme. Et nous allons faire ça de base d'armes de type. Et on va en faire une référence de classe. Dans ce cours, nous allons utiliser à la fois des références de classe et des références d'objet. La principale différence entre eux est qu' une référence de classe va se référer à la classe entière. Il fera donc référence à la Base d'armes, ce plan, et il fera également référence à tous ses enfants. Tout. Une référence d'objet est un objet d'instance de type. Donc, ce serait faire référence à comme le fusil d'assaut spécifiquement, sont le pistolet spécifiquement, nous voulons se référer à toutes les classes. Donc, nous allons obtenir une référence de classe. Et c'est en fait tout ce que nous voulons faire en ce moment. Euh, parce qu'on va brancher une fonction là-dedans. Alors allons de l'avant et créons cette fonction. Et on appellera ça des armes de frayage. Et nous voulons que cela ait une entrée est bien de la base d'armes de type et nous appellerons cette arme. La raison pour laquelle nous voulons que cela ait une entrée est que si nous
revenons à notre graphique d'événements et que nous appelons cette arme de génération d'événement, que sais-tu qu'il demande une arme ? Parce que nous avons fait cette contribution. Si je vais de l'avant et supprime cette entrée et il Compiler et Enregistrer. Il est parti. Et on a non, ouais, rien à brancher. Vous vous retrouvez dans un brancher ces données dans. Et c'est déprimant. Donc, nous voulons créer une entrée pour transmettre les données à travers comme telle. Et c'est beau. Je pense que c'est beau. Maintenant, ce script va être extrêmement long stupidement. Et pour nous empêcher de traîner hors de ce nœud littéralement comme 20 fois, je vais promouvoir cela à une variable. Et je vais mettre ça à une variable locale. La différence entre une variable et une variable locale si vous n'êtes pas familier, est qu'une variable locale est une variable qu'elle est principalement faite juste pour garder les choses un peu plus organisées. Une variable locale. D'une part, ils ne peuvent être créés qu'au sein de fonctions. Donc, si je vais ailleurs, je ne peux pas créer une variable locale dans mon Event Graph ne peut exister que dans des fonctions, et elles n'existent que dans cette fonction spécifique. Donc, je sais que je ne vais pas utiliser cette variable nulle part ailleurs dans mon script. Donc, cela pourrait aussi bien en faire une variable locale de sorte que si je vais ailleurs, je n'ai pas besoin de le voir parce que je n'en ai pas besoin. La variable suivante que nous créons va être utilisée dans d'autres événements. Donc on va en faire une variable normale. Et nous appellerons que c'est la première fente remplie. Et tout ce qui commence par un est et le point d'interrogation est généralement un booléen. Alors allons de l'avant et traînons ce booléen dehors. Maintenant, ce que vous pouvez faire, c'est que vous pouvez brancher cela dans une branche et faire la vraie chose fausse que j'aime faire est de dire non. Donc, il dit est le premier emplacement et pas rempli, alors nous pouvons tracer notre branche et brancher ça comme ça. Donc, sans le noeud est essentiellement juste commutateurs ce que vrai et faux serait. C' est ainsi que la première fente. Si le premier emplacement n'est pas déjà rempli, vous voulez générer un acteur de la classe. Quelle classe voulons-nous que ça soit ? Ce qu'on peut faire, on a trois options. On peut brancher notre classe. D'ici. A partir de là, nous avons créé une variable locale, donc peut-être aussi bien, toutes ces trois choses signifient exactement la même chose. Et ces données, cette variable, sont la même chose que cette variable, et elles sont toutes égales à ce plan. Donc, nous voulons générer quelque chose à partir d'une base d'armes. La transformation de spawn. Nous voulons obtenir la transformation de l'acteur. L' acteur étant lui-même. Moi, le joueur. Pour le faire, pour le faire un peu plus. D'accord ? Et puis ce que nous voulons faire est cette valeur de retour maintenant
transformée en une référence de classe à une référence d'objet. avec le bouton droit de la souris sur promouvoir une variable. Et nous allons appeler cette fente d'arme 0, 1, comme tel. Et puis nous voulons prendre R est l'arme est première fente remplie et nous allons dire vrai qu'elle est remplie. Cela empêchera ce script de s'exécuter à travers cette branche plus d'une fois. La prochaine chose que nous voulons faire, c'est que nous voulons attacher l'acteur au composant. La chose que nous voulons à la cible que nous voulions attacher ses armes Fente 1, quelles que soient les armes dans la fente d'armes un. Le parent va être les bras. Donc, nous voulons attacher cette arme d'acteur Slot 1, 2 nos bras. Et ça va être comme, eh bien, qu'est-ce que tu veux ? Je t'ai déjà dit que c'était la bonne arme. C' est pourquoi nous avons cette variable. Donc, puisque cette valeur de retour et tout cela est de base d'armes, nous pouvons accéder à ses variables. Donc, disons obtenir le nom de la socket et le brancher pour le nom. C' est pourquoi nous avons créé cette variable. Et on peut y accéder. Je déteste quand il fait ça, quand ce n'est pas parfaitement aligné. D' accord ? Donc, nous pouvons accéder à cette variable parce que cette valeur de retour est que vous pouvez voir Base d'armes. Donc nous avons la base d'armes, donc vous obtenez ses variables. Et cette belle. Maintenant, nous voulons créer une autre variable et nous appellerons cette arme actuelle. L' arme actuelle va être une variable de type objet de base d'arme va être un objet spécifique. On va mettre la fente d'armes 1 à l'arme actuelle. L' arme actuelle est essentiellement n'importe quelle arme entre nos mains. Donc, si nous avons la fente d'armes 1 actuellement équipée, fente
d'arme 1 est l'arme actuelle. On passe à l'arme secondaire. fente d'arme t2 sera l'arme actuelle. Et ce qu'on veut faire, c'est ajouter une note de retour. Donc, vous voulez retourner ces données. Donc on peut juste prendre ça et l'ajouter juste là. Et maintenant, il y ajoute un type d'objet de base d'arme. On aurait pu frapper un nouveau paramètre et ensuite de cette façon, mais on est fantaisistes. Nommez cette arme de retour. C' est maintenant une compilation. Laisse-moi revenir ici. Maintenant, nous retournons des données. Donc ces données commencent par ici. Ça passe par ici et ça traverse tout ça. Et puis il sort juste là. Et c'est une base d'armes de type. C' est comme ça que ça marche. Mais nous avons plus qu'une seule arme. Nous le faisons. On en a six. C' est là que ça devient un peu ridicule. la fausse branche. Vous voulez alors demander si la fente d'armes t2 n'est pas remplie. Donc, copions et collez ceci. Et puis créons une nouvelle variable. En fait, j'allais frapper le contrôle W sur celui-ci. Et nous dirons que c'est le deuxième, je devrais les nommer honnêtement comme ça. Quantum. Faire plus facile sur les yeux est d'abord. Fente remplie. Je vais faire glisser la deuxième fente et la mettre là-dessus. Donc maintenant, si la première fente est remplie et que ça va être comme, Eh bien la deuxième fente est-elle remplie ? Et puis il va passer à travers cette même ligne de code à nouveau. Si la deuxième fente n'est pas remplie, alors nous allons créer un acteur. On va le mettre entre nos mains. Et nous allons définir ça comme emplacement d'arme 2. Et puis on va dire que les armes sont un deuxième film à sous. Oui, c'est le cas. On va devoir le faire de un à six. Alors je vais sauter. Je vais faire la troisième place, la quatrième, la cinquième. Vous obtenez le point tout au long de six. Alors je reviendrai te montrer. Ok, donc si tu as fini, j'espère que ce petit test, une petite tâche n'était pas trop difficile. Si ça ne devait pas te montrer exactement ce qui devrait être. Donc première fente, première fente, arme, fente 1, deuxième fente, deuxième fente, secondes lot armes comme 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6. C' est donc cet énorme conglomération d'un, d'une fonction ici. Ce que nous allons faire, c'est que nous allons commenter les boîtes autour de cette chose va dire des frayons, arme, acteur dans les mains du joueur, et les assignés peuvent même le voir dans la fente 0. Je pense que j'épelle tout juste là. Ok, donc c'est ce que ça fait essentiellement. Et nous retournons cette valeur à chaque fois. C' est ainsi que nous allons générer nos armes. Donc, si nous revenons à notre graphique d'événements, ce que nous voulons faire ici après cela, c'est que nous voulons faire un autre événement personnalisé. Alors les clients viennent travailler avec moi. Oh mon Dieu. Pourquoi je ne peux pas faire des choses ? D' accord. On va faire une arme d'équipement comme ça. Et puis on appellera une arme équipée comme ça. Sur l'arme d'équipement, nous allons faire une entrée
d' arme appelée et nous allons en faire un objet de base d'arme. Maintenant, on peut les brancher comme ça. Donc pour le moment, je vais couper cette vidéo ici. Il va y avoir un groupe de deux parce que, comme je l'ai dit, c'est assez compliqué. Ceci de quand cet événement s'exécute, nous n'avons pas qui qui arrive ici qui l'exécute. On va engendrer une certaine arme. Donc si notre première fente, disons que c'est l'effort. On n'a pas d'armes. Si la première fente n'est pas remplie, nous allons générer un acteur de base d'armes de type. On va assigner ça à la première fente. Je vais régler ça. Je vais dire que nos premières machines à sous tournent pour que si nous interagissons avec une autre arme, ça ira ici. Et puis là-bas, là-bas, en bas, ils sont en bas. Nous allons attacher cet acteur,
cette arme aux bras de nos joueurs à ce nom de socket. Nous allons définir ça comme notre arme actuelle. Et puis nous allons retourner cette valeur pour ensuite faire plus de choses pour équiper cette arme. Parce que ce que nous devons faire, c'est que nous devons réellement exécuter certaines de ces armes en changeant des animations dans les sons. Et nous avons besoin que le maillage d'armes apparaisse entre nos mains. n'y a rien qui fait apparaître le maillage. Et puis aussi quand on change de faire disparaître cet autre maillage. C' est ce que nous allons faire dans la prochaine vidéo. Et j'espère vous y voir.
10. Equiper notre charge (partie 2): Tout le monde, bienvenue à une autre vidéo. Et le dernier, nous avons commencé ce très long script qui va nous permettre d'équiper, montrer et de basculer entre nos armes. Comme je l'ai dit, cette classe est beaucoup de choses de graphiques d'événements. C' est l'un des plus lourds. Une fois cette partie terminée, nous allons travailler sur la création de nos armes. Et il y aura des choses plus excitantes qui se passent, mais nous devons faire tous ces trucs back-end d'abord pour que notre jeu fonctionne réellement. D'accord ? Donc là où nous nous sommes arrêtés, nous avons notre ramassage d'armes sont la fonction d'arme de génération et ensuite notre événement d'arme d'équipement. Ce qu'on va faire, c'est qu'on va commencer à construire à partir de cet événement d'armes d'équipement. La première chose que nous voulons faire, c'est que nous voulons sortir une branche 0, aussi un petit tidbit entre les vidéos. J' ai pris toutes nos variables des fentes d'armes et j'ai créé une catégorie. Donc, tout ce que vous devez faire pour créer une catégorie est d'avoir une variable sélectionnée et de taper dans une catégorie. Et puis j'en créerai un. Et puis vous pouvez les faire glisser, les mettre dans le bon ordre. Donc maintenant, vous n'avez pas besoin d'avoir cette super longue liste de variables partout, rend plus facile sur votre vie. Mais ce qu'on va faire, c'est créer une nouvelle variable. Rappel, c'est changer d'arme. Et ça va être un booléen. Donc vous voulez vérifier avant de pouvoir équiper une arme, nous voulons nous assurer que nous ne changeons pas déjà d'armes. D' accord ? Si nous ne le sommes pas actuellement, si nous ne changeons pas déjà d'arme, alors nous voulons faire une autre vérification. Et nous dirons que c'est le rechargement. C' est un booléen, oui. D' accord. Nous allons voir si nous rechargeons et je rechargement script n'existe pas encore, mais il finira par le faire. Cette partie est essentiellement ici. Donc, si nous rechargeons une arme et que nous essayons de changer, ce rechargement sera effectivement annulé. Il ne se poursuivra pas pendant que l'autre arme maillage et les données apparaîtront. Donc, si nous
rechargeons, nous voulons désactiver le rechargement. Si nous ne rechargeons pas, alors nous voulons juste dire, Eh bien, nous changeons d'arme. Et nous voulons relier ces deux-là comme ça. Si nous rechargeons, maintenant nous ne rechargeons pas, et ensuite nous pouvons commencer à changer d'arme. Si nous ne rechargeons pas, alors ça dira juste que nous changeons d'arme. Eh bien, nous voulons faire ici c'est que nous voulons créer une autre fonction à exécuter. Cette fonction va exister pour
montrer nos maillages d'armes ou pour cacher celui que nous avons actuellement équipé. Nous allons donc nommer avec précision ce masque et montrer le maillage d'armes. On peut aller de l'avant et fermer ça. On peut aller de l'avant et le mettre juste là. Même s'il n'y a pas de script dedans. La première chose que nous voulons faire quand il s'agit de cacher et de montrer le maillage d'armes est, eh bien, nous voulons transmettre ces données d'avant. Donc, nous l'avons automatiquement réglé sur l' objet Base
d'armes et nous allons juste nommer cette arme. Très bien, et juste comme avant, je veux promouvoir cela à une variable locale parce que ce sera une fonction poilue et poilue. Arme actuelle locale. Maintenant, si vous vous souvenez, j'ai parlé est valable avant et c'est là que ça va revenir. Donc, si nous obtenons nos fentes d'armes, prenons une fente d'armes, l'
une des premières que nous voulons demander, ouvrir la fente 1. Si les armes pensaient qu'une est valide, nous voulons définir, cela pourrait même pas apparaître à moins que je n'ai, oh, ça met acteur caché dans le jeu. L' acteur que nous voulons définir indice et jeu est la fente d'arme 1, et nous voulons le rendre caché. Donc vrai signifie invisible. Ça veut dire visible. La raison pour laquelle cette chose est valide existe, ok. Quand il s'agit de ce script, est que si vous exécutez cacher et montrer maillage d'arme, quand la fente d'arme un n'existe pas, il sera confus. Donc, est valide est un peu comme le bon sens pour les ordinateurs. Donc ça reconnaîtra comme, ok, tu dis de rendre invisible la fente d'armes , mais je ne vois rien dans la fente d'armes 1. n'y a pas de données dans cette variable actuellement. Donc je vais continuer mon chemin. Bon, donc maintenant nous voulons le demander encore pour les machines à sous 2, 3, 4, 5 et 6. La même chose exacte. Donc, nous pouvons copier et coller. Non valide. Donc, si ce n'est pas valide, alors va poser des questions sur la fente d'armes deux. Si elle est valide, il va mettre ce jeu caché acteur et puis il va juste continuer sur le script comme ça. Donc c'est à ça que ça devrait ressembler. Et puis on veut mettre la fente d'arme 2 comme ça. Donc, c'est la chose valide existe principalement parce que nous allons vouloir rendre les armes pensées un visible, non ? Mais ça va continuer et ça va regarder beaucoup d'
armes jusqu'à la première arme que nous ramassons. Quand nous prendrons notre première arme, il n'y aura rien dans les machines à sous 23456. Donc, est valide va être en mesure de déterminer que ce n'est même pas incliné. Donc, c'est juste un moyen d'éviter les erreurs. C' était comme une très longue façon d'expliquer ça, je suppose. Copiez et collez ces deux-là et faisons exactement les mêmes choses jusqu'à ce que nous ayons six d'entre eux. Peut frapper un peu de nœuds de réacheminement pour le rendre pas laid. Donc nous avons 1, 2, 3, 4, au
moins besoin de deux de plus pour 5 et 6. Comme je l'ai dit, ce n'est pas super compliqué, c'est juste long parce que tu dois vérifier pour toi maintenant, je suis gentil. Je vous donne six armes ici. D' accord. Donc, on a des armes dehors. Une latte d'arme aussi. Eh bien, ce n'est pas trois. fente ouverte pour Cinco dit, oh, cool. Ok, qu'est-ce que ça fait ? Revenons de tout ça. Et nous dirons peaux, maillage d'armes
actuellement équipé. Donc si vous n'avez pas ça ici, vous allez équiper une nouvelle arme, et elle fonctionnera correctement. Disons que vous avez le fusil d'assaut, non ? Et puis vous passez au pistil. Le pistolet fonctionnera correctement, mais vous verrez le maillage du pistolet ou le maillage douloureux et il se chevauchera. Le fusil d'assaut. Donc, c'est juste cacher tous ces maillages pour qu'ils ne se chevauchent pas. Mais ce que nous voulons faire, c'est que nous voulons nous assurer que notre nouveau arrive réellement. C' est là que ça devient encore plus ridicule. Donc, hors de jeu acteur, caché et jeu veulent tracer une branche. Et nous voulons le faire, que ce soit valide ou non. Donc, les deux vont se connecter comme ça. Je voudrais peut-être que ça soit un peu plus bas parce que ça va être grand. Et puis ce que je veux faire, c'est sortir de cette branche, je veux prendre notre arme locale actuelle. Alors rappelez-vous, le courant local va se produire est ceci ici, qui va être traîné ici, ce qui est aussi égal à ceci, qui est aussi égal à ceci, ce qui est aussi égal à ceci, ce qui est ceci. C' est comme ça que cela peut devenir déroutant. D' accord ? Donc, si notre, si notre arme actuelle est égale à la fente d'armes 1, et si vous vous souvenez, dans l'arme générée, nous mettons la fente d'arme une à l'arme actuelle. Si nous passons aux armes, beaucoup à cela devient l'arme actuelle. Donc, si notre arme actuelle est égale à la fente 1, vous pourriez être capable de deviner ce que nous voulons qu'elle fasse. Nous voulons prendre la fente d'armes 1, et nous voulons mettre acteur en Endgame. Et nous voulons laisser ça sans contrôle. On veut que ça arrive. Nous voulons que les armes, quelle que soit cette arme, deviennent cachées, qu'elles apparaissent. En d'autres termes, alors ce qu'on va faire, c'est qu'on doit copier, coller ça cinq fois de plus. Je sais, je connais des gens. C' est dingue. Alors voilà. 123456. Tout ce que vous voulez faire ici est juste fente dans les armes pensées pour ouvrir la fente 2. Donc, ça équivaut à une fente d'armes. Donc, si elle n'est pas égale à 0 et à l'emplacement 1, elle va s'écrouler. Il va dire, Eh bien, ça évolue dans la deuxième place ? Si c'est le cas, ça va le montrer. Si ce n'est pas le cas, ça va être comme, Ok, eh bien le fait,
ça va ouvrir trois, ainsi de suite et ainsi de suite. Trois. codage est monotone quand il arrive à être comme ça et vous avez tant d'armes à vérifier. Bon, maintenant j'ai ce point culminant, tout ce truc. Commentaire montre maillage d'arme
récemment équipé. Boum, comme ça. D' accord. Soyez assuré. Cette fonction et cette fonction sont les plus longues jamais créées. D' accord ? Tu peux fermer, ne jamais regarder en arrière. Allons brancher l'arme dans l'arme juste ici. Juste pour s'assurer que les données sont transmises correctement. On dirait une ligne droite irréelle. Oh mon Dieu. Et ce qu'on veut faire, c'est qu'on veut enlever cette charge et qu'on veut qu'elle ait une arme. Nous avons maintenant une arme. Ensuite, nous allons retirer un nœud de retard. Et on va retarder le point. Oh mon Dieu, 33 secondes. Je suis ajouter un commentaire ici pour vous. Et dire permet le temps. Pour l'animation du commutateur d'arme. Si cela n'existe pas, ce petit délai, puis l'animation de l'arme, ce code s'exécutera si vite que vous ne verrez pas réellement l'animation de changement d'armes. Maintenant, nous allons finalement mettre en place le point 33 était un bon moment que je trouve où il avait l'air assez bon. Les armes, c'est l'arme qui change d'arme. On ne changera pas d'arme. Et puis faisons un autre booléen tout de suite. Appelez ça peut tirer, on peut tirer sur notre arme ? On peut. Ok, ce sera faux par défaut. Lorsque nous commencerons à créer d'autres événements dans les actions d'entrée à tirer, nous allons activer et désactiver cela parce que nous ne voulons pas être en mesure de tirer notre arme. Et nous sommes comme recharger et faire d'autres choses. Donc, nous dirons que l'URI permet le tournage. Et après, ou tu ne peux pas tirer pendant. Changement de leptons veulent être en mesure de tirer un pistolet quand vous changez de l'un à l'autre sera bizarre. D' accord ? C' est donc tout ce que nous voulons faire là-bas. Cool. Bon, maintenant, comme je l'ai déjà dit, nos ramassages d'armes vont organiser cet événement de ramassage d'armes. Mais que se passe-t-il si nous avons déjà toutes nos armes et que nous voulons juste passer de l'un à l'autre. Content que tu aies demandé. C'est là que nous aurions juste exécuté l'arme de l'équipe. Mais nous voulons lier ces deux sont des clés un à six. Alors maintenant, nous allons le faire. Alors allons-y et je vais créer un nouveau graphique d'événements pour cela, et je vais appeler ce mappings d'action. Ce que je veux faire ici, c'est que je veux aller un, 23, me donner une chute de cinq et tu l'as deviné, 2100 et je plaisante, c'est six. D' accord. Mec, mets ça en semi ok. Positions. Ils les espacent beaucoup. Ok, donc on a 1, 2, 3, 4, 5, 6 juste là. Pour une fois, tirez-le. Et si une branche n'est pas liée à l'appeler. Et on va dire que la fente d'arme est remplie ? Si notre fente d'armes est remplie, alors nous voulons faire un autre contrôle juste pour être plus sûr. Nous voulons nous assurer que notre arme actuelle est égale à armes Fente 1 égale 0. O, attendez, désolé, n'est pas égal. J' étais comme attendre, ça ne semblait pas tout à fait de ma bouche. D' accord. Si c'est courant, d'accord. Cette chose ici permet désactivables comme si vous
avez une fente d'armes vérifié ou que vous avez ouvert slot 1 équipé, vous ne voulez pas. S' il a encore frappé la clé, et que ce n'est pas là. Vous continuerez à exécuter cette animation de commutation. Tu passeras à la même arme encore et encore. Cela désactive la possibilité de passer à l'arme que vous possédez déjà. Donc si cela, si l'arme actuelle n'est pas déjà une, ce qui
signifie que si n est égal à 2, 3, 4 et que vous essayez de passer à une, alors nous voulons appeler son arme d'équipement d'événement. Et l'arme que nous voulons engendrer dans ce cas est la fente d'arme 1. Et puis nous allons définir ça comme l'arme actuelle. La raison pour laquelle nous définissons ceci comme arme actuelle est parce que cette fonction d'arme apparente ne
fonctionnera que la première fois que vous interagissez avec cette arme. J' ai donc la petite arme flottante qui
engendre cet acteur dans le monde pour la première fois. Je mets tous les endroits de ça dans ma main et tout ça. Je mets ça comme l'arme actuelle. Mais maintenant, disons que j'ai les six armes. Ils sont déjà tous frayés. Et je veux juste passer de l'un à l'autre. Donc maintenant, nous avons juste besoin de lancer l'arme équipée, qui montre et cache le match. Et fait aussi la petite animation. C' est tout ce qu'on veut faire. Donc c'est pour ça que nous voulons, rien ne définit ça comme l'arme actuelle. Et puisque nous avons créé cette entrée ici, nous pouvons la définir pour être n'importe quoi spécifiquement. Nous voulons toujours que la clé soit une arme pensée une. Alors allons de l'avant et copions et collez toute cette chose et faisons la même chose pour 2, 3, 4, 5 et 6. Ils sont un peu proches l'un de l'autre. Donc je vais vous donner une seconde pour faire tout ça
pour les machines à sous 2 à 6. Alors je te vois dans une seconde. D' accord. Maintenant, avec tout cela fait, vous devriez avoir 11 à 2 secondes 333444. Assurez-vous juste que tous ces chiffres sont corrects ici. Et puis laissons la boîte de commentaire autour de tout le truc. Et nous dirons les principales découvertes pour équiper armes après qu'ils ont ben et initialement ramassé. Donc, comme je l'ai dit, tout ça comme des trucs back-end. est peut-être pas tout à fait logique à ce stade, mais quand nous ajoutons réellement les maillages d'armes, quand nous faisons réellement les animations pour les mettre entre nos mains. Tout ça va tout d'un coup ou pourrait magnifiquement et tu seras comme, Oh mon Dieu, c'est incroyable. Ok, donc merci de m'avoir soutenu à travers tout ça. Dans la prochaine vidéo, nous allons commencer par créer nos ramassages d'armes afin que nous ayons quelque chose pour organiser cet événement. Et puis quand on pourra lancer cet événement, on pourra commencer à créer, hum, nos animations pour tenir les armes, réajuster les bras parce qu'il est un peu cassé avec les actifs que nous avons. Et puis on peut mettre les armes dans leurs mains. Et une fois que nous aurons toute cette configuration, ce sera magnifique. Et puis nous pouvons ajouter des fonctionnalités cool aux armes, en fait les faire fonctionner. Alors j'espère que vous êtes toujours dans notre chemin à travers ça. Tu as appris des trucs qu'il a regardés et je te verrai dans la prochaine.
11. Créer des couteaux d'arme: Bonjour à tous et bienvenue à une autre vidéo sur Unreal Engine pour faire ce jeu de tir à la première personne. Dans les deux dernières vidéos, nous avons fait beaucoup de type copier-coller de script, faisant apparaître et
se cacher nos armes, allons
juste dire apparaître et réapparaître, mais elles n'ont pas vraiment de sens. Donc, dans cette vidéo, nous allons continuer avec cette fonctionnalité, créer des plans pour réellement nous
donner quelque chose à ramasser et exécuter l'événement que nous avons fait. Donc la première chose que nous voulons faire est sur notre base d'armes, nous allons en fait faire tous nos enfants quelles que soient les modifications que nous faisons dans la base d'armes, il sera automatiquement appliqué à tous les enfants, ce soit ou pas nous les faisons maintenant ou plus tard. Donc on va les faire maintenant et tu verras pourquoi on fait ça maintenant dans une seconde. Alors faisons un clic droit sur Base d'armes, créez un Blueprint enfant. Et je vais appeler cette arme de soulignement du pistolet. On va continuer à faire ça pour les six. Donc nos deux fusils et nous avons un fusil de chasse. Vous avez un fusil de sniper ? On a un lance-grenades. Pourquoi est-ce que j'oublie ? D' accord. Lance-roquettes. Bienvenue. D'accord. J' ai les armes de soulignement qu'elles sont liées à la Base d'armes ou juste pour des raisons de nomenclature. Parce que nous allons créer comme l'impact rival auto, l' effet et l'arrivée automatique, ceci et ce genre de chose. Tout ce qu'on veut faire jusqu'ici, ouvrons notre arme. La seule chose que nous avons, nous pouvons cliquer ici et dire montrer les variables héritées. C'est ce qu'on veut. Donc nous voulons pouvoir voir notre type d'arme et notre nom de socket. Alors allons-y et faisons-le un par un. Sock un nom. Allons le nom. C' est encore une socket de soulignement et nous allons créer cela. Tu sais quoi ? Non, je reprends ça. Faisons cela plus tard parce qu'il n'est pas encore créé, donc cela pourrait nous donner une erreur. Désolé pour ça. Pour le type d'arme, on peut définir ça comme un pistolet. Et pour le maillage d'armes, nous voulons que ce soit notre clic trop tôt ou un pistolet. On y va. Il est là. Sortez de là. On va faire beaucoup plus d'édition ici. Plus tard. Type d'arme, fusil automatique, purée d'arme. Ça s'appelle un fusil d'assaut. On va fusil de chasse. Faites ce fusil de chasse de type. Et allons-y et pas Schwartz pistolet, fusil à feu. Et on y va comme notre fusil. fusil de sniper. fusil de sniper. On en a deux de plus. En fait, même pas en faire une plus grande fenêtre ici. Qui s'en soucie ? Lanceur de grenades et
fusées dans les mailles en ce moment, même s'il n'y a pas de fonctionnalité ajoutée, juste pour que vous puissiez les voir visuellement quand nous en avons besoin. Ok, la prochaine chose que nous voulons faire, c'est que nous voulons créer nos ramassages d'armes. Donc si vous savez, je vais vous montrer que les autres projets sont toujours ouverts ici. Donc, si je vais frapper Play, nous allons créer ces choses que nous pouvons ensuite ramasser et interagir avec comme ça. C' est génial. Ces trucs, objectifs, films là-bas. Avec notre dossier de jeu FPS sélectionné, créons un nouveau dossier et nous l'appellerons interagir comme un bol. Et puis dans ce dossier, je veux créer un dossier appelé armes. Parce que nous sommes également dans notre dossier interactible qui va faire M0, cela va aussi être interactible. Pour l'instant, restons aux armes. Cliquez droit. On a une classe d'acteur et on appelle ça une arme. Ramasse, base. Ouvrons ça et vous pouvez le faire glisser le long du haut parce que nous allons faire quelques choses différentes ici. Alors tout de suite, des lumières avec notre route de scène. Gardez ça. Qui s'en soucie ? Faisons un saut un pas. Maille squelettique, et on appellera ce maillage d'armes. Et puis c'est un peu étrange, mais nous allons ajouter un maillage statique et nous appellerons cette boîte invisible. Et puis ajoutons également un composant de mouvement rotatif. Et nous allons définir le z pour être comme 130. Plus c'est haut, plus vite ça va aller. Z veut dire que ça va se balancer. Un peu comme vous pouvez, vous pouvez, vous pouvez jouer avec ça si vous voulez que ça fasse une rotation folle. Mais pour cela, nous allons garder les choses assez simples. Cette boîte invisible est un peu étrange. La raison pour laquelle nous avons une boîte invisible, parce que la façon dont nous interagissons avec ceci est à travers une trace de ligne dans certains mailles comme le pistolet sont très petites. Et donc, quand je baisais avec ça, j'ai trouvé que ça ne frappe pas toujours ou ne fonctionne pas si
bien parce que le maillage lui-même est si petit. Donc, cette boîte étant invisible signifie que nous allons toujours frapper avec autre chose, juste nous donner un rayon plus grand,
alors nous pouvons appuyer sur la touche E et interagir avec même si vous ne pouvez pas réellement la voir. Donc avec cette boîte, ce que je veux faire, c'est qu'on va la rendre invisible et cachée dans le jeu. Donc désactivé, visible et vérifier jeu caché. La balance, nous allons le verrouiller et vous le faites 0.55 de sa taille. Et pour le maillage statique, nous voulons juste le cube de base d'un m. Puisque nous l'avons défini pour être invisible, vous ne le verrez pas même dans les fenêtres juste ici. Mais c'est là. C'est invisible. Mais maintenant tout est mis en place. Et nous pouvons aller de l'avant à notre Event Graph. Nous ne le faisons pas, nous avons besoin de l'événement pris, nous avons besoin de l'événement Begin Play. Si tu t'en débarrasses, tu peux toujours les rappeler. Sortons notre personnage de joueur d'ici. Laissons être, attendez une seconde. Tout en réseautage. Ça devrait marcher. Bizarre, peut-être hors de simplement lancer au lecteur API. Et mes choses d'orthographe mal. Pourquoi ce truc nous déteste-t-il ? Attendez une seconde ici. Ok, donc j'ai rencontré quelque chose que je n'ai littéralement jamais rencontré avant ma vie quand j'ai trouvé une solution à ça. Donc, si vous n'êtes pas en mesure de lancer sur le joueur bp hors obtenir personnage joueur. Continuez à notre joueur bp. Juste ici, sur soi. Faites défiler vers le bas pour pion et posséder automatiquement joueur, allez au joueur 0, compilez cela. Vous frappez le jeu. Tout fonctionne toujours. Et maintenant, à partir de notre personnage get player, nous pouvons jouer dessus. Maintenant, c'est mince. Allez chez le joueur, qui est ce que je m'attendais toujours à arriver. Donc c'était très étrange. Mais hélas, nous allons passer
avec le clic droit et promouvoir cela à une variable et l'appeler joueur. Une chose que vous remarquez chez moi est que je suis très perfectionniste, donc je vais toujours commenter boîte, même le plus simple des scripts pour que je sache ce que tout cela fait ici. Donc oui, nous avons juste une variable pour le joueur afin que nous puissions référencer toutes ses fonctions et variables et tout ça. Ici, nous allons créer un événement personnalisé et nous allons appeler ce ramassage. En fait, je choisis ce qui se passe, j'ai interagi avec une arme. Ok, juste pour le garder. Donc nous allons créer une liaison qui va être appelée interactive. Alors gardons ça agréable et similaire. Frappe notre joueur. Si vous maintenez la touche Contrôle enfoncée, elle l'obtiendra automatiquement. Et puis nous voulons avoir l'événement d'un ramassage d'arme déjà. Donc, si vous vous souvenez de la dernière vidéo,
il y a deux vidéos le ramassage d'armes est cet événement qui commence à engendrer l'arme, l'
amène au monde pour la première fois, puis l'équipe. Et puisque nous avons cette entrée ici, quand nous l'appelons, ça va vous demander lequel voulez-vous repérer ? Et vous pouvez voir que c'est demander, maintenant, puisque c'était une référence de classe, c'est, ça les reçoit tous. Maintenant, nous avons le fusil automatique, le lance-grenades, le pistolet. On peut en frayer n'importe lequel. Ce que nous voulons faire, c'est que nous voulons promouvoir ça à une variable et que nous pouvons garder l'arme du nom pour qu'elle apparaisse. Je ne veux pas vraiment des espaces et c'est comme ça. D' accord ? Après cela, nous voulons retirer un nœud do une fois. Donc on ne veut faire ça qu'une fois et on va jouer un son aujourd'hui. Et une fois que nous jouons le son, nous voulons détruire l'acteur. Donc nous allons détruire ce pick-up. Une fois que nous jouons un son, je veux promouvoir ce son uw variable deux, et nous l'appellerons le son de pick-up. Comme ça. Je crois que c'est tout. Donc on doit faire ici pour nos ramassages d'armes. En fait, tu sais quoi ? Je vais être cool. Et nous allons ajouter une chose de plus pour la fusée. Mais avant de faire cela, commentons et je dirai fonctionne événement dans le joueur
bp que nous connaissons le script. Maintenant, vous êtes probablement en train de vous dire, Eh bien Tim, c'est un événement personnalisé lui-même qui va appeler cet événement. Et vous auriez raison de vous demander ça. Et nous allons créer, c'est ce que nous allons faire. Nous allons créer un mappage d'action pour le 0x0 dans le genre c'est ce qui va activer cet événement, qui va ensuite activer cet événement. Et cela fonctionnera dans ce cas. Et ce sera juste une longue chose. Alors avant de dire, eh bien, c'est dur. Ce n'est vraiment pas si dur, c'est juste très compliqué. Il y a donc beaucoup de plans qui se parlent les
uns aux autres pour que ce genre de choses se produise. Si vous remarquez ça, j'ai fait sauter les armes de haut en bas. Donc on va le faire maintenant. Donc, hors de l'événement cochez, si vous n'êtes pas familier, alors Event Begin Play et event tick, notre plan directeur Eddie. Si vous êtes familier avec le codage similaire, Event Begin Play équivaut à annuler Start. Il s'exécute chaque fois que ce plan existe, chaque fois qu'il est appelé dans le monde. Donc ça peut être comme à la seconde où vous frappez le jeu. Ou ça peut être à chaque fois, vous savez, dans ce cas, chaque fois que vous générez cette arme. Lorsque l'arme est générée,
le jeu complet et le jeu s'exécuteront. coche d'événement s'exécute Une fois chaque image unique. Donc, l'événement tick est mieux pour comme ce que vous allez voir ici quand nous sommes, si vous changez certaines valeurs, vous voulez que le jeu soit constamment en train de vérifier pour cela. Donc, vous l'exécuteriez comme une tique d'événement. On va ajouter une chronologie et on appellera ça Bob. Pour Bob de haut en bas. Impressionnant. Double-cliquez sur Bob. Ok, ouvrons le vieux Bob. Et je vais faire ça dernières 2,5 secondes. Nous voulons que ça bouclette. Nous voulions constamment s'incliner vers le haut et vers le bas. Nous allons ajouter la piste vectorielle du vecteur est x, y et z.
Et nous pouvons verrouiller et se débarrasser de x et y. Nous ne voulons que jouer avec z.
Alors continuons et si vous maintenez la touche Maj enfoncée, vous ajouterez des images clés. Donc on va en avoir quatre. Le premier sera le temps 0, la valeur 0. Le deuxième sera le temps de 0,75 et il aura une valeur de, laissez-moi simplement vous référer à mes notes. Il va avoir une valeur de 0,5. Ce troisième sera 1,75. Oh mon Dieu, ils se chevauchaient. Le dernier mis au temps 2.5. D' accord ? troisième est le temps 1,75, la valeur négative 0,5. Et puis ce dernier est le temps de 2,5, valeur de 0 à nouveau. Donc ça va monter et descendre. Maintenant, c'est un peu déchiqueté. Donc, si nous les mettons en évidence tous, cliquez avec le bouton droit de la souris et appuyez sur Auto, maintenant cela va créer une ligne plus lisse comme ça. Et c'est exactement ce que nous voulons. Donc on peut fermer Bob, et maintenant on a une nouvelle piste. Et en fait, désolé, on n'a pas nommé cette nouvelle piste. On peut lui donner un nom qui sort. Ok, Cool. Appelons ce vol stationnaire ou quelque chose comme ça. Maintenant, nous pouvons vraiment sortir. Hors de la mise à jour. Nous voulons ajouter l'acteur et le décalage local et l'emplacement que nous voulons être cette valeur. Donc c'est mis à jour. Donc ce n'est pas, ce n'est pas ce qui n'est pas en cours d'exécution de cette loi publicitaire ou de loi compensée. Lorsque cela se termine, il l'exécute comme une mise à jour, donc il l'exécute constamment. Et ce sont ces événements qui se déroulent toutes les secondes. Et l'emplacement est mis à jour avec cette valeur comme ça. Donc, allons de l'avant et commenter la boîte ainsi et dire que les survolent vers le haut et vers le bas pour le style. Ok, donc on a fait tellement de choses pour des fonctionnalités comme ça. Alors on y va. Il y a un peu de style pour toi. D' accord, j'ai promis, et que ça ait l'air cool. D' accord. Donc nous allons avoir fini avec l'arme, choisir une base. C' est tout ce qu'on veut faire. Donc, nous voulons commencer à faire des enfants à cela aussi. Alors créons un cours de Blueprint pour enfants et appelons ce pick-up d'arme à pistolet. Et je vais aller de l'avant et sauter. J' espère que vous savez comment cliquer avec le bouton droit de la souris et créer un cours de plan d'
enfant pour nos six armes. Alors allez-y et je vous rejoins dans une seconde. D' accord, maintenant avec ça fait, vous devriez avoir tous les six. Nous devrions avoir sept plans et votre total, parce que l'un est la base. Et ce que nous voulons faire, c'est tout simplement en ouvrir un. Et allons à notre maillage d'armes et faisons la seule carabine. Donc ce qu'on veut, c'est comme ça. Oh, une chose que j'ai oublié de faire. Les excuses sont le maillage de l'arme. Je veux être dans les airs, alors dit être comme 150 peut-être. Donc, la valeur que je l'avais dans l'autre projet est 110, a dû revenir en arrière et vérifier quel était ce nombre. Donc maintenant, cela va réellement planer au-dessus du sol et vous remarquez qu'il est automatiquement mis à jour ici comme ça. L' autre chose que j'ai fait, c'est que j'ai fait le y négatif 20. Donc ça marche un peu en arrière. Donc ça fait ici juste un peu plus centré avec nos racines de scène juste là. Vous pouvez remplacer le décor en le faisant simplement glisser dessus. Mais si vous faites cela, alors vous ne pourrez pas le déplacer vers le haut, car alors ce
sera le centre de tout. Ce sera la racine. D'accord ? Donc les autres choses qu'on veut faire dans tous ces plans, c'est une arme à frayer. On veut le définir comme un fusil automatique. Et le son de pick-up est que nous pouvons commencer fente le sens puisque nous avons mis cela pour être une variable. Et il y a un coup de fusil, comme ça. Et c'est celui qu'on veut. Si vous avez l'impression qu'il est trop bruyant ou trop silencieux, vous pouvez toujours passer sous le son de ramassage. Et vous pouvez faire cela comme 1.5 ou quelque chose comme ça si vous voulez ou vous pouvez faire plus silencieux. C' est vraiment à toi de décider. Mais c'est ce qu'on veut faire dans tout ça. Pour que vous puissiez y aller. Encore une fois, je te fais confiance, je te montrerai une fois de plus que tu peux faire le reste d'entre eux. Vous donner une petite tâche ici, une arme à frayer. Nous voulons faire en sorte que le pistolet comme celui-ci n'ait pas encore vraiment rien là-dedans, mais comme je l'ai dit, la fonctionnalité fonctionnera une fois du tout. Tout est mis en place le maillage d'armes. Faisons-le au pistolet. Donc, il est là. Et le son de pick-up, tout
ça s'appelle des rayons. Donc, vous verrez des rayons de pistolet et vous voulez utiliser la file d'attente que les sons légèrement différents à chaque fois. Alors allez-y et essayez de faire le reste des armes, et je reviendrai dans une seconde. Alors je m'excuse encore. Il y a une chose que j'ai oublié de mentionner. Donc, dans la base de ramassage d'armes, assurez-vous dans la base afin que cela s'applique à tous les enfants. Allez dans la case invisible et décochez le verrou et faites la valeur y de 1 avant qu'il ne soit 0,5 et c'est un cube. Nous voulons que ce soit plus rectangulaire parce que nos armes sont assez longues. Nous voulons que ça encapsule toute l'arme. Alors faites-le 0,51,5. Et puis vous pouvez le rendre invisible à nouveau et le compiler et le sauvegarder. Et puis cela sera appliqué à tous les autres d'entre eux. Avec ça, alors nous pourrons placer nos ramassages d'armes dans le monde. Mettons le pistil,
le fusil automatique ou le fusil de chasse. Oh mon Dieu, le fusil de chasse. Savoir pourquoi le choc sur plus bas. Bizarre. Et puis on y va, cette bibliothèque tombe. Peut-être que juste l'angle que je faisais tomber sur la carte a
dû penser que je le plaçais plus bas sous le sol. Lance-grenade et lance-roquettes. Maintenant, nous avons toutes nos armes. Si je vais dans et appuyez sur Play, vous pouvez voir qu'ils font là Bob et, et même chose, peut-être un peu trop haut encore, vous pouvez abaisser cela, juste changer la valeur Z sur le parent là-bas. Et puis ça devrait réparer ça. Et vous pouvez toujours accorder cette Abby, les
faire tourner plus vite, tout ce que vous voulez à votre goût. La dernière chose que nous voulons faire dans cette vidéo est en fait nous
permettre d'interagir avec ces armes. Allons donc dans nos paramètres, paramètres du projet. Allons dans les entrées et créons un nouveau mappage d'action. Et appelons cela interagir. Et nous allons lier ça à notre façon. Si on le trouve. Quelqu'un de facilité et la lettre la plus commune de l'alphabet. Ok, donc on veut être dans le joueur de BP, dans le personnage. Et nous voulons que cela soit dans nos mappages d'action afin que nous puissions trouver un peu d'espace ici. Et appelons à interagir. Maintenant, voici quelques choses que nous voulons faire quand nous interagissons. Nous voulons tracer une trace de ligne par canal. Une trace de ligne est la même chose qu'on
va faire quand on tirera sur nos armes à frapper. Il va tracer une ligne invisible dans le monde, mais nous devons lui donner un point de départ et un point de fin. Alors prenons notre composant caméra et obtenons l'emplacement du monde. Donc l'emplacement de la caméra. Et nous voulons aussi obtenir le vecteur avant. Donc, l'emplacement de la caméra et le vecteur qui pointe tout droit vers l'avant. Nous allons multiplier ce vecteur avant par une valeur faible. Oui. Et ça va être à quel point nous voulions tourner dans le monde. Dans ce cas, mettons-le à quelque chose comme 200. Et puis nous allons les ajouter ensemble comme ça. Ça me déteste. Attendez. Je croyais que c'était un char. Attendez une seconde. Je viens d'avoir un vecteur plus. Et nous allons vecteur plus un vecteur et en faisons notre point final. Et puis notre point de départ sera l'emplacement de la caméra. Ok, donc ce que nous faisons ici, c'est que nous obtenons l'emplacement de notre appareil photo. C' est juste ici. On va trouver son emplacement. Nous allons obtenir quelle que soit la direction, nous allons multiplier ces 200 unités. Donc ce serait la distance d'ici, comme de partir d'ici à ici. Et puis nous allons ajouter ces deux choses ensemble pour obtenir notre point de terminaison. Et puis notre point de départ est juste l'emplacement de la caméra. D' accord ? Et donc à partir de la valeur de retour, nous voulons obtenir une déclaration if. Parce que nous voulons seulement, donc si vous voyez vrai, s'il y avait un faux coup autrement, donc nous voulions que cette trace de ligne fasse quoi que ce soit si nous touchons réellement quelque chose. Pour l'instant, nous allons sortir une séquence, même si nous ne faisons qu'une chose parce que nous voulons interagir avec plusieurs choses. Donc c'est juste pour l'avenir. Et puis à partir de là, nous voulons jeter à notre arme, ramasser la base. Et puis hors de notre tenue, nous allons briser les résultats de ce succès. Et puis le Hit Actor est ce que nous allons brancher à notre objet. Donc, le résultat du coup de frein est en train de tracer cette ligne, de la tracer, de
voir, d'accord, qu'est-ce que ça a frappé ? Il y a toutes ces options pour les choses qui peuvent frapper. Dans ce cas, nous cherchons un acteur à frapper par cette ligne invisible. Et l'acteur que nous voulons voir si nous frappons est notre visage de ramassage d'arme. Et puis si notre base de ramassage d'armes est touchée et laissez-moi
revenir à ça pour que vous puissiez voir si notre base de ramassage Web est touchée. Nous voulons exécuter cette interaction avec l'arme. Interagi avec une arme. Et puis si vous vous souvenez, interagi avec l'arme, exécute ramassage d'arme, qui fonctionne arme de frai, qui équipe ensuite une arme. Et voilà. Vous êtes maintenant un génie du codage. Félicitations. Maintenant, si nous devions entrer et jouer et marcher jusqu' à n'importe quelle arme et interagir avec elle. Vous remarquerez que nous avons cet effet sonore. Il disparaît et tout ça. Mais nous ne pouvons pas vraiment le voir dans nos mains, bien qu'il soit entre nos mains,
les prises d'armes sont un peu foutées, donc il pointe directement vers le bas et nous ne pouvons pas le voir, mais nous le faisons l'équiper pour le moment. Donc, nous pouvons faire un peu de débogage pour assurer que cela fonctionne et nous allons le faire maintenant. Donc, n'importe où dans notre graphique d'événements, cela va être temporaire. Il suffit de frapper sept sur pressé. Faisons une chaîne d'impression. Et puis prenons l'arme actuelle,
traînez-la et branchons-la là-dedans. Donc maintenant, chaque fois que nous frappons sept, il va sortir à l'écran à travers le texte ce que nos armes actuelles. Donc maintenant, si nous arrivons en jeu, et que je devais interagir avec le fusil d'assaut et j'ai frappé sept. Nous avons l'arme de fusil automatique comme arme actuelle. Maintenant, le pistolet et l'abattage du sniper. Et si j'en avais sept devrait être le tireur d'élite. Ça devrait être une grenade. Là, la fusée. Essayons de passer d'une arme à l'autre. Alors ils en ont frappé un. C' était le pistolet, je pense Rizzi, triste que nous avons ramassé. Alors frapper un et maintenant frapper sept. Donc fusil automatique, la deuxième arme qu'on a choisie était aussi les épîtres. Et maintenant sept, depuis le pistolet, il est
donc en train de basculer entre les armes. Il fait tout ce que nous voulons faire. Il fonctionne parfaitement. Maintenant, tout ce que nous avons à faire est de nous donner un moyen de voir que c'est réellement arrivé à l'écran. C' est ce que nous allons faire dans la prochaine vidéo et espérons vous y voir.
12. Faire nos propres animations en armes: Salut tout le monde, Bienvenue à une autre vidéo. Dans le dernier épisode, nous avons créé nos micros d' et toutes nos fonctionnalités de commutation d'armes semblent fonctionner. Dans cette vidéo, nous allons être de retour dans le Blueprint Animation afin que nous puissions réellement voir ce qui s'est passé. Hm, au lieu de simplement se produire en arrière-plan. Alors allons-y et faisons-le. La première chose que nous voulons faire est d'aller notre squelette d'armes de joueur situé dans notre dossier de personnages. Et comme je l'ai déjà dit, nous avons la bonne prise d'arme. Hors de cette socket, nous voulons faire un clic droit et nous voulons ajouter une socket. Ok, on a frappé F2 ici. On peut lui donner un nom spécifique. Dans ce cas, on va appeler cette prise de pistolet. Faites un clic droit à nouveau sur une socket et nous allons en ajouter une pour chaque arme. Donc, prises de fusil automatique, ainsi de suite et ainsi de suite, et ajouter une douilles, prises de fusil de chasse. Et puis je te fais confiance, je crois que tu peux faire les trois derniers pour que je revienne dans une seconde. Maintenant que nous avons toutes nos prises en place,
je suis d' abord et avant tout dans un monde parfait, nous aurions un animateur qui ferait des animations qui tiendraient parfaitement chacune de nos armes. Et puis nous pourrions juste insérer ces animations dans. Nous n'avons pas ce luxe. Ce pack est livré avec seulement deux. Il n'en a qu'un pour un lanceur, mais le lanceur n'est pas le bon lanceur et le fusil n'est pas le bon fusil. Donc, ce que nous devons faire, nous devons le faire, le genre de solution de contournement pour traduire les os autour et créer nos propres sockets. C' est pour ça qu'on fait ça. Si vous ajoutez un tas d'animations, vous n'aurez pas à le faire juste pour l'enregistrement. Donc ce que nous voulons faire, si vous vous souvenez, si dans notre joueur bp, dans notre arme de spawn, nous attachons notre arme aux bras des joueurs en fonction du nom d'une certaine prise. Et par défaut, c'est l'arme droite, qui est celle-ci. Eh bien, nous allons changer ça pour qu'il tienne bien dans la main. Ce qu'on veut faire, c'est aller à nos armes. Et dans chaque arme, nous voulons changer ce nom de socket pour celui que nous avons créé. Donc la prise de fusil automatique est ce que nous voulons. Lanceur de grenade, assurez-vous qu'il est correctement orthographié sinon. La façon de travailler du jeu. Douilles pistolets. Oui. Mettez-les en correspondance avec ceux-ci et épellez-les correctement. Comme je l'ai dit. Contrairement à moi qui est horrible à l'orthographe apparemment, sont presque terminés. Juste un de plus. D' accord, et puis la base garde juste le même que celle par défaut. Un. La prochaine chose que nous allons faire est que nous allons changer ces valeurs pour qu'elles correspondent correctement. Quelque chose que nous pouvons faire. Ça dit que je peux te montrer, ce qui est plutôt cool. Donc, sous le réglage de la scène de prévisualisation, contrôleur de prévisualisation, Allons à l'animation spécifique aux États-Unis et nous voulons utiliser un carabine au ralenti. Alors, oh mon Dieu, c'était beaucoup trop rapide. Vous vouliez probablement être comme deux ou un ici. Donc nous avons notre prise de pistil juste là. Sous notre socket pistil, si vous faites un clic droit, vous pouvez ajouter un actif de prévisualisation et nous pouvons ajouter notre pistil juste là. Et donc vous voyez, en ce moment, c'est pourquoi nous ne pouvions pas voir notre arme quand nous interagissions avec elle dans la dernière vidéo, comme je l'ai dit, elle était pointée droit vers le bas. Nous devons donc apporter quelques modifications à cela clairement. Alors passez à notre panneau Détails. Si vous ne voyez pas le panneau de détails, allez
simplement dans les détails de la fenêtre et il apparaîtra. Et tu verras notre nom. Le nom de l'os est la bonne arme. Nous voulons modifier les paramètres. Donc j'ai déjà fait tout ça pour toi parce que je suis une personne si gentille. Cela devrait s'aligner relativement bien, mais vous pouvez le faire à la main en le déplaçant et tout cela. Mais les emplacements que j'ai sont négatifs 0.71. Pour le x, l'y est 0,6, z est 9,3. La rotation est négative 90. Le y est 0, z est 0. Et ça aura l'air vraiment sympa. Maintenant, ce que nous allons faire dans le plan d'animation, c'est que nous allons faire disparaître
ce bras et nous allons réellement bouger les doigts dans un bon endroit. Mais nous pourrions, pour d'autres armes, nous allons changer l'endroit où se trouve cette autre épaule et tout ça. Si vous le souhaitez, vous pouvez cliquer avec le bouton droit de la souris ici et supprimer tous les éléments attachés et maintenant le pistolet disparaîtra. Mais vous pouvez voir maintenant comment les prises de pistolet dans un endroit différent de la bonne arme. Allons donc au fusil automatique et on va le faire maintenant. Désolée, je vérifie juste quelle était la prise. Sur l'autre projet. L' emplacement relatif est négatif 1,5, le y est 1,5, le z est 7,6 et la rotation est négative 90. Donc, si vous vouliez voir à quoi cela ressemble à des actifs PU. Alors fusil. Alors voilà. Maintenant, il leur a vraiment dit que était une chose de fou. Faisons le fusil de chasse suivant. Aperçu des ressources. Je fais ça pour m'amuser de nos jours. Je pense que c'est cool. Voyez à quel point ça a l'air stupide. En fait, vous voyez un mouvement. Si je prévois l'acide là-bas, c'est un peu cool. L' emplacement relatif est négatif 1.17. Le y sera 2.06, quelques nombres très spécifiques ici, puis 10.2 et ensuite négatif 90. Et voilà. Il y a ça et voir les doigts s'écraser par ici. Donc, nous allons corriger cela dans l'image, un plan et la main n'est pas assez là-haut. Mais nous voulons juste la prise sur laquelle nous nous concentrons principalement, est-ce dans cette main, le pouce et ces doigts ? On dirait que c'est dans son poème ? C' est ce qui nous inquiète surtout ici parce que c'est la racine, c'est le point d'attachement que nous définissons via ces plans. fusil de sniper est le prochain. Laisse-moi partir. Maintenant, pour ce fusil de sniper, qu'est-ce qu'on a ? Le fusil de sniper est négatif de 0,53. Le y est 0. Il y a 0,87 et le z est 12,9. Et puis la rotation comme toujours sera négative 90. Et ça a l'air bien là. En ce qui concerne cette main, rappelez-vous que nous concentrons ces doigts. Lanceur de grenades, actif de prévisualisation de l'application, grenade. Sachez qu'il y a un lanceur d'aide. Hé, Kanzi, cliquez. X est négatif 0,42, y est 1,46, z est 10, puis négatif 90. Alors voilà. C' est un joli lanceur de grenades de connexion là-dedans. Enfin, nous avons nos fusées. Et puis pour la fusée, nous avons x de négatif 0,72, y de négatif 2,36, z de 13, puis négatif 90. Donc, si tu veux, tu peux jouer avec ça. Ces chiffres fonctionnent. Je l'ai fait à la main et maintenant je vous dis juste ce que les chiffres ont fini par être, mais ça devrait marcher et vous pouvez juste enlever ces actifs et sortir de notre squelette. Maintenant, si vous allez dans notre personnage et allez dans le Blueprint Animation de joueur dans le Graphe d'événements, nous allons vouloir faire quelque chose à partir de notre autre nœud de séquence. Enfin, je sais. Alors faisons-le maintenant. Da-da, da-da, da-da, da-da. Donc, si vous vous souvenez, nous allons d'abord tracer une branche. Si vous vous souvenez, nous avons créé une référence à notre joueur et nous avons une charge. Et donc nous voulons obtenir cette variable ici. Alors vérifions si c'est égal à quelque chose. S' il y a une arme, branchez-la là. J' essaie juste d'aimer m'assurer que ce n'est pas super ridicule. Oh mon Dieu. Je peux probablement réécrire ça un peu. Là, on va et on a l'air mauvais. Ok, donc on ne veut que jouer des animations. Si nous avons une arme, nous ne voulons pas que nos mains soient orientées vers l'extérieur comme ça et nous n'avons pas d'arme. Donc, si nous avons une arme, allons de l'avant et créons une nouvelle variable. Et on appellera cette arme actuelle. Et nous allons faire ça de la charge de type. D' accord. On va faire en sorte que ça soit quelque chose. Donc, c'est égal à. L' arme actuelle dans ce Blueprint est égale à la charge dans ce Blueprint. Mais nous voulons que ces deux plans puissent se parler et faire qu'une arme actuelle dans ce plan équivaut à la charge dans celui-ci. Alors allons au joueur. Allons sortir notre charge. Et puis nous allons aussi, oh, en fait, je suis désolé. Je l'ai fait à l'envers. Au lieu de le charger,
faites-en un type d'arme. Je m'excuse pour ça. Oui. Modifier le type de variable. Ce sera comme si c'était bon. Donc on a un joueur et on va chercher l'arme actuelle. Donc on va prendre le type d'armes actuel et ensuite on va trouver le type d'arme. Obtenez le type d'arme et puis définissez ça. Alors soulignons ceci et disons des liens. Arme actuelle dans la base d'arme avec Plan de construction Anime. Donc ce que ça fait ici, et vous verrez pourquoi on fait ça dans une seconde. Nous prenons cette variable et notre arme basée sur le type d'arme. Et si vous vous souvenez, dans tous les enfants, nous avons décidé que c'est quelque chose. Et essentiellement ce que nous faisons, c'est que nous disons quelle que
soit l'arme actuelle, quel que soit le type d'arme actuel. Donc, pistolet, fusil d'assaut, nous voulons définir cela pour être égal à la variable trouvée dans ce plan d'animation. D' accord ? Maintenant, si nous revenons au graphique d'animation, nous allons dissocier ce mouvement de joueur parce que nous voulons faire des choses folles. Donc on va le traîner ici et on va dire de l'argent. On va mettre en cache cette pose et on l'appellera le même nom, mouvement des joueurs. Ce que pose la mise en cache c'
est qu'elle prend toutes ces données et les met ensuite dans un nouveau nom. Donc, si vous remarquez comme ceux-ci ne vont que dans une direction, ici ou ici, ils ne sont pas comme des nœuds qui ont des sorties et des entrées des deux côtés. Maintenant, ce que je peux faire, c'est faire appel aux flux de trésorerie américains, au mouvement des joueurs, et je peux continuer sur la succursale pour le faire, épargner ça comme une pose d'argent et ensuite brancher ça dans autre chose. Donc c'est ce qu'on va faire. Donc, nous allons mettre en évidence cela et dire machine d'état
dans la machine d'état contrôlant le mouvement des joueurs. Donc c'est comme notre premier pas, pour ainsi dire. Mais nous voulons apporter des modifications à ces animations basées sur différentes armes. Donc, il est vrai que ce sera un peu déroutant. Mais si on tient nos armes, comme je l'ai dit, ces animations ne s'alignent pas parfaitement. Nous devrons donc apporter quelques modifications à certains de nos os dans les prises de notre squelette. va falloir les déplacer pour que ça ressemble à nos gars qui tiennent les armes. Parce que le, il y a toutes de différentes tailles et nous n'avons pas nos propres animations. Alors prenons ce mouvement de joueur de pose d'argent. Et nous allons faire un clic droit dans un espace ouvert et dire Transformer, Transformer, modifier l'os juste ici. Et il les a branchés. Tu vas avoir une sorte de nœud de conversion comme ça. D' accord ? Le premier sera pour le pistolet. Je veux en prendre deux et les brancher l'un à l'autre. Et puis je veux traîner hors d'ici et je veux mettre en cache. Je vais faire partie du local, ok, Sûr jeu. Et maintenant, nous pouvons mettre en cache. Et puis nous sauverons ça comme pose de pistolet. D' accord. Pour l'os à modifier, Nous voulons obtenir l'os de l'épaule gauche être épaule gauche. Et nous voulons traduire cela. Donc, ce petit expose le stylo et décochons ça. En décochant que nous voulons seulement faire de la traduction. Nous ne tournons pas ou ne changeons pas l'échelle de quoi que ce soit. Au lieu d'ignorer, Ajoutons à existant. Et nous voulons faire x négatif deux, y négatif 34, et z négatif dix. Comme ça. Ensuite, l'autre chose que nous voulons faire, c'est que nous voulons aussi baiser avec l'épaule droite. Parce que si tu te souviens, l'épaule droite a un peu foiré aussi. Comme vous le verrez, nous voulons faire tourner cela. Donc, nous allons éliminer la traduction et nous n'avons pas exposé l'échelle. On ne veut pas les utiliser. Nous voulons juste la rotation, la rotation que nous allons ajouter à l'existant. Et puis nous allons définir ça pour être négatif 10. Et le x comme ça met en évidence tout ça. Et nous dirons traduire. Animation ou pistolet Coase. Nous sommes à faible budget. On n'a pas un tas d'animations fantaisistes. On pourrait juste brancher. Pour toutes nos armes. Nous devons traduire les os à la main pour qu'ils aient l'air de faire quelque chose. Donc, nous pourrions probablement copier et coller ceci. Et nous traduirons pistolet pour fusil automatique. Parce que nous n'avons toujours pas d'animations. D'accord ? Au lieu de la pose de pistolet, faisons la pose automatique de fusil. D' accord. Capitaliser quoi ? Il me le fait vraiment. D' accord. Dieu merci. D' accord. Nous en avons deux ou trois. Nous avons l'épaule gauche que nous
voulons être négatifs 20 et z. et c'est en fait la seule chose que nous voulons traduire ici quand il s'agit de notre carabine automobile. Juste un peu de mouvement de l'épaule là pour le déplacer vers le bas et plus un peu plus. Copiez et collez à nouveau. Et nous ferons ça pour notre fusil. En fait, parce qu'on a besoin d'eux. Copions donc coller celui-ci à la place, le pistolet. Et faisons ce fusil. Et j'arrêterai de plaisanter. Juste ici. Pour le nom du cache doit composer. épaule gauche pour le fusil sera négatif deux, y de 0 et z de trois. Et puis l'autre os que nous voulons, c'est que nous voulons commencer à jouer avec l'index. Donc, nous voulons un index de droite. Donc, si vous remarquez avant, comme si l'index chevauchait un peu la gâchette, c'est ce
que nous réparons ici. Donc nous voulons prendre la traduction ou désolé, non, la rotation. Nous voulons juste faire ce z de 20 et ensuite ces autres. Donc, 000 20. La même chose pour le fusil de sniper. L' épaule gauche du fusil de sniper va être négative. Et puis deux négatifs dans le Y ,
et sept pour l'épaule gauche. Et puis cela va rester le même parce que les doigts ont tellement foiré de la même façon. Oh, je dois changer ça en pose de fusil de sniper comme ça. En homme car nous sommes maintenant à notre lance-grenades. Pose de lance-grenades. Pour le lanceur de grenades, nous voulons 000 et et je veux dire, la seule bonne chose est que le même genre de prises, une épaule gauche, et l'index de celles que nous devons changer. Ils ne sont pas vraiment changer comme beaucoup d'autres trucs. Mais oui, c'est assez fastidieux quand même. Et enfin, le
lance-roquettes, lance-roquettes, lance-roquettes posent. Et puis pour le lanceur de fusée, la
traduction sera négative 0,5 et x, y est 0, puis z est 5. Et puis c'est tout ça. Donc nous avons toutes ces poses mélangées ici. Vous pouvez faire une pause si vous vous perdez un peu, vous devez revoir les chiffres. Et ce qu'on va faire est une dernière chose avant que tout ça fonctionne. Donc nous voulons attraper notre arme actuelle. Et nous voulons mélanger les poses. J' espère que l'autre. Oh mon Dieu, mélange. Mélanger les poses par cette énumération. Où est-il ? Quand pose par type d'arme ? Oui. D'accord. C' est exact. D'accord. Nous voulons mélanger les poses par type d'arme, puis nous voulons ajouter des épingles pour tous ces éléments ici, ce qui est toutes nos armes ici. Boum. Et puis, ce qui est plutôt cool. On peut juste attraper. Donc, pour notre pose par défaut, Utilisons simplement le mouvement du joueur. Pour notre pistolet, nous voulons utiliser le tuyau du pistolet, juste ceci, puis la pose du fusil automatique, puis le requin compose. Et puis le fusil de sniper a mis la pose en cache. Ensuite, le lance-grenades pose, puis le lance-roquettes pose. D' accord ? Et donc si nous faisons ça, ça ne marchera toujours pas parce que nous ne produisons rien. Donc on peut faire, c'est aller de l'avant et juste encaisser ça et appeler cette pose d'arme. Et maintenant, attrapons des armes. Oh mon dieu, jeu. Travailler avec moi et parfois il déteste utiliser des poses d'argent. Parfois, oui, ils recherchent vraiment ce meunier. Donc maintenant vous pouvez voir que c'est la mise à jour et nous sommes en
pose de pistolet parce que je suppose que ce doit juste être pistolet par défaut. Une valeur par défaut de cette énumération est pistolet. Donc vous pouvez voir qu'il coule en fait, il traverse ici. Où allons-nous à la base d'armes ? Regarde cette magie. Si je l'ai gardé dans le fusil automatique. Allez. D' accord. Il ne veut pas mettre à jour. C' est gênant. Eh bien, dans l'esprit, ça a marché. Oh, attends. Là. Donc vous pouvez voir comment ses mains bougent. Voir doigt, comment cela a bougé un peu beaucoup cette grenade. Tu as la pose du pistolet. Juste là. Nous traduisons ces os. Prendre le fusil automatique, le fusil à feu , le
sniper, la grenade,
l'attention, le lance-roquettes, et tout ça. Et donc cette valeur de l'arme actuelle va être liée à n'importe quelle arme que nous avons équipée dans le jeu. Et donc ce qui se passe ce graphique Anim, c'est que nous contrôlons notre Idle run ou que nous mettons en cache ça ici. Et nous prenons ces données et nous transformons certains des emplacements de ceci en fonction importe quelle arme que nous avons définie par cette énumération et qui est diffusée à l'écran. Donc, si nous avions réellement des animations, nous prendrions juste comme une course de fusil et ensuite simplement glisser ça ici. Mais ce pas n'est pas nécessaire. Mais comme je l'ai dit, nous n'avons pas d'animations. C' est ainsi que nous devons le faire. Maintenant, une chose que j'ai oublié de mentionner qui est assez importante est qu'à l'intérieur de notre joueur bp, um, quand nous attachons les acteurs deux composants, au lieu de la valeur par défaut qui est de garder relatif et de souder des corps simulés, nous voulons nous assurer que tous ces éléments sont prêts à s'accrocher à la cible et nous voulons désélectionner, bien sûr, les corps simulés. Alors allons-y et faisons-le. C' est juste un petit paramètre qui va causer un peu de problème
dans notre script et faire en sorte qu'il ne fonctionne pas, ce qui n'est pas bon. Aucun mélange ne fera ça. Et puis si nous allons ici et nous faisons demi-tour, nous avons notre pistil pour fusil, ce qui je pense qu'il y a un problème avec cette animation. Le fusil a l'air bien. fusil de sniper a l'air bien. Dans beaucoup de vraiment bon. Et la raquette a l'air bien. On peut basculer entre ces deux maintenant. Vérifiez que le maillage actuel disparaît, le nouveau maillage apparaît et que l'animation fonctionne correctement. Voyez les mains se déplacer là où les armes ne sont pas. Tu verrais ça plutôt bien, surtout comme ça à quelque chose comme ça. Donc, tout fonctionne bien et bien. Allons-y et réparons le fusil d'assaut, et on en aura fini avec cette vidéo. Donc, comme un petit bit, juste comme un petit conseil cool, si vous voulez vraiment voir ce qui est incorrect ici, vous pouvez appuyer sur le bouton point-virgule de votre ordinateur. Sur la droite de L, vous pouvez entrer ce qu'on appelle la caméra de débogage et nous pouvons détacher de notre lecteur. Nous pouvons voir que nous avons un problème avec notre épaule gauche. Donc notre bras droit est dans le bon emplacement, mais notre bras gauche est beaucoup trop loin en arrière. Et juste, juste, juste, ne pas faire ça. Super. Donc il faut réparer ça. Donc assez maladroitement, j'ai découvert que vous n'avez probablement pas eu ce problème parce que si je vais dans mon arme de fusil automatique, je l'ai réglé pour être un pistolet. Donc il fait l'animation du pistolet. Si vous avez exécuté un aperçu de ces actifs, vous pouvez toujours basculer ceci ici. Et puis vous pouvez voir comme si je devais faire quelque chose de fou comme 40, vous pouvez voir ça arriver en temps réel à leur main se déplacer comme ça. Elle est plutôt cool. Comme ça. Je compile ou retourne à sa valeur par défaut, puis cela sera fait. Donc si j'ai frappé le jeu, ça aurait pu être un problème pour moi. Voilà, tu y vas. Maintenant, notre fusil automatique est celui qui est tenu, et c'est aussi dans la première place, afin que nous puissions les ramasser et n'importe quel ordre que nous voulons. Donc la première fente était le pistolet douloureux, fusil de chasse, grenade, l'un de ces hyper. On y va. Donc, il y a une fonctionnalité que nous pouvons réellement faire n'importe quoi, mais tout fonctionne. Nous tenons nos armes et nous pouvons les ramasser et tout est beau et beau. Donc, nous faisons de grands progrès ici. J' espère que vous appréciez la classe jusqu'à présent et j'espère vous voir dans la prochaine.
13. Passer à l'animation entre des armes: Salut tout le monde et bienvenue à une autre vidéo. Dans le dernier épisode, nous avons ajouté quelques animations pour que nous puissions réellement nous
voir visuellement basculer entre nos différents plans d'armes. Entre les vidéos, j'ai fait quelques petites choses dans notre base de ramassage d'armes, j'ai fait la hauteur de notre arme. Mattea avait 110 ans, animée 75. C' est juste une préférence personnelle. Pour moi. J'ai l'impression qu'ils sont dans une meilleure hauteur maintenant. Et puis dans notre joueur Anime Blueprint, j'ai ajouté cette section qui dit traduit les os pour tenir une arme différente juste pour
que les gens puissent voir ce que cette partie fait. Ok, ce que nous allons faire dans cette vidéo va faire, nous allons nous éloigner du monde du codage
lourd et de la traduction de tous ces os et faire des trucs dingues. Et nous allons ajouter un peu de flair à notre projet parce que actuellement, si vous appuyez sur le bouton, il est juste un peu maladroit automatiquement transitions instantanées entre les armes que
nous voulons réellement animer quelque chose dans les jeux. Allons-y et faisons-le maintenant. Donc, si vous êtes dans notre joueur Anime Blueprint, C'est génial. Allez à notre machine d'état de mouvement de joueur et ouvrez ça. Et nous allons traîner et ajouter un état, et nous allons appeler cette arme de commutation. Et je veux faire une transition vers et arrière. Donc, nous voulons pouvoir passer de notre inactivité à notre arme de commutation, puis de notre animation d'arme de commutation à notre idole marchant une. Pour mettre en place cela, nous devons faire quelques choses. Donc, d'abord et avant tout, si vous vous souvenez, si je vais juste pour essentiellement acheter graphique est fermé. Si vous allez à cet événement d'arme d'équipement qui est aléatoire, nous prenons d'abord une arme et quand nous passons de l'un à l'autre à chaque fois, vous saurez qu'à l'intérieur, nous avons cette variable qui dit est de changer d'arme. Lorsque cet événement est exécuté ou exécuté, l'anglais est dur, cette variable devient true, puis après 0,33 seconde, elle devient false. Et nous avons dit que cela laissait du temps pour qu'une animation de changement d'arme se produise. Donc, ça ne passe pas instantanément de vrai à faux. Cela laisse du temps pour que cette innovation se produise. Donc c'est ce qu'on va faire maintenant. Tout d'abord, passons à notre Event Graph ou à un plan. Et créons une nouvelle variable et appelons ceci est une arme de commutation. Et je vais en faire un booléen. Et tout ce que nous voulons faire, c'est que nous voulons définir ceci pour être égal à la même variable que celle qui se trouve dans notre joueur. Get est de changer d'arme. Branchez ça dans ça. Donc, maintenant, nous avons un booléen qui est dans notre Blueprint Anime qui est défini sur
égal à tout moment à la valeur de celui trouvé dans notre joueur. Alors faisons ça. Et il dit, dire très peu pour changer d'arme enrichie. Donc assez simple, n'est-ce pas ? Jusqu' à présent. Et nous ajouterons ça à la branche d'autres choses. Vous pourriez, si vous compilez comme moi, vous aurez probablement quelques petits problèmes ici. C' est juste parce que dans notre graphe d'énumération, nous n'avons pas réellement d'animations ici. Donc, nous allons devoir aller de l'avant et ajouter 11 que nous voulons ajouter est dans notre jeu de tir. Allons à des animations de jeu de tir, des animations
FTP, et nous voulons obtenir l'équipement de fusil. Donc équipé d'un fusil ressemble à ça et on a un son cassé ici. Donc celui que nous voulons est appelé, il s'appelle un quip, je crois,
SR, SR, clip AR file d'attente sonore, et il est cassé. Alors nous allons l'équiper de toute façon. Multiplicateur de volume, nous pouvons rester à un pour l'instant et a dit cette loupe pour réellement trouver cela. Et allons-y et réparons ça. Donc, recherchez un clip, Clip 1, puis équipé pour écrire n égal à 3. Alors maintenant, nous disons que nous mettons dans une file d'attente. Et maintenant, ça marche. Et je peux l'entendre comme ça. Assez simple. Celui-ci fonctionne maintenant. Revenons donc à notre plan Anime Blueprint, mouvement du joueur graphique
d'animation, arme de commutation
ouverte. Il y a notre navigateur d'actifs. Et nous avons un fusil équipé ici. Si vous n'avez pas de fusil équipé, êtes prêt, juste il dira probablement qu'il n'est pas configuré pour ce squelette frappé Oui, puis sélectionnez squelette joueur et puis il
apparaîtra ici parce que le squelette du joueur est le ici que nous avons créé pour être attaché à cela, notre personnage et le plan d'animation de notre personnage. Maintenant, nous devons faire est que je dois créer des états, je veux dire, jusqu'au jeu. Ok, quand voulez-vous passer à cette animation ? Et que veux-tu revenir à celui-là ? C' est très, très simple. On veut juste dire, bien, on change d'arme ? Si on change d'arme, on veut passer de l'arme Idle Run 2. Et si nous ne changeons pas d'arme, nous voulons y retourner. Et je vais laisser compiler et enregistrer. Donc maintenant, si on monte ici et qu'on ramasse une arme, on devrait la voir animée et inanimée à nouveau et l'anatomique à nouveau. Et c'est animé. Sachez ça. Et on peut changer maintenant. Encore une fois, les déchets complets de Santa Fe, c'est un peu bizarre. Mais ce n'est que parfois blanc. C' est très étrange et ce sera quelque chose autour de cette animation. Voyons ce que la promesse, ok, je pense que le problème était persistant parce que j'avais le fichier d'animation ouvert parce que maintenant je ne reçois pas cette erreur. Ça marche très bien. Alors, qui a déplacé le pistolet hors cadre ? Ça changera si vite tu ne peux même pas dire que ça jaillit un peu. Aussi, une autre chose que nous pouvons vérifier est que j'ai actuellement les armes Slot 1 équipé, qui est le PESTLE actuellement si je frappe un, il ne fait rien. Si vous vous en souvenez, nous avons ajouté ce script ici pour vous en assurer. Donc si notre arme actuelle est la même chose que la fente d'arme que nous avons équipée. On ne va rien diriger. Donc nous ne pouvons pas équiper, refaire connaissance de l'arme que nous avons déjà. Donc l'un ne fonctionne pas et deux ne fonctionne pas, ne fonctionne pas pour son travail 56. Et puisque nous avons ces nœuds sont valides. Trouvez-les, mon Dieu. Oh mon Dieu, facile de se perdre. Donc, il dit que nous avons ces est valide sait si je devais me débarrasser de ces est des nœuds valides juste ici. Et je fais ça et puis j'ai frappé 2, 3, 4, 5 ou 6. Ça va devenir confus. Ce sentiment que nous avons ceux-là. Ça va aller jusqu'à la prochaine. Ça ne sera pas confus. Et tout fonctionne parfaitement. Donc, tout est bien et bien. Nous allons simplement continuer, ajouter des fonctionnalités à ces armes et les faire
paraître et sonner et se sentir vraiment génial. Donc on va le faire dans la prochaine vidéo et je te verrai là-bas.
14. Crosshairs dynamiques: Tout le monde et bienvenue à une autre vidéo dans Unreal Engine 4. C' est un tout nouveau jour, au moins c'est pour moi. Donc on va commencer cette journée par avion. Une musique de tir épique à la première personne qui donne vraiment le ton, je crois. Alors. Ce que nous allons faire dans cette vidéo et dans la prochaine série de vidéos c'est que nous allons utiliser l'interface utilisateur, faire des widgets, des UMG, le capot, comme vous voulez l'appeler. Nous allons donc commencer par créer un nouveau dossier dans notre jeu FPS et appeler cette interface utilisateur. N' hésitez pas à l'appeler UMG sur des widgets graphiques réels, quoi que vous vouliez l'appeler, je vais l'appeler UI. A l'intérieur d'ici, nous allons créer deux widgets. Si vous n'êtes pas familier avec les widgets, comme les plans 2D, où vous pouvez placer votre HUD et d'autres actifs 2D. Donc, nous avons HUD et ensuite nous avons traversé ici. Cette vidéo, nous allons faire nos poils croisés dynamiques qui se déplaceront en fonction de la propagation et du déplacement dans le titre, selon la vitesse à laquelle nos personnages se déplacent. Avant d'ouvrir notre croix ici, ce que nous voulons faire, c'est que vous vouliez créer deux nouvelles variables, une à l'intérieur de notre personnage. Et puis nous allons vouloir en créer un à l'intérieur de notre arme. Donc, à l'intérieur de notre personnage, nous allons créer un booléen et appeler qu'il vise. Cela va être utilisé dans plusieurs scripts au sein du personnage, où nous déclencherons différents événements selon que nous visons,
visons le site ou non. La raison pour laquelle nous le faisons maintenant est parce qu'il a des fonctionnalités dans notre cross son widget. L' autre plan que nous voulons ouvrir sa base d'armes et
créons une nouvelle variable et le collège et les balles se répandent. Pour faire ça, j'ai tapé des flotteurs. Cette variable va la définir à la valeur par défaut de 350. Ce que cette variable va faire, c'est qu'elle va contrôler un calcul qui dicte combien nos balles
se répandent quand nous tirons à la hanche parce que nous ne voulons pas être parfaitement précis. Et donc ce nombre va directement corréler avec la distance entre les poils croisés sont par défaut. Alors ouvrons ici. Et vous verrez notre taille d'écran par défaut 16 par 9 sur l'écran de remplissage ici, nous allons faire cela personnalisé et c'est automatiquement, ou par défaut va le définir pour être un 100 par un 100. Et c'est très bien pour moi. Je vais renommer notre panneau de toile en le sélectionnant et en appuyant sur F2 et appeler cette croix ici canevas. Et je vais chercher une boîte de taille, déposer ça sur la toile. Et puis je vais faire glisser une image et le mettre sur la boîte de taille. Donc, vous devriez avoir une hiérarchie qui ressemble à ceci, où l'image est un enfant à la zone de taille et les zones de taille, enfant au panneau de canevas. La boîte de taille, nous allons nommer cette croix en haut ici dans l'image va juste nommer cette image de remplissage en haut. Maintenant, par défaut, les images seront définies sur des variables. Vous pouvez penser, vous pouvez décocher ça. Je ne pense pas que je vais l'utiliser, mais nous voulons que notre croix soit une variable. Avec notre réticule supérieure sélectionnée. Nous voulons ancrer ça vers le haut. Je veux m'assurer que nos positions sont toutes les deux à 030. Les tailles sont fines. Le x, nous allons le faire 0,5 dans l'alignement. Nous allons nous assurer de cliquer sur Taille au contenu, qui va dimensionner cette image de remplissage deux, ces chiffres, et nous allons avoir une largeur et une hauteur de remplacement. Et faisons-le 1,5 et 20. Donc maintenant, nous avons notre petite image de Crosshair haut juste là. Allons de l'avant et appuyez sur Contrôle W pour copier coller ce sont dupliqués et nous allons faire celui-ci appelé réticule inférieur. Et le bas frappé Caps Lock, l'image de remplissage
en bas et les cheveux de la croix inférieure. Allons de l'avant et définissons ceci pour être ancré en bas. Et nous fabriquons cette petite fleur est ici. Maintenant, réinitialisons nos positions, assurez-vous qu'elles sont toutes à 0. Et puis je crois que le pourquoi de cela sera un et nous allons garder l'alignement 0,5 pour le fond. Allons de l'avant et faisons la gauche. Maintenant, nous avons le réticule gauche et l'image de Phil gauche. Pour la gauche. Je vais l'ancrer à gauche. Je vais réinitialiser nos positions à 00. Et on va faire, c'est qu'on va juste inverser la largeur et la hauteur. Donc, la largeur sera de 20 et la hauteur sera de 1,5. Et j'ai besoin de bouger un peu ça. Alors faisons l'alignement 0. Oui. Et probablement 0,5. Ça a l'air bien. Oui, croisez à gauche leur alignement 0 et le 0,5 dans le y. Dernier mais non le moindre, nous avons le droit. Donc nous ferons bien, réticule et droite. Image Phil. Ancrons ceci sur le côté droit. Notons la taille. Sa position de 0. L' alignement sera x de 1 et y de 0,5. Et on y va. Maintenant, on croise des poils comme ça. Et comme nous avons déjà ce point blanc au centre de l'écran, nous n'avons pas vraiment besoin de mettre un point blanc au centre. Pour le reste de la vidéo. Nous allons être dans l'Event Graph et nous allons réellement faire bouger ces poils croisés. Et la meilleure façon de le faire est que nous allons créer quelques fonctions qui seront probablement assez laides. Donc, à chaque fois que le code devient laid, vous mettez juste ce mauvais garçon dans une fonction. Donc c'est ce qu'on va faire. Créez une nouvelle fonction et nommez ce déplacement des poils croisés ou quelque chose comme ça. Pour cette fonction, nous voulons donner à cela une entrée d'un flotteur et nous allons simplement appeler cette cible parce que c'est une valeur cible vers laquelle nous allons aller vers. Et nous allons promouvoir cela à une variable locale et l'appeler cible locale. Parce que ce script va être assez long. Dans cette direction. Je suis allé de l'avant et j'ai frappé Alt pour casser cette épingle parce qu'on va faire des maths, le sujet préféré de tout le monde. Donc, à une cible, ajoutons un flotteur plus un flotteur. Et nous allons promouvoir cela à une variable et appelons ça les balles se propagent. Nous allons lier cette dispersion de balle a une variable jusqu'à notre variable de
propagation de balle que nous avons créée dans la Base d'armes. Donc ce plug-in, le résultat de ce maths dans nos cibles locales. Donc, il suffit de passer ceci, ajouter à une valeur, puis de définir cela comme la nouvelle valeur. C' est le moment où nous sortons ici. Alors attrapons nos cheveux croisés. Si vous maintenez la touche Contrôle enfoncée, elle l'obtiendra automatiquement. Si ce n'est pas le cas, il vous demandera si vous voulez l'obtenir ou le mettre hors d'ici. Définissons la traduction de rendu. Et puis hors de la traduction, nous allons faire un clic droit et diviser le crayon frappé obtiendra une valeur x et une valeur y. Et ce qu'on veut sortir d'ici, c'est qu'on veut obtenir la traduction ou se transformer, désolé. Et puis nous allons partager ça deux fois de plus. Alors divisons la traduction et puis divisons à nouveau la traduction. On a maintenant un x et un y. branchez ça comme ça. Allons brancher le x directement parce que nous ne voulons pas le changer. Mais pour le y, on y va, on va interpréter aussi. La valeur de retour de ceci ira dans notre y, mais nous devons les remplir. Donc notre cible sera notre cible locale. Delta temps va, nous allons obtenir les secondes Delta du monde, qui est juste comme le temps de dans le jeu,
retourne le temps delta d'image en secondes ajusté par dilation temporelle. dilatation du temps est comme si vous
accélérez, accélérez le temps ou fente à temps, c'est comme le temps qui se passe dans le monde. Puis interrompre la vitesse. Promouvoir cela à une variable et nous l'appellerons vitesse d'interruption. Et faisons-le comme,
Oh, vous pouvez compiler d'abord et en faire 30. Alors, qu'est-ce que tout ça fait ? Donc nos cheveux croisés, on veut que ça bouge de haut en bas, non ? Donc c'est dans l'avion Y. X est par là. Pourquoi c'est comme ça ? Donc nous gardons les actes exactement les mêmes quand on bougerait ou quoi que ce soit. Mais nous voulons changer le y qui est de haut en bas. L' interruption ou l'interpolation est essentiellement un déplacement d' une valeur à une autre sur une certaine période de temps à une certaine vitesse. Nous avons donc notre valeur actuelle, qui est cette valeur y déjà définie. Et puis nous allons avoir notre valeur cible, qui va être là où elle va passer à la valeur cible. Souviens-toi, c'est ça, et ça va être ajusté en fonction de la valeur de propagation de balle
que nous mettons dans nos armes. Il va se déplacer là juste le temps du delta est toujours comme le temps du monde. Tu as presque toujours sorti ce noeud. Et puis la vitesse d'interpolation est juste configurée pour vous à quelle vitesse vous voulez qu'elle passe du point A au point B. Et donc j'ai dit que 30 c'est bien. Et c'est ainsi que cela fonctionne. C' est un peu ce que ça fait là. Essayez de faire ça. Maintenant, ça a l'air super moche, mais c'est un peu un petit script funky. Alors nous allons commenter ceci et dire en haut. mouvements de réticule, quelque chose comme ça. Donc ce qu'on veut faire maintenant c'est qu'on le fasse pour tous nos autres réticules. Donc, copions-le et collons-le. Et tout ça va juste avoir de légères variations. Alors faisons le bas suivant. Faites glisser le bas au-dessus du haut. Ça va le remplacer. La seule chose que nous voulons faire, c'est que le fond va se déplacer dans la direction opposée comme le ferait le haut. Donc, nous allons simplement multiplier cela par un entier, par un autre flottants temps de flux flottants. Branchez cela comme cible, et multiplions ceci par 1 négatif. Donc ça va juste inverser ce numéro pour nous. Désolé, le script est un peu moche. Et puis on appellera ce moment de feu croisé en bas. Et si vous ne pouviez pas déjà deviner pour notre gauche et notre droite, ce que nous voulons faire c'est qu'on veut juste inverser le x et le y, parce que maintenant on va se déplacer sur le plan X au lieu du plan Y. Alors allons de l'avant et saisir comme une croix de levage cheveux. Et la gauche sera juste la cible locale. Mais au lieu de x et y, casser ces broches ici. Nous allons brancher le x dans notre courant et puis retourner le x, puis juste brancher directement dans le y. ainsi sera le mouvement des cheveux croix gauche que j'ai orthographié quelque chose. Ouais, 30 ans. Et puis dernier but non moindre, pour le bon. Nommons ce droit. Et tout ce que nous voulons faire pour les droits, c'est hors des cibles locales des temps de flux flottants, multiplier par un négatif 1 pour inverser quelle que soit cette autre valeur. Et puis Bada Bing, Bada, boom. Maintenant, nous avons toute cette configuration. air plutôt bien. Avec cela fait, nous pouvons aller dans notre graphique d'événements et réellement appeler cette fonction dans la vie. Donc, nous allons avoir besoin, nous n'avons pas besoin préconstruit aura besoin de construction d'événement et de tick d'événement. Donc, hors d'une construction de van, qui est la variante widget d'un vamping en jeu. Donc, c'est comme chaque fois que ce widget est créé, cela fonctionnera. Ce que nous voulons faire, c'est que nous allons avoir le personnage de notre joueur. Et puis nous allons lancer sur ledit personnage de joueur, le joueur bp. Et puis définissons cela à une variable appelée player. Oui, c'est notre référence à notre joueur. Donc maintenant, nous avons le joueur comme une variable dans ce plan ici. Et puis nous voulons créer un événement personnalisé tout de suite. Et nous appellerons cette mise à jour de réticule. Alors. Nous allons vouloir lancer cet événement hors de la construction de l'événement tout de suite. Donc, dans la mise à jour croisée ce que nous voulons faire, prenons la référence à notre joueur, et ensuite sortons notre charge. Et rappelez-vous que je vous ai déjà parlé des énumérations et de
pouvoir les allumer et les éteindre et exécuter différents événements en fonction de ce qu'il dit également. C' est ce qu'on va faire en ce moment. Alors passons à notre énumération comme telle. Et ce que je veux faire, c'est si on n'a pas d'arme. Alors, ok, faisons ça. Alors allez traverser votre Canvas. Assurez-vous qu'il est défini sur une variable. Ensuite, attrapez-le, récupérez-le, puis allons définir la visibilité et copiez-le et collez cela. Donc nous en avons deux, branchez-le sur la cible. Donc si nous n'avons pas d'arme, et si nous avons une arme, si nous avons une arme, nous voulons que nos poils soient visibles. Si nous ne le faisons pas, mettons-le pour qu'il soit effondré. Comme ça. On y va. Donc nous ne voulons que notre croix. Il y a cette apparition si on a une arme. Donc, ce script haut est fait. Passons au fond et nous voulons faire d'autres choses. Après que nous
ayons cette apparition, allons chercher l'arme actuelle. Et puis faisons la propagation de la balle de l'arme de jeu. Donc, nous obtenons n'importe quelle valeur. Donc, si je devais aller dans nos baies d'armes, accord, nous avons une propagation de balle dit à 350. Mais je peux aller dans notre carabine et maintenant j'
ai vu cette balle se propager et je peux définir ça comme quelque chose, autre numéro et je peux changer ça sur une base arme l'arme. Donc ce que fait cette croix ici, c'est qu'elle obtient cette valeur. Maintenant, on va faire des maths. Ok, faisons une flûte divisée par flotteur. Et divisons ce nombre par 50. Et je vais mettre une virgule ici et dire au décompte pour la propagation des balles. Ok, vous devez être trop pris en maths et en valeurs. C' est juste des trucs que j'ai fait en testant, j'ai compris que ça a fonctionné. Ensuite, nous allons multiplier ceci par négatif. Donc vous vous assurez qu'il se déplace dans la bonne direction. Et puis le murmure que la balle a répandu HUD. Je vais définir cette valeur en maths. Donc la révolte propagation HUD est dans notre fonction de réticule de mouvement. Comme ça, Hold spread Hold, nous ajoutons cela à notre cible actuelle. Ok, après ça, ce qu'on veut faire, c'est que tu veux régler une minuterie par événement. minuteries sont légèrement différentes des échéanciers. Nous voulons nous assurer que cette boucle et nous voulons exécuter cette minuterie toutes les 0,01 secondes, donc il se déplace rapidement. Et hors de l'événement, nous allons créer un événement personnalisé. Et nous nommerons ce déménagement ici. Ou, Ooh, c'est aussi un nom qu'on a déjà utilisé. Nommons cette croix ici et nommons ça comme ça, en passant par ici. En fait, appelons-le traduire. Crosshair, c'est ce qu'on fait. En fait, nous les traduisons. On y va. C'est plus logique. D' accord ? C' est ce que nous voulons vraiment les déplacer. D' accord. Tout est beau pour moi. Je ne bouge pas ici. Ajoutons une branche parce que nous voulons être en mesure de savoir si notre joueur se déplace réellement. Alors attrapons notre joueur. Prenons notre composant de mouvement de personnage. On y va. Composants de mouvement de caractère est ceci, contrôle toutes ces choses. Donc, nous avons changé la vitesse de marche avant. Vous pouvez vous faire sauter plus haut, sauter sept fois, faire du budget, tout un tas de choses différentes. Donc nous saisissons ce composant et il y a quelque chose qui s'appelle est en train de tomber. Branchez cela dans la branche parce que vous voulez vérifier si nous sommes en train de tomber ou pas. Si nous tombons, Allons-y et faisons des poils croisés trans. Et la cible que nous voulons est de créer ceci à une variable et de l'appeler cible tombante. Donc ce sera le numéro que nous fixerons si nous tombons. Et faisons ce 60 négatif. Alors rappelez-vous sur Traduire les réticules, nous avons ajouté cette entrée ici. Donc maintenant, il demande une cible d'une valeur flottante. Donc, ce que nous faisons ici, c'est que nous disons, d'accord, si nous tombons, commençons par être négatif 60, puis nous ajoutons cela à la marge audacieuse, puis définissons cela comme cette valeur. Et cette valeur est ce que notre valeur cible
sera de déplacer ce réticule pour traverser l'écran. Donc tu ne dois pas, comme je l'ai dit, être trop pris en maths ici. Mais c'est ce qui
fait, ce nombre d'une balle s'est propagé. Se déplacer sur l'écran d'une manière qui n'a pas l'air stupide. Ils sont ridicules. Donc si nous ne tombons pas, nous voulons sortir une autre branche et nous voulons voir, d'
accord, nous ne tomberons pas, mais à quelle vitesse avons-nous ? Donc mis au rebut le joueur. Allons chercher nos joueurs ou notre vélocité. Obtenons le vecteur avant après la longueur du vecteur, en fait la longueur du vecteur de nous en mouvement. Et si cela est supérieur à, un, vérifiera si c'est supérieur à un. Parce que si c'est plus grand qu'un, ça veut dire qu'on déménage. Donc, si c'est plus grand qu'un, alias nous déménageons, alors nous ferons notre déménagement. Aucun ne bouge. Traduire, traduire, traverser ici, événement. Et la cible pour celui-ci sera sentir la longueur de notre vecteur. Et nous allons multiplier ça par négatif. Donc l'inverse de ça. Et puis nous allons faire une division, diviser ça par 25, et ensuite ce sera notre cible quand nous déménagerons. Et puis si on ne bouge pas, on recommence, trans tardifs. Et notre cible sera 0 parce que nous ne voulons pas qu'ils bougent nulle part. Donc, c'est si le personnage de caret marche, caractère est immobile, et celui-ci, si le caractère tombe. Donc on veut que ça soit vraiment grand si on saute. Donc c'est le plus gros. La plus grande valeur est totalement la plus petite valeur parce que ce sont des nombres négatifs, n'est-ce pas ? Ok, donc il y a tout notre script juste là. Croisez sa mise à jour tout ça. Ok, la dernière chose qu'on veut faire ici, c'est du poids. On est même, ok, ouais, on est bons. Donc Ativan tick, on veut vérifier ça chaque seconde. C' est là que le truc Amy entre en jeu. Il a attrapé le joueur et nous dirons qu'il vise. D' accord ? Parce que si nous visons des sites, nous ne voulons pas que notre croix vienne ici, n'est-ce pas ? Alors attrapons encore le réticule Canvas. Et redéfinissons la visibilité. Copier coller. D' accord. Définissons ceci pour être réduit, puis définissons ceci pour être visible. Et puis la dernière chose que nous voulons vérifier est que nous voulons obtenir le joueur et ensuite récupérer la charge à nouveau. Et puis on veut changer ça à nouveau. Donc si nous ne visons pas et que nous avons une arme, alors nous allons être visibles. Si c'est le cas si nous visons, nous allons régler ça pour s'effondrer. Ce qui est comme si tu ne pouvais pas le voir. La raison pour laquelle nous voulons mettre cette étape supplémentaire ici est que si vous n'avez pas d'arme, mais que vous appuyez sur le bouton droit de la souris, cela va le faire apparaître, même si vous n'avez pas d'arme. Donc ça va aller au jeu un peu comme ça. Alors déplacons ça vers le bas. boîte de virgules supprime le réticule. Quand Amy descend le site. Nous ne voulons pas qu'il y ait plus de doute de citer Scott que dans ce cas. Donc, si on frappe Play, ça ne fait rien parce qu'on doit
faire quelques autres choses vraiment, vraiment faciles. Alors maintenant, passons à notre HUD principal. Faites glisser ça, puis nous voulons chercher notre réticule et le déposer sur le panneau de toile. Ça va apparaître, regarder et vraiment stupide. Alors allons de l'avant et ancrons cela au centre de l'écran. Définissez-le sur 0. Dans 0. Définissons-le pour être le contenu de taille deux. En fait, c'est vraiment petit. Je vais le définir sur 100 et par 100 et ne pas le dimensionner au contenu qui
ressemble beaucoup mieux dans un alignement pour x est 0,5 et l'alignement pour y est 0,5. Donc nous y allons, Il est là juste là. Et enfin, allons à notre joueur, et allons à notre graphique d'événements et nous devrions trouver les événements commencent à jouer. Et créons notre widget. Nous devons réellement le créer pour l'ajouter à l'écran. Ajoutons le HUD principal. Allons de l'avant et promouvons cela à une variable et
appelons-le HUD principal afin que nous puissions l'utiliser plus tard. Et puis ajoutons à la clôture. Et puis nous dirons crée capot principal. C' est ce qui fait apparaître le HUD sur l'écran. Donc maintenant, si on s'est passé en jeu, tu ne verras rien si j'essaie de viser. Eh bien, nous n'avons pas de fonctionnalité ciblée, mais ça ne fait rien. Prenez une arme. Maintenant, nous avons nos poils croisés ici et ils ne bougent pas, qui est ce que nous avons juste, nous aimons juste voir cela se produire après que nous avons passé tout ce temps à coder. Tu n'aimes pas ça ? Alors allons-y et réparons ça. Ok, donc il s'avère que j'ai raté une étape supplémentaire cruciale que nous devons faire. Donc, dans notre joueur, dans notre graphique d'événements sur cet événement d'arme d'équipe, Allons-y et saisissons la référence à la principale comment nous avons
fait et attrapons notre réticule. Et ensuite, ce qu'on veut faire, c'est faire une mise à jour. Quand nous équipons une arme. En fait, il ne court pas en moins, nous le faisons. Donc ça devrait marcher maintenant. Et puis l'autre chose que nous voulons faire maintenant qui sont les cheveux
croisés est activée, c'est que nous voulons courir sur sa mise à jour chaque fois que nous avons retrouvé une arme et que nous basculons entre eux, comme une sorte de sécurité intégrée, en veillant à ce que tout cela fonctionne réellement. Donc, je vais juste aller de l'avant et copier ceci, aller à Action Mappings coller. Et puis je vais brancher chacun de ces nœuds ici juste pour m'
assurer que nous continuons à courir cet événement chaque fois que nous changeons une arme comme celle-ci, traînons ça là-bas maintenant. Donc maintenant, si j'y vais, appuyez sur sauver. Une autre chose, j'ai aussi oublié de passer celui-ci à la croix de droite ici. Mais si tu étais intelligent, tu n'as pas fait cette erreur. Alors, allons par ici. C' est une arme. Et maintenant, si on saute, bouge, revient. Il se déplace autour de l'écran. Ça va toujours être de la même taille en ce moment. Mais vous pouvez voir nos réticules bougent. Et puis si vous pensez qu'ils bougent trop ou pas du tout, vous pouvez ajuster certains calculs, certains de ces chiffres à l'intérieur. Alors ici. Certains de ces maths dans certains de ces maths garderont le négatif, mais comme diviser par un nombre différent, divisé par un nombre différent, définissez ceci comme un nombre différent, et cela vous donnera un peu différent résultats. Donc, vous pouvez aller de l'avant et jouer avec ça à votre goût. Mais à part ça, tout fonctionne, tout a l'air bien. Alors je te verrai la prochaine.
15. Créer le HUD principal: Hé tout le monde et bienvenue à une autre vidéo. Dans le dernier, nous avons créé des réticules dynamiques. Et dans celui-ci, nous allons continuer en faisant notre HUD principal
et en faisant nos informations sur les armes dans certains trucs comme ça. Donc, comme dans la dernière vidéo, nous allons commencer par faire quelques variables. Celles-ci vont exister dans notre base d'armes. Allons-y et faisons-en trois. Donc les deux premiers nous allons être des entiers. L' un d'eux que nous voulons faire comme munitions actuelles. Et de type entier. Nous allons en faire un autre appelé Total actuel. Et puis un autre qui s'appelle comment voulons-nous l'appeler ? Appelons ça le type de munitions, et nous ferons ça de type texte. Il est compilé pour que nous puissions les éditer. Donc, pour les munitions actuelles, ce sera
la quantité actuelle d'AMO que nous avons dans notre magazine à tout moment. Donc, pour la valeur par défaut, faisons cela quelque chose comme peut-être 30. Alors pour notre total actuel de munitions, donnons-nous beaucoup de munitions et disons comme 244 ou quelque chose comme ça. Et pour le type de munitions, nous allons faire quelque chose comme l'espace de raquette, l' espace
auto, les supports, quelque chose dans le sens de ça. D' accord, et donc comme avant, si nous ouvrons notre fusil auto, par
exemple, nous avons maintenant ces variables. Et nous pouvons les changer indépendamment. Lanceur de grenade, plus brillant, vous pouvez les changer et tout
cela, comme vous le souhaitez déjà. Maintenant, revenons à notre dossier d'interface utilisateur et créons un nouveau widgets. Et appelons cette info sur les armes. Et ouvrons ça pour celle-là. Qu' est-ce qu'on va commencer par ? Allons-y. C' est une sorte de grande hiérarchie, cette chose. Alors passons en plein écran et passons à désiré. Déjà. La première chose que nous voulons saisir est une boîte verticale. Nous allons faire glisser cela sur le dessus de notre panneau de toile et nous pouvons nous remplacer le panneau de toile 0 ? Maintenant on voulait le faire, Ok, peut-être que je suis un peu comme essayer de me débarrasser du panneau de toile. R. Nous ne pouvons pas attendre une seconde. Ok, supprimons. Je peux simplement supprimer le panneau de canevas. On y va. Ok, renommons cette boîte principale. Nous voulons que tout soit centré autour de cette boîte, pas un panneau de toile aléatoire. La raison en est que si nous avons la boîte de taille et qu'il a différents paramètres ici où nous voulons juste que tout soit créé sur cette boîte. La première chose que nous voulons faire est de créer un pas une déclaration de notre, Qu'est-ce qu'il s'appelle ? Barre de progrès ? Ça va être appelé barre d'endurance par nous. D' accord ? Sur la barre d'endurance, nous n'allons pas faire quoi que ce soit avec,
mais nous allons garder ces choses comme elles sont. Je suis de gauche à droite, c'est bien. Nous pouvons changer une partie de la couleur de remplissage et de l'opacité. Ça a l'air bien pour l'instant. Gardons-le, gardons ça pour l'instant. Ensuite, nous voulons faire une superposition et nous allons mettre la superposition sur la boîte principale. Et nous allons garder ça comme une superposition et voir comment il est en dessous comme ça. Donc nous avons cette boîte verticale, la boîte principale, la norme de la nôtre sur le dessus, puis la superposition est en dessous et nous pouvons les
déplacer comme ça et ils se déplacent dans la hiérarchie, mais nous voulons la superposition en dessous. Allons de l'avant et faisons un flou d'arrière-plan. Je vais mettre ça sur le dessus de la superposition. Alors que vit dans ladite superposition. Et puis, pour notre fond flou, Allons-y et en faire un remplissage comme ça. Donc ça remplit tout le truc, la force du flou. Réglons ça pour être quelque chose comme 1. Donc vous pouvez voir ça là-dedans. C' est un peu difficile à voir en ce moment parce que tout est si petit. Mais je veux dire, c'est une chose. Ensuite, nous voulons une image et l'image va vivre sur la superposition comme ça. Et appelons simplement ce contexte. Cela va remplir tout va bien, pour la couleur et l'opacité. Faisons-le noir. Et puis pour notre valeur, faisons ce 0.35, quelque chose comme ça. Donc ça crée ce genre d'image noire floue juste ici. Déplacement dans notre taille d'image. Si vous ne voyez pas cela sous apparence, il suffit d'ouvrir le pinceau. On va régler ça à 250 sur 150. Et puis comme c'est la barre d'endurance est si proche, Choisissons ma barre d'endurance. Et puis sur le rembourrage
inférieur, faisons quelque chose comme 10 peut-être. Il y a donc un peu séparé. Et nous pouvons vraiment voir comme si nous allons juste faire ça comme SharePoint 75 ou quelque chose comme ça juste pour que nous puissions voir ça et nous pouvons jouer avec les couleurs et des choses différentes comme ça. Plus tard. En continuant, faisons une boîte horizontale. Mettez ça sur notre superposition, et on nommera cette boîte de comptage de munitions ou quelque chose comme ça. Faisons le rembourrage à gauche du négatif six. Attendez non, au top négatif 6. Et puis je veux que ça soit centré ici comme ça. Je veux dire que 0. Maintenant neg négatif six parce qu'il y avait des choses bizarres avec le texte qui l'a fait paraître mieux de cette façon. La prochaine chose que nous voulons faire, c' est que nous voulons faire un texte et le mettre à l'intérieur de notre boîte. Et puis pour notre texte, ce que nous voulons faire, c'est, oh, je vois. Faisons en sorte que le texte ait six négatifs et que les munitions soient comptées. C' est celui qui a eu un négatif six. C' est pourquoi Who est le texte qui semble un peu étrange pour notre valeur par défaut pour un texte. Faisons juste 0,
0 pour la couleur et l'opacité. J' aime juste un peu comme si vous voyez cette ligne juste ici, juste la mettre juste là. Il y aura comme le point 77 pour tout ce genre de choses. C' est un peu ce que j'aime pour la taille en dessous de la taille de police à 64. Je ne pense pas qu'on ait besoin d'ombres ou de quelque chose comme ça. Donc, ça a l'air assez bien. Une chose que nous voulons faire est d'importer une police spécifique. Allons-y et faisons-le maintenant très vite. Donc, si vous ne l'avez pas déjà fait, vous pouvez aller de l'avant et télécharger les fichiers du projet , les fichiers
du cours où ils sont appelés, sur le site Web sur lequel vous consultez ce cours, vous devriez voir trois dossiers à l'intérieur de ce projet fichiers, polices
audio et icônes. Ce que nous voulons faire, c'est dans notre jeu FPS, créons un nouveau dossier et appelons quelque chose polices. Et définissons une couleur rouge. Ouvrons cela, ouvrons des polices et vous verrez parésie peri pas en gras et semi-gras. Faisons simplement glisser et déposer les deux là-dedans. Je viens de dire oui à tous. Et ça va créer quatre atouts différents. Une chose que nous pouvons faire pour rendre cela un peu plus agréable à regarder, est que si vous cliquez sur l'un de ceux-ci, vous verrez qu'il apparaît vraiment petit. Allez-y et faites cette taille de police comme 100, et cela la rendra plus grande par défaut. Et voyez ça pour les deux, quelque chose comme ça. Et juste sauver cet atout comme ça. Maintenant, à l'intérieur de notre info d'arme sur le texte sous les polices. Faisons ce semi audacieux et dit maintenant que nous avons cette chose qui regarde juste là. Et je viens de renommer ce texte aussi. Texte actuel des munitions. Regarde bien. A l'intérieur de notre boîte horizontale, nous voulons créer une autre boîte verticale. Mettons ça sur le dessus de l'horizontale. Et on peut juste garder ce nom. C' est très bien. Et c'est là que ça devient un peu gênant parce qu'à l'intérieur de cette boîte verticale, on veut mettre une boîte horizontale. Donc on a un tas de boîtes différentes. Revenons donc notre texte et mettez-le sur cette boîte horizontale. Et nommons ce texte de réserve. Encore une fois, ce que nous voulons faire ici, c'est
que nous voulons juste vérifier mes notes très rapidement. Oh, je vois. Je vois. Je vois. Ce que nous voulons définir c'est juste une petite barre oblique comme ça. Nous allons définir ça pour être de la même couleur. Une sorte de ligne avec cette ligne, ça sera assez proche. On n'a pas besoin d'être super parfaits ici. Et en plus, tout est une préférence personnelle pour la police. Mettons-le à 20. Et nous allons refaire le semi-gras une fois de plus. Et cela devrait être, je crois qu'il devrait être aligné à gauche. Non, faisons le mieux aligné et centré. Et puis ça aura l'air bien. Copiez et collez ce texte. Et puis j'en mettrai un juste à côté. Et nous dirons juste le texte de réserve de munitions. Encore une autre, les deux couleurs sont disponibles, ce qu'on appelle la réserve. Appelons ça. Texte barre oblique. Et ce ne sera pas un texte de réserve de munitions. Définissons ceci pour être zéros 0000 par défaut. Et puis faisons cela centré et haut. C' est exact. Tout cela devrait être juste. Oui. Ouais, je pense que ça a l'air bien. D'accord. La dernière chose que nous devons faire est de créer un texte de plus. Et nous voulons que ce soit sur la boîte verticale. Alors maintenant, il va le mettre en dessous comme ça. Ok, et ensuite c'est là que nous allons mettre notre genre de feu. Donc, centrons celui-ci aussi, et alignons-le en bas. Nous n'avons pas besoin de mettre de rembourrage. La couleur encore une fois, c'est un peu comme blanc cassé petite couleur grise que je pense semble bien, Faisons semi-gras. Vous pouvez toujours maîtriser ce genre de choses comme vous le souhaitez. La taille de ceci va être de 15. Valeur par défaut. Réglons que pour être crochets espace, auto et tous les capuchons, support Entrée. Donc ça donne un peu comme ça. Et en fait, ils ne sont pas centrés. Intéressant. Probablement comme un petit décor que je dois encore refaire. C' est peut-être avec cette boîte verticale. Ça ressemble mieux à ça. Avec ceux-ci ne semblent pas tout à fait correct. Ils ont probablement une sorte de rembourrage. Laissez-moi juste vérifier ici très rapidement, trouver ce qui cause ça et ne pas aligner ce que je voulais. Ok, donc tout est en fait le même, mais sur cette barre oblique, faites-le en fait une barre oblique, puis barre d'espace, puis appuyez sur Entrée et il le séparera et il sera plus centré. L' autre chose, c'est que je veux les séparer un peu plus l'un de l'autre. Donc une chose que nous pouvons faire est que nous pouvons créer un rembourrage de gauche comme bon pour peut-être six ou quelque chose comme ça. Et puis ces chiffres seront un peu plus séparés. Maintenant, dans la transformation de rendu pour notre barre d'endurance, nous allons faire cette version 1.5. Je vais le faire si c'est un assez bon nombre et alors vous pouvez placer dans toutes les couleurs que vous voulez. Tu peux le rendre rouge, tu sais, et je le rendrai rouge. Je vais faire cette couleur rouge. Et puis un style pour l'image de remplissage. Vous pouvez obtenir
différentes couleurs ici aussi. Vous pouvez faire ce rouge et bleu et cela va en fait lui donner comme une teinte différente. Donc oui, il y a beaucoup de choses que vous pouvez faire avec les différentes barres d'endurance et différentes options comme ça. Donc, vous pouvez faire ce look comme vous le souhaitez. Ok, donc juste comme résumé, je vais tout te montrer. Donc, nous avons une boîte principale. Et si vous avez quelque chose qui a l'air bizarre, je vais juste faire défiler tous les paramètres. Comme je l'ai dit, beaucoup de cela est juste une préférence personnelle, mais vous voulez qu'elle regarde. Mais ce sont tous les paramètres que j'ai actuellement. Les superpositions comme ça, arrière-plan flou comme ça. Donc, vous pouvez juste vous sentir libre de faire une pause si vous voulez me copier, ou n'hésitez pas à faire votre propre truc, parce que ça n'a vraiment pas d'importance. C' est juste le faire ressembler à la façon dont j'ai essayé de le répliquer un peu
sur le champ de bataille par les polices et des choses comme ça. Tu peux faire ce que tu veux. n'y a pas de bonne ou de mauvaise réponse. Vous pouvez simplement mettre deux numéros de texte sur l'écran si vous ne voulez pas qu'il ait l'air fantaisie. Et les marqueurs d'endurance, ce sont les deux seules choses sur lesquelles nous mettons vraiment la fonctionnalité. Le seul script qui existera dans cette vidéo est lier certaines de ces choses. Maintenant que nous avons traversé tout ça, nous allons lier des trucs à ces chiffres. Nous, ce sont les variables que nous avons créées au début de la vidéo. Allons-y et faisons-le maintenant. Donc, dans le graphique d'événements, allons de l'avant et obtenir le graphique d'événements de personnage de joueur de notre même info d'arme exacte. Si vous n'étiez pas au courant, lancez au joueur, promulez à une variable, nommez-le joueur. Genre, tel. Comme nous l'avons fait plusieurs fois maintenant. Mais ça ne vieille jamais. Vous voulez toujours faire des références à notre belle bilayer afin que nous
puissions continuer à extraire des données comme ça. Ok, la prochaine chose qu'on va faire, c'est qu'on va créer des reliures. Revenons à notre designer. La première que nous voulons faire est d'obtenir ce texte actuel sur les munitions. Et puis pour notre texte, Allons lier et créer une liaison. Il va créer automatiquement une fonction. Et nous appellerons ça pour obtenir les munitions actuelles, parce que le nom qu'il vient avec est absolument atroce. Alors allons de l'avant et attrapons notre joueur. Et puis on veut sortir cette charge. Et puis on veut dire égal, égal a une arme. Donc nous ne voulons que ce script soit exécuté que si nous avons une arme à nouveau, parce que nous ne voulons pas que le jeu devienne confus. Donc si nous avons une arme, nous pouvons faire ce que nous sommes sur le point de faire. Donc, hors de notre joueur, prenons notre arme actuelle. Quelle que soit l'arme actuelle entre nos mains. Et prenons l'AML actuelle de cette arme, variable
que nous avons créée le début de la vidéo. Et si vous branchez ceci et je vais faire un petit nœud de conversion, et il fera exactement ça. Donc c'est tout ce qu'on a à faire pour ça. Retour à notre designer. Allons de l'avant et cliquez sur Reserve munitions textes et créons une liaison pour cela. Changeons ce nom atroce pour obtenir des munitions de la Réserve. Et puis ça va être, ça va être exactement la même chose. Donc, ce que nous pouvons faire, c'est que nous pouvons obtenir tous ces scripts pour le copier et le coller ici. Branchez-le, branchez-le. Juste comme ça. Mais au lieu des munitions actuelles, nous voulons obtenir du courant. Les ensembles de munitions totales sont des munitions plus grosses. Dans. Ensuite, la dernière chose que nous voulons faire est d'obtenir cette liaison de texte automatique pour créer une liaison. Et nous n'avons pas vraiment changé de nom et c'est bon, disons qu'on se fasse virer de type ou quelque chose comme ça. Et puis ce sera en grande partie la même chose exacte que nous voulons faire. Ouais, je continue de changer entre les choses incorrectes. Copions encore ça. Coller à nouveau. On ne veut faire ça que si on a une arme, c'est en fait n'est-ce pas ? Et puis on aura le feu et ce type de feu ou aura ce qu'on a appelé qui est dehors. Il devrait être tiré de type. O dira obtenir le type de munitions et alors cela devrait juste brancher directement comme ça. Il ne fonctionnera que si nous avons l'arme. Et donc oui, ça a l'air bien et bien. Donc maintenant de retour dans notre HUD principal, nous voulons créer ceci. Prenons une arme Info, dépose-la sur le panneau de toile. Sa taille au contenu. Allons de l'avant et ancrons ceci en bas à droite. Disons que c'est un endroit joli, assez décent. Droit ? Et la position x, Faisons négatif 350, position y, négatif deux cent cinquante, cent 3000 et 0. Tout ça va bien. Je pense que c'est bien, en fait. Ça a l'air plutôt bien. La dernière chose que nous voulons faire ici, c'est que
nous ne voulons avoir cette apparition que si nous avons une arme, ce qui est habituel. Nous allons donc devoir créer une référence à notre joueur une fois de plus. Allons-y et faisons-le très vite. Je vais juste sauter parce qu'on a
fait ça tant de fois. Je ne sais pas, perdre plus de temps. On se voit dans une seconde. Ok, maintenant que nous avons créé une référence à notre joueur, faisons glisser cette référence pour récupérer notre charge et l'allumer à nouveau. C' est ce qu'on a fait dans la dernière vidéo avec l'autre le réticule. Et ce qu'on veut faire, c'est obtenir des infos sur les armes et définir la visibilité. Copier coller. On a une arme, elle est visible. Si on n'a pas d'arme, c'est effondré. Branchez ces deux cibles comme ça. Et ce devrait être tout ce que nous devons faire ici. Os. Donc ce que nous pouvons faire maintenant, c'est nous pouvons entrer dans ces différentes armes ici. Et je veux que vous preniez du temps et que vous mettiez combien de LMA voulez-vous l'arme ? Une moitié. Et combien et que voulez-vous avoir total. Alors changez ces chiffres et je vous verrai dans une seconde. D' accord. J'espère que ce n'était pas trop dur. Tout ce que vous aviez à faire est d'ouvrir les armes et de changer l'animal actuel dans le ML total actuel. Alors maintenant tout s'adapte correctement quand nous entrons et
jouons, nous équipons une arme, elle a quels que soient ces chiffres, et ensuite nous passons à l'arme différente. Et dans l'autre arme et l'autre arme, l'autre arme et l'autre arme. Cela changera maintenant tout ce que nous avons pour les munitions actuelles, le total actuel des munitions, puis notre éclatement. Donc je viens de dire simple auto pour propagation
automatique pour le fusil de chasse dans le reste d'entre eux juste dire simple, ces chiffres sont en train de changer. Donc, si vous voulez déplacer ces nombres ou apporter une sorte de modifications au style visuel de cela. N' hésitez pas à gâcher dans les widgets et à le faire, mais la fonctionnalité de cela est toujours là. C' est la principale chose que je voulais montrer comment faire. Donc oui, tout est arrangé. Merci d'avoir regardé et je vous verrai dans la prochaine vidéo.
16. Fonctionnalité du Sprinting: Hé tout le monde et bienvenue à une autre vidéo. Aujourd'hui, nous allons continuer à travailler dans notre HUD. Dans la dernière, nous avons ajouté différents numéros de munitions. Et bien que tout fonctionne, une chose qui ne fonctionne pas est la barre d'endurance. Donc, tout d'abord, nous devons ajouter une fonctionnalité de sprint avant de pouvoir réellement lier cela. C' est ce qu'on va faire maintenant. Alors pour commencer,
ouvrons notre personnage et nous allons entrer dans notre graphique de mouvement. C' est ce que nous allons mettre ça. Donc nous avons notre saut à pied maintenant nous allons ajouter notre sprint. En fait, avant de faire quoi que ce soit, nous devons ajouter cela à nos intrants. Nous allons donc dans nos paramètres, Paramètres
du projet, puis entrées sous le moteur. Et créons une nouvelle cartographie d'action et appelons ce sprint. Et réglons ça sur notre touche Maj gauche. Donc maintenant, quand nous allons dans notre graphique de mouvement, nous pouvons faire appel au sprint comme ça. Et on peut commencer à faire des choses. Tout d'abord, nous voulons retirer quelques branches parce qu'il y a certaines choses que nous, eh bien, nous ne voulons pas être en mesure de sprint si nous faisons certaines de ces choses. Donc, nous allons l'intrigue vise et dire ne vise pas parce que j'aime juste courir dans la vraie branche beaucoup. Donc si nous ne visons pas, alors nous allons faire un autre chèque. Et nous allons dire,
Eh bien, est-ce que nous sommes en train de recharger. Cette partie est facultative. Certains jeux vous permettent de recharger pendant que vous êtes en sprint. Celles que nous fabriquons ne le feront pas. Donc, je vais juste mettre des désactivables optionnels, sprinter bien pendant le rechargement. Donc, si vous voulez que votre jeu puisse le faire, si vous voulez être capable de sprint et rechargé en même temps, vous pouvez supprimer cette partie. C'est à vous de voir. Certains jeux ont un comme vous pouvez interrompre le sprint ou interrompre le chemin de fer en répandant tout ce qui est à vous. Mais nous ne voulons certainement pas être en mesure de Sprint Hall, nous visons qui serait ridicule. On va sortir une branche de plus. Et nous allons en fait stocker ça à l'intérieur d'une macro. La macro est un peu différente de la fonction en ce qu'elle l'est, elle n'a pas ces fils d'exécution. Vous pouvez donc avoir des entrées et des sorties, mais il n'a pas besoin d'avoir un fil d'exécution blanc. Il peut générer ce type de données. Donc nous allons brancher ça dans un, nous allons retourner une condition, un booléen. Donc, nous allons créer une macro et appelons ceci sont, nous avons épuisé le point d'interrogation. Donc, quand il s'agit de notre jeu, nous avons la barre d'endurance. Et donc si la barre d'endurance est épuisée, nous ne serons pas en mesure de sprint tant qu'elle ne se rechargera pas à une certaine valeur. Donc, créons quelques variables plus et nous dirons est épuisé. interrogation. Et créons une autre variable et appelons ce niveau d'énergie. Et nous allons faire flotter ce type. Alors allons de l'avant et nous allons saisir est épuisé par exemple, pas seulement le rend plus cohérent pour moi, les préférences personnelles. Et prenons notre niveau d'énergie. Et disons que si cela est supérieur ou égal à, pointez vers, ce que nous pouvons faire, c'est que vous pouvez retirer ceci et dire, et les supprimer. Et puis tirons le, branchez cela sur la sortie et renversons cela. Et nous pouvons juste garder la valeur de retour du nom. Donc, ce que cette macro fait est de vérifier si ces deux conditions sont vraies. Les deux, vous pouvez faire l'un ou l'autre en tirant ou, mais dans ce cas, nous voulons que les deux soient vraies. Donc, afin de sprint, ce que cela est essentiellement dire est que nous ne pouvons pas être épuisés, va tourner qui est épuisé variable sur quand le niveau d'énergie est égal à 0. Et la raison pour laquelle je mets ça à pointer est parce que je veux que la barre d'endurance remplisse 20% du chemin avant que nous puissions encore faire du sprint. Parce que ce qui se passera alors, c'est que la barre d'endurance va monter comme 1% et il sera capable de sprint à nouveau. Et vous ne pourrez être en mesure de sprint que pendant 0,5 seconde avant qu'il ne s'épuise à nouveau. Donc, je veux que je lui donne le temps pour que ça se remplisse un
peu avant que nous puissions recommencer le sprint. Revenons donc à notre mouvement et nous pouvons vraiment sortir cette macro et le faire comme ça. Maintenant, la raison pour laquelle nous avons créé cela en macro, donc techniquement parlant, nous aurions pu le faire comme ça. Ça veut dire exactement la même chose. Mais en stockant ces données dans une macro. D' une part, c'est beaucoup plus propre, le
voir ainsi opposé à cette façon. Dans le numéro deux, nous pouvons maintenant sortir ça un tas de temps différents et l'utiliser un tas de moments différents. Alors que cela nous devrions copier coller ce long script à chaque fois. Donc c'est probablement un gros pourboire. Je me souviens quand j'ai commencé à apprendre à faire cela, j'ai vraiment été pris comme d'accord, comme je dois utiliser une fonction ici sont peinture bleue, une interface Blueprint ou Event Dispatcher sont comme toutes ces choses différentes. Et je dois mettre ça dans une macro. Beaucoup de ces choses existent juste pour la commodité. Donc, comme stocker dans une macro, comme je l'ai dit, il économise de l'espace et il vous permet de l'utiliser plus une fois sans essayer de le trouver et de copier ce long morceau de code. Mais brancher ceci ici et faire cela en utilisant la macro fait exactement la même chose. Donc, beaucoup de cela se résume juste à des préférences personnelles. Dans, à mesure que vous obtenez de plus en plus d'expérience dans le script, vous essayez de faire des choses qui sont plus efficaces. Donc je suis sûr que même ici, comme si tu pouvais accomplir la même chose. J' essaie d'accomplir plusieurs façons différentes et vous
pourriez trouver un moyen techniquement plus efficace que ma façon. Et c'est bon. Mais c'est une façon que je sais comment le faire et ça marche. Donc c'est ce qu'on va faire. D' accord ? Donc, si toutes ces conditions sont vraies, d'accord. Nous n'étions pas épuisés, nous ne rechargeons pas et nous ne visons pas, alors nous pouvons commencer à faire du sprint. Et encore une fois, on va faire ça à l'intérieur d'une fonction. Non pas parce que c'est super compliqué, mais parce que nous pouvons alors l'invoquer à chaque fois. Bon, donc au sprint de départ, on veut vérifier une chose. Allons chercher les composants du mouvement des personnages et nous dirons qu'il tombe. Et encore une fois, nous dirons pas parce que je l'aime comme ça. Je n'aime pas sortir de la fausse branche par défaut. Comme sortir de vrai parce qu'il garde les lignes bien droites. Donc si on ne tombe pas, aka si on est en l'air, je ne veux pas pouvoir sprint quand on est en l'air. Ce serait très irréaliste. Ok, alors ce qu'on veut faire, c'est récupérer le composant de mouvement des personnages à nouveau. Et nous allons, réglons la vitesse maximale de marche, cette valeur ici. Et nous allons promouvoir cela à une variable et nous appellerons cette vitesse de sprint. Et par défaut, je vais en faire cent, cent, dix cents. Donc, notre vitesse de marche maximale par défaut est 750 dans je le mets à 10000. Et puis on a ça, ou peut-être pas. Ok, créons une nouvelle variable et disons que c'est sprint que nous avons fait ça déjà comme nous ne l'avons pas fait. Et c'est un booléen. Et nous allons faire en sorte que cela soit vrai. Compiler et enregistrer, et c'est tout ce que nous avons à faire. Une fois de plus, permettez-moi de le répéter. Je peux le faire et on peut le faire ressembler à ça. D' accord ? Ou je peux juste commencer le sprint. Et ça ressemblera à ça. Donc, nous pouvons le faire comme ça à chaque fois ou nous pouvons stocker ces données dans une fonction et juste le faire comme ça. Donc on n'a pas besoin d'avoir ce gros code moche chaque fois qu'on a beaucoup d'espace qui économise. Et puis nous n'avons pas à copier coller cela chaque fois que nous pouvons continuer à appeler la fonction. C' est donc un gros pourboire. D' accord ? Ne vous laissez pas prendre comme toujours utiliser un événement, c'est batteries qui font une fonction dans Lego et essayez de comprendre tout cela. C' est, c'est pour le facteur de commodité. Ok, donc j'espère que ça a du sens. Cool. Alors maintenant, nous sommes en train de sprinter. Ce qu'on veut faire maintenant, c'est qu'on se débarrasse de notre charge. Parce que vous voulez que deux choses différentes se soient produites
selon que nous avons une arme ou pas. Alors allumons ou chargeons. Parce qu'on veut toujours pouvoir diviser ce sprint. Si on n'a pas d'arme. D' accord ? Si on n'a pas d'arme, on va sortir une chronologie et on appellera ça endurance. D' accord ? Si nous avons une arme, nous voulons arrêter de tirer sur notre arme. Parce que quand tu fuis, tu sais quoi ? En fait, je vais laisser cette partie ici pour l'instant. Et puis je vais te montrer à quoi ça ressemble sans ça. Je pense que ce sera plutôt cool en fait. Donc on a ce truc d'endurance, on le gardera pour plus tard. D' accord. Peut faire une note ou quelque chose comme ça. Je ne sais pas ce qu'on va trouver. Ok, dans la barre d'endurance, ouvrons ça et faisons 10 secondes de long. Il peut fonctionner pendant 10 secondes et créer une piste flottante. Et nous appellerons cette quantité d'endurance ou quelque chose comme ça. Ok, allons de l'avant et créons deux images clés. La première sera au temps 0 et une valeur de 1. Et le second sera à un moment de 10 tout le chemin dans une valeur de 0. Donc, si nous cliquons sur ces petites choses, vous pouvez réellement voir que passer de cette valeur à cette valeur. Donc, il passe d'un 100% de lui-même à 0% de lui-même en 10 secondes. Nous voulons que cela joue dans cette pièce dès le début, parce que si nous jouions depuis le début, il le redémarrerait à chaque fois. Et nous voulons que cette valeur aille de haut en bas. Comme constamment. Donc si nous écrivons ici, nous sprint un peu, ça descend, alors nous arrêtons et puis ça reviendra. Et puis nous avons atteint la fin. Il va le faire et il remontera un peu et redescendra. Si nous frappons le jeu dès le début chaque fois que nous touchons Shift, ça redémarrerait ici et nous donnerait dix secondes supplémentaires, qui n'est pas ce que nous voulons arriver. Tellement cool coucou, coucou. Nous avons donc notre chronologie. Hors de la mise à jour. Réglons notre niveau d'énergie, cette variable que nous avons créée. Réglons cela au montant standard. Donc maintenant ceux-ci sont directement corrélés, sortant d'ici. Et disons que c'est égal si notre niveau d'énergie est égal à 0, aka
si nous manquons beaucoup, si, et alors cela va sortir du fini. Réécrivons ça un peu comme ça. Ok, donc maintenant si notre, si nous sommes à court terme, nous allons organiser un événement appelé épuisé. Donc maintenant, de l'autre côté de vos calendriers, il y a tout un tas de choses cool. Nous allons créer deux événements personnalisés. Nous allons appeler un mouvement arrêté et un autre événement personnalisé et appeler cela épuisé. Donc, si notre niveau d'énergie est égal à 0, nous allons lancer cet événement épuisé. Cool. Faisons le mouvement arrêté d'abord. Si le mouvement est arrêté d'abord les choses qu'on va dire, on va demander si on est épuisés ou si on est épuisés. Les gens veulent faire deux choses différentes selon que nous sommes épuisés ou non. D' accord ? Si nous le sommes, si nous ne sommes pas épuisés, désolé. Et tracer une séquence. Et ce que nous voulons faire, c'est que nous voulons 0, nous devons en fait créer ceci. Nous avons donc créé un sprint de départ. Nous devons également créer un sprint stop. Alors faisons ça. Non, créez une fonction, appelez-la stop sprint. Et cela va être un plutôt simple. Allons juste obtenir les composants du mouvement des personnages. Réglons Max, vitesse de marche. Et nous allons juste, en fait, promouvoir ceci à une variable afin que nous
puissions, donc si, si vous voulez le changer à autre chose, vous pouvez le faire très facilement. Donc la vitesse de marche maximale est de 750. Donc la valeur par défaut était 600, mais nous avons dit est 750. Et il va continuer à le réinitialiser à 750. Donc, de cette façon, vous n'avez pas à entrer dans la fonction comme retaper dans manuel. Vous pouvez simplement changer la variable et elle sera définie dynamiquement pour vous à chaque fois. Alors, qu'est-ce qui rend les variables agréables ? Et on veut éteindre le sprint,
et c'est tout ce qu'on veut faire pour arrêter le sprint. Retournons ici. Donc maintenant, si nous ne sommes pas épuisés, allons de l'avant et arrêtons le sprint. D' accord, et puis ça va se brancher. Il va arrêter la chronologie dans ses traces où elle est. Ça va dire tenir vos chevaux là-bas. Alors nous voulons avoir un retard. D' accord ? Et nous voulons que ça s'arrête. Alors nous allons promouvoir cela à une variable et nous dirons région d'endurance. Pause et nous allons régler ça pour être comme deux secondes. Ok, donc ce que les mouvements arrêtés font ici ? Ça va vérifier, on est épuisés ? Si nous ne sommes pas épuisés, aka si ce nombre est toujours supérieur à 0, aka si nous sommes encore quelque part ici et que nous ne sommes pas là, alors ce qui va se passer c'est que nous allons arrêter notre sprint. Nous allons ramener notre vitesse de marche maximale à la normale. Ensuite, on va attendre deux secondes. Et puis cette chose va aller à l'envers. Donc, disons que nous faisons du sprint, que nous faisons du sprint, nous faisons du sprint, que nous faisons du sprint ou que la tige descend, puis nous arrêtons de tourner. Ça va s'arrêter ici. Attendez deux secondes. Et puis il va le jeter à l'envers et revenir en arrière et nous donner une déclaration. C' est ce que font les mouvements arrêtés. Maintenant, si nous sommes
épuisés, d'accord, alors nous allons mettre est épuisé pour être vrai. Donc maintenant cela n'a rien à manquer. Ça ne va pas faire ça, ça va tourner ça. Ce qu'on veut faire, c'est qu'on veut arrêter le sprint. Nous voulons remettre notre mouvement à la normale. Et ce qu'on veut faire, c'est faire un retard. Et nous allons avoir une minuterie différente selon si nous sommes épuisés. Donc, ses promesses une très variable. Nous dirons minuterie épuisée. Et sont épuisés minuterie. Alors, on est en train de bouffer au lieu de deux secondes, attendons cinq secondes. Et puis nous allons tourner est épuisé. Reculez. On a attendu cinq secondes, on a notre souffle. D' accord ? Et puis nous allons revenir à la fin. Donc, au lieu de juste inverser, donc comme ça peut être inversé à tout moment. Cet événement ne va fonctionner ici que si cela est égal à 0. Donc nous voulons que ça s'assure qu'il s'inverse de la fin, ce qui est juste ici. Valeur, notre endurance est à 0. Donc Bada, Bing, Bada, boom, c'est comme ça qu'on fait. C'est tout. C' est beau. La seule autre chose qu'on doit faire, c'est s'assurer
qu'on ne peut pas tirer sur notre arme si on est en train de faire du sprint. Parce que sinon un peu tirer loin vers la gauche. Et ça aura l'air vraiment, vraiment stupide. Mais pour le moment, je veux montrer ça parce que je pense que ça aurait l'air hilarant. Et c'est un peu amusant d'aimer montrer les bugs et de montrer comment vous
devez être si spécifique avec les ordinateurs. Pensez à tout pour que les choses ne soient pas ridicules. Donc la dernière chose que nous voulons faire, c'est que nous voulons juste aller dans notre dossier d'interface utilisateur. Et allons dans nos infos sur les armes. Et sélectionnons sur notre barre d'endurance. Donc, nous voulons, nous voulons vraiment corréler cela. Et passons au pourcentage juste ici. Et créons une liaison. Et disons qu'il obtient, obtient l'endurance est un nom assez beau. Et tout ce qu'on veut faire ça et être très facile d'avoir le joueur. Prenons notre niveau d'énergie et employons ça dans Bada Bing, Bada, Boom. M. dans le monde entier est entré dans la pièce. On y va. C' est tout ce qu'on avait à faire. D'accord. Alors passons ici maintenant pour ce travail. Oh mon Dieu. Oh, tu sais, j'ai pris de l'avance sur moi-même. J'ai oublié une chose. Il va de l'avant et le faire maintenant. Donc, c'est ce qui arrive quand j'essaie délibérément de
scintiller le jeu finissent par me dire que c'est ce qui se passe en ce moment est parce que nous ne pouvons voir la barre d'endurance que si nous avons une arme et nous n'avons rien qui se passe quand nous avons une arme. Donc, pour le moment, assurez-vous
que les deux entrent en jeu, puis assurez-vous que le niveau d'énergie est réglé à un. Je ne crois jamais avoir dit ça. Cela évolue en pourcentages. D' accord. Alors ne le définissez pas comme un 100 ou quoi que ce soit, définissez-le comme un. Alors maintenant que se passe-t-il ? Nous marchons vers une arme et nous la ramassons. Et j'ai des chaînes d'impression pour montrer la vitesse. Donc tu verras comme un 1000. Et notre truc se passe comme ça. air super. Mais si vous remarquez, on prend nos mains et on frappe à nouveau Shift, il n'y a aucun moyen d'arrêter d'être épuisé, mais vous avez vu là-bas une série de 750. Donc ce que je veux faire, c'est qu'on puisse brancher et arrêter les mouvements. Mais je veux être cool dans la recherche professionnelle parce que beaucoup de jeux ont où vous n'avez pas à tenir le décalage tout le temps. Vous pouvez simplement taper dessus et c'est personnellement ce que je préfère. C' est ce que nous allons faire. On va juste avoir un bouton Sprint. Et une fois que vous soulevez les doigts des clés, vous arrêterez de tourner. Mais d'abord et avant tout, allons de l'avant et commenter boîte ceci et dire sprint avec trois Jan ou 18. Endurance, bar, comme ça. Ok, comme ça. N' hésitez pas à faire des modifications comme avec cette partie ou autre. Si vous, si vous voulez, tenir le sprint et le relâcher, comme je l'ai dit, vous pouvez le faire et le mouvement disco s'est arrêté. Et puis cela fonctionnera lorsque vous relâchez la clé. Mais je n'aime pas ça. Je n'aime pas tenir la clé tout le temps. J' aime taper et laisser aller. Et puis ils lâchent aller de w. comme comment beaucoup de jeux fonctionnent, bascule sprint. Alors faisons ça maintenant. Vous permet donc d'exécuter une tique d'événement. Ok, et ce qu'on va faire, c'est faire une macro pour ça. Et si cette macro est vraie, alors nous allons lancer le mouvement arrêté. Qu' est-ce que cette macro fantaisie schmancy que vous dites ? Eh bien, je vais vous montrer. Alors allons de l'avant et créons ça. Et nous dirons, avons-nous arrêté de bouger ? Comme ça. Ce qu'on veut faire ici, c'est avoir notre contrôleur de joueur. Et puis nous voulons vérifier est entrée clé vers le bas. Et la clé que nous recherchons est w.
si w n'est pas pressé et que nous sommes toujours en train de sprinter, alors cela reviendra comme ça. Nous devons donc faire du sprint, ce qui est initié en frappant Shift. C' est donc un de nos paramètres. Et puis pour que cela revienne vrai, nous devons également ne pas avoir la touche W enfoncée. D' accord, alors allons là-dedans. On a arrêté de bouger ? Il ne veut pas le laisser tomber pour n'importe quel pied. Là, c'est comme ça. Et puis nous allons commenter boîte, juste cette petite partie. Et nous allons juste, nous allons venir à cela et dire connecté à la chronologie. Alors le mouvement s'arrête. Nous vérifierons ensuite si nous sommes épuisés ou plusieurs, Arrêtez la propagation. Ça fera tout ça pour nous. Revenir. Donc, nous allons dire des vérifications pour voir si clé
W est libérée pendant le sprint. Donc, si nous sommes en train de sprinter, mais nous lâchons, ce qui se passe naturellement. On va arrêter le sprint. Alors allons-y et faisons-le maintenant. Notre clé et maintenant nous sommes en sprint tournaient et mon,
mon petit doigt n'est pas sur le quart de travail en ce moment. J' ai lâché et ça s'arrête. Et puis il remonte. Et puis je suis à nouveau en sprint, j'ai frappé le quart montré. C' est un bascule. On y va. Comme ça. Et si je continue à le faire et qu'il s'épuise, ça va courir autant épuisé et 750 et je le frappe à nouveau. Ce n'est pas du sprint. Pas du sprint. Ce n'est pas du sprint. Ça atteint 20 pour cent, puis ça me permet de le refaire. Donc, il est allé un peu plus loin avant que je puisse le faire à nouveau. Donc tout ce qui fonctionne très bien. Toutes les fonctionnalités sont correctes dans, sur place. Alors voici notre script pour ça. Et puis notre script pour cette leçon que nous allons ajouter est une chose supplémentaire ici plus tard. Mais oui, c'est tout. Donc, dans la prochaine vidéo, nous allons en fait ajouter une animation pour la faire ressembler à nos personnages en sprint. Et puis nous aurons tout cela correctement mis en place. Alors je te verrai là-bas.
17. Ajouter des animations Sprinting: Hé tout le monde et bienvenue. Dans la dernière vidéo, nous avons ajouté quelques fonctionnalités pour
permettre à notre personnage de tourner autour de la carte. Mais nous l'avons mis en œuvre d'une manière où il ne peut sprint que pendant un certain temps avant qu'il ne soit épuisé et qu'il ralentit ensuite. Et puis on relie ça à notre barre d'endurance. Nous avons quelques paramètres différents ici. Nous avons fait ça comme un type de sprint plus bascule où nous pouvons simplement appuyer sur la clé et puis une fois que nous lâchons, nous arrêtons de marcher. Notre personnage va arrêter le sprint. Ce genre de petites choses dépend de vous. Et nous l'avons également implémenté d'une manière où vous ne
pouvez pas vous ne pouvez pas sprint si vous êtes en train de recharger, ce qui encore une fois, vos préférences personnelles, mais c'est ainsi que nous l'avons construit. N' hésitez pas à être plus confiant dans vos compétences de script pour le faire, mais
vous aimeriez qu'il corresponde à vos préférences personnelles. Donc ce qu'on va faire dans cette vidéo, celle-ci va être assez courte. Tout ce que nous allons faire, c'est que nous allons lier notre est le sprint booléen, qui est prêt à être vrai ici à me débarrasser de ces cordes d'impression en fait mis vrai ici et nous commençons le sprint. Et quand nous arrêtons le sprint, il est défini pour être faux. Nous allons lier cela à notre graphique Anim afin que nous puissions faire une animation en cours d'exécution. Donc ce sera plutôt cool. Donc il s'allume juste ici et s'arrête juste ici. Allons-y et faisons-le maintenant. Donc tout ce qu'il nous faut faire, c'est entrer dans notre personnage. Faisons le joueur et je suis le plan. Allons à notre graphique d'événements. Et puis en dehors de cela, puis un avec nos autres références de joueur, allons glisser dans le joueur et nous allons aller Gets est le sprint. Et nous allons promouvoir cela à une variable et nous allons garder le même nom est sprinting. Pour le rendre cohérent pour nous. Tu connais la perceuse maintenant, on va changer pour l'animation du sprint. Donc nous savons ce que font toutes ces choses. Une partie de boîte de commentaire asynchrone l'une de l'autre. Ça a l'air sympa. Revenons maintenant dans notre mouvement de joueur. Alors allez sur le graphique Anim ici, trouvez notre machine d'état de mouvement des joueurs et nous allons ajouter un nouvel état. Je vais faire glisser une arme de commutation comme ici, parce que ce nouvel état va se connecter à ces deux. Nous voulons créer des transitions pour les deux parce que nous pouvons sprint si nous changeons d'arme pendant que nous changeons d'arme, c'est bon. Ok, donc nous voulons ajouter des nœuds allant là-bas et retour pour les deux d'entre eux. Donc ils sont de retour et ils vont avoir les mêmes règles exactes. Donc si nous sommes inactifs et que nous voulons aller au sprint, vérifions qu'est-ce qu'on sprinter ? Si nous faisons du sprint, nous allons lancer cette animation. Si nous ne faisons pas de sprint, alors nous voulons revenir à notre Animation Run Idle Run. La même chose vaut ici, ainsi de suite, changer d'arme. Et nous commençons à faire du sprint. Tu vas juste dire, Eh bien, on est en train de sprinter ? Et ensuite, si tu veux retourner, sprinter. Pas du sprint. Pour simple que ça. La dernière chose que nous devons faire est juste de nous assurer que c'est vraiment de l'animation pour ici et nous n'avons pas de squelette à un personnage. Alors allons à un jeu de tireur. Animations, FTP, et ça s'appelle une course roadie. C' est la seule course de roadie de fusil juste ici. Sinus pour le nouveau squelette joueur squelette pour ouvrir ce, cela va également avoir des sons cassés. Donc, si vous vous souvenez comment faire cela à partir de vidéos précédentes, en fait, nous devrions probablement avoir celui-ci ici courir. Eh bien, voilà. Et on peut rendre ça un peu plus fort, comme peut-être 1,5. Les pas sont un peu plus forts pour courir. Tellement sûr. Donc maintenant, ça ressemble à ça. Plutôt cool. Donc maintenant, nous devrions voir que l'Iran a écrit ici, brancher ça comme ça, compiler et ça devrait être tout. Normalement, j'ai l'impression d'oublier quelque chose, mais je pense que c'est tout. Alors ramassons le flingue. Et maintenant la même chose avait Sprint. Et on y va. Maintenant, on court. Et puis on a lâché. Wo, SMS, bizarre qui se passe là-bas. Quand on arrête le sprint, qu'est-ce qui se passe ? D' accord. J' ai compris le problème au lieu de son sprint et celui que nous allons utiliser est de changer d'arme. Bon, donc sur le chemin ici est de changer d'arme en est le sprint. On va dire que c'est pas changer d'arme. On peut passer du changement d'arme au sprint si on ne change pas d'arme. Et nous pouvons passer de l'animation du sprint à cette animation d'arme de commutation. Si on change d'arme. Donc maintenant cela devrait fonctionner. On y va. La seule autre chose que nous avons est de sauter des animations. Il est donc en train de courir dans les airs. Donc cette vidéo n'est pas trop longue. Allons-y et ajoutons les animations de saut maintenant pour que nous n'ayons pas l'air stupide. Alors créons de nouveaux états à un état et nous appellerons ce saut, commençons. Un autre état, une boucle de saut, puis un dernier. Sautez et allez-y. Et ceux-ci, contrairement aux autres, qu'ils ne bougent pas oh mon Dieu. Mais fini. Ils ne bougent pas de l'avant et de l'arrière. Ça bouge comme un petit triangle comme ça. Je ne sais pas si nous avons obtenu est dans l'air. Nous ne l'avons pas fait. D' accord. C' est une variable dont nous avons vraiment besoin. Ouais, ok, donc dans notre graphique urbain, allons de l'avant et essayons d'obtenir le propriétaire du pion. Et puis prenons nos composants de mouvements de cet étang, qui va être notre joueur. Et nous dirons qu'il tombe. Et puis ce qui est promouvoir ça à une variable à la fac est dans l'air. Et il a tapé la mauvaise clé. Vas-y. Quelque chose comme ça. J' ai fini par les contrôles, sauter l'animation. Bada Bing, Bada, boum. Vas-y. Le salaire de ça. Oui, ça va nous détester une seconde, mais rassurez-vous ce qu'on trouve. Alors faisons-le si on est dans l'air. Donc, nous allons passer de la course au démarrage de saut, à la transition de la, nous devons fendre ces innovations en aucun cas. Oui, nous le faisons. Ok, alors allons-y et faisons-le d'abord parce que ça va être confus si on ne le fait pas. Donc, nous allons juste taper un saut dans le même dossier et nous avons JumpStart. Nous voulons le fusil un Jump, Start boucle et fin, tels que les personnes assignées à notre squelette de joueur. Et puis nous pouvons insérer nos sons. En fait, ils ont des sons de saut. Mais vous, vous savez, vous devriez savoir comment faire ça maintenant. Alors je te fais confiance. Voilà vos devoirs pour la journée. Si tu veux faire ça. Sauter blues joueurs squelette retarget là. Et puis fusil un saut N ? Oui. Oui, oui, retarget ? Oui. D'accord. Alors maintenant, allons les brancher. Démarrage rapide. J' irai avec Jump Start. Boucle ira avec saut, boucle et saut et nous irons avec, vous l'avez deviné, saut fin. D' accord. Maintenant besoin de faire des transitions entre ceux-ci. Donc ce que nous allons chercher son temps,
restant, temps restant dans notre animation Jump Start. Et nous dirons que c'est moins de 0,1. Donc, s'il reste moins de 0,1 seconde dans cette animation de démarrage de saut, nous allons passer à l'animation de la boucle de saut. D' accord ? Et puis de passer à sauter, et nous allons dire, sommes-nous pas dans l'air ? Donc, nous aurons la boucle de saut, Innovation, continuez à boucler jusqu'à ce que nous ne soyons plus dans les airs. Et puis nous serons en mesure de revenir du saut au ralenti. S' il reste, disons, moins de 0,25 dans notre animation de saut. Et ce qu'on veut faire, c'est qu'on puisse sauter du sprint aussi. Et puis ça va avoir le même paramètre d'être comme,
Eh bien, sommes-nous dans le fichier IR et enregistrer ? Et maintenant, nous arrivons en jeu. Et nous avons fini. Et il se passe quelque chose d'étrange avec ça. Mais pour le moment, nous allons simplement faire du sprint. Ça marche. Et puis on saute. Il fait le saut et il est encore en train de sprinter même après le saut. Et si je lâche, il a juste ri. Donc tout ce qui fonctionne parfaitement, fonctionne bien. Je pourrais essayer de comprendre s'il se passe quelque chose de bizarre avec l'équipement de l'arme. Et s'il y en a, je vous répondrai à ce sujet. Parfois, il y a des erreurs dans mon programme qui peuvent ne pas persister dans le vôtre, mais je vais réparer la mienne juste au cas où je vous disais quelque chose qui est un peu défectueux, mais oui, merci d'avoir regardé. Et je te verrai dans la prochaine leçon.
18. Faire des Ammo: Salut tout le monde et bienvenue à une autre vidéo. Dans la dernière vidéo, nous avons commencé à finir la plupart des animations dont nous allons avoir besoin pour le mouvement de notre personnage. Et dans celui-ci, nous allons continuer en ajoutant quelques micros de plus. Cette fois, nous allons ajouter quelques fonctionnalités pour pouvoir ramasser des munitions supplémentaires. Donc nous allons le faire avant d'entrer dans ça cependant. Au moins pour moi dans la dernière vidéo, j'ai eu un problème où si je ramassais une arme, le personnage fait cette étrange agitation où il déplace le pistolet de droite à gauche maladroitement si vous ne l'avez pas vu, je le referai. C' est une sorte de coup de pied bizarre juste là. Et il le fait chaque fois que vous changez d'arme. Maintenant, je suis allé de l'avant et j'ai comparé ce script au projet précédent. Et le projet précédent était exactement la même chose que celui-ci, du moins à ma connaissance et je n'avais pas ce problème. Si vous rencontrez ce problème, vous pouvez ignorer cette partie, mais si vous l'êtes,
vous pouvez accéder au Blueprint Animation
du lecteur, au mouvement du lecteur graphique Anim et à cette machine d'état. Et vous pouvez simplement supprimer cette transition supérieure de changer d'arme au sprint. Ce que cela fera, c'est que si vous faites du sprint et que vous changez d'arme, ou si vous changez d'arme et que vous tournez encore, au lieu de voyager d'ici à ici, ça ira ici, puis au ralenti et ensuite au sprint. Donc maintenant, si je me suis passé en jeu et que je prends une arme, tu n'auras pas ce problème. Et vous serez toujours en mesure de courir et de changer d'arme en même temps. Alors faites le changement d'arme, puis retournez au sprint immédiatement. Donc tout ça fonctionne très bien. Donc potentiellement cette transition était redondante parce qu'elle va aller ici à l'uretère ici de toute façon. Donc,
je pense que c'est le seul genre de problème qui a été abordé là. Mais ce qu'on va faire, c'est qu'on va créer des plans pour ajouter des armes ou des ramassages de munitions. Donc, sous interactible, créons un nouveau dossier et appelons-le munitions. Et je vais le mettre à notre couleur. Puis à l'intérieur du dossier animal,
Faisons une classe de Blueprint de type Actor. Et appelons cette base de collecte de munitions. Comment se confondre avec les micros ? Un ou deux mots. C' est un mot si vous faites allusion à un camion, mais c'est aussi si vous dites « Pick up to 240 phonics », vous tous, d'accord ? Ce qu'on va faire, c'est qu'on va ajouter deux maillages statiques différents ici. Donc, un maillage statique, le premier sera un maillage AML. Et nous pouvons faire glisser ceci sur notre route de scène et en faire la valeur par défaut. Et puis en dessous, faisons un autre maillage statique. Et nous appellerons celui-ci dans la boîte de réception. Donc, ces textures sont petites aussi, ces mailles ou petites aussi. Donc nous allons faire la même chose que nous avons fait avec les armes si il y a cette boîte invisible juste là pour notre maille de munitions. Ça va être un parent, donc nous n'avons pas besoin d'une fente dans quoi que ce soit. Mais je vais verrouiller ceci et le faire 2,5 fois la taille parce que ce sont très petits. Ok, alors pour notre boîte cachée, allons de l'avant et la fente dans le cube d'un m va être assez grande. Allons-y et on peut le garder verrouillé et en faire la moitié de sa taille, 0,5. Et puis nous allons définir ça pour être invisible et caché dans le jeu. Toute la collision, tout
devrait marcher très bien pour la plupart, je pense que c'est tout ce qu'il faut faire. Allons de l'avant et revenons ici et dans notre dossier de données. Et nous allons créer une nouvelle énumération que nous utiliserons pour ces plans. Allons énumérer les plans puis aller E, et nommons ce type de munitions. D' accord, et ensuite on va créer six recenseurs. Donc 1, 2, 3, 4, 5, 6. Et on appellera ça des munitions pistolets. Donc, nous allons juste nommer chacun l'arme et ensuite les munitions. Donc fusil automatique, animal, fusil à balles. Parce que la façon dont je le crée c'est que vous ne pourrez pas
interagir avec un certain type de munitions à moins que vous n'ayez cette arme actuelle équipée. C' est pour ça qu'on crée un fusil de sniper Anno. Donc, nous voulons céder le chemin, donner le jeu loin pour identifier quelles munitions. C' est un lance-grenades ou avec quoi AML nous
essayons d'interagir en synchronisation avec n'importe quelle arme que nous avons équipée. Et enfin, des fusées, lancer de l'émail. But. Ensuite, notre base de pick-up MO. Créons une variable, variable et nous l'appellerons type de munitions. Et nous allons le faire de type, de type animal comme ça. Bien. Ok, maintenant dans le graphique des événements, faisons des trucs ici. Sous le début de la pièce. Créons une référence à notre joueur. Nous allons lancer au joueur et le promouvoir à une variable dans laquelle vous devriez être très bien versé. Moulage. Et faire des références ici. Maintenant, ça devrait être un pro. Fais ça. Et aussi savoir pourquoi nous faisons cela. Ok, maintenant créons un événement personnalisé. Et on appellera ça ramasser les munitions. Ça va courir quand on essaiera de ramasser des munitions. Et ce que nous voulons faire, c'est que je veux créer un événement ou une fonction, désolé, qui va vérifier si
notre arme actuelle est égale ou non au type de munitions avec lesquelles nous interagissons. La façon la plus simple de le faire. À mon avis, sans que tout soit trop compliqué, nous allons le faire à l'intérieur de la base d'armes. Allons aux armes et à la base d'armes. Cela deviendra un peu poilu et nous devons les organiser après un certain point. D' accord ? Donc, créons de nouvelles variables. Et nous appellerons, ce seront tous des entiers et nous les appellerons pistolet. Ramasser la quantité de type int. Et que nous voulons en créer un tas, un pour chaque arme. Donc auto est que maintenant je vais le montant de ramassage de fusil est d'être une sorte de noms laids fusil tir. Et il a contrôlé WT est de le dupliquer rapidement. Sniper, fusil, lanceur gris, et enfin lance-roquettes. Ramassez-les. Eh bien, ils vont être en charge de, disons juste qu'il est mis dans une catégorie maintenant, Emma. Et je vais juste traîner tout ça ici. Je n'aime pas comment ça fait. Je veux les mettre dans le bon ordre. Alors pistolet, fusils et fusils automatiques, sniper. Ok, bien. Cool. On peut donc fixer ces trois numéros différents de combien de munitions voulez-vous ramasser ? Basé sur comme quand vous prenez un centre pour le pistolet juste, disons juste 24 balles pour l'instant. Le fusil automatique, 60, le fusil de chasse. Faisons 16. J' essaie de me souvenir de ce que j'ai mis. Tendance aiment les magazines pour chacun d'eux, aux fusées. Et tu peux les changer à ton goût. Bon, maintenant ce qu'on veut faire, c'est créer une fonction. On appellera ça des munitions. Ramasse. Comme ça. D' accord. Oui, faisons une entrée et appelons son type MO. Et nous allons le faire de type, type AMO, comme ça. Faisons-le glisser ici et allumons-le. Alors maintenant, vous devriez voir toutes nos munitions de pistil, ceci et ça. Donc, si cela est défini pour être l'une de ces choses, il exécutera une de ces exécutions. D' accord ? Donc, tous ces vont être les mêmes, ce qui est Larry légères variations. Donc, avec des munitions pistolets, sortons une branche. Et disons d'ignorer le type d'arme. Et nous dirons égal jusqu'à présent arme actuelle. L' arme si notre type d'arme, qui est aussi comme l'arme actuelle, qui est égale au pistolet, alors ce que nous voulons faire ici c'est nous voulons attraper le total actuel des munitions. Regarde le plateau. Nous voulons prendre la quantité de pistolet et le total actuel des munitions. Et nous voulons les additionner et ensuite définir cela comme la nouvelle AMA totale actuelle. Donc disons que nous avons comme, Oh mon Dieu, c'est en fait un peu de maths. Disons que pour des maths simples, nous avons 10 balles en réserve. 10 représente notre total actuel de munitions. Le total des munitions est de 360 dans ce cas. Et nous avions un set à 24, donc 10 plus 24, qui sera alors fixé à 34. Les maths, c'est le pouvoir. D' accord ? Et puis faisons un contrôle supplémentaire sur ça, d'accord ? Avec cela sélectionné et ajoutons une sortie, et faisons un booléen. Et puis nous aurons juste ce mot vrai ou nous pouvons le faire dire « succès » si vous voulez être cool. Droit ? Alors, c'était un succès ? S' il passe par cette branche, était-ce réussi ? Oui. Cela reviendra vrai. S'il sort d'ici, alors il dira Non, il a retourné faux. Oh Sheesh, nous devrions que ce n'est pas vérifié. Ok. Et puis nous dirons ajoute des munitions de pistolet. Si elle ajoute des munitions. Si ça ramasse encore des munitions de pistolet. Comme ça. Ok, voir ça un coup d'oeil à ce script comme ça. Donc maintenant, tout ce que nous devons faire à partir d'ici, c'est que nous devons faire exactement
la même chose pour les coups de fusil automatiques sur toutes nos armes différentes. Ça ressemblera exactement à ça. Tout ce que nous avons besoin de changer c'est R. Donc pour le
fusil automatique va changer la quantité de ramassage automatique et pour les titres d'armes qui avaient un fusil. Alors je vais te donner une petite tâche. Je vais le faire moi-même. Je vais vous donner le temps de remplir le reste de cette fonction par vous-même. Donc, je vais couper un peu en avant, revenir vers vous. Alors amusez-vous avec ça, et je vous verrai dans une seconde avec les réponses. Bon, donc c'est à quoi la fonction finale devrait ressembler. Donc, si le type de munitions est réglé pour pistolet autour de celui-ci sur un fusil en bas un et ainsi de suite, ainsi de suite. On a dû changer, comme je l'ai dit, Pixel Picker, quantité mâle pistolet ou fusil total
actuel, fusil
automatique, fusil à balles, fusil sniper snipers, grenade, grenade, roquettes, roquette, et puis oui, tout cela va se dérouler. J' ai une faute de frappe ici. Ok, cool. Tout ce qu'on a à faire, c'est de retourner dans notre base de pick-up et de traîner le joueur et de prendre l'arme actuelle. Rappelez-vous que l'arme actuelle est une référence à cette base d'armes ici. Donc, comme on l'a sorti, on peut maintenant appeler des ramassages de munitions, cette fonction que nous venons de créer. Et on va prendre et appeler ça. Et ça va demander un type de munitions, non ? Parce qu'on a mis ça dedans, on l'a mis ici. Donc, il en demande une. Nous créons continuellement ce n'est rien, mais nous avons créé cette variable, rappelez-vous ? Alors branchons ça. Donc, la raison pour laquelle je l'ai eu comme une entrée est pour que nous puissions brancher cette variable dans. Donc, quand nous faisons les enfants à cela, nous pouvons définir cela dynamiquement sur les enfants afin que cette valeur change
toujours, puis exécuter les différentes parties sortant de cette énumération. Et puis par notre succès. Donc, disons si, donc, si cela revient vrai, qui
signifie que vous obtenez une de ces choses de succès, alors ce que nous voulons faire est de jouer un son à D. Promouvoir ça à une variable et nous appellerons ce pick-up, son. Donc, nous pouvons dynamiquement définir cela chez les enfants aussi. Et puis détruisons l'acteur comme ça. Et puis nous allons juste venir dans des boîtes pour dire ajouter des quantités de MO dans la Base d'armes. Juste pour que nous puissions nous souvenir de ce que cela fait et où il est. Assis comme ça. Donc, c'est tout ce qui fonctionne. Alors on y va. C'est tout ce qu'on a à faire dans notre base de pick-up maintenant. Tout ce qu'on a à faire, c'est faire les enfants. Alors MO et nous allons choisir une base, créer un cours de Blueprint pour enfant et nous appellerons ça les micros de munitions de pistolet. Et ce qui ne cesse de faire cela pour tous. Bon, donc si cela est fait correctement, vous avez juste un clic droit sur AML, choisissez un modèle enfant gris de base, et puis nous les renommons tous fusil, grenade, pistolet, fusil de chasse fusée et fusil de sniper. Donc maintenant vous devez faire est d'ouvrir l'un d'eux, l'un d'eux. Pour notre maille de munitions. Regardons le fusil d'assaut ramasser. Et nous avons ce genre de magazines ici comme ça pour le type de munitions. Réglons ça pour les munitions de fusil automatique et le son du pick-up, on devrait avoir un pick-up. Tu vois qu'il y a ces carabines ici et on va ramasser comme ça. Si vous n'aimez pas le volume de cela, vous allez juste ici et changez les multiplicateurs de volume afin que vous puissiez le faire ce que vous voulez ou ce que vous voulez, votre préférence personnelle. Et puis cela s'appliquera à tous. C' est tout ce que tu as à faire pour l'un d'eux. Alors oui, vas-y. Emplacement dans. Je pense que je sonne bien. Ramassez comme ça et nous taperons le son de la grenade. Lanceur de grenades est un pick-up. Vous voulez vous assurer que vous avez le QRS car alors il aura plusieurs sons différents. Au moins, ça devrait. C' est généralement comme cela que les files d'attente fonctionnent. Alors oui, allez-y et remplissez le reste et je reviendrai vers vous dans une seconde. Ok, maintenant que nous avons mis dans nos sons et maillages corrects et que cette énumération soit la bonne chose. On peut les glisser et les déposer pour les mettre. Je ne sais pas pourquoi ça fait parfois ça. C' est un peu bizarre. Il suffit de frapper la fin et il ira à son bon endroit si c'est bizarrement ailleurs. Je ne les mets pas non plus au bon endroit en ce moment, mais oh, eh bien, c'est bon. Comme ça. Donc maintenant, nous devrions avoir nos différents hoquets, mais il n'y a aucun moyen d'interagir avec eux dès maintenant. Allons-y et réparons ça. Donc, dans notre personnage dans le graphique et même où nous mettons ceci, nous avons un appelé Action Mappings. Oui. Donc nous avons cette trace de ligne et je peux le faire, faire ce plateau persistant maintenant. Donc, vous pouvez réellement voir cette trace de ligne et appuyer sur la touche E. Vous verrez que c'est 200 sets. Jusqu' où cela va réellement interagir avec l'un d'entre eux. Donc vous verrez ce petit carré et il est rouge et puis devient vert pour montrer que j'ai vraiment frappé quelque chose, fait interagir avec quelque chose. La neige le frappe, regarde droit sur le sol, tu auras un coup juste là, mais ça frappe le sol. Il ne nous ajoute rien de valeur. Ok, donc c'est un peu cool. Maintenant, si nous devions avoir comme une tonne de choses liées à cela, à cette interaction. Nous aurions probablement une sorte de répartiteur d'événements que nous continuerions à appeler. Mais nous n'avons que deux choses dans ce projet avec lesquelles nous devons interagir. C' est pour ça que c'est fait de cette façon. Donc, ce qu'on veut faire, c'est faire sortir notre charge, va l'allumer. Et ça va sortir de ça. Alors nous voulons pouvoir interagir avec les munitions seulement si nous avons une arme. On ne peut pas prendre de munitions sans armes, ce genre de choses. Et c'est vrai, mais si nous avons une arme, nous voulons lancer pour la rappeler. Munitions, base de ramassage. Encore une fois, cela va sortir de l'acteur en chef. Comme si c'était ça, c'est un bon endroit. Et puis, en tant que base pika, nous voulons lancer l'événement que nous avons créé. Celle-ci, ramasse des munitions. Nous voulons vraiment diriger ça. On l'appellera ramasser des munitions et ensuite c'est comme ça pour nous. Donc, nous pouvons commenter boîte, tout
cela tout à fait honnêtement parce que ce script est maintenant fait. Et nous allons mettre des dessins une trace de ligne pour vérifier si vous essayez d'interagir avec MO ou des micros d'armes. Quelqu' un comme ça. Oui. Assurez-vous juste que j'épelle tout correctement parce que je ne pouvais pas vraiment voir où je tapais. Ok, donc c'est à quoi ressemble le script qu'on vient d'ajouter
ceci, ceci, ça, si assez explicite là-bas. Maintenant, si nous venons ici et que j'essaie d'interagir avec tout ça, rien ne marchera. Même si nous obtenons des hits verts et que nous n'obtenons pas d'erreur, c'est juste à court de là. Mais disons que je ramasse le fusil et ces trois armes. Alors, le pistolet. Oh mon Dieu, lequel est lequel ? C'est l'épître M0. Donc en interagissant avec ça, ça ne fait rien, mais si j'interagit avec ça, ça a fait les maths, ça a disparu. Tout ça. Si je passe au fusil automatique, ne
peux pas interagir avec celui-ci ou celui-ci, ou celui-ci ou celui-ci ou autre. Mais je ne peux pas interagir avec celle-là. Et puis le fusil ne peut rien faire sauf celui-là. Oh, j'ai la poignée du pistolet. On y va. J' ai eu un peu peur de la résilience. J' étais comme si j'avais fait les réglages un ? Tu vois, je peux voir ces traces de ligne maintenant, qu'est-ce qui est cool ? Oui, c'est tout à voir avec nos ramassages de munitions. C'est comme ça que tu le fais. Tellement cool. Nous allons continuer à rouler sur les clés mauvaises et quelques nouvelles fonctionnalités du jeu. Et puis nous finirons, ça va être très bientôt et nous allons commencer à tirer ces armes et à faire des trucs cool avec eux. J' espère que vous avez apprécié cette vidéo et je vous verrai dans la prochaine.
19. Prise de vue Shooting des armes: Bonjour à tous et bienvenue à une autre vidéo. Dans celui-ci, nous allons commencer à ajouter des fonctionnalités pour pouvoir tirer nos armes Scan à succès. Et entre les vidéos, j'ai fait quelques petites choses. J' ai ajouté quelques textes rendus dans le monde. Pour ce faire, tout ce que vous avez à faire est de
mettre en place des acteurs et vous pouvez tirer un rendu de texte. Vous pouvez le faire pivoter. Comme vous le souhaitez. Vous pouvez changer les polices, même si je ne pense pas que cela fonctionnera parce qu'il n'a pas de matériel de texte. Oui. Vous pouvez l'aligner au centre, changer la couleur ou tout ce que vous voulez faire, et taper ce que vous voulez qu'il dise. Donc oui, je mais notre casier à armes et puis il va ramasser. Donc je l'ai fait noir et taille 30, et je lui ai donné un nom et je l'ai mis dans un dossier. Et j'ai aussi mis nos munitions dans le bon ordre et mis ça dans un dossier parce qu'ils ne m'ont pas appelé la station d'organisation au lycée pour rien. En fait, j'ai appelé ça. Continuons cependant, tirons quelques armes. Donc, la première chose que nous voulons faire est dans notre dossier de données, cliquez avec le bouton droit de la souris et allez au Blueprint, puis allez à l'énumération. On va y aller type viré. Et comme je l'ai dit au tout début de la première vidéo, nous avons deux types d'armes différents. Le premier est appelé un scan à succès, et l'autre est un projectile. Donc, si vous vous souvenez, une arme Scan va fonctionner avec une trace de ligne. Une trace de ligne étant que je ne pense pas que je débogue ceci encore. Donc, ce sera le même genre de chose où il dessine une ligne invisible dans le monde. Et ça va être un instantané à la recherche de ce qu'il frappe. Donc, nous allons obtenir des résultats comme ça avec le scan, un projectile va être similaire à si vous
deviez juste utiliser le modèle à la première personne fourni avec Unreal. Cette arme a une petite boule jaune qui en sort et c'est en fait un projectile. Et les différences entre les projectiles et frapper Scan, appuyez sur Scan, ça va être un coup instantané. Ce sera une ligne droite parfaite où, en tant que projectile, nous pouvons régler différentes vitesses et le faire influencer par la gravité. Donc notre pistolet, notre fusil et notre fusil de chasse, ça va être des scanners et ensuite le fusil de sniper, grenade et la fusée vont être des projectiles. Donc, dans cette vidéo, nous allons commencer notre script pour être en mesure d'ajouter fonctionnalités aux hits cantos, bon, disons rejeter. Ho. Alors oui, allons dans notre dossier d'armes et ouvrons notre base d'armes. C' est là que tout notre scénario va vivre. D'accord ? La première chose que nous voulons faire ici est d'aller de l' avant et de créer une fonction et nous l'appellerons commencer le tournage. Ce que nous voulons faire, c'est qu'on veut ajouter une entrée à cela et l'appeler type de feu, rendre de type, de type feu, comme ça. En sortant d'ici, on veut faire une séquence. Et comme à d'autres moments dans la classe, nous allons ajouter quelque chose sur les 1000. Mais pour l'instant, ce que je veux faire est de sortir, puis une épingle et ensuite nous ajouterons ce script plus tard. C' est là que nous allons contrôler, en diminuant la quantité de balles que nous avons et en faisant des trucs de rechargement. Mais à un type de feu, Allons l'allumer et branchons cela dans le alors une broche comme ça, peut réacheminer ce noeud comme ça. Bon, donc à partir des résultats,
ce qu'on veut faire, c'est qu'on appelle un autre type de fonction. Donc, pas encore beaucoup ajouté à cela, mais nous allons devoir créer une nouvelle fonction. Alors appelons ce Calculer hit ou calculer une trace de ligne. Appelons ça comme ça. Et puis cela va avoir trois entrées différentes. Alors ajoutons trois entrées ici. Le premier sera un composant de caméra. Le second sera un maillage d'armes. Et le troisième sera une prise d'armes. La caméra va être de type. Quelqu' un pourrait juste objet composant de caméra. On y va. Et puis celui-ci sera un composant de scène. Voyant le composant, la référence de l'objet. Voir le composant est comme ces choses. Tout ce qui se trouve dans notre composant, comme l'un de ces composants, est considéré comme un composant d'évier. Et puis celui-ci sera un nom. D' accord ? Ce que nous pouvons faire ici, c'est de sortir une séquence pour annuler quelques choses différentes. Et nous allons promouvoir tous ces éléments à des variables locales. Caméra locale, maillage d'armes locales, et prise d'armes locales, pas meunier. Douille. D' accord, et puis faisons ça sur le, puis le 0. Et c'est un peu moche. Alors, nous allons peut-être déplacer tout ça un peu vers le haut. Et puis ajouter quelques nœuds de réacheminement comme ça peut le rendre un peu désactivé. C' est tragique. Je dois changer ces deux-là. Oh mon Dieu. C' est juste une première partie maladroite du script. C'est sûr. Pour mettre toutes ces choses et Unreal, faites-le et ne pas me donner les lignes droites, ce qui est un destin horrible. D' accord. Mais il fait le boulot, crie, ça fait le boulot. Donc, hors de là un, Alignons la trace pour les objets. Au lieu de par canal. Nous allons le faire pour les objets parce que nous le voulons. Donc, comme la ligne, si je faisais la trace de ligne par canal, vous remarquerez qu'il manque ces types d'objet. Donc, nous voulons seulement que notre traçage de ligne interagisse avec quelques types d'objets différents. Donc, avec cette trace de ligne par canal, c'est juste que nous n'avons pas cette option essentiellement en termes simplifiés. C'est pour ça que nous utilisons celle-là. Bon, donc ce que nous voulons faire,
semblable à la façon dont nous avons fait ça dans le personnage, si vous vous souvenez, a pris le composant de caméra, l'emplacement de
Dieu et a fait des calculs ici, nous voulons faire quelque chose de similaire. Donc, prenons notre composant de caméra locale,
qui, si vous vous en souvenez, est une entrée. Donc si je devais aller ici et que je devais sortir ça et dire Calculer la trace de ligne. Il ne va pas demander ces données parce que ce sont des entrées. D' accord ? Alors caméra locale, on va transformer le monde. Et nous voulons diviser ces broches frappées pour obtenir une rotation, un emplacement dans une échelle. Ou je peux utiliser la balance, mais nous allons utiliser la rotation et l'emplacement. Donc, l'emplacement de notre caméra va être notre point de départ. Donc c'est sympa et facile là-bas. Mais nous allons faire plusieurs choses différentes à partir de ce point de terminaison. Alors commençons par la rotation et nous allons obtenir le vecteur avant. Donc, la rotation de notre caméra dès ce point est ce que nous obtenons. Et puis nous allons multiplier ce vecteur fois flotter. Je le crois comme un char. Oui, UCS est k. Donc c'est en fait à
quel point nos traits de ligne vont aller dans le monde. Donc les autres à 200. Alors faisons quelque chose de assez vague, comme 10 000 tracés de ligne de distance et si vous voulez, d'accord. Donc, disons que vous voulez donner à une certaine arme plus de portée qu'une autre. Tout ce que vous avez à faire est de promouvoir cela à une variable. Et puis la trace de ligne ira aussi loin. Donc, si vous voulez un fusil, ça frappe quelque chose de quelque chose autre
que la carte ou quelque chose de ridicule. Vous pouvez le faire préférer le saké de la simplicité en ce moment. Eh bien, gardons ça comme ça. Et nous allons vecteur plus un flotteur compatible avec. On pourrait avoir besoin de vecteur plus vecteur. Vecteur plus vecteur. Ouais, d'accord. D' accord. Mathématiques. Donc, oui, ça va ici et ensuite ça va là-dedans. Donc, ce que nous faisons, c'est que nous prenons l'emplacement de notre caméra comme point de départ et ensuite nous ajoutons 10 000 à ce point. Normalement, on ajouterait ça
au point de terminaison et on aurait fini dans la vie serait bien. Mais nous aimons rendre les choses plus compliquées parce que si vous vous souvenez, nous avons ce truc de propagation de balle qui se passe ici. Donc, nous ne voulons pas que nos traces soient
parfaitement droites si nous ne visons pas les sites. Alors, comment pouvons-nous accomplir cet effet ? Eh bien, faisons ça maintenant. D' accord ? Donc, sur un vecteur, nous allons casser définir un vecteur r, non ? Et puis ce que nous allons faire, c'est prendre notre échelle de balle, peu importe ce qui est défini comme 350 par défaut. Et puis multiplions cela par un autre flotteur, et multiplions cela par un flotteur négatif. D' accord ? Et ce qu'on veut faire ici, c'est qu'on aura un flotteur aléatoire dans un rayon d'action. Alors. Ce nœud sera le minimum, puis ce nœud sera le maximum. Donc, notre fourchette audacieuse est de 350. D' accord ? La valeur minimale que cette randomisation peut pomper est négative 350 et le maximum il peut être de 300, 50. Donc OK, vraiment assez bien que nous ayons besoin d'obtenir ceci pour le x, le y et le z. donc nous devons faire ça à d'autres fois. Donc, nous pouvons brancher un pour le x, un pour y, et un pour le z. Donc, nous allons brancher la valeur de ceci et faire tous
les minimums dans la valeur de ceci dans tous les maximums, ce
qui oui, c'est une abomination regardant quelque chose, mais c'est le mieux que nous puissions faire. Ok, hors d'ici, ajoutons float, float, et nous voulons le faire pour x, y, et z. Donc je veux m'assurer que nous allons randomiser cela dans tous les emplacements x, y et z. et puis les valeurs retournées iront dans le en bas de cela. D' accord, ça peut devenir très laid très vite. Essayer d'apprivoiser tous ces nœuds ici. D' accord ? Et puis ajoutez un ici. On va en faire un vecteur parce qu'on l'a cassé. Maintenant, je dois le redevenir un vecteur. Toutes ces valeurs flottent à nouveau dans un vecteur. Et enfin, enfin, on doit vérifier, d'accord ? On ne veut faire ça que si on ne vise pas bien ? On veut que cette balle se déclenche au hasard comme si on est Amy, on veut que ce soit une ligne parfaite, non ? Donc, devine ce que nous devons faire c'est sortir d'une vague big and play, nous devons obtenir une référence à notre joueur parce qu'ils ne pensent pas que nous en avons encore un. Donc, nous allons mettre le personnage du joueur au joueur, à variable et nous appellerons Player. Je ne le rendrai pas beau juste pour gagner du temps. Je vais le faire entre les vidéos. Ouais, ça ne m'aime pas parce que pour ça, ok. Donc, hors de la valeur de retour de ceci, obtenons une note de sélection comme celle-ci. Et en fait, ça n'a pas remonté comme je le voulais. Allons, essayons de le faire comme ça. Joueur, on va viser. Et puis faisons une sélection. En dehors de ça. Ha-ha, on y va. C' est ce qu'on veut. Alors maintenant, il saisit le vrai et le faux. Donc, si c'est viser est vrai, alors nous voulons juste saisir ça. On veut juste prendre la ligne parfaite. C' est la, la rotation de nos caméras avant vecteur plus 10000 unités dans le monde. Je veux que ce soit parfait. Mais si on n'est pas Amy, on veut faire ce petit calcul de la propagation des balles. Donc on veut brancher ça dans le faux. Et puis la valeur de retour de ce sera notre point de terminaison. Dans leur complexe. Pas vraiment. Et je sorte de sortir d'ici. Faisons un tableau parce que nous voulons avoir plusieurs objets avec lesquels interagir. Les deux que nous voulons interagir avec notre monde statique et rouler cette dynamique. Donc ce sont les choses que notre ligne tracées va se croiser. Donc, si vous allez dans le monde et que vous regardez ça et bien, si vous deviez entrer dans les paramètres de collision de quelque chose, alors peut-être si je viens de sortir ça de ce fils de Pollyanna par défaut. Donc, si je devais prendre ceci et Collision Presets et artistes disent que c'est Wars monde, que ECUA, monde dynamique là-bas. Oh, j'en ai peut-être besoin. Ou est-ce ? Oh, on y va. C' est ce que je cherche. Un monde dynamique, un monde statique. Il y a donc différentes choses dans le monde qui seraient considérées comme dynamiques et statiques. Je n'avais probablement pas besoin d'expliquer cela, mais ce sont les types d'objets que nous voulons. types d'objets que nous voulons sont alignés pour intersecter. Mais nous voulons aussi ignorer certains acteurs. Alors prenons le personnage du joueur. Et je ne pense pas que ça va se brancher tout de suite. Ok, ça vient de faire un tableau. Donc, nous pouvons ajouter plus de choses à cela que nous voulons que cela ignore. Droit ? En dehors de ce coup. On veut, on peut juste faire ça ? Non, on ne peut pas. Alors ajoutons une autre broche. Ajoutons un nœud de retour hors de cela. Et puis faisons une sortie et faisons ce résultat. Et on appellera ça résultat positif. Et puis branchez ça comme ça. D' accord. C' est la chose la plus laide que j'ai jamais vue de ma vie. Bon, donc maintenant nous avons notre truc Calculer la trace de ligne ici. Donc, allez vraiment vite sur ça. Donc, nous sommes en train de me donner l'invite. Nous n'avions même pas besoin de faire l'arme mentionnée le socket, les
définir comme variables parce que nous ne les avons pas réellement utilisées. Je pensais qu'on n'utiliserait que la caméra. Ce n'est vraiment pas si important de les avoir ou de ne pas les avoir. C' est ce que c'est. Donc, quand on dessine cette trace de ligne, on obtient la position d'une caméra. Nous n'avons pas précisé ce qu'est cette caméra. Juste pour l'instant. Nous obtenons son emplacement et définissons ça comme point de départ. Et puis ce que nous faisons c'est nous prenons la rotation de la caméra, le vecteur avant de cette caméra, plus 10000, ajoutant cela ensemble. Et puis si nous visons, notre arme reviendra comme point final. Si nous ne visons pas, alors nous avons cassé, cassé ce vecteur en x, y, et z. Nous avons randomisé ce nombre entre 315,
350, ou n'importe quel nombre que nous avons dit est ce bol alors que ce boulon s'est propagé ici. Ensuite, nous ajoutons ces deux valeurs ensemble, en faisant de nouveau un vecteur parce que nous l'avons cassé et l'avons transformé en flotteurs. Et puis en faisant le point final. Et nous voulons que notre tracé de ligne interagisse avec les objets
statiques et dynamiques du monde et ignore notre joueur. Nous ne voulons pas qu'il interagisse avec notre joueur. Bon, alors maintenant nous avons cette fonction assis et à peu près comme ça. Et cette partie sera assez facile. Alors attrapons le joueur et attrapons la caméra. C' est sur le joueur. Et ça va être notre appareil photo. Donc on attrape ça, leur caméra pour le maillage d'armes. Eh bien, prenons juste le maillage d'armes de notre base. Ce n'est rien, mais c'est comme d'autres choses dans les enfants. Et puis la prise d'armes. Baba, baba, baba. Donc si je vous montre ça, si nous allons aux armes dans un maillage squelettique, nous voulons que ça s'appelle un flash de museau. C' est ce que nous saisissons. Ils sont tous appelés le flash du museau. Bon, donc je n'ai pas besoin de vous le spammeur promu à une variable et on l'appellera socket d'arme, où la variable de nom. Et pourquoi ce n'est pas le cas ? Me laisser ? Ok, donc c'est là-haut. D' accord. C'était comme, Eh bien, on va mettre ça comme un flash de museau. Je ne pense pas qu'on aura besoin de changer ça, mais juste au cas où il aurait une arme différente que tu ajouterais à ce projet plus tard. Vous pouvez maintenant changer cela par une variable. Donc oui, c'est plutôt cool. Ok, et ensuite on va faire des choses différentes. Il retourne tout ce que cela frappe pour que vous puissiez le casser juste pour vous montrer, nous faisons toutes ces choses différentes, mais le résultat, coups de la ligne, d'accord, et nous retournons cette valeur pour que nous puissions faire des choses cool avec ça après, qui est exactement ce que nous allons faire, c'est que nous voulons toujours faire les choses cool. Très bien, donc tout ça a l'air assez bien jusqu'à présent. Bon, donc il y
a quelques choses différentes que nous allons ajouter à tous ces scripts. Mais juste pour vous montrer que cela fonctionne, Allons-y et mettons-le en place comme une sorte de chose de débogage vraiment rapidement. Allons donc dans nos paramètres, paramètres
du projet et entrée. Créer une nouvelle cartographie d'action et l'appeler tirer, tirer, tirer, tirer. On appelle ça le feu. C' est ce que je vais appeler ça feu. J' ai l'impression que tirer est comme gérer le tir. gauche de la souris Donc on veut tirer. C' est normalement comme ça. Bon, donc dans notre graphique d'événements, allons de l'avant et créons un événement. Et on va, on appellera ce tuyau d'incendie comme ça. Donc nous allons ajouter des choses à ça pour nous assurer qu'on a vraiment munitions dans tout un tas d'autres choses comme ça. Assurez-vous que nous ne sommes pas comme si nous pouvions tirer notre arme. Tu sais, euh, on peut faire cette conférence maintenant parce qu'on a créé cette variable. Mais ce sera toujours vrai, non ? Alors mettons-nous cela pour être vrai pour l'instant. Donc, nous voyons que cela fonctionne. D' accord ? Alors prenons l'arme actuelle. D' accord. Et puis on veut avoir le type de feu. Comment avons-nous appelé ça ? Ou ne définissons-nous pas cela comme un trou dans une seconde ou un poids ? Type d'arme où il commence le tir est tiré type de var de type 0. Ok, on l'a mis dans l'entrée. On n'en a pas fait une variable. Alors faisons ce biotype. Ok, donc maintenant il a une variable réelle de type flyer, type de projectile scanner de hits. Et c'est important parce que nous devons nous assurer que nous
définissons cela aussi chez tous nos enfants, afin qu'il sache s'il s'agit d'une arme Scan à succès ou d'une arme de type projectile. Bon, maintenant, prenons le type de feu. C' est ça. Tellement gentil avec nous maintenant. Et nous voulons courir commencer à tirer. La cible va être l'arme actuelle et elle va manquer de la vraie branche et une sorte de jerry-truqué ensemble en ce moment, certes. Mais ça devrait marcher. La dernière chose à faire est d'aller à Action Mappings et de
chercher le feu, l'événement d'action. Et puis allons faire feu comme ça. Alors j'espère, mon Dieu, je l'ai fait. Ok, nous voulons nous assurer que nous avons cette persistance, d'accord, et probablement que nous avons une arme. Donc, avant de le faire, allons-y et sortons la charge parce que c'est ce qui a causé des erreurs dans ces zones. Erreurs. C' est bien, Leia gamin. D' accord. Pressé. Il a un feu d'arme et on peut voir ces lignes. droite. Parce qu'il était défini pour être un persistant. D' accord. Excellent. Donc pas de lignes, pas d'oreilles. Plutôt bien. Donc la silice prend ça. Donc nous tournons maintenant et vous pouvez voir ces lignes s'éteindre,
boum, boum, boum, boum. Et je vais là-bas. Et si c'est Seguin, voyez qu'il frappe des trucs parce qu'il a la petite ligne. Et puis ceux-là et moi, ne fais rien. Donc, évidemment, les munitions ne vont pas tomber. On n'a pas de recul. Tout un tas de trucs qu'il faut ajouter. Mais on y va. Je veux dire, notre arme tire. Nous dessinons ces tracés dans le monde, qui est exactement ce que nous voulons faire. Il vérifie que tu verrais cette distance là. Si j'en dessine un comme ça, tu le verrais. Donc de là à là, c'est comme ça que Fargo. Donc, comme si vous voulez changer cela, si vous ne voulez pas le choc et avoir autant de portée, allez-y et définissez cette variable de 10 mille par an et alors vous pouvez changer cela. Et tous les enfants disent que je ne suis pas un spectacle de lumière fou qui se passe ici. Oui. Ça a l'air cool. Voyez un o, vous pouvez voir comment en fait, je vais sauter hors d'eux. Vous pouvez voir comment il continue à traverser le vert. Donc, il est toujours à travers même si ça frappe quelque chose. Cool. Ça a l'air si oui, tout ça marche. Ouais, c'est tout. C' est tout pour cette vidéo. Donc, nous allons continuer à ajouter des choses à cela et à le rendre plus robuste. Nous voulons ajouter les sons et les effets et être en mesure de recharger et de nous assurer que leur nombre de munitions diminue réellement. Et puis aussi faire fonctionner les armes d'armes spécifiques, comment ils font ce fusil d'assaut automatique et le fusil de chasse est répandu et tout ça. Mais c'est la base de référence pour ce que toutes nos armes à projectiles vont faire, c'
est-à-dire tirer dessus. Et maintenant, nous avons des armes à feu, tirant avec des citations aériennes. Donc ce sera plutôt cool. J' espère que vous avez apprécié cette vidéo et je vous verrai la prochaine.
20. Reloger la fonctionnalité (partie 1): Salut tout le monde et bienvenue à une autre vidéo. Dans ces prochaines vidéos, nous allons ajouter, recharger notre jeu. Donc, dans
cette vidéo, ce sera principalement les maths derrière elle. Donc, obtenir nos munitions actuelles pour diminuer chaque fois que vous reshotez ou fusil dans un jeu pour comprendre comme si nous avons 0 balles dans le magazine pour recharger automatiquement et simplement faire des choses différentes comme ça. Et puis dans les futures vidéos, nous allons réellement ajouter des effets sonores et une animation et dans ce genre de choses. Donc, pour commencer dans celui-ci, nous allons aller à l'intérieur de notre base d'armes et nous allons créer une quantité décente de fonctions ici. Et entre les vidéos, il y a quelques choses que j'ai faites. Je viens principalement d'ajouter des boîtes de commentaires autour des choses et j'ai rendu certains des trucs un peu plus agréable. Voici donc notre tracé de ligne Calculer à partir de la dernière vidéo. Alors voici notre propagation de balle. Les acteurs alignés trêves vont frapper ceux qui vont ignorer. Donc juste des trucs ajoutés. Je me suis débarrassé de ces deux autres variables locales parce je ne pense pas que nous allons les utiliser, mais nous en avons besoin comme entrées. Nous n'avons pas besoin de les définir en tant que variables. Et puis j'ai fini par me débarrasser de cette variable de prises d'armes. Parce que pour mon projet, au moins chaque socket va être un flash museau. Mais si vous voulez utiliser différentes maillages d'armes que j'utilise à l'avenir. Vous voudrez certainement définir cela comme une variable afin que n'importe quel enfant de cette base d'armes, vous puissiez le définir dynamiquement à chaque fois. Mais je l'ai mis manuellement. Je crois que c'est tout. part cela, j'ai mis certaines de nos variables dans différentes catégories pour les garder organisées. Um, et comme je l'ai dit, si vous pouvez définir ça comme une variable si vous le souhaitez aussi. Je ne l'ai pas fait parce que par souci de simplicité, chaque arme de traçage de ligne va être à cette distance pour l'instant. D' accord ? Donc je pense que c'est tout. Et oui, on peut commencer. Commençons donc par créer une fonction et nous
appellerons ce calcul de rechargement. Ça contrôlera les calculs que nous faisons ici. Pour cela, nous allons avoir besoin de quelques variables supplémentaires pour ajouter à cet OData, ce que je l'ai appelé. Alors ajoutons une variable et nous appellerons ceci. Donc nous n'avons pas la taille du magazine CF. Cela va être de type entier. Tous ces nombres seront des entiers. Donc, vous avez la taille du magazine. Et puis nous avons besoin d'une différence de balle appelée. Pense que c'est ça. Nous pouvons les faire glisser dans la catégorie si vous ne voulez pas utiliser catégories, certainement pas besoin. Tout comme si vous ouvrez un enfant, si vous n'avez pas été catégories et ils apparaîtront dans ces petites catégories. Si vous ne faites pas ça, alors ce sera juste, ils seront juste comme une section vraiment, vraiment longue là-bas. Alors oui, commençons. Donc, la taille du magazine, cette variable devrait toujours être égale aux munitions actuelles. Donc, notre valeur par défaut est 30, alors nous allons juste définir cela sur 30. C' est quelle que soit la taille de notre magazine. Ce nombre ne va pas changer. Les munitions actuelles vont changer. Mais c'est le total. Donc la taille de notre magazine, Allons-y. Et obtenons notre ML actuel. Et nous allons les soustraire. Et puis nous allons définir ça comme la différence de balle. D'accord ? La façon dont je ne vais pas créer toute cette fonction alors juste expliquer un genre de ce qu'il fait après le fait. Tirer une différence de balle. Nous voulons obtenir un nombre inférieur ou égal à entier. Et nous voulons obtenir l'AMA totale actuelle. Et puis sortons pour se brancher ici. D'accord ? Essayer de penser à quand et comment expliquer ce que cela fait exactement. Allons-y, ouais, sortons dans la vraie branche pour l'instant. Et ne mettons-nous pas les munitions actuelles. Et nous allons mettre ça immédiatement pour le vrai et le faux. Excusez-moi. Alors rebut la taille du magazine et l'a branchée sur les munitions actuelles ici. Et puis on va récupérer notre total actuel de munitions. Et la différence de balle. On va les soustraire. Ensuite, nous allons définir ça comme les nouvelles munitions totales actuelles. Comme ça. Ça a l'air plutôt bien. Ok, et si ce résultat est faux, nous voulons prendre les munitions actuelles. Le total actuel des munitions. Et nous allons les additionner ensemble. Et puis nous allons définir ceci comme notre ML actuel, comme tel. Ensuite, nous voulons fixer notre total actuel de munitions à 0. Ok, alors qu'est-ce que tout ça fait ? Bon, donc voici les maths. Reste avec moi une seconde. Donc, nous avons la taille de notre magazine. Disons, utilisons juste 30, c'est 30. Donc notre magazine a 30 ans et nos munitions actuelles sont également 30. Pour le moment, disons qu'on tire en rond ou cinq tours, tire cinq tours. Donc, cela signifie que c'est 30 et c'est 25. Soustrayez cela, et puis cela équivaut à cinq. Si 5 est inférieur ou égal au total actuel des munitions, alors nous allons faire des choses différentes. Donc, ce total actuel de munitions est un très grand nombre. Donc le plus souvent qu'autrement, nous allons faire ça et je dirai juste des courses quand il y a des munitions de réserve. Donc le plus souvent qu'autrement, cette fonction va ou cela ne va pas être vrai la plupart du temps parce que notre différence de balle va être des nombres relativement faibles. Le plus grand nombre que cela peut être, comme il serait 30, 30 moins 0. Donc le plus gros disque pourrait être, serait 30. Donc, cela ne va courir au bas que si nous manquons de réserve AMA. Bon, alors suivons la vraie branche pour l'instant. Donc nous avons obtenu ce égal 55 est inférieur ou égal à 244. Donc on va courir ici. Et la taille de notre magazine, qui est de 30, va être définie comme les munitions actuelles. Donc, en d'autres termes, cela se transforme en 25. Nous le ramenons à la taille de notre magazine, qui serait 30. Et puis nous prenons notre total actuel de munitions, soit 244. Nous le soustrayons de la différence de balle, qui dans ce cas était de cinq. On a coupé cinq tours et on définit ça comme le nouveau total actuel. Donc, ce serait 239. Donc ce que cela fait, c'est qu'il prend, il met à jour le grand nombre. Donc, 12 dans ce cas serait la taille actuelle et aussi la taille du magazine. Donc ça prend ce numéro, ça revient à la taille du magazine, qui sera toujours 12 dans ce cas. Et puis c'est juste soustraire la différence de balle,
combien de balles on a tiré de ce back-end. Petit nombre 144. Disons qu'on aime manquer de munitions ou qu'on n'a pas beaucoup de munitions en réserve. Dans ce cas. On va juste faire ce maths. Donc on va prendre nos munitions actuelles. Nous allons l'ajouter au total actuel. Définissez cela comme notre courant parce qu'il ne sera plus égal à
la taille du magazine parce qu'il n'aura pas de magazine complet à nous rendre. Et puis il va mettre l'animal total actuel à 0 parce que nous n'en avons pas dans la réserve. Donc, cela se produira lorsque le montant de la réserve est inférieur à celui du magazine de munitions. Donc c'est le calcul qu'il fera quand il y a comme quand on court extrêmement bas et que les munitions sont essentiellement. D' accord, cool. Maintenant, on va faire deux chèques différents. Donc, créons une nouvelle fonction et nous dirons est MAG, plein ou vide, comme ça, quelque chose comme ça. Et sortons une branche d'ici. Et puis prenons nos munitions actuelles et notre taille de magazine. Et puis on va vérifier qu'ils sont égaux l'un l'autre. Parce que nous ne voulons pas recharger notre arme si notre magazine est complètement rempli. Donc je ne sais pas si nous sommes allés créer ça,
mais dans notre personnage, allons-y et avons-nous une boîte de rechargement ? Nous ne le faisons pas. Ok, alors créons une boîte de rechargement. Ça devrait être un booléen. Ils pouvaient déjà l'était. Les couleurs sont difficiles pour moi. Ok, alors prenons notre référence de joueur et nous allons définir peut recharger pour être faux. Parce qu'on ne veut pas recharger. Donc on peut dire comme ça, le rechargement d'Abel. Si le magazine est plein ou les réserves sont vides. Nous ne voulons pas, nous n'avons pas encore mis ce peut recharger n'importe où,
mais nous finirons par le faire. Et si c'est faux, nous ne serons pas en mesure de faire cet événement d'action que nous allons mettre en place. D' accord, et ensuite on y va, on veut une note de retour ici. Donc, nous allons retourner le résultat de ceci. On peut juste appeler ce terme valeur ou quelque chose comme ça. Et puis branchez le résultat de ceci là-dedans. Donc, nous allons retourner la valeur de cette fonction. Si c'est faux, on veut en sortir un autre. Si nous voulons dire, prenons nos munitions tonales actuelles et nous voulons nous
assurer ou vérifier si cela est égal à 0. Bon, donc si notre M0 total actuel est égal à 0, nous n'avons plus de munitions de réserve. Alors nous allons dire que nous ne pouvons pas recharger. On ne veut pas, on ne peut pas recharger quoi que ce soit. Et nous ne pourrons pas recharger si nous n'avons rien dans la réserve, essentiellement. Donc c'est comme une sécurité supplémentaire ici parce qu'il y aura des moments où comme les munitions actuelles et égal à une taille de magazine, non ? Vous avez à court de balles dans votre total actuel. C' est égal à 0, mais vous avez 30 et 30. Donc vous ne pouvez pas recharger. Mais disons qu'il vous reste cinq balles et dans la réserve. Donc, cela va courir à travers la fausse branche. Et puis cela garantit juste que vous ne pouvez toujours pas recharger parce que vous ne voulez pas être capable de tirer des munitions, à partir de rien essentiellement. Mais si vous, si cela n'est pas égal à 0, si ceux-ci ne sont pas égaux l'une l'autre main, cela n'est pas égal à 0. Je sais que ça peut devenir un peu déroutant. Canon. Nous allons définir peut recharger à nouveau. Et on va dire oui, on peut recharger. Et puis nous allons rendre ça aussi bien que ça. Et puis nous dirons active le rechargement. Le magazine est vide, mais les munitions sont laissées en réserve. Donc oui, on peut recharger si on a des munitions de réserve. Tout ça devrait fonctionner très bien. Donc, il y a cette fonction juste là. J' ai encore un couple à partir. Créons une autre fonction et disons, avons-nous M0 ? interrogation ? Ça va être facile. Et c'est en fait moins avec le rechargement et juste plus avec le pouvoir de tirer de l'argon. Alors obtenons notre AMA actuelle. Et disons juste plus que le retour. Nous allons dire a AML, c'est juste le nom de cela et retourner cette valeur. Donc, tout ce que celui-ci fait est se produit ou permet des événements de shoots de se produire si le joueur l'a fait. Donc si notre animal actuel est égal à 0, nous ne voulons pas pouvoir tirer. Ça devrait être assez simple. Celle-là. D' accord. Et puis on veut faire un autre contrôle pour voir s'il reste des munitions. Allons-y et faisons-le maintenant. Donc, créons une fonction de plus. Je crois que c'est le dernier. Et on appellera que c'est leurs munitions. Et on va taper. Donc HOD, et ça va être vraiment similaire à la dernière. Donc nous aurons le total actuel des munitions, cette fois, et nous dirons plus de 0. Et revenons un booléen et disons qu'il
reste des munitions comme ce plugin qui résultat comme ça retournera ceci. Et puis celui-ci dira juste comme des chèques pour voir s'il y a des munitions dans les réserves. Donc vous ne voudrez pas pouvoir recharger s'il n'y a pas de munitions et notre réserve. Donc, cela retournera vrai si nous, si notre courant, je vais étiqueter il est supérieur à 0. D' accord ? Donc nous avons fait toutes ces choses. Donc maintenant toutes ces fonctions sont créées. Donc maintenant on peut commencer à faire des trucs et faire en sorte que ça marche. Alors allons-y et faisons-le. Bon, alors revenons à notre fonction de tir de départ dans notre base d'armes. Et bien sûr, il y a beaucoup d'étapes à cela. Donc ça va prendre un peu de temps avant que ce truc fonctionne complètement, mais nos fonctions sont mises en place. Donc quand on tire, une chose qu'on veut faire est de prendre les munitions actuelles et d'en
soustraire une et de définir ça comme la nouvelle amplitude actuelle comme ça. Alors ressemblez à quelque chose comme ça. Et on peut juste dire soustrait 1 balles en tirant arme. Donc c'est assez simple, juste là. Mais nous voulons que notre jeu soit capable de distinguer et de recharger automatiquement. Nous sommes à court de balles et désactivons également la prise de vue. Reprenons donc notre mode noyau. Et nous verrons moins ou égal à 0. La raison pour laquelle j'ai un moins que et pas seulement égal à zéros parce que. C' est comme un coffre-fort supplémentaire que vous pouvez avoir là-bas. Juste au cas où quelque chose de bizarre se passerait dans vos balles en négatif. Ça va toujours courir. Et nous voulons créer un nouvel événement pour
recharger automatiquement notre arme quand nous manquons de munitions. Alors allons dans notre graphique d'événements et créons cet événement. Et nous allons créer un événement personnalisé et nous dirons auto, recharger sur vide. D' accord, et ensuite on peut juste retourner ici et on peut aller à la vérité. On peut dire rechargement automatique sur vide. Donc c'est tout mis en place. Vous pouvez mettre en évidence cette chose et nous dirons qu'elle devrait la correspondre. Charge lorsque le mag s'épuise. Quelque chose comme ça. Ça fonctionne très bien. Alors maintenant, nous pouvons le faire. Maintenant, notre objectif est de se recharger automatiquement et nous manquons de munitions et nous devons mettre en place cet événement. Allons-y et commençons à le faire. Donc, quand j'ai fait ça, au début, je reconnais ce problème bizarre qui se produirait. Donc, ce que nous allons faire, nous n'avons pas vraiment d'
animations de rechargement et nous voulons être en mesure de les définir pour un moment précis. Donc ce qu'on va finir par faire, c'est que l'arme sort de l'écran et remonte ensuite. Une chose que j'ai réalisé est que lorsque vous tirez sur la dernière manche du fusil de sniper, en particulier, l'arme commence à être tirée trop rapidement là où votre tir manquera essentiellement. Donc ton réticule sera aligné, tu tireras. Mais le pistolet commencera à se déplacer vers le bas à la seconde où les boulons actuels sont égaux à 0, sorte qu'il va commencer à vous visser vers le haut. Donc nous devons mettre un peu de sécurité supplémentaire pour ça. Alors allons de l'avant et attrapons le type d'arme et disons égal. Et on vérifiera si on tient le fusil cybernétique et on le tire. Si vous voulez faire quelque chose de légèrement différent. Si nous avons le fusil de sniper, essentiellement, nous pouvons juste dire que Snowbird cause des problèmes. Tellement maladroit comme ça. Je mets principalement ces commentaires ici pour vous les gars afin que vous puissiez regarder en arrière à perturber, en quelque sorte comprendre exactement ce que tout cela fait après le fait. Donc si nous utilisons le sniper, nous ne voulons pas le détruire, mais nous voulons retarder. Et tout ce dont nous avons besoin, c'est de 0,3 seconde. Et cela le rendra moins perceptible. Et puis nous voulons faire un événement de rechargement. Mais encore une fois, nous n'avons pas créé cet événement de rechargement. Alors revenons à notre personnage et à notre joueur. Et allons de l'avant et créons ça dès maintenant. Tu sais quoi ? Après avoir regardé ça, je pense que je vais enregistrer ça pour une autre vidéo. Donc, je ne veux pas rendre celui-ci super long parce que cette prochaine partie de rechargement va être un peu longue. Donc je vais le dire pour la prochaine. Alors j'espère que vous avez apprécié cette vidéo. Nous avançons dans cette série. Et oui, j'espère que ça vous plaira et je verrai dans la prochaine.
21. Reloger la fonctionnalité (partie 2): Bonjour à tous et bienvenue à une autre vidéo. Dans la dernière, nous avons commencé à ajouter des fonctionnalités de rechargement à nos hommes de jeu. Dans celui-ci, nous allons juste continuer ça. Alors allons-y et commençons. Donc là où nous avons ramassé, nous voulons créer un véritable événement de rechargement au lieu de notre joueur pour courir quand nous manquons de balles, quand nous tirons sur notre arme. Et puis nous allons appeler cet événement de rechargement plusieurs fois différentes. Nous devons donc y aller et le créer. Donc, faisons un événement personnalisé et appelons ce rechargement comme ça. Alors maintenant qu'il existe au moins, nous pouvons l'appeler dans le monde. Alors je vais retourner à notre base d'armes. Et je vais attraper notre joueur et je vais dire recharger. Donc, même s'il n'y a rien à l'intérieur de cet événement encore, je vais juste le brancher. Et puis je vais vouloir faire ça. On ne tient pas le fusil de sniper. Nous voulons pouvoir recharger. Et nous pouvons juste venir dans des boîtes et dire, Ouais, appelle
automatiquement l'événement de rechargement ou quelque chose comme ça. Et nous ajouterons une chose à cela éventuellement. Mais pour le moment, ça me semble bien. Et il a appris qu'il monte. Impossible de trouver la fonction 0, compiler. Pensez à tout ça, corrigé ce problème. Avant. Une autre chose que nous voulons faire avant c'est nous allons finir cet événement de tir parce que nous, dans notre arme, nous avons créé certaines de ces fonctions avant, que
nous allons finir cet événement de tir parce que nous,
dans notre arme, nous avons créé certaines de ces fonctions avant,
mais nous ne les avons pas branchées. Et ils ont plus à voir avec le tir que le rechargement réel. D' accord, donc à partir de cette vraie branche, on va faire une autre déclaration si. Et nous voulons avoir l'arme actuelle et nous voulons appeler Do
on a des munitions et on doit changer une chose très rapidement. Donc, de retour dans notre base d'armes pour avoir des munitions et leurs munitions sont laissées ? Ce que nous allons faire, c'est que nous allons cliquer sur Peer. Nous allons faire ces fonctions pures. Et en leur faisant des fonctions pures ici, je vais faire un NOP ici, et l'autre sera pair. Donc si je sors, on a des munitions ? Voyez comment il n'a plus de fil d'exécution. Et on dira qu'il leur reste des munitions. C' est donc une fonction pure et c'est ce qu'on appelle une fonction non pure. C' est comme, comme à quoi ressemblerait une fonction normale comme l'exécution, les fils d'exécution. Donc, quand vous le faites comme ça,
cela fonctionne plus comme une macro ou vous pouvez simplement le brancher directement et il n'a pas besoin d'avoir ces fils d'exécution blancs. Donc, nous voulons faire les deux puisque ceux-ci vérifient juste comme, vous savez, il retourne juste vrai ou faux basé sur quelques variables. On va les rendre purs. Donc, comme une autre façon de le faire. Donc oui, on va vérifier avant de tirer. On va dire qu'on peut tirer ? On peut. Et on va être comme, ok, bien, on a des munitions ? Si nous avons des munitions et notre magazine, alors nous allons aller de l'avant et nous allons tirer, nos armes, commencer à tirer, qui était cet événement ici. Ou la fonction, je suppose. Utilisez ces mots de façon interchangeable. Parfois. Si nous n'avons pas de munitions, alors nous allons vérifier, est-ce qu'il nous reste M0 ? Il y a des munitions du tout ? D' accord. Si il nous reste des munitions, on appellera ça recharger cet événement. Si on ne le fait pas, alors on va jouer un son 2D. Et il y en a un qui s'appelle feu sec. Et ceux-ci pourraient être vantés. Allons juste fente dans feu sec un pour l'instant. D'accord. Et puis on peut dire recharge l'arme s'il y a des munitions réservées. Oui. J' allais en dire un peu sur le pare-feu DRI ou sur un endroit semblable à la Terre. Donc, ce feu sec est juste comme si vous avez littéralement 00:00 AM une gauche, il le fera. Donc c'est comme si le dernier endroit où il peut aller est ici. Parce que rappelez-vous, si vous vous souvenez, est il MLF vérifie si nous avons des munitions totalement,
tout comme en général dans la réserve. Donc si nous avons des munitions, si nos munitions actuelles sont plus grandes que ça, alors nous pouvons tirer sur notre arme. Mais si ce nombre est égal à 0, il n'y a pas de balles dans notre magazine, mais nous avons toujours des réserves. Ça va se recharger. Si nous n'avons pas de munitions, notre premier grand nombre est égal à 0, nos balles actuelles. Et la plus petite, nos réserves, alors ce sera comme si vous n'aviez pas de MO, à gauche, point. La vie craint pour toi. Va en trouver plus. D' accord ? Maintenant, ce que nous allons faire, c'est que nous allons faire cet événement de rechargement et ça va être assez long. Donc je vais faire glisser ça vers le bas et Sue un peu d'espace ouvert, traîner un fil. Et comme d'habitude, nous voulons faire un chèque. Et je vais stocker ça dans une macro et dire, peut-on recharger ? Typiquement, j'utilise des macros quand j'ai plusieurs booléens que je veux vérifier en même temps exact. Typiquement quand j'utilise comme un ET ou un OR. La première chose que nous allons être, ne nous rechargeons pas ? Et nous avons des armes de commutation. Et ne pas changer d'arme. Et on va dire ou ici. Et puis renvoyez cette valeur. Afficher ce que dit cette macro. Cela reviendra vrai si nous ne rechargeons pas ou si nous ne changeons pas d'armes. Donc, je ne veux pas pouvoir recharger si nous sommes déjà recharger ou si nous sommes actuellement en train de changer d'arme. Et la commutation d'armes ne dure que 0,3 seconde. C' est une animation très rapide, mais je ne veux pas déranger ça parce que ce serait bizarre. Alors faisons glisser peut-on recharger et brancher cette macro ? D' accord, et puis hors de la vraie branche, donc nous ne sommes pas recharger sont prêts, nous ne changerons pas d'armes. On va faire trois choses différentes. Alors avons-nous rechargement ? Nous voulons que cela soit vrai. Peut tirer. Nous voulons que cela soit faux. On ne veut pas pouvoir tirer pendant qu'on fait ça. Et vise. Aussi faux ? Je ne veux pas être capable de viser plus. On fait ça. L' autre chose que nous voulons vérifier, c'est que nous voulons obtenir comme sprint. Et nous dirons non. Et nous dirons branche. Et on vérifiera. Si on ne fait pas du sprint pendant qu'on fait ça. Ensuite, nous voulons obtenir le composant de mouvement de personnage. Nous voulons régler notre vitesse de marche maximale à quelle que soit notre vitesse de marche maximale, je la mets à 750. Donc ce que cela fait ici, c' est que c'est que cela accélère ce joueur s'il recharge pendant qu'il vise. Donc, ce que nous allons faire, c'est quand nous viserons les sites de
notre arme, notre personnage va ralentir. Ils ne bougeront pas à 750 vitesses. Donc, si nous ne sommes pas en train de faire du sprint, nous voulons simplement réinitialiser. C' est juste réinitialiser notre vitesse à sa valeur par défaut. D' accord, et on s'occupera de ça, puis à plus tard. C' est en fait un cas précis que nous allons faire pour les fusils de chasse. Parce que les fusils à balles nous voulons que le rechargement fonctionne un peu différemment parce que ce sont des granulés individuels. Ok, maintenant sortons une chronologie et on appellera cette arme qui s'est abattue. Et nous allons jouer ça dès le début à chaque fois. Allons l'ouvrir sur une piste flottante. On appellera ça le retrait. Vous voulez que cela dure cinq secondes. Nous allons ajouter deux images clés. Le premier B au temps 0, valeur de 0. Le second sera au temps 0,5 et une valeur de un. Donc ça ressemblera à ça. Ce qu'on veut faire, c'est faire ces voitures. Donc c'est juste un peu plus lisse comme ça. D' accord, encore une fois, tu ne veux pas que ça bouclette ou quoi que ce soit. Fermez le ton et gardez ça ouvert. D' accord. Donc, à partir des mises à jour, nous voulons vérifier si nous sommes recharger et il sort la mise à jour si elle n'a pas déjà mentionné cela. Donc sont-ils mis à jour si nous rechargeons, alors nous voulons réellement promouvoir cela à une variable et nous appellerons ce timer pull down. Donc, nous sommes essentiellement juste de définir cette 0,5 comme une variable et de nous assurer que nous sommes en train de recharger pendant que cela se passe. Quand cela se termine. Donc ça finit cette 0,5 seconde, on va frapper un retard. Dans ce retard va être promu dans. Cela va être connu sous le nom de rechargement. Oh, en fait, reprends ça. Ne mettez pas en temps réel ici. Allons dans la base d'armes et faisons le temps de rechargement. Parce que nous voulons pouvoir appliquer cette variable à nos Blueprints enfants. Alors fais ça un flotteur et puis attrapons l'arme actuelle. Le temps actuel de rechargement des armes. Whoa, pas ce qu'on veut. D' accord. Et nous allons définir ça comme le retard. Comme ça. Et vous pouvez faire ce temps par défaut comme 1,5 seconde ou tout ce que vous voulez. Ce sera votre temps de rechargement par défaut. Quand cela sera fait, nous voulons faire une autre chronologie et nous appellerons cette arme tirer vers le haut. Il va tirer notre arme. Donc ça va bouger notre arme vers le bas. Et il va retirer notre arme vers le haut ? Nous voulons que ça joue toujours dès le début. Vous maintenez le contrôle enfoncé et attrapez la note si vous n'êtes pas familier à le faire. D' accord. Et ça va être exactement le contraire des autres. Donc on va appeler ça. Et deux images clés, 0,5 seconde. Celui-ci va être fois 0 valeur d'un. Le second sera le temps de 0,5 et la valeur de 0, ce sera l'inverse de l'autre. Et nous allons faire de l'auto, faire ça aussi. Donc, il se déplace de cette autre valeur, le 100 pour cent de lui-même. Et pour revenir à l'original, Cool, Cool, Nous sommes en train de sortir de la, nous allons saisir ceci et prendre deux autres d'entre eux et retirer cela des mises à jour ainsi que de la fin, juste pour s'assurer que que nous sommes encore en train de recharger. Et puis ça va être nous pouvons juste mettre la minuterie à nouveau ici, comme ça. Tu n'as pas besoin de le faire. Même si elle est abaissée, la minuterie fonctionne toujours pour eux. Tirez vers le haut, c'est bon. Et voilà ce qu'on veut faire. Maintenant. Nous voulons récupérer notre arme actuelle et nous voulons recharger le calcul. Donc tu te souviens que c'est ce qui fait les maths. maths pour les balles. Ouvre ça. C'est cette fonction. Donc il fait les calculs pour nous. Et il le fait quand on a
fini de tirer l'arme vers le bas, de la remonter. Et alors tout ce que nous avons à faire est de recharger et de définir ça sur false. On ne se rechargera plus. Et prendre peut tirer et dire, oui, vous pouvez tirer sur votre arme maintenant. C' est donc tout ce qui fait là. Et puis pour quelques petits morceaux de flair ici, nous pouvons aller dans notre base d'armes et ajouter une variable et nous appellerons ce son de démarrage de rechargement. Et nous allons faire ça de type sonore. Voulons-nous en faire un signal sonore ? Je suppose que ça dépend de l'endroit où on l'insère comme bon. Laissez-moi juste vérifier rapidement ce que j'ai fait avant mes notes et je reviendrai dans une seconde et quel type de variable que j'ai fait. Ok, donc j'ai fait que c'est une onde sonore. Donc onde sonore, référence d'objet, recharger, démarrer le son. Et puis nous ferons un rechargement et un son. Oh mon Dieu, je ne veux pas de cette apostrophe. D' accord, et donc ceux-ci peuvent être insérés comme n'importe quoi. Donc maintenant de retour dans notre joueur ici, hors de, pour ce timer timer, faisons-le. Faites un noeud une fois, comme ceci. Et puis nous allons jouer un son 2D, aura ce son serait l'arme actuelle. Et obtenez le son rechargé et branchez-le comme le son comme ça. N' hésitez pas à changer le volume. Comment aimez-vous ? Ensuite, nous aurons un nœud de retard. Il aura son retard pour une seconde. Et puis on va réinitialiser notre du une fois. La raison pour laquelle nous le faisons de cette façon est juste pour nous assurer que le son ne soit pas lu plus d'une fois. Parce que, comme parfois, vous pouvez vous faire attraper et ces minuteurs et faire ce type de spamming vraiment bizarre, ce qui est juste très gênant à chaque fois. Et puis sortir de là, c'est le faire hors d'ici. Laissons jouer le son. 2d, enroulez vers le haut. Et nous obtenons le son de démarrage de rechargement. Et puis faites-le comme ça. Bon, donc voici nos événements de rechargement tous terminés comme ça. Nous allons recharger, nous allons nous assurer que nous ne
changerons pas d'arme ou ne nous rechargeons pas. Ça va rester bien comme ce spam. Et nous allons dire que nous sommes en train de recharger, nous ne pouvons pas tirer, ne pouvons pas viser. Nous allons vous remettre nos promenades à la normale, en jouant un son. Ensuite, nous allons lancer cette petite animation qui sera mise en place dans une prochaine vidéo. Nous allons relier cela dans notre plan d'animation. Ensuite, nous allons le faire pour, nous garderons l'arme là-bas pour le temps de rechargement. A chaque fois qu'on l'insère, il retirera l'arme. On va faire les calculs pour nos balles. Et on dira qu'on ne se rechargera plus. On peut tirer et ensuite on jouera ce son. Bon, donc ça marche. Super. Nous pouvons commenter boîte comme cette section ou quelque chose et nous dirons contrôles. Animations pour nous allons juste dire pour le rechargement, être générique à ce sujet. Comme ça. Seulement comme les dos communs, certaines parties du script que c'est comme ne savent pas vraiment ce qu'il fait ou quelque chose comme ça. Donc oui, tout a l'air bien. Nous n'avons qu'une chose à faire. Alors faisons cela maintenant, allons dans les paramètres de notre projet. Et créons réellement une entrée pour ce mappage d'action. Appelez-le un rechargement, et faites-le lier à la touche R. Typique des trucs de tir à la première personne. Ensuite, dans nos mappages d'action joueur, Allons-y et aller en dessous, recharger, voir, l'événement d'action recharger. Et faisons quelques choses ici. Alors prenons la charge comme d'habitude et allumez-la. Donc je veux seulement être capable de le faire si nous avons réellement un pistolet pour prévenir les insectes. Parce que si je frappe R et que je n'ai pas d'arme, ça va devenir confus. Alors prenons l'arme actuelle. C' est là que certaines de nos fonctions vont entrer en place, c'est un mag, plein ou vide. Et si vous êtes membre en tant qu'arme, si vous vous souvenez, nous avons une valeur de retour. Notre magazine est plein ou vide ? Il fait ça. Tourner. Cette variable peut être rechargée et désactivée. Donc si nous pouvons recharger, la prochaine chose que nous voulons vérifier, c'est qu'on sprinter ? On y va. Si nous essayons de recharger et que nous sommes en train de sprinter, alors nous voulons appeler le mouvement arrêté. Si vous vous souvenez, cela ralentit notre personnage à nouveau à la normale et commence la régénération de notre endurance pour ne pas sprinter. Ensuite, on sortira une autre branche et on arrêtera les mouvements. Nous organiserons cet événement, puis nous continuerons sur ce chemin. Ensuite, on aura l'arme actuelle. Et nous voulons vérifier si nous sommes actuellement, euh, nous n'avons pas encore créé ça, n'est-ce pas ? Hm, ok, eh bien faisons-le alors. Alors créons une nouvelle variable dans notre bassin d'armes. Appelez qu'il tire, faites-en un fanon. D' accord, et puis je veux, veux faire une nouvelle fonction. Ça va être la fonction la plus pathétique que tu aies jamais vue de ta vie. Mais on va appeler ça arrêter le tir. Et tout ce qu'on va faire pour arrêter de tirer, c'est de tirer et de le rendre faux comme ça. Littéralement, c'est tout. Et puis à l'intérieur de notre départ à tirer de cette trace de ligne juste pour l'instant. Faisons, c'est tirer vrai comme ça. Donc maintenant de retour dans notre joueur, Allons tirer. Donc, nous tirons. Il a tiré un cerveau. Mais nous l'avons déjà fait. Ingênant. D'accord. Donc si nous essayons de recharger pendant que nous tirons notre arme, nous ne voulons pas continuer à tirer sur l'arme pendant que nous rechargeons, car alors les calculs vont devenir vraiment confus. Nous maintenons la gâchette de l'arme automatique ou les balles actuelles tombent, mais il essaie aussi de faire le calcul. Donc on veut être, on veut arrêter de tirer comme ça. Et puis ajoutons le faux appel, rechargez-le, puis faites-le glisser comme ça. Donc si on est ouais, alors les tirs cesseront de tirer avant qu'on puisse recharger. Si nous ne tirons pas, alors il se rechargera. Donc on peut dire que les arrêts de tir ont disparu pendant le rechargement. Donc il y a plein de ces petites choses bizarres que tu ressembles, oh, tire tout mon arme pour que j'essaie de le recharger. Mais ce sont les choses quand votre script et vous devez penser à tout. Alors on a quoi ? pensant à tout ce cours, OK, je dois couvrir. La prochaine chose à faire est de se diriger vers vos enfants d'armes. Et vous pouvez insérer quelques sons pour le rechargement, le début et la fin. Et puis vous pouvez définir un temps de rechargement. Et puis assurez-vous que vous venez d'entrer et assurez-vous que la taille de votre magazine n'est pas à 30, ce qui est la valeur par défaut. Réglez-le sur ce que vous avez est vos munitions actuelles. Et puis si vous entrez et jouez, vous verrez que si je prends le pistolet, par
exemple, et que je tire des munitions TCR va tomber. Si j'appuie sur la touche R, c'est rechargement et si j'essaie de tirer, Il ne me laisse pas jusqu'à ce qu'il soit réinitialisé à 12 et je peux tirer. Alors si je laisse ça revenir à
0 et que j'essaie de tirer pour que me laisser ça se recharge automatiquement et ça a fait tout ça pour moi comme ça. Et si je devais faire quelque chose comme, voyons, je mets ça à 24. Laisse-moi juste mettre ça à 12 ou quelque chose comme ça. Si je viens ici, tu as un pistolet et je tire et je manque de munitions. Donc c'est recharger juste là. Maintenant, si j'essaie de recharger, Il ne me laisse pas recharger parce que j'ai 0 et la goulotte de réserve ne me laisse pas recharger. Toujours pas. Et puis je ne sais pas, je ne peux rien recharger. Je suppose que la seule chose qui s'est produite est où est-ce qu'il a joué le son de rechargement. Mais ce serait une solution rapide et facile que nous pouvons simplement mettre en œuvre. En s'assurant qu'en faisant un chèque comme ça, il leur reste des munitions. On pourrait ajouter une branche ou quelque chose comme ça ici, puis juste là faire ça. Mais oui, ça devrait être assez facile à mettre là-dedans et à faire. Intéressant. Oui. D'accord. Eh bien, je vais arranger ça et je te
recontacterai pour trouver quelque chose qui marche. Mais oui, c'est du rechargement. En un mot. Tout fonctionne. C' est magnifique. Alors merci d'avoir regardé. Je te verrai la prochaine.
22. Relief des animations d'armes: Bonjour à tout le monde et bienvenue à une autre vidéo. Dans celui-ci, nous allons continuer avec notre fonctionnalité de rechargement pour pouvoir réellement animer ou arme. Donc entre les vidéos, j'ai fait quelques choses que vous avez faites aussi. Si ce n'est pas le cas, prenez le temps de le faire maintenant. Alors je suis allé dans chaque arme et j'ai mis différents sons sont utilisés, le bas et les rayons ceux, je me sens comme qu'ils sonnent mieux que ceux qui font partie de ce pack qui sont en fait appelés recharger, mais c'est à vous de voir. En fait, changez un peu la propagation de la balle sur ceux-ci. Ceux-ci n'ont d'importance que. En fait. En fait, c'est important. Et d'autres armes allaient dire que ce n'est important que sur le scan 12. Ça n'a pas d'importance du tout. J' ai dit un temps de rechargement et puis je me suis assuré que la taille du magazine dans l'Emma actuelle était la même chose. Donc maintenant, si nous entrons dans le jeu et prenons une arme, tirez, rechargez. Différents sons et tout. Oui, tu comprends l'idée. Une chose que je voulais montrer, alors rappelez-vous dans une vidéo précédente que j'ai parlé de comment quand nous sprint, nous voulons faire quelque chose pendant que nous essayons de sprint, dépanner pendant que nous tournons. Et je vais le démontrer maintenant. Donc il n'y a pas de boulons qui sortent. Mais VC, si je cours et tire, l'arme est pointée vers la gauche, mais elle tire toujours droit. Donc c'est une chose que nous voulons réparer. Donc si nous entrons dans le joueur et que nous allons en dessous, a une arme, ce que nous avons fait avant de créer cette fonction d'arrêt de tir. Alors allons-y. J' en ai mis certains dans des catégories. Je crois que j'en ai fait une qui s'appelle une arme, l'arme actuelle et on a fait cette fonction d'arrêt de tir la dernière fois. Branchez ça, puis branchez ça en jeu. Comme tel. Et puis je pourrais juste rediriger vers tout ça et le déplacer un peu. Ça peut être. Ok, alors maintenant on arrête de tirer. Je ne pense pas que ce n'est peut-être pas toutes les étapes pour ça. Ce n'était pas oh, je crois que je sais pourquoi. Attendez 1 seconde. Oui. Donc une autre chose que nous devons faire est que nous devons aller dans nos mappages d'action dans notre joueur et en fait ajouter un peu plus à cela. Donc, continuons et commençons par copier en collant ceci. Nous voulons ajouter quelque chose sur la sortie juste en général. Mais à partir de ce début, je vais briser cet indice pour l'instant. Donc si nous avons une arme, nous voulons faire quelques contrôles différents. La première, c'est qu'
on va devoir créer une nouvelle variable pour ça et dire que c'est le chargement du feu d'arme. C' est quelque chose que nous allons ajouter plus tard. Nous ne le ferons pas, donc nous sortirions de la vraie branche. Cela va nous permettre. Donc, si vous allez dans le jeu en ce moment, peut ne pas fonctionner ce plug-in. Donc si vous remarquez que nous pouvons tirer sur cette arme aussi vite que nous pouvons cliquer. Et la même chose vaut avec le fusil de sniper. Et la même chose vaut pour la grenade. Nous voulons qu'ils aient des taux de tir
réels afin que cette variable puisse contrôler cela plus tard. Pour s'assurer que nous ne pouvons pas simplement tirer sur le spam. Mais alors nous voulons vérifier si nous sommes en train de sprinter, de louer. Si on est en train de sprinter, première chose qu'on veut faire est d'arrêter le mouvement, et ensuite on peut tirer. Nous ne les lançons pas, nous allons juste tirer. Alors. Faisons cela quand nous relâchons ce est principalement pour les armes automatiques sera maintenez la gâchette pour C'est principalement ce que le tir d'arrêt. Qu' est-ce que c'est principalement pour arrêter le tir, mais nous pouvons simplement copier et coller cela. Faites-le glisser en dessous. Et si on a une arme, on arrêtera de tirer. Elle ne fait vraiment rien. Ils sont principalement juste des travaux pour les armes automatiques sont arme automatique, mais maintenant si nous arrivons au jeu, cela devrait fonctionner. Maintenant, je suis en train de faire du sprint et puis je tire. Vous pouvez voir comment mon arme fait face vers l'avant et ma vitesse de déplacement est réinitialisée à la normale. D' accord. Donc maintenant, tout est fixe et bien et bon. Alors oui. Maintenant, ce que nous pouvons faire, c'est nous pouvons aller dans le plan d'animation de notre personnage. On peut vraiment animer ça. Allons donc dans notre graphique d'événements et nous allons vouloir créer quelques autres références ici. Donc, créons une minuterie appelée pull down de type. Et on appellera un est. Et chargement d'un booléen. Et comme avant avec ces autres, nous voulons attraper le joueur et nous voulons obtenir cette variable pour tirer vers le bas minuteur. Et nous voulons définir cela comme la minuterie de tirage vers le bas. Ici. Tu te souviens qu'on a créé cette minuterie. Nous le définissons ici, définissons ceci comme une variable ici, puis définissons cela comme la même variable ici. Je vais rallonger ça. Donc je vais mettre ces deux dans la même boîte. D' accord. Alors allons de l'avant et aussi obtenir est que nous allons définir ces rechargement, celui d'ici. Et on retrouvera le joueur. Et obtenir est recharger comme ça. Ok, donc maintenant nous avons ces variables synchronisées depuis notre lecteur dans notre Blueprint Anime. Maintenant, nous pouvons retourner dans notre graphique d'animation. Et puis on a une pose d'arme. Supprimons la pose d'arme de la sortie parce que nous allons devoir l'utiliser maintenant. Allons-y et attrapons une pose d'arme comme ça. Et nous allons à nouveau transformer l'os de modification. On veut juste faire la rotation. Oui. Ouais, ouais. Donc, nous voulons sous-exposer la balance. Nous garderons la traduction et la rotation. Et on va les diviser tous les deux comme ça. Donc, nous obtenons un noeud qui ressemble à ceci. Cela va ajouter comme un local les composants automatiquement. Ok, et puis reprenons une pose d'arme. Et nous voulons mélanger les poses par un bool. Et puis ça va se brancher dans une nouvelle pose d'argent. Et nous allons appeler ça beaucoup je vais poser, je suis juste un peu ce que les noms aléatoires à ce stade. Et puis nous aurons la charge de poser la sortie. Donc juste pour passer par une étape supplémentaire ici, nous voulons que ça se branche. Un faux sera un peu. Alors la pose d'arme va être vraie, correcte. Ensuite, nous allons saisir est recharger et dire ne pas recharger. D' accord. Donc, si, si nous ne rechargeons pas, alors nous prenons juste moins essentiellement, qui est ce que nous avons utilisé les innovations. Mais si nous rechargeons que nous voulons transformer, modifier un os, notre valeur alpha sera notre minuteur de retrait. Alors que 0,5 secondes de passer de 0 à un, puis un retour à 0. Et nous allons traduire dans l'y du rôle
de cinq rotation et le x. ça devrait être tout. Oh, on doit vraiment vouloir faire la colonne vertébrale, la colonne 1. Donc enlever tout ça vers le bas. Donc ce n'est toujours pas comme moi. Oh, veillons à ce qu'on ajoute à l'existant pour les deux. C' était là le problème. Ok, cool. Donc maintenant, nous pouvons commenter cette boîte et disons qu'il se déplace vers le bas, bien recharger. Et il va le garder là-bas jusqu'à ce que notre minuteur de rechargement soit épuisé, ce qui est dynamiquement défini par nous dans le temps de rechargement variable. Donc c'est à ça que ça ressemble. Maintenant, si on entre ici et que je prends mon arme et que je le tire quelques fois et que je le recharge, déplace vers le bas, le ramène vers le haut. Et je frappe notre maintenant en essayant de recharger. Ce n'est pas l'animation, ce n'est pas le tournage. Je n'ai plus d'étudiant de munitions automatiquement. En bas. On y va. Ça marche parfait. Maintenant, nous avons un système de rechargement complet dans notre jeu. Il fait toutes les maths. C' est, c'est animant, faire les choses automatiquement pour nous quand on est à court. Cela ne nous permet pas de tirer un but et nous pouvons même nommer en général maintenant, mais cela ne nous permettra pas de faire certaines choses. Oui. Je ne vois aucun problème avec ça en ce moment. Je pense que tout fonctionne bien, alors oui, dans la prochaine série de vidéos, nous allons continuer à ajouter
des fonctionnalités ou des armes, à les personnaliser et à faire des trucs cool. Alors j'espère vous y voir.
23. Prise de vue du pistolet: Bonjour à tous et bienvenue à une autre vidéo dans
celle-ci, celle-ci sera probablement la plus courte à ce jour. Je pense qu'on verra parce qu'on va pouvoir tirer sur notre pistil. Là. On va commencer à installer ces armes avec des trucs cool. Allons à notre dossier d'armes et ouvrons l'arme du pistolet. Ouvrez l'éditeur de Blueprint complet. Et nous pouvons supprimer ces nœuds. Maintenant, vous devriez avoir dans votre fenêtre, votre pistolet juste ici comme maillage de votre arme. Et vous pouvez définir la quantité de pistolet, les munitions actuelles, et certaines de ces choses. Mais ce qu'on veut faire, on veut juste faire deux choses très faciles. On voulait avoir un événement. Commencez à tirer. Nous faisons un clic droit sur cela et nous allons ajouter appeler la fonction parent comme ça. Donc, nous créons, nous lions cet événement à celui qui existe dans le parent juste ici. Quand nous tirons sur cette arme particulière, nous voulons, prenons le maillage de l'arme. Et nous dirons Play Animation, l'animation que nous voulons jouer. Donc ces armes sont venues avec des animations. Il y en a un qui s'appelle Feu Pistol W. Vous pouvez naviguer jusqu'à ça et ouvrir ça. Donc on a ce bruit. Il y a un peu étrange, mais nous obtenons un petit flash de museau que vous voyez le marteau bouger comme ça. Donc c'est l'animation va jouer comme ça. Et puis nous voulons obtenir le poids de rechargement des événements. Et nous n'avons pas à faire ça. Et puis recharger le calcul. Faisons-le juste pour être sûr que cela fonctionne sur cette arme comme prévu. On n'a peut-être pas besoin de le faire comme ça, mais je vais juste l'ajouter pour être sûr. Donc maintenant, si on va jouer, on aura notre pistil. On tire. Maintenant, on peut tirer sur l'arme. Et on dirait que c'est en train de tirer. On dirait qu'il devrait être remarqué. Vous pouvez voir comment ces balles sont comme maintenant parfaitement atterrissage du radical. Et c'est parce que notre propagation de balle est comme ça. Si je devais retourner ici et aller à propagation des
balles et que je suis à 250 citoyens de l'IA que 750,
comme quelque chose de vraiment grand. Juste pour le démontrer, les
jaunes atterrissent partout. Je veux que mon pistolet soit assez précis. Ils le sont. C'est comme ça que vous devriez le PESTEL. C' est tout ce qu'on a à faire dans cette vidéo. Alors la prochaine, nous allons ajouter un peu plus à la base d'armes et ajouter un peu de recul. Va faire ça. Et puis nous allons commencer à pouvoir tirer le reste des armes, qui sont certes toutes plus compliquées que ce pistolet. Mais celui-là était pour vous montrer comment c'est fait. Alors merci d'avoir regardé. Je verrai dans la prochaine.
24. Ajouter des recul réaliste: Hé tout le monde et bienvenue à une autre vidéo. Dans cette vidéo, nous allons ajouter du
recul à nos armes pour leur donner un peu d'arme, leur donner un
coup de pied, les tirer verticalement en l'air pendant que nous tournons, juste pour qu'elles se sentent un peu plus réalistes. Alors allons-y et faisons-le. Nous allons vouloir aller dans notre base d'armes, que j'ai déjà ouverte apparemment. Et nous allons le faire à l'intérieur de notre graphique d'événements. Alors, prenons un peu d'espace ouvert. Et nous allons créer trois événements personnalisés. Un appelé Start Recul. On va avoir un stop recoil et un autre appelé reset recoil. Donc celle-là va faire monter l'arme. Ça ne va pas empêcher ça de se produire et celui-ci va remettre l'arme
vers le bas pour nous. Pour rendre le jeu un peu plus agréable pour nous. Pour être en mesure d'accomplir cela. On doit utiliser une chronologie. Alors appelons ce recul. Bien sûr. Cela va toujours jouer dès le début. Ce recul d'arrêt va être arrêté et réinitialisé. Ça va être à l'envers. Et nous pouvons appeler ce recul inverse pour le
rendre plus cohérent avec les noms de la chronologie pour vous comme ça. Allons de l'avant et ouvrons cette chronologie. Ça va être très, très rapide. Celui-ci, ça va être une piste flottante, lui, construire son nom. Cet alpha sera le point 1, 0 secondes de long. Et puis sur ce très court, alors nous voulons avoir trois images clés. Vous définirez l'une des valeurs Time 0 et la valeur 0. Le second sera le temps de 0,02 dans une valeur de un. Et puis celui-ci va être temps 0,1 en valeur 0. Et comme d'habitude, nous allons les définir pour être automatiques pour leur interpolation clé. C' est à ça que devrait ressembler notre chronologie. Nous n'avons pas besoin d'une boucle ou de faire quoi que ce soit d'autre pour pouvoir en finir comme ça. La prochaine chose que nous voulons faire est que nous sortirons de cette direction. Il s'agit d'une énumération qui est automatiquement sortie de cette chronologie. Nous ne l'avons pas fait nous-mêmes et nous allons l'allumer. Ensuite, hors de la mise à jour, nous voulons le faire. Et donc c'est obtenir une direction de l'avant ou de l'arrière, ou de l'avant ou de l'arrière. Ok, hors de notre chronologie, allons de l'avant et prenons le personnage du joueur. Et nous voulons ajouter l'entrée de pitch du contrôleur. D' accord, donc pour l'avant, on veut que ça aille sur le terrain. Et pour l'arrière, nous voulons aussi que cela aille dans le terrain. Nous allons définir la vitesse des valeurs différentes. Alors traînons hors d'ici. Et nous allons nous rappeler que l'alerte est l'interpolation linéaire. Donc il passe de A à B au-dessus d'Alpha. Donc ça va de A à B sur Alpha, c'est comme une certaine période de temps. Donc, comme vous pouvez apprendre deux numéros différents ou travaillé avec des couleurs. Donc, si vous avez un est comme bleu et B est rouge, peut boucler comme 1 seconde et il va, au lieu de clignoter, il va en quelque sorte disparaître d'une couleur à l'autre. Il y a donc différentes façons de les utiliser. Donc alpha va être notre valeur alpha, qui va finir par être 0,1 seconde. A va être laissé à 0 et B va être promu à une variable. Et on appellera ça coup de pied d'arme. Ça va être comme à quel point notre arme déclenche en l'air toutes les 0,1 secondes. Donc, si on compile ça, oh mon Dieu. Définissons simplement ceci pour être négatif 0.05 par défaut. Donc pas beaucoup. Ensuite, cette valeur de retour va être ces valeurs. Juste pour celui-là, pour l'arrière, nous allons le multiplier par négatif. Donc, ou oui, j'ai dit négatif, mais je ne l'ai pas tapé. Je voulais être l'inverse pour les reculs comme ça. Et nous avons besoin d'un branchement qui dans la cible parce qu'un ou un qui me donnait une erreur. D' accord, donc ça a l'air bien. Allons de l'avant et je vais juste obtenir le personnage du joueur une autre référence à elle. Et puis hors d'ici, nous allons ajouter le contrôleur, votre entrée. Donc on va juste faire monter et descendre ça. Nous allons aussi faire une sorte de hochet de gauche à droite un peu. Dans pour cette valeur. Allons-y et obtenons un flotteur aléatoire à portée. Et on va faire ça. Point négatif 15 à points positifs 15, comme ça. Vous pouvez vous sentir libre d'augmenter ou de diminuer, changer ces chiffres où vous voulez en le testant et en le faisant à votre goût. Maintenant, une fois que nous aurons terminé cette chronologie, nous allons vouloir inverser le recul. Donc on va l'inverser. On va le renvoyer à l'arrière. Comme ça. Ça ne m'a pas vraiment aidé à ce point. Ce nœud de réacheminement semble bien. On va l'inverser. Ensuite, nous allons avoir une lecture Trigger va retarder. La différence entre un retard dans un délai récupérable est qu'il est dit ici. Effectuez une action avec un délai récupérable, appelant l'action pendant qu'il est compté à rebours, nous réinitialiserons le compte à rebours à la durée. Donc la raison pour laquelle nous voulons lire un double déclencheur ici, c'est parce que si nous sommes en marche
arrière, et que cette minuterie est en panne, et qu'elle compte toujours et qu'on recommence à tirer. Nous voulons ramener ce retard à ce qu'il était avant. Et nous voulons commencer à remonter vers le haut. Sélectionnez, nous voulons aller comme boum, et puis il commencera à revenir et nous tournons à nouveau. Nous le voulions et nous pouvons le faire. Donc oui, il peut être lu déclenché et ensuite nous voulons arrêter ou reculer après 0,05 seconde. Donc, c'est comme un temps vraiment, vraiment court. Allons de l'avant et des boîtes de commentaires, tout. Et nous dirons que cela ajoute un effet de recul à des armes comme ça. La dernière chose que nous devons faire est que nous devons, Commençons l'événement de recul. Ça va être en début de tournage. Donc, après avoir calculé la trace de ligne, disons juste commencer le recul comme ça. Et puis on dira qu'il tire comme ça. Donc maintenant, nous ne pouvons peut-être pas le remarquer trop, mais nous devrions voir un peu, je suppose, le mouvement de l'écran. Si je ne bouge pas le bouton droit de la souris, voir qu'il cliquete un peu l'écran. Ça monte si je devais faire ça. Alors allez dans le pistolet et faisons ce nombre ridicule comme négatif vous fait essayer de vous rappeler si les négatifs font pire ou mieux et voir. Oui. Donc, comme négatif deux a peut-être un peu trop ridicule. Oui, je vois ça. seau comme un Bronco. Donc négatif serait beaucoup comme négatif 1 ou ça pourrait être comme le recul de votre lanceur de fusée. Comme si, je suis, je ne vais pas bouger la souris et ça va cliquer. C' est comme ça que ça déménage. Donc 0.05 pour comme un pistolet est assez bon, a
juste un peu de recul à elle parce que vous pouvez tirer si vite. Comme ça. Tu vois, ouais, tu peux te sentir libre. Et nous, on ne peut pas vraiment tirer sur ces armes. Donc ça pourrait être quelque chose à faire pour plus tard. Mais je vais ajouter ce coup de pied d'arme dans nos données d'armes. Ouais, donc c'est une autre variable qui peut être
réglée dynamiquement en fonction de l'arme. Je pense que le fusil automatique était comme négatif 0,1. Alors que pour vous donner un exemple. Donc oui, ce rappel va se produire, que vous visiez ou non. Donc, c'est que j'ai un recul, pas un complexe super fou où ajoute un peu de tangage dans les entrées de lacet sur notre écran quand on tire sur le pistolet. Alors j'espère que vous avez apprécié cette vidéo, trouvé utile, trouvé instructif. Et je te verrai dans la prochaine.
25. Prise de vue le fuseau d'assaut: Tout le monde et bienvenue à une autre vidéo. Celui-ci va probablement être le favori de beaucoup de gens, celui qu'ils attendaient. Parce qu'on va pouvoir tirer sur nos fusils de voiture ou d'assaut,
fusil ou tout ce que tu veux appeler ça. On va tirer une arme automatique et tu
maintiendrais la gâchette et ça va juste bam, bam, bam, bam, bam, bam, bam, bam. D' accord. Je sais que c'est ce que vous voulez tous voir. Donc on le fait ici dans cette vidéo. Donc fait en fait assez simple à faire. Allons de l'avant et ouvrons notre fusil auto. Et on peut vérifier nos sons et je vais faire en sorte que notre balle se répande comme 100, quelque chose en temps réel et 0,5
cette prise, ça et tout ça et tout ça. Vous pouvez toujours éditer cela en faisant simplement défiler ici avec cette sélection ou la clôture devrait avoir l'arme. Mais maintenant, ce qu'on va faire, c'est créer un script. Donc, comme avant avec le pistolet, on veut que l'événement commence à tourner. Et nous voulons ajouter un appel à la fonction parent. Mais nous ne voulons pas vraiment brancher ça tout de suite. Nous allons créer une nouvelle variable spécifique à ce Blueprint. Et nous dirons que c'est le tir au fusil automatique ? Est-ce qu'il tire ? Cela va vérifier si notre fusil auto tire parce que c'est automatique. C' est juste un moyen supplémentaire de vérifier. Donc, sur les événements commencent à tourner, nous allons définir ce booléen pour être vrai. Et nous voulons, nous voulons créer un événement personnalisé et nous appellerons ça tir de fusil automatique. Et ce qu'on va faire, c'est qu'on va appeler cet événement ici le tir de fusil automatique. Et ce qu'on veut faire ici, c'est qu'on va programmer un événement de minuterie. Et cette minuterie, l'événement sur cette minuterie va être celui que nous venons de créer ici. Comme tel. Nous voulons en faire une boucle et nous allons promouvoir cette fois à une variable, et nous appellerons ce taux de tir automatique. Donc, vous pouvez définir ceci pour être ce que vous voulez personnellement. Ça dit à quelle vitesse votre fusil va tirer. Je vais faire 0,1. Plus ce chiffre est bas, plus vite ça va aller. Donc 0.05 sera deux fois plus rapide que ça. Si tu le faisais 1 seconde,
ce serait comme boum, boum,
boum , boum, boum, boum. Mais si c'était 0,1, ça va être comme, tu sais, ça va faire ce genre d'effet. Donc, pour le tir de carabines, une chose que nous voulons vérifier est que nous voulons vérifier c'est notre tir à carabine automatique. Terminez le tir. Et c'est ce que nous appellerons notre fonction mère pour commencer le tournage. Donc on va brancher ça comme ça. Bon, maintenant on a l'événement des parents. Et nous voulons jouer une animation sur notre maillage d'armes. Il l'a automatiquement attrapé pour nous. Très gentil. Et puis cette animation s'appelle fusil à feu. Fusil d'incendie W. Très bien, maintenant,
je veux créer une sorte de chèque supplémentaire pour nous. Alors allons-y et obtenons des balles actuelles. Ou du courant, c'est des munitions ? Obtenir l'AMA actuelle. Et nous dirons, est-ce inférieur ou égal à 0 ? La raison pour laquelle je fais comme un double contrôle sur celui-ci est parce qu'avec le tir automatique, j'ai trouvé que parfois il peut juste continuer à tirer pour quelque raison que ce soit. Même si nous avons ça. Ce même type de fonction s'exécutant dans le parent, il est toujours parfois coincé. Il y a juste une façon supplémentaire de dire qu'on va arrêter de tirer. Et puis nous allons, J'ai la référence du joueur qui vient de notre parent et dire recharger. Juste pour s'assurer qu'il le fait, ce qu'il a fait. Mais parfois, vous pouvez juste obtenir un pas supplémentaire parce que parfois il peut être pris dans ce feu juste chose. La prochaine chose que nous voulons faire est que nous voulons obtenir un arrêt de tir d'événement, qui vient aussi du parent, qui tourne juste cette variable en faux. On va faire ça faux. Et ce qu'on va faire, c'est qu'on va sortir de notre minuteur et on va dire clair et invalider le minuteur. Je gère et je ne veux pas qu'ils connectent un pour se connecter comme ça. Ouais, c'est un peu mauvais endroit, quelle que soit la façon dont vous l'avez coupé,
mais oh, eh bien, peu importe. Alors qu'est-ce que cela fait aura cet événement où nous commençons à tourner. Et nous allons lancer cet événement qui met en place une minuterie. Et il organise cet événement de tournage de parents que nous avons mis en place toutes les 0,1 secondes ou quoi que nous définissons le SAS, il tire cette animation. À chaque fois. Si on manque de munitions, on va arrêter de tirer un rechargement. Et quand on lâche le bouton de déclenchement, on arrête de tirer. Devrait arrêter la prise de vue et effacer la minuterie. Alors voici le moment de vérité. Voyez si cela fonctionne, vous risquez de rencontrer une erreur. Il y a peut-être quelque chose qui manque dans le personnage, mais on verra, wow, qui étaient en fait parfaitement chez moi je vais. Et on a atteint 0. Et il va essayer de tirer. Ça ne marche pas. Tu vois que la balle s'est propagée. Et ça marche très bien. Donc on peut encore tirer ceux qu'on n'a pas retirés et juste pulvériser partout. Comme ça. Peut-être que toute cette jolie ligne rouge que nous étions. D' accord. C' est comme ça que tirer le fusil automatique. Je pense que c'est tout ce qu'on a à faire. Donc juste pour te montrer que si je changeais ce taux de tir à 1 seconde, serait comme une mitrailleuse lourde. ne peux même pas aimer ça. Sheesh a déjà fait ça très petit, comme 0.005 ? Probablement plus comme un S, M, G ou quelque chose comme ça. Je n'ai pas sauvé. J' étais comme, je le jure. C' est comme, oh, ouais, tout ce que tu peux jouer l'animation aussi vite. D' accord. Brisez le jeu à ce moment-là. D'accord. Oui, c'est le fusil automatique. Ça marche. Il fait son truc. est tout ce qu'on a à faire. Ainsi, vous pouvez aller de l'avant et vous pouvez également changer l'ordre. J' ai mis ça le coup de pied d'arme pour comme négatif 0.1 ou quelque chose comme ça. Et puis avec ça, vous pouvez obtenir plus de coups de pied. Oh mon Dieu, est-ce que ça n'a pas reculé vers lui-même ? Allez, jeu. Point négatif. Oh mon Dieu, maintenant je suis confus à mes numéros. Ça va être 0,1. Ça va être négatif 0,1 pour le coup de pied. D' accord ? On y va. On y va. Donc vous voyez comment ça bouge à droite et à gauche petit peu pour dire, eh bien ce n'est pas le cas. Donc ils ne le sont pas, ça ne bouge pas parfaitement droit. C' est en zigzaguant à droite et à gauche. Je ne bouge pas la souris du tout. Et ce sont les résultats que nous obtenons. Tellement cool. Oui. J'espère que vous avez apprécié cette vidéo. Et oui, je te verrai dans la prochaine.
26. Prise de vue: Bonjour à tous et bienvenue à une autre vidéo. Dans la dernière leçon, nous avons montré comment fabriquer le fusil d'assaut. Et dans celui-ci, nous allons attirer notre attention sur le fusil de chasse. C' est notre dernière arme Scan. Celui-ci comme les autres, va être assez simple, assez facile. Seulement quelques pas. Cette vidéo ne devrait pas être trop longue. Allons-y et ouvrons notre base d'armes et notre fusil de chasse. A l'intérieur de la base d'armes, ce qu'on va faire, c'est créer quelques variables. On va appeler ça un nombre de granulés, et on va faire ça en entier. Cela représentera le nombre de granulés individuels que vous aimeriez tirer du fusil de chasse. Essentiellement, sélectionnez combien de traces de ligne individuelles voulez-vous qu'il y ait ? C' est probablement la façon la plus simple de l'expliquer. Donc, en fait, vous savez, nous allons mettre ça là-dedans. Oui, oui, oui, oui. Et puis nous allons avoir une autre variable et appeler ça c'est un fusil de chasse. Et ce sera un booléen, pas à Medline. Un booléen. On y va. Maintenant, si nous allons à notre choc et à notre arme, et nous avons ouvert cet éditeur, nous devrions voir que ces armes sont ces variables. On va fixer ça à huit. Donc ce que je vais faire, et ensuite ce sera un fusil de chasse. Ces variables, je vais juste les mettre dans une catégorie dans cette colonne. Shotgun, que nos autres armes et d'autres n'ont pas à les voir parce qu'elles ne comptent que dans celle-ci. Bon, donc juste comme avant, à l'intérieur de notre choc et Event Graph, Allons aux événements, commençons à tirer sur appelé le parent. Branchez-le, branchez-le. Et puis on va attraper le maillage d'armes et jouer une animation. Rappelez-vous que ces armes sont venues avec des animations. Ce pack d'armes. C' est comme ça que nous obtenons ces fusils de chasse. Donc, si nous n'avions pas ces animations, nous devrions soit les faire nous-mêmes, soit faire quelque chose fou comme créer des effets de particules dans le son à des endroits, et essentiellement les faire nous-mêmes. Donc, le fait que ces armes viennent avec des animations est extrêmement pratique. Oui, il y a quelques choses que j'aimerais faire pour certaines de ces armes, commencer par le fusil, parce que je ne veux pas pouvoir juste bam, tirer ça. Allons donc dans notre personnage. Et dans le graphique d'événements, un peu d'espace ouvert, Faisons un événement personnalisé et appelons ce taux d'incendie. J'aime ce nom. Cal. Calculer le taux d'incendie Plutôt cool. Plutôt cool. Oh, tu sais quoi ? C' est gênant. Wow. Faisons ça dans la base d'armes. Je suis désolé, arme préférée en gros. Faire un événement personnalisé dans la fréquence de tir de l'appel. Par 3k. On aurait pu faire dans le joueur aussi techniquement. Mais chaque fois qu'il a le joueur et nous allons obtenir est un chargement de tir d'arme. Mettons-le. Définissez ceci pour être vrai. Et puis traînons un retard. Et voyons, est-ce qu'on a fait et je pense qu'on a fait un taux d'incendie. Pourtant. Tu vois, c'est parfois la mauvaise chose de ce que je mets en fait ça dans nous ne l'avons pas fait. D' accord. Et puis faisons un appelé taux de feu et le faire flotter. Branchez ça. Vous n'avez pas besoin de le définir comme quoi que ce soit en ce moment. Eh bien, ça l'a mis dans les plans. Prends ça. Donc il y aurait des faux. Et juste prendre ces et sauver le feu fait rage pour non Adam, Adam métadonnées ne peut pas parler pour
armes non automatiques z et empêcher le spamming, tirer ces armes. Donc, si vous vous souvenez dans notre joueur, et cela devrait être dans l'un de nos mappings d'action juste ici. Nous voulons tirer est le feu,
est le chargement de tir d'arme. Si ce n'est pas le cas, alors nous pouvons tirer sont partis. Donc, dans ce cas, quel que soit notre taux de tir est réglé comme il va activer et désactiver cette variable. Donc on ne peut pas tirer. Donc nous ne pouvons pas juste aimer tirer aussi vite que nous pouvons cliquer. Donc, dans l'arme de fusil, allons de l'avant et appelons ce taux de tir d'événement calculé pour chaque arme que nous voulons que cela affecte. On doit appeler cet événement. Donc ça va être appelé sur le fusil de chasse, le fusil de sniper et le lance-grenades. La seule arme a dit qu'il était nécessaire sur le reste d'entre eux, le fusil automatique, vous le tenez juste au pixel. Vous pouvez tirer aussi vite que vous pouvez cliquer. Et le lance-roquettes n'a qu'une fusée dans le magazine. Donc, quand vous le tirez, il va juste se recharger de toute façon. Donc tu n'as pas besoin de le faire, c'est redondant. Donc c'est une chose que je veux faire. Il y a une autre chose spécifique au fusil de chasse. Il y a quelques choses. Donc cette vidéo est peut-être plus longue que je ne le pensais parce qu'il y a des choses différentes que je dois faire avec le fusil de chasse. Mais allons de l'avant et revenons à l'événement de tir de départ juste ici. Et puis on va faire une légère déviation sur nos scans à succès comme ça. Donc je vais casser ça pour l'instant. Je vais sortir une branche. Et on va demander, c'est un fusil ? Ou on tire un choc ici. Et si nous le sommes, nous voulons faire une boucle for. Donc pas pour chaque boucle, juste une boucle for. On y va. Donc, si vous regardez, une boucle for s'exécute pour chaque index à partir de StartIndex. Donc ça va courir à travers ces temps d'harmonie que vous mettez ici, essentiellement. Donc, hors du corps de la boucle va le rebrancher pour que cela fonctionne. Et puis sortir de la fausse branche va juste y aller comme ça. Donc, si ce n'est pas un fusil, ils vont tout droit là. Si c'est un choc et qu'on va traverser cette boucle, alors on va avoir un compte de granulés et on va en soustraire un du nombre de granulés. Donc, il va aller 8, 7, 6, 5, 4, 3 va courir à travers tous ceux qui sont toujours égaux à 0, alors il va courir droit à travers. Et c'est la seule chose que nous devons faire pour obtenir les granulés en fait c'est que ce
sont tirs de traces de ligne supplémentaires. Tu sais, une fois ce que ça fait là. D' accord. La dernière chose que je voulais faire est de recharger le fusil. Il y a des choses spéciales que je veux faire, mais pour te montrer ça maintenant si je prends ça et que je tire, tu peux voir comment ça tes huit lignes, 1,
2, 3, 4, 5, 6, 7, 8. Il a une portée folle, mais c'est bon. Un peu difficile à voir. Et qu'est-ce qu'on a fait ? Oh, ouais. Donc si je continue à cliquer aussi vite que possible. Oh, tirer, ça n'a pas marché. Pourquoi ça n'a pas marché ? L' homme ? C' était gênant. Sheesh, laisse-moi vérifier ça très vite. Ils reviennent ensuite vers vous. Très bien, c'est vraiment gênant de comprendre ça et littéralement cinq secondes, donc ces transitions de fondu vont durer comme pas du tout du temps. Je ne l'ai même jamais fait. Et il y a un temps pour cela. Donc c'est un peu gênant. Essayer de voir ce que je suis assis la dernière fois que c'était 1,2 seconde. fusil était 1.2 choses. J' ai aussi changé quelques choses comme la propagation des balles. J' en ai fait 1 000, donc c'est étalé un peu plus. Vous pouvez le faire comme 1511 ou 1200 ou tout ce que vous voulez faire le temps de rechargement. Et puis le coup de pied d'arme était négatif 0,1. Et quel coup de pied un peu plus. Alors maintenant on arrive, on joue et j'ai frappé ça autant que je peux. On y va. Nous obtenons une propagation beaucoup plus grande là-bas. Rappelez-vous que si nous ne visons pas et que nous allons le faire, toutes ces palettes vont tirer parfaitement droit. Donc maintenant ça frappe comme ça. Voyez que vous voulez probablement frapper la cible entière. Oui, on ne peut pas juste le spam, donc ça marche. Ok, cool. Parfois, tu fais juste des erreurs stupides comme ça. D' accord, la dernière chose que je veux faire est que je veux ajouter quelque chose à notre événement de rechargement. Donc, si vous allez des événements de joueur juste ici hors de ce son de jeu. Ce que je voulais faire, c'est que je le veux. Donc recharger un fusil, c'est que nous allons travailler différemment des autres armes parce qu'il recharge chaque pellet individuel. Donc, comme ce que je veux accomplir ici, c'est que si vous tirez juste un tour, je veux que le rechargement soit assez rapide, non ? Mais si tu vides tout ton magazine, je veux que ce rechargement soit plus long. Donc, je veux que le temps de rechargement soit réglé dynamiquement essentiellement, en fonction du nombre de balles que vous avez tirées pour laisser du temps, comme l'insertion de chaque pélican individuel. Tu ne mets pas un magazine entier, tu mets juste toutes les balles individuellement. Alors faisons ça maintenant. Donc, hors de cette branche, c'est notre événement de rechargement de Graph d'événements. Disons si. Et prenons l'arme actuelle et nous dirons que c'est un fusil de chasse. Donc, si c'est un fusil, on veut faire des trucs spéciaux. Si c'est un fusil, nous le voulons. Fais quelque chose, et on devrait probablement le faire dans la base d'armes. Alors créons une fonction appelée ce fusil de chasse. Recharger les pellets. Droit ? Et puis prenons la taille de notre magazine et soustrayons. Nous voulons soustraire cela du courant m, k. Et puis nous voulons multiplier cela pas par un entier, par un flotteur. Multipliez cela par notre temps de rechargement. D' accord, et puis on va mettre en temps réel comme ça. Donc, contrairement à toutes nos autres armes, le temps de rechargement de notre fusil devrait être très, très court, non ? Donc il a pris la taille de notre magazine, qui est huit moins les munitions actuelles, non ? Donc disons qu'on tire aussi. Donc Cornetto a six, donc c'est huit moins 62. Donc, si c'est comme 0,2, alors vous allez recharger pour 0,4. D' accord, je peux même sortir la calculatrice pour vous. Mais si on vide, disons qu'on tire sept. Donc c'est 8 moins 1, ce qui serait sept. Et disons qu'un temps réel sera le point 2. Notre temps de rechargement va être de 1,4. Si nous, comme je l'ai dit, si nous en tirons un, donc 1 à n'importe quel synonyme, 8 moins 6 est 2. Donc, deux fois 0,2 est seulement 0,4. Donc, plus on a
de granulés, plus on a tiré de balles, ça va augmenter notre temps de rechargement. Donc ce qu'on veut faire pour notre arme de chasse en temps réel, c'est qu'on veut la mettre assez basse. Donc, comme le mettre pour être comme 0.3 ou quelque chose comme ça. Et à des fins de test, je peux vous montrer ceci afin qu'il imprime une chaîne. D' accord, compilez, puis allez par ici. Et puis reprenons l'arme actuelle. Et allons de l'avant et appelons cet événement. Comment ça s'appelait ? Le fusil recharge les granulés comme ça. Donc nous allons lancer cet événement et ensuite nous aurons un retard de la volonté juste obtenir le temps réel de cette façon, obtient le temps de rechargement. Et une fois que nous avons fini avec ça, nous voulons définir le temps de rechargement. On veut juste oh ouais, on veut juste la cible. Nous allons donc fixer durablement le temps de rechargement à sa valeur par défaut. Parce que ce qui va finir par arriver, c'est que c'est difficile d'expliquer ce que c'est. Comme si on se rechargeait, non ? Notre temps de rechargement va être réglé sur comme disons que c'est 0.4. Eh bien, maintenant à chaque fois oh, non à mon accident de moteur. Non. Répondre. Oh, wow, c'est de retour. Ok, alors disons que j'aime que ça soit prêt à être comme le point faire. Eh bien, la prochaine fois que nous traversons
ça, ça va être ou est mis en place. Il est normalement réglé sur 0,3, non ? Nous faisons les calculs et ensuite il est réglé à 1.2 ou quelque chose comme ça nous avons tourné pour arrondir. Eh bien, la prochaine fois que
ça fera ce calcul, ça va revenir à ça. Il va faire ce calcul hors comme le nouveau temps de rechargement et pas celui d'origine que nous avions mis ici, qui est 0.3. Donc on veut juste que ça corresponde. On est juste en train de se réinitialiser. Donc, réinitialisez les paramètres à tout moment. Donc, si jamais vous changez cela, vous devez également changer cela. D' accord ? Je vais vous montrer comment ça marche. Donc on a un fusil, on tire. Je recharge. Depuis ce 0.3, je tire, tire, tire et dis 0.66 un peu plus longtemps. Je vide tout ça et je recharge. Maintenant, il est 2.1, peut prendre un peu plus de temps. D' accord, donc oui, c'est un super, euh, comme un système de rechargement plus cool, plus dynamique, je suppose, pour un choc sur. C' est tout ce que vous devez savoir sur le fusil. Tout est fait maintenant. Il tire, il se recharge, il répand les traces de ligne. Ça fait tout ce qui est cool. J' espère que vous avez apprécié cette vidéo, j'espère que vous apprenez et appréciez tout. Faites-moi savoir ci-dessous comme toujours, si vous avez des questions, je vous répondrai. Mais oui, sinon, je te verrai la prochaine.
27. Créer des effets d'impact: Tout le monde et bienvenue à une autre vidéo. Dans cette vidéo, ce que nous allons faire, c'est que nous allons commencer à produire différents effets d'impact en fonction de ce que nos balles interagissent avec cela. Donc, comme il est en ce moment, si je devais ouvrir notre base d'armes et désactiver cette trace
de ligne pour voir que nos armes tirent des marchandises sans la trace de ligne. Ils n'ont pas l'air d'aller nulle part. Nous allons donc créer différents décalcomanies, sons et effets à tirer en fonction de ce que nous frappons avec nos traces de ligne. Pour lui donner un peu comme s'il frappait quelque chose essentiellement, non ? Donc, pour y parvenir, Allons dans Paramètres, dans les paramètres du projet. Et nous allons faire défiler jusqu'à la physique juste ici, qui est sous le moteur. Tu verras qu'on a toutes ces options de surface physique, ok ? Et nous allons créer un bon nombre de
ces options de surface physique ici pour ensuite être insérées dans cela. On peut faire des choses différentes avec eux. Donc, même si nous n'avons pas encore créé notre ennemi, nous allons les mettre en place dès maintenant. Donc on va en faire un appelé tête, poitrine ,
bras, main, jambe et pied. D' accord, et puis faisons un autre appelé pierre. Maintenant toutes ces parties du corps, il nous manque dans le département FX. Ils vont tous être comme un méga son de métal dans une étincelle de métal comme ils ont été affectés. Et puis la pierre sera plus
comme des roches qui se brisent et qui sonnent comme ça essentiellement. C' est tout ce dont nous avons besoin pour ça. Revenons dans notre jeu FPS et créons un nouveau dossier. Et j'aurai déjà un dossier Matériaux. Nous allons donc créer des matériaux physiques et nous les garderons tous dans le dossier Matériaux. Alors faisons un clic droit et allons en dessous. Où est-il ? Matériaux ? Nous allons créer un matériau physique aveugle. Pourquoi n'est-il pas ici ? Asseyez-vous sous, oh, c'est probablement sous la physique, le matériel physique. D' accord. Cliquez sur le matériel physique, puis appelons cette tête de corps. Je crois que c'est ce que j'avais ou tu sais ce qu'on appelle ça le poids du corps. Ça n'a pas de sens. Appelons ça la tête ennemie. Très bien, et nous allons juste dupliquer ça et appeler ça la poitrine ennemie. Et le bras méchant. Main ennemie, ennemi, retard, pied
ennemi, puis pierre. Ok, et gardons le comme ça. Il ouvre n'importe lequel d'entre eux. Et donc ce que vous verrez est que nous avons un destructeur va endommager l'échelle de seuil. Nous allons l'utiliser quand il s'agit de nos ennemis. Et cela va vraiment contrôler comme notre calcul. Cela va permettre à la tête de faire plus de dégâts que la poitrine à la poitrine pour faire plus de dégâts que les bras et les jambes et ainsi de suite et ainsi de suite. Mais pour le moment, nous voulons juste placer dans nos propriétés physiques. Donc, sous le type de surface. Donc, nous avons créé tous ces différents, ce sont les choses que nous avons créées dans les paramètres du projet. Allez-y et insérez tous ces éléments dans le bon. Donc la jambe sera définie pour être la tête, la tête. Et cela permet juste au jeu d'attribuer une sorte de matériel
physique aux différents noms physiques que nous avons donnés. Donc nous pouvons faire plus tard est que nous pouvons prendre un objet et nous pouvons lui donner un matériel physique. Je ne pense pas qu'ils en aient une, cette géométrie, mais le cube devrait en avoir une. Mais vous avez le remplacement du matériel physique de la file d'attente. Donc, nous avons notre matériel physique ici. Donc, nous pouvons dire que c'est de ce matériel et nous pouvons fuir différents événements. Alors j'ai mis le pied, la poitrine, et ensuite on a ce bras. Oui. D' accord. Donc maintenant, ils sont tous enfoncés. Donc maintenant, nous pouvons commencer à créer différents événements basés sur ce que nous sommes en train de frapper. Ok, alors allons de l'avant et créons un nouveau dossier. Sera, va réellement créer un nouveau dossier cette fois. Alors on l'appellera « affecte ». Et créons une classe de Blueprint de type Actor et appelons cet impact de base de faits. Très bien, cliquons sur cette ouverture. Et dans la base de l'effet d'impact, nous voulons juste créer un tas de variables différentes. Alors, prenons un résultat appelé Hitch. Et nous allons en faire un résultat de type hit. Et ce que nous voulons le faire, ce résultat est que nous voulons rendre cette instance modifiable, qui en fait cela signifie que cette variable est maintenant publique et peut être consultée et regardée par d'autres Blueprints. Et on peut le changer à la volée, pour ainsi dire. Et puis nous voulons aussi exposer sur spawn. Donc, cette variable devrait-elle être exposée comme une épingle lors de la génération de ce Blueprint ? Et on veut dire oui. Et ce que ça va faire, c'est l'exposer comme une épingle. Donc, vous allez apprendre à aimer quand vous générez ce plan, ça va vous donner une option. Cette variable va devenir une broche, similaire à la façon dont elle est ici. Et la trace de ligne est un peu comme retourner une valeur. Il apparaîtra au moins ressemblant à ça. ce moment, nous voulons faire des effets différents. Donc on va juste en faire un qui s'appelle Stone FX. Et nous allons faire de ce système de particules de type une référence d'objet, je crois que c'est ce que nous voulons. Oui. D' accord. Nous voulons avoir de la pierre et ensuite nous voulons avoir du corps. On peut l'appeler corps ennemi, peu importe ce que tu veux. Dans. Ensuite, l'autre chose que nous voulons créer, une pierre S fx. Et cela va être de type objet de signal sonore à nouveau. Et puis nous voulons faire ça pour le corps aussi. D' accord. Et puis on en fera un appelé Impact, la vache. Et ce sera de type D vache, n'est-ce pas ? Ce n'est probablement pas matériel. Donc, lâche le matériel de type. Objet à référencer comme ça. D'accord. Alors ce que nous voulons, c'est la taille de la vache D, qui va pouvoir taper flotteur. D la durée de vie de la vache va aussi être flottante. Et enfin, nous voulons la rotation de Di Cao. Ça va être d'un rotateur. Maintenant, il va y avoir toutes nos variables ici. Donc c'est un résultat positif que nous allons faire. Donc, il va le faire, essentiellement il va nous demander un endroit pour générer un effet de paquet SYN, et nous allons juste utiliser cette variable hit result pour le lier avec le résultat hit. C' est pourquoi nous retournons le résultat de la trace de ligne est pour que nous
puissions le lier à l'endroit où nous voulons que notre effet d'impact apparaisse. Donc, la raison qui existe, ce étaient une fente dans nos différents effets ou différents sons. Tu auras un capot en D pour un trou de balle qu'on veut montrer. Et puis nous pouvons, j'ai fait ces variables pour que nous puissions personnaliser la taille, combien de temps il dure avant qu'il disparaisse, et sont en quelque sorte aléatoire sa rotation, en fonction de l'arme que nous utilisons parce que nous voulons que le pistolet créer un trou de balle plus petit que le lance-roquettes, pour ainsi dire. Ok, donc c'est comme ça qu'on doit faire pour la fenêtre. Allons dans l'Event Graph et on va tout faire pour commencer à jouer. Et parfois ça ne te permet pas de supprimer des choses, alors tu dois juste le supprimer et recommencer, non ? Alors faisons une séquence ici. Et nous allons ajouter quelques épingles. Beaucoup, ça fait quatre. D' accord ? Et puis, sortez d'ici, ce qu'on veut faire, c'est prendre notre résultat. Nous voulons briser le résultat. Donc, quand vous cassez le résultat de coup, vous obtenez toutes ces options différentes. Ce que nous allons chercher ici, c'est un point d'impact. C' est donc un emplacement vectoriel du point où la trace de ligne a touché un objet. Et nous voulons avoir un matériel physique. Nous voulons que le jeu soit en mesure de voir quel matériel physique cela a frappé ? D' accord. Donc on peut garder ça en dessous hors du coup de blocage. Faisons une déclaration if ici. Ou branche. Blocage hit true s'il y avait un coup de blog false, sinon, c'est juste un peu comme un fail-safe. Donc, si nous tirons en l'air et que notre trace de ligne ne frappe rien, le jeu reviendra avec une erreur parce que ça dira, vous savez, vous me dites de générer un peu, particule a affecté un peu de son à l'endroit touché et je n'ont pas de lieu de contact. Donc, si nous avons ce coup de blocage, cela empêchera cette erreur de se produire parce que ce sera comme, Ok, cela ne fonctionnera que si nous frappons réellement quelque chose. D'accord ? Donc si on frappe quelque chose, on veut apparaître dans l'émetteur. À l'emplacement dans l'émetteur est un effet VFX. L' emplacement que nous voulons qu'ils apparaissent comme point d'impact du résultat obtenu. Encore une fois, nous avons calculé la trace de ligne. Et puis nous voulons obtenir le matériel physique, qui, quel émetteur voulons-nous générer ? Il y en a tellement. Eh bien, nous pouvons personnaliser cela en fonction du matériel physique. Donc, à partir de matériel physique, nous allons obtenir un type de service comme ça, c'est le type de surface physique intégré. Et puis nous voulons obtenir un nœud de sélection. Et vous pouvez voir maintenant tous les différents physio, je me suis débarrassé de ça. Tout ça ici. Tu sais déjà ce que je vais dire, ne fais pas Jeff. Toutes ces différentes surfaces physiques que nous avons ici apparaissent maintenant dans cette note de sélection et nous allons le retourner. Donc maintenant, il nous donne une option de placer dans ce que nous voulons en fonction de l'objet que nous avons touché. Et c'est pourquoi nous les avons créés en tant que variables. Donc pour le corps, mettons-le pour la tête, la poitrine, le bras, la jambe et le pied. Et puis pour la pierre, faites cette pierre. Et puis nous pouvons faire de la pierre la valeur par défaut aussi. Que vers le bas pour le rendre plus attrayant visuellement. Oui. Bon, donc c'est ce qu'on veut. Donc, nous pouvons dire des effets de particules pour différents types de service qu'il est obtenu cela. Donc maintenant, tout ce qu'on a à faire, c'est la même chose exacte pour le son et le comptage, non ? Donc, nous pouvons copier, coller la plupart de ce In, faire glisser ça ici. Comme ça. Bien sûr. Donnez-leur un peu d'espace. Ce seront des sons, des effets sonores. Nous voulons garder tout pareil. Au lieu de cela, on veut jouer du son sur place. L' emplacement sera le point d'impact. Vous pouvez vous sentir libre de changer. Oh, c'est à recommencer. Je peux sélectionner et puis ça deviendra un son. On y va. Ensuite, cela fait en sorte que nous avons les effets sonores de pierre et de corps arrachés. Poitrine, bras, main, jambe, pied, pierre, par défaut. Comme ça. N' hésitez pas à changer le volume. Vous pouvez rendre la variable bender si vous le souhaitez. Je suis doué avec ça comme ça. Pour ce troisième, ce qu'on veut faire, c'est que je vais
randomiser une rotation des décalcomanies afin qu'il ne soit pas exactement le même à chaque fois. Donc, nous allons vouloir saisir le résultat de succès dans les résultats de succès cassés à nouveau. Mais ensuite hors de la normale. Normal est si l'espace du monde caché pour l'objet a été balayé. Impact normal pour l'essai en ligne. Donc, nous allons faire la rotation à partir du vecteur x. Et on va le faire, donc on va faire une rotation et on va casser le rotateur. Maintenant, on a un X, Y, et Z. et puis on va avoir un flotteur aléatoire à portée comme ça. Et faisons ça aller à 360 degrés. Donc négatif 180 puis positif 180. Pour qu'on puisse faire le tour du cercle. Et puis faisons un rotateur. Et puis, oui, ça peut se brancher dans le x, le y, et le z. on gardera la même chose. Donc on change juste le X donc huit qui vont dans un cercle pour ainsi dire. Et puis définissons cela comme la rotation Dekalb et ensuite nous pouvons avoir ce plugin comme ça. Ouais, c'est bon. D' accord. Et nous dirons la rotation des décalcomanies Ran to Mises. Donc ça va nous donner un peu de randomisation. Tous nos décalcomanies ne sont pas exactement les mêmes. Et puis dernier but non moindre, sorte que vous pouvez copier et coller tout ce truc à nouveau. Mettez ça dans la branche. Littéralement plus propre. Et si le noeud de sélection supprimé. Et puis frayons la vache D attachée à ça. Il va toujours demander l'emplacement. Donc ça va avoir un impact. On peut s'en débarrasser. La vache D sera la même chaque fois. Mais nous voulons toujours nous assurer que nous sommes également en train de le faire. En fait, nous n'avons peut-être plus besoin de le faire. Mais juste pour l'amour de la cohérence. Ou si jamais nous voulions éditer cela plus loin, faisons-le comme nous avons fait les autres. Gardions la position tourbillonnante et pas ce qui a été réglé car la rotation sera cette rotation variable ou D de vache, celle que nous avons faite la durée de vie. Rappelez-vous que nous avons fait une durée de vie de DKA comme ça. Et la valeur par défaut, Réglons pour être comme dix. Juste par défaut, que dans le cas où nous oublions de ne disparaisse pas immédiatement. Et puis pour la taille de la vache D, nous définissons cela comme une variable 2. Et comme il s'agit d'un flotteur, nous allons en faire un vecteur x, y, z. branchez cette taille. Alors on y va. Maintenant, nous avons ça. Donc il y a tout ce script dont nous avons besoin. Oh, tu sais quoi, ces deux-là aussi ont besoin de les avoir en fait. Donc, le composant frappé sera attaché au composant et le nom de l'os frappé sera attaché le nom du point. Ça pourrait nous donner des zones où nous n'avons pas branchées. Donc beaucoup de fils et celui-ci, mais c'est ce que c'est. Donc oui, c'est tout ce qu'on a à faire pour notre effet d'impact. D' accord. Maintenant, de retour dans notre base d'armes, après avoir calculé ça, nous allons briser ce résultat. D' accord ? Avant de commencer le recul, nous voulons créer un acteur de la classe. L' acteur que nous voulons engendrer est notre base d'impact. Maintenant rappelez-vous que j'ai fait ce résultat de succès exposer sur spawn. Donc tu vas voir cette épingle apparaître quand je l'insère. C' est là. Donc, le résultat de succès va être ce résultat de succès pour générer la transformation. Ça va être l'impact. Ou nous allons, divisons l'épingle Struct et ensuite faisons-le comme ça. Nous n'avons pas besoin de nous soucier de la rotation et de l'échelle. Ok, donc maintenant on a tout ça là-dedans. Et vous savez quoi, je devrais probablement en faire une base d'impact variable. Et puis nous allons faire cela de l'impact de type affecter la référence de base et de classe, puis faire glisser cela à la place. Bon, donc maintenant nous allons avoir plusieurs impacts, effets de l'ensemble par une variable. Et puis commencez à reculer tout ça. Donc c'est bien. Ça marche. Maintenant, ce que nous pouvons faire, et puisque cela est réglé sur une variable, maintenant si vous allez dans l'une de nos armes ou un fusil, vous devriez voir une fente pour l'effet d'impact. Et je ne devrais probablement pas l'appeler à la base. Il pourrait y avoir une incidence de fait source de confusion. Compiler Enregistrer. Donc maintenant, nous avons des effets d'impact que nous pouvons mettre en place. Donc maintenant, si nous allons dans nos effets et que nous commençons à faire des enfants, alors je vais juste montrer ça comme un seul. Donc, notre effet d'impact de fusil. Nous cliquons et ouvrons ceci. Vous verrez la pierre affecte le corps dans les différents sons, décalcomanies, taille, durée de vie, et nous n'avons pas à jouer avec la rotation. Donc pour Stone, je pense qu'il y en a un qui s'appelle Stone. Il peut obtenir un petit moyen ou grand. Je vais juste faire du médium pour le corps. Il y en a un qui s'appelle le métal. Medium en métal pour la pierre. Comment ça s'appelait Rock ? Sont invités à passer des impacts surface, impacts de fusil, surface comme celle pour le corps. Il y a peut-être eu une heure de métal. Ils sont cassés. D'accord. Balle d'impact en métal. Donc c'est une fente et nous allons réparer cette maison, mon Dieu, autant de choses. Il n'y a pas une balle ? Balle métal ? Oh mon Dieu. Game dit que je dis que ce n'est pas le cas. On a un corps d'impact ici. On les utilise juste. C' est une sorte de méchant son. Donc vous avez son corps Faisons que ceux qui ne sont probablement pas cassés de fusil et de sac à dos. On y va. Impact D vache, c'est quelque chose que nous devons faire. Alors allons dans les filtres de jeu de tir et allons cliquer sur le matériel. Juste ici. Donc le matériau des filtres devrait le voir ici. Détail de l'impact. Je suis touché la vache. Laissons ça dans nos matériaux. Donc on l'a, on l'ouvre et ça va être un peu. Mais c'est bon, on répare ça. Donc ça va être appelé trou de balle,
trou de et ça va être là appelé millivolts. La distorsion est ce qu'on appelle celle-ci. Distorsion un. Une fois que nous les mettons en place, répondez, nous y allons. Devrait être réparé. Maintenant. On y va. Alors maintenant, chaque rotule d'impact. Donc je vais appeler ça bien, du tout que je sais comment ça s'appelle. Au moins. Il y a eu un trou de balle. C' est peut-être une taille 10 pour l'instant, une durée de vie de huit secondes. D' accord. Donc maintenant, si nous démontrons ou en fait arme de fusil
automatique doit s'assurer que nous avons notre effet d'impact de fusil assigné à lui. Maintenant, si nous allons à notre arme et nous marchons ici, vous pouvez voir que nous avons jamais des trous de balle dans le petit défaut est, était la pierre, à droite, à droite. D' accord. Mais si je fais glisser un cube ici, augmente un peu la taille. Et je dis que c'est un coffre ennemi ou quelque chose comme ça, nous devrions avoir un effet différent. Donc ça, et pour avoir les étincelles maintenant, vous pouvez entendre ce son charnu. Bon, maintenant on a différents effets d'impact. Nous allons dans l'impact des faits et je peux faire ces décalcomanies comme 50 ou quelque chose, fait ses trous de fusil dans le sol, ce qui est ridicule. Nous pouvons aussi donner des choses différentes. On a le besoin, je pense que ceux qui viennent avec le, il y en a assez cool en fait, ils viennent avec le jeu de tir comme, mais je pense qu'ils sont tous un peu cassés pour moi comme si j'ai déjà quelque chose comme l'explosion, l' explosion devrait peut-être rendre quelque chose de très rapide, mais voilà. Alors maintenant, c'est comme flotter à ça. Merci. Oui. droite. Plutôt cool. Plutôt cool. Donc c'est comme ça que nous faisons. Donc, la seule autre chose que nous aurons à faire ici, et je le ferai comme une petite affectation, est de laisser les effets et de créer les classes de Blueprint enfant. Donc pistolet, impact, effet ou droit. Et puis
insérez dans votre taille préférée de décalcomanies dans la durée de vie dans différents effets que vous voulez. Vous pouvez faire tout de même, ou vous pouvez le rendre fou. Et puis tout ce que vous avez à faire est d'aller dans l'arme correspondante. Ensuite, sous l'auto devrait voir un endroit où mettre cet effet d'impact dans. Et si vous compilez et enregistrez, cela fonctionnera alors. D' accord ? Et vous pouvez, si vous le souhaitez, vous pouvez visser avec différents effets. Vous pouvez aller dans les paramètres du projet et en créer de nouveaux. Est-ce tout ce que vous auriez à faire est de créer une nouvelle variable, comme vous auriez à la glisser, créer un matériau physique pour cela, comme je l'ai fait au début. Ensuite, vous cliquez dessus et il devrait y avoir un nœud d'actualisation. Et puis vous devriez avoir ceux supplémentaires que vous avez créés pop-up sans supprimer cela. Et puis vous pouvez créer de nouvelles variables, le
brancher, faire tout un tas de trucs cool, mais c'est ainsi que vous faites différents effets d'impact en fonction de ce que vos traces de ligne frappent. Donc notre arme semble maintenant beaucoup plus professionnelle. Comme s'il tournait et éditait quelque chose. Et ça change en fonction de la surface que nous touchons. Alors j'espère que vous avez apprécié cette vidéo, trouvé utile et instructif. Et je te verrai dans la prochaine.
28. Enemies: Salut tout le monde et bienvenue à une autre vidéo. Dans cette leçon, nous allons continuer dans notre tireur à la première personne. Et nous allons faire des ennemis avec lesquels nous pouvons tirer et faire des choses cool. Donc, entre les vidéos, a fait quelques petites choses. J' ai donné notre matériau de grille de carreaux de béton à une échelle de deux. Et puis j'ai mis deux boîtes différentes ici. Un, j'ai mis ceci deux fois la taille de l'acier bruni et l'autre est une pierre taillée. C' est de notre type de pierre et ce n'est que n'importe quel coffre ennemi, quel que soit le nom que vous voulez. Donc ce sont immédiatement des vidéos que je vous ai donné la tâche de mettre différents défauts d'impact dans tout cela aurait dû être relativement simple. Les seuls qui auraient pu être un peu déroutants où le lance-grenades dans le lance-roquettes, pour ceux-ci, tous les impacts vont être une explosion de grenades dans l'explosion de grenades,
puis une explosion de roquettes et une fusée. explosion. Puis j'ai fait ces décalcomanies assez grandes. Ça devrait être la seule chose. Et honnêtement, je veux dire ceux-là. Donc, dans le fusil de sniper,
ça fonctionnera maintenant parce que toutes ces armes sont réglées pour être frappées, mais nous finirons par passer à projectiles et nous ferons différents événements pour eux de cette façon. Mais nous le ferons, nous utiliserons le même effet d'impact. Il est donc bon de les insérer maintenant parce qu'ils vont fonctionner. Mais nous devons d'abord ajouter nos ennemis juste avec la
façon dont le script de projectile et les plans sont mis en place. Ça le rendra plus facile de le faire de cette façon. Donc oui, je pense que c'est tout. Alors commençons par créer un nouveau dossier et appelons-le ennemis. Puisque nous sommes des couleurs à l'intérieur d'ici. Allons de l'avant et faisons un, un personnage. Et nous appellerons cet ennemi de soulignement BP. Une autre chose que je veux faire est de créer un nouveau dossier et d'appeler cette interface. Parce que nous allons faire quelques interfaces Blueprint dans cette vidéo. Mais commençons par ouvrir notre ennemi ici. Donc rien de trop fou ici. La seule chose que nous ferons, c'est que le maillage va faire le mannequin. Vous pouvez choisir un homme ou une femme où vous le souhaitez. Allons de l'avant et faisons pivoter 90 degrés. Réglons la hauteur de la capsule à 95 et nous pouvons garder 34, 0 que nous pouvons faire est que nous pouvons aller au mode gauche ou droit. On peut l'attraper et le faire descendre. J' ai probablement changé les paramètres d'accrochage. Vous venez de descendre à cinq, juste là au négatif 95. Rotation négative. Donc, l'emplacement z de négatif 95 et
la rotation de négatif 90 le mettra en place dans le composant Capsule était aussi 95 aussi bien. Revenez en mode perspective et voici notre personnage. Le filaire n'a pas autant d'importance. Il n'a pas besoin de chevaucher son bras parce que nous allons frapper ceux-ci ne
se croisent pas avec Capsule Component. C' est juste pour que si on le traîne, comment se tenir au niveau du sol comme ça. Donc oui, tout ça a l'air bien. Alors allons de l'avant et sélectionnons notre mannequin et frappons les bruns. Et puis vous devriez voir pour l'actif physique de la variante masculine. Et il ouvre ça. Et maintenant, nous avons un tas de ces différents bassins, colonne vertébrale, toutes ces choses différentes. Ce sont des biens physiques. Alors allons de l'avant et les placer dans afin que nous puissions commencer avec le remplacement de matériel physique de la tête et nous allons faire de la tête ennemie. Essayez simplement de tout sélectionner. Donc, si c'est juste dans le quartier général, on appellera ça la poitrine, la colonne vertébrale, appellera ça les échecs. On peut probablement supprimer certaines de ces choses honnêtement, mais on l'appellera le bras supérieur de la poitrine, on l'appellera bras, bras inférieur. Je vais toujours appeler ce bras. Et oméga. Et le haut du bras, bras
inférieur devient comme plusieurs bras appelés ARM. Et ces deux-là vont tous les deux être le chef de file. Droit ? Et veau. Droit ? Ces deux-là, il était pour tout va être jambe,
puis ballon de pied et puis football gauche et droite vont être moins dit football vont être pied. Bon, donc maintenant tout ça devrait avoir quelque chose, le mettre en place. Comme ça. Maintenant, si vous vous souvenez, dans une vidéo précédente, j'ai parlé de l'échelle des seuils de dégâts. Donc, nous retournons dans nos matériaux et partons avec le bras ennemi. Donc, s'il y a une compétence de seuil de dégâts. Donc ce que je veux que tu fasses, c'est que tu penses à ça. Donc, si nous fixons notre arme à 25 points de dégâts par balle, si c'est réglé à un, comment ça finira par être mis en place, cela signifie
que la balle fera 25 points, la tête le mettra en un seul. Mais pensez à cela comme un nombre de multiplication. Donc disons que je veux, si je mets ça pour être le bras à 0,5, non ? Dites que notre balle inflige 25 dégâts. Ça veut dire qu'il serait frappé dans le bras. Cette balle fera 12,5 points de dégâts. Pour que nous puissions entrer et censurer légèrement le bras. Je vais garder ça à 0,5. La poitrine sera de 0,8. Donc, vous pouvez le penser comme quel pourcentage ? Donc si on le frappe dans le pied, ce sera 30% du nombre total de dégâts normalement, la main fera un point à manipuler et faire autant de dégâts. La tête sera un 100 pour cent des dégâts que nous avons mis dans la jambe sera comme 0,7, peu moins que la poitrine, un peu plus que les bras ? Ouais, ça devrait être bon. D' accord. C' est ce qui va contrôler les différentes quantités de dégâts vidéo. Ça va faire un peu de multiplication. Tu verras, tu verras, d'accord. Hors événement commencer le jeu. Nous voulons une référence à notre personnage. Non, nous ne voulons pas jeter à nous-même couche. C' est et peut-être dans ce cas pour votre usage, Pon. Pon est celui que nous allons contrôler selectionner techniquement, ce sont les deux personnages, mais l'étang est celui que nous contrôlons. Donc, vous pouvez utiliser Get Player Pion, je suis juste habitué à utiliser le personnage de joueur Git. Nous ferons la même chose pour la plupart, dans la plupart des cas. Et encore une fois, comme ça n'a pas vraiment d'importance. Ok, cool. Donc maintenant ce que nous allons faire, donc nous allons faire une interface. Alors allons dans notre dossier interfaces, cliquez avec le bouton droit de la souris et allez à imprimer Blueprint Interface. Donc, une interface Blueprint est une collection d'une ou plusieurs fonctions nomment seulement aucune implémentation qui peut être ajoutée à d'autres Blueprints. Alors, comment puis-je, c'est comme si une interface ne fait rien en fait. C' est juste un endroit où vous pouvez stocker plusieurs fonctions différentes. Ensuite, vous pouvez appeler ces colonnes d'événements dans plusieurs Blueprints différents. Et tu verras,
ce sera une de ces choses que tu verras au fur et à mesure. Appelons cet ennemi, prenons des dégâts. Ouvrons ceci et créons une fonction et appelons-la Ennemi, infligez des dégâts. Je pourrais changer le nom par défaut. Appelons ça BPI. Enlève des dégâts, l'interface de Blueprint subit des dégâts Parce que nous voulons que l'ennemi subisse des dégâts. Nous voulions aussi subir un rayon de dégâts, et nous allons mettre les deux ici. Donc j'ai l'Ennemi à subir des dégâts. Et puis nous voulons avoir deux entrées à ce sujet. On veut qu'on l'appelle les statistiques d'armes, et on va créer ça dans une seconde. Et puis un résultat appelé pitch du type pitch résultat. D' accord ? Et nous devons faire une structure pour nos statistiques d'armes. Alors allons dans Data, cliquez avec le bouton droit de la souris. Et allons-y des plans, structurons et appelons ça des statistiques
d'armes. Donc, une structure est légèrement différente d'une énumération. L' énumération est comme une liste. Une structure ou une structure est comme un seau de variables. Donc, vous pouvez ajouter un tas de variables à cette petite chose. Donc on va faire un qu'on appelle des dégâts, et ça va être de type flottant. Cela permettra de contrôler combien de dégâts sont infligés à l'arme. Et puis pour ceux qui explosent, nous aurons un flotteur pour le rayon d'impact. Et comme je l'ai dit, ce ne serait
nécessaire que lorsque nous nous sentons comme notre lance-grenades dans un lance-roquettes. Donc nous voulons faire cela de la mort d'armes de type. Vous pouvez voir juste là comme ça. D' accord ? Donc c'est notre interface. Donc maintenant, si nous allons à côté de notre plan ennemi, nous pouvons appeler ennemi de l'événement. Et laissez-moi y aller. L' ennemi subit des dégâts parce que vous n'avez pas besoin de mettre l'événement. Oh, eh bien ça n'a pas marché. Pourquoi ça ne marche pas ? Je compile. Oh, j'ai oublié la partie la plus évidente. D' accord. Nous devons réellement ajouter cette interface à ce plan. D' accord ? Donc, sous le paramètre de classe, vous verrez des interfaces et nous devons en ajouter une. Et allons de l'avant et ajouter BPI, prendre des dégâts. Donc maintenant, lorsque nous ajoutons cette interface à ce plan, nous pouvons maintenant appeler l'ennemi ou l'ennemi de l'événement prendre des dégâts. Maintenant, nous pouvons avoir un événement dans ce plan et vous pouvez voir nos petites contributions ici. Et donc quel que soit le plan que nous ajoutons, interface aussi, nous pouvons appeler cet événement pour s'en sortir. Et il aura la même sortie. Donc, il est un peu utile si vous voulez avoir comme si penser à un jeu comme quinze jours. Ok, il y a beaucoup de choses différentes à Fortnite qui prennent des dégâts. Vous pouvez détruire les bâtiments, les maisons, les arbres, et vous pouvez endommager les joueurs. Ainsi, vous pouvez avoir une interface qui a des entrées de tous les différents types de données que vous voudriez passer à travers différentes choses qui subissent des dégâts. Mais comme un arbre va prendre les dégâts différemment d'une partie d'un bois de construction. Et différemment d'un joueur, ils ont tous des quantités différentes de Santé et ils subissent tous différentes quantités de dégâts. Donc, en utilisant des interfaces, vous pouvez créer une interface et ensuite vous pouvez personnaliser essentiellement comme ces types de choses à un niveau plus simple, mais vous n'avez pas besoin de créer un événement différent à chaque fois. Vous pouvez simplement l'appeler l'interface, puis exécuter cet événement hors de l'interface au lieu de le faire 1000 fois. D' accord, alors créons une variable et appelons ceci est mort. Nous voulons vérifier si notre ennemi est mort. C' est la première chose qu'on va faire. Donc vous ne voulez pas que ça prenne des dégâts si nous sommes morts. D' accord ? Et de façon typique, nous allons manquer de vrai. Si nous ne sommes pas morts, alors nous voulons faire des dégâts. Allons-y et laisse-moi te montrer ça. Donc, les statistiques d'armes et nous allons casser les statistiques d'armes. Et maintenant, nous avons des dommages et un rayon d'impact, qui était ce qui était sur notre structure. D' accord. Mais nous voulons être en mesure de calculer combien de dégâts nous voulons faire. Donc, stockons cela dans une fonction. On appellera ça Coull dégâts tardifs. Et ajoutons quelques entrées ici. Nous allons créer un flotteur appelé dégâts. Et passons aussi dans un résultat de succès de type hit résultat de cela. Allons-y et je vais juste définir ceci sur une variable locale afin que je puisse l'utiliser plus tard dans le script. Celui-ci va être trop long et nous allons ajouter un nœud de retour. Et ça va être un flotteur aussi. Et ce sera, appelez-le les dommages calculés. Donc ceci, c'est ce qui va réellement calculer combien de dégâts nous faisons à notre ennemi. Donc, nous allons casser le résultat du coup. D' accord, et puis hors de la matière physique, nous voulons obtenir l'échelle de seuil destructrice sera endommagée. D' accord, donc encore une fois, comme je l'ai dit, si nous allons dans les matériaux et que nous entrons dans notre main ennemie, nous obtenons un matériel physique et ensuite nous vérifions l'échelle des seuils de dégâts. Donc, dans cette chance, comme je l'ai dit, on fait 30% de tout ce qu'on met en tant que dégâts que nos armes vont faire. Et nous voulons multiplier cela par nos dégâts locaux. Donc, comme je l'ai dit, si c'est 25 ou en multipliant cela par dans ce cas, si nous frappons la main serait comme 0.3. Et puis on définit ça comme notre retour, on retourne ce numéro. Alors maintenant, dans notre graphique d'événements, appelons calculer les dégâts. Donc nous voulons que ces dégâts soient transmis comme ça. Alors, où on va assigner cette structure, statistiques
d'armes à chacune de nos armes sur notre base, n'est-ce pas ? Donc, nous pouvons individuellement dans chaque plan comme nous l'avons fait plusieurs fois sur tous les enfants, créera dans combien de dégâts nous voulons que cette arme fasse. J' ai donc utilisé le numéro 25. Donc notre chagrin, notre fusil d'assaut fait 25 dégâts. Ça va passer ça. Il va avoir ce magasin variable 25, et ce sont les statistiques d'armes. Il va prendre ces données, il va les transmettre. Il va le calculer. C'est comme, d'accord, j'ai frappé la main de cet ennemi. ce moment. Mon fusil d'assaut est de 25 points de dégâts. Mais j'ai cogné la main. Donc je prends 0,3 de ça ou quoi que ce soit, et puis je retourne 7,5 points de dégâts. Bon, donc c'est comme ça que ça marche. Et puis nous voulons transmettre ce résultat à succès aussi pour nous assurer que nous avons bien, nous frappons quelque chose parce que ce serait gênant. Et ce qu'on veut faire, c'est mettre à jour la santé de nos ennemis. Donc, nous allons vouloir créer une nouvelle fonction pour cela et appeler cette date d'ouverture de santé. Et faisons une grippe et appelons ça des dégâts comme ça. Et faisons ça en une séquence parce que nous allons faire quelques petites choses différentes ici. Nous voulons être en mesure de vérifier si nos ennemis sont morts, essentiellement. Pour que Saturne revienne. Et on va dire qu'il est mort et en faire un booléen. Droit ? Donc, hors de nos dégâts appliqués, Allons plus ou égal à. Et puis dis branche, whoa, whoa,
whoa, whoa, les rhonchi, leur branche. C'est plus comme ça. D' accord. Et faisons une nouvelle variable et appelons cette santé actuelle. Ce sera nos ennemis de type santé float. Donc, si nos dommages sont supérieurs ou égaux à notre santé actuelle, disons que notre santé actuelle est de 10 et que nos dégâts sont de 20. D' accord ? Si cela se produit, alors nous voulons définir est mort ou non, en fait, créons un local est mort. Ça pourrait faire la même chose. Peu importe. C' est comme ça que je l'ai fait avant. Nous allons mettre local est mort pour être vrai. Et puis nous allons nous assurer que notre santé ne va pas au-dessous de 0 en le définissant sur 0. C' est ce qui arrive s'ils meurent. S' ils ne meurent pas, alors nous voulons prendre les dégâts que nous avons infligés. Nous voulons soustraire ça. Nous voulons que ce soit au fond. Faites glisser ça ici. Bien sûr. Maintenant, prenons la santé actuelle. Donc, notre santé actuelle est supérieure à la quantité de dommages. Donc, notre santé actuelle est de 20. On fait 10 dégâts et on veut en soustraire 20 de 10. Et puis définissez ça comme notre nouvelle santé actuelle. Et puis à partir de là, nous voulons vérifier et voir si nous sommes morts. Et nous allons brancher local est mort, comme ça. Pour vérifier et voir. Nous avons donc créé cette variable locale. Nous aurions pu le faire sans ça. Probablement on aurait pu l'utiliser comme mort. Mais c'est ce que c'est. On définit le local comme la même chose de toute façon. Donc, ça n'a vraiment pas d'importance. C'est ce qu'on fait ici. Ensuite, si nous sortons d'ici, alors nous voulons faire nos mises à jour sur la santé. Les dommages infligés seront les dommages calculés. Et puis on revient, c'est mort. Donc nous voulons mettre est mort à ce que la sortie de ceci était. Donc, si nous manquons de santé, nous sommes morts ou santé de 0. Maintenant, si le dommage que nous avons appliqué est inférieur à la quantité de santé que nous avons. Nous allons juste dire, eh bien, nous n'avons pas encore établi que c'est vrai, donc nous ne sommes pas morts. D' accord ? Donc on se prépare très bien que nous allons faire une déclaration if. D' accord ? Et si nous, pour le moment, allons juste imprimer une ficelle et dire, je suis David. D' accord ? Et puis pour ne pas dire que je suis encore permis. Tous droits. Et ça devrait être tout ce dont nous avons besoin. Pour l'instant, nous allons ajouter plus à cela plus tard, quelques effets. Mais juste pour cela, nous pouvons voir si cela fonctionne. Dommages calculés. Pourquoi ne pas imprimer aussi une chaîne ici pour que vous puissiez réellement voir les dommages que nous sommes, à
quoi notre santé est. Alors fixons ça à 100. Par défaut, l'état de santé actuel est 100. Et nous verrons la soustraction se produire et faire tout ça. Donc la dernière chose que nous devons faire ici est d'aller dans notre arme ou dans notre base d'armes et nous voulons ajouter cette structure. Alors allons-y arme. Les statistiques en font des statistiques d'armes de type. Bon, maintenant vous pouvez voir ces statistiques. Alors allons dans notre qui était déjà dans le bon dossier, n'était pas un pistolet. Et vous devriez voir les statistiques d'armes. Laissons ça faire 20 dégâts. Nous n'avons pas besoin de nous soucier du rayon d'impact parce qu'il ne fait pas encore tout ça. Donc maintenant, si on monte et qu'on joue, qu'on choisit un scone, et qu'on tire sur notre gars. Et ça ne marche pas. J' ai dû oublier un pas. Oh, oui, je sais ce que c'est. On doit appeler la tête qu'on a faite ici. Donc, si nous allons dans notre base d'armes, allons de l'avant et créons une fonction dans laquelle nous ajoutons des dégâts à notre gars. Donc oui, ouais, ouais. D'accord. Si triste, nouvelle fonction et appelez cela ajouter des dommages. D'accord. Ajouter des dégâts va avoir une entrée d'un résultat informatique comme d'habitude, parce que l'ARN voudra toujours passer à travers nos résultats de succès. On ne le perd pas. Et puis ce que nous voulons faire c'est que nous voulons obtenir, puisque nous n'avons pas ajouté l'interface, nous voulons obtenir un message de l'ennemi, prendre des dégâts à cette interface. Et donc ça va demander des trucs. Alors, quelles sont nos armes meurent ? Eh bien, c'est ce que nous branchons dans nos armes. Alors maintenant que les données sont transmises, nous voulons casser ce résultat ici. M' a aidé à frapper le résultat dans les résultats de coup afin qu'il traîne juste à travers comme ça. Mais nous devons donner à ça une cible à frapper comme ce qui fait des dégâts. Dans ce cas, ce sera le Hit Actor, qui va, qui est notre ennemi. Un acteur ou un dragon qui passe comme ça. Ok, donc c'est comme passer l'info par l'arme à l'ennemi. Prendre des dégâts dit ce qui passe réellement par la quantité de dégâts que font nos armes. Et on a ajouté ça ? Non, nous ne l'avons pas fait. D' accord. Alors, en sortant d'ici, nous devons ajouter des dégâts comme ça et ça va demander des résultats de succès. Et puis ce résultat est ça. Donc juste la même chose. Alors maintenant, j'espère que Dieu devrait travailler parce que nous avons ces 20 dégâts qui passent à travers. Et ce n'est toujours pas le cas. Ce qui se passe dans ma vie. Wow. Wow. Je dis, d'accord, donc j'ai compris le problème. Donc, si vous vous souvenez quand nous avons calculé notre, une partie de cela, quand nous avons calculé notre trace de ligne, nous avons des acteurs que nous allons frapper dans ceux que nous allons ignorer. Ce qu'on pourrait faire, c'est ajouter une épingle, ajouter un étang ou autre chose parce que c'est ce que c'est. Jeu par défaut S. Ce que nous voulons faire, ce que nous pouvons faire supposé aller au Mesh. Et vous aurez probablement des paramètres différents dans ce. Ça va probablement dire pion ou quelque chose comme ça. Allez-y et définissez-le sur mesure. Assurez-vous que la collision est activée requête et physique. Et définissez le monde de type d'objet 2 et dynamique si vous faites ces trois choses sur le maillage. C' est là que sont les objets physiques. Et puis tu ramasses le pistolet et tu marcheras par ici. Ensuite, vous obtiendrez les effets d'impact. Dans toutes les maths se passent. 30 est mort. Et donc il n'a plus pris de dégâts. Mais c'est lui, il est fou. Et je crois que cela fonctionne, donc je n'ai pas de jeu parfait, mais pour lui dans la tête devrait être 8650 pour être une certaine expérience avec cela aussi. Dis-le maintenant en maths, j'ai peut-être aussi foiré. Mes effets d'impact sont mes matériaux semblent comme la tête était la tête est prête à être là. Oui. Ce sera plus difficile à dire si les calculs de dégâts exacts et tout ça fonctionnent jusqu'à ce que nous obtenions les numéros de dégâts sur le HUD. Mais si c'est faux, il y aura une chose facile à réparer. C' est probablement une erreur maladroite. Tout comme le réglage sur le mauvais type ou la définition de l'échelle de seuil endommagée incorrecte. Ou peut-être même sur le corps physique du mannequin ici. Peut-être que certaines de ces choses sont mauvaises ou quelque chose comme ça. On ne sait jamais. Il y a des choses maladroites qui peuvent arriver, mais cela fonctionne comme prévu cependant. Jusqu' à présent. Vous pouvez prendre notre arme pour aller
à l'autre arme Scan maintenant. Et vous pouvez attribuer différents nombres de dégâts sous statistiques d'
une arme entre les vidéos et voir combien de dégâts vous voulez faire. Cela prendra probablement plus de rigole avec quand nous obtenons
le nombre de dégâts et que nous obtenons des choses différentes pour arriver quand nos ennemis se régissent. Mais le moment, tu peux baiser et t'amuser. Mais oui, j'espère que vous avez apprécié cette vidéo. Merci d'avoir regardé. Vous avez des questions, faites-le moi savoir et je vous verrai dans la prochaine.
29. Visir des vues: Hé tout le monde. Dans cette vidéo, nous allons ajouter la possibilité de viser vers le bas notre arme. La principale raison pour laquelle je voulais le faire maintenant au lieu de plus tard, c'est parce que dans l'état actuel, nous ne pouvons pas vraiment dire exactement. Je suppose que si on se tournait différemment. Eh bien, ok, écoutez, il y a des façons de le faire. On pourrait rallumer la trace de la ligne. Nous regardons bien l'impact affecte il ya la configuration, mais honnêtement, je pense que cette fonctionnalité est un peu en retard depuis longtemps. Et si nous visons, alors nos traces de ligne vont aller parfaitement tout droit. On est montés pour s'inquiéter de toutes sortes de balles, répandre les choses. Allons-y et faisons-le maintenant. Donc, à l'intérieur de notre personnage, nous avons déjà est la variable de visée, mais nous voulons créer une action d'entrée pour viser. Allons donc dans nos paramètres, Paramètres du projet, Entrée. Et faisons un autre et appelons ceci objectif. Et nous allons faire le bouton droit de la souris comme ça. De retour dans notre joueur, dans nos cartes d'action,
Appelons à but. Droit ? Donc je ne veux pas être capable de viser. Tous se rechargeaient. C' est d'abord et avant tout, on va se recharger. Et disons que non. Voyons si ça va mettre ça sur le pressé. Je ne veux pas être capable de recharger en pleuvant. Maintenant, la façon dont nous allons le faire est que nous allons utiliser un répartiteur d'événements. D'accord ? Nous n'avons pas nécessairement le faire, mais je vais le faire de cette façon juste pour vous montrer comment utiliser Event Dispatcher. Le premier et avant tout que nous voulons définir est de viser à être vrai ici. Si on appuie sur le bouton. Et puis si on libère, on veut que ça redevienne faux comme ça. Alors allons de l'avant et créons ce répartiteur d'événements. Et nous appellerons ce but entrer, et nous appellerons une autre sortie de but. Donc, ce que vous pouvez faire avec un répartiteur d'événements, c'est si vous le faites glisser, vous pouvez vous appeler combiné ou assigner. Croyez que tout va faire ici est l'appeler et le lier. Donc quand tu appelleras, alors ok, laisse-moi t'expliquer comme ça. Vous pouvez lier des répartiteurs d'événements à plusieurs événements différents qui existent dans votre jeu. Donc, si je crée un événement personnalisé et je dis bonjour. Ainsi, ces petits nœuds, vous pouvez lier, répartiteurs d'
événements, peuvent les connecter à cela. C' est ce que ces petits nœuds ou quatre. Donc, ce que vous pouvez faire est que vous liez un événement à un répartiteur d'événements, puis vous pouvez appeler ce répartiteur d'événements. Et chaque fois qu'
il est appelé, il appellera également tous les autres événements auxquels il est lié. Donc, quand nous
cliquons sur ce, Appelons but entrer. Disons simplement au jeu que nous sommes entrés dans notre objectif. On veut arrêter les mouvements. Donc, si nous
visons, nous ne voulons pas être en sprint. C' est toujours une bonne chose à faire. Et puis allons-y et sortons notre charge. Et c'est bizarre. Et allume-le. Et copiez coller. On veut faire ça deux fois. Allons-y. Alors appelons-le sortir. Quand on ne vise pas. Et on peut aligner ça en fait, faire en sorte que ça ait l'air sympa. Allons l'allumer ici aussi. Ok, maintenant, prenons nos composants de mouvement de personnage parce que nous voulons vérifier pour nous
assurer que nous voulons régler notre vitesse de marche,
donc la vitesse de marche maximale et la vitesse de marche maximale. Et nous voulons le faire pour les deux. Donc les cibles. Et puis pour l'arme a manqué comme arme. J' aime ça. Ça a l'air bien. Donc, si nous visons notre sortie, si nous sortons de notre objectif, nous voulons obtenir la vitesse de marche maximale, cette variable que nous avons fixée à 750. Et puis on peut définir ça pour être une variable aussi, mais je vais juste le mettre à 250. Ça va être, tu sais, je serai gentil. Visant, vitesse de marche, ce sera à ce mouvement. Vitesse de marche maximale. La vitesse de marche visée sera de 250. Donc, vous aimeriez présenter cela à une variable. Vous pouvez changer cela aussi. Et donc je ralentirai le joueur quand on ne veut pas pouvoir bouger à pleine vitesse alors qu'Amy n'aura pas l'air bien. Il se sent également très difficile de se déplacer dans une plupart des jeux lorsque vous visez qu'ils ralentissent année, Walk Speed down comme ça. C' est ce qu'on fait là-bas. Ok, donc c'est tout ce qu'on a à faire dans notre personnage. La prochaine chose que nous devons faire, c'est d'aller à l'intérieur de notre base d'armes. Et allons au Graphe des événements. Et montons à Event Begin Play ici. Et nous avons cette référence de joueur ici. Donc on peut faire ça tout de suite. Donc, nous allons lier événement à viser entré. Voici notre répartiteur d'événements juste ici. Et refaisons-le. Bind Event pour viser la sortie, comme ça. Donc maintenant, nous pouvons créer quelques événements et les lier à cela. Donc, quand cela se produira, ces événements se produiront également. D' accord, alors créons un événement personnalisé et appelons cette arme but, entrez. Et nous allons créer une variable est une arme visant. Et nous allons définir ça pour être vrai. Et puis pour les sorties AIM, faisons la même chose. On dira arme, viser la sortie. Et ce seront de courts événements qui vont activer et désactiver ce booléen. D' accord ? Et nous dirons des amendes visant à l' action d'entrée
ADS sur la pièce. Donc, ce que cela fait, c'est qu'il lie ces variables avec celles-ci essentiellement. Et il y a un autre moyen, il y a d'autres façons de le faire, non ? Mais je voulais vous montrer comment le faire via un répartiteur d'événements afin que vous
puissiez créer une ligne beaucoup plus complexe de script de code, événement ou autre chose hors d'ici, en lier cela à quelque chose et vous pouvez lier des choses plusieurs fois différentes et comme avoir comme sept événements différents se déclencher tous en même temps. Chaque fois que vous appelez un répartiteur d'événements. Un moyen facile que nous aurions pu faire c'est sur notre script Interact. Nous aurions pu créer un de ces appelés interagir. Et nous pouvons simplement appeler interagir dans notre événement d'action Interact et mettre l'action pourrait simplement dire, appeler, appeler interactif. Et nous pouvons avoir un tas d'événements différents liés à cela dans l'un d'eux pourrait être un événement que nous pourrions avoir comme un client mauvais et nous appeler interagir ou autre, puis brancher ça. Et puis nous pourrions lier ça à un répartiteur d'événements et l'appeler ici. C' est une façon différente de faire les choses. Ouais, on ne va pas le faire comme ça. Donc parce qu'on est trop cool. Une chose que je veux faire ici est le rechargement automatique sur vide. Je veux appeler la sortie de tir d'arme. Cet événement, la sortie de but d'arme. Oh, wow. C' est comme littéralement juste là. Attends. Oui. Oui. Dans ma tête. D'accord. Oui. C' est juste un ordre bizarre. D' accord. Donc on se souvient juste de cet événement. Donc, lorsque nous rechargeons automatiquement à vide, nous voulons quitter notre objectif. Nous ne voulons pas encore viser et recharger en même temps. C' est donc bon à faire. Beaucoup de ça va être dans notre fusil de sniper. Parce que le fusil de sniper vise, puisqu'il s'agit d'une portée, va fonctionner un peu différemment. Donc, les lier ici nous aidera quand nous créerons le fusil de sniper. Donc, vous ne verrez peut-être pas tout un tas de fonctionnalités avec elle en ce moment, mais cela reviendra plus tard. Donc la prochaine chose que nous devons faire ici c'est aller à l'intérieur de notre plan anim sur notre personnage. Parce que nous allons utiliser cette pose de cache et créer une toute autre chose, puis encaisser cette pose et ensuite la brancher là-dedans. Bu car on fait ça. Eh bien, nous devons nous assurer que toutes nos choses sont dites, toutes nos variables sont réellement rappelées. Nous devons donc créer trois variables dans notre base d'armes. Donc, nous allons appeler 11 X offset. Tout cela va être l'orthographe flottante. J' ai donc un décalage x, décalages
Y et un décalage Z. Et je vais mettre ça dans une catégorie appelée « but ». Alors faisons le décalage x, y et z en premier. Alors ajoutons ces variables ici maintenant. Décalage X du type flotteur, décalage y. Flottant à nouveau, puis décalé Z. D' accord, et puis on veut obtenir est de viser. Et ce sera un booléen comme ça. Bon, alors allons-y après le rechargement. Allons de l'avant et set vise à obtenir la référence du joueur et obtenir vise à la maison. Même savoir, encore une fois, paresseux avec mes boîtes communes. Je sais ce que ça fait. Mais c'est bien de les séparer encore. Ok, la prochaine chose qu'on veut faire est de mettre le joueur. Allons chercher leur arme actuelle. Et puis nous allons obtenir le décalage X et puis définissons cela comme décalage X ici. Comme ça, comme ça, juste comme ça. Et puis faisons ça pour le décalage Y. Définit, c'est le décalage Y. Et puis une dernière fois, mais les décalages z vont définir ceci. C' est, je vous expliquerai ça plus tard. Ce que ces nombres font dira des décalages pour n'importe quel nom. Donc, ces variables sont x, y et z. Nous allons personnaliser par arme pour pouvoir dicter où nous voulons réellement déplacer l'arme pour qu'elle ressemble à une intersection avec l'écran au milieu exact juste là. Maintenant que nous avons notre configuration variable, nous pouvons maintenant les utiliser. Alors attrapons X et attrapons Hawaii. Et prenons z. et attrapons, vise. Je veux tous les attraper. On va commencer par l'avant-poste de chargement. Alors allons le chercher et le rompre de là et l'attraper. Et nous voulons, comme d'habitude, nous voulons transformer, modifier l'os. L' os que nous allons modifier est la colonne vertébrale B. 1. Encore une fois. Ce qu'on va faire, c'est qu'on va se débarrasser de la balance et de la rotation et on va se séparer. Je crois que j'ai mal dit. Débarrassez-vous de l'échelle et de la rotation et divisez la traduction. Et puis nous allons brancher x, y et z à ces valeurs là comme ça. Allons de l'avant et obtient une nouvelle animation. Allons à un jeu de tireur. Animations là devrait être un appel un fusil, AIM. Vise. Oui. Alors frappons oui, ça va jouer à vos cibles de lecture de squelette. Je pense que cela a en fait comme il y a un effet sonore que nous pouvons ajouter ici. Donc, si vous le souhaitez, vous pouvez cliquer ici sur Ajouter notifier et lire le
son, puis insérer le son et vous devrez probablement réparer le fichier audio. Nous avons cela ajouté maintenant. Revenons à notre plan d'Anim et allons viser le fusil. Et cela va créer une composante de la dette locale. Donc, nous prenons notre animation de tir de fusil, et ensuite nous allons compenser cette colonne vertébrale par différentes valeurs que nous définirons parce que ce but de fusil ne
va pas parfaitement configurer chaque arme pour qu'elle soit parfaitement orientée dans au centre de l'écran. Donc, nous allons être en mesure de définir ces chiffres en conséquence pour que ça paraisse mieux. Alors mélangeons les poses par bool. Allons le brancher pour la vraie pose. Si nous visons, alors oui, nous voulons le faire. Si nous ne visons pas, nous allons juste utiliser ces avant-postes de charge que nous avons ici à partir de la sortie de notre rechargement. J' ai un petit ordinateur et mon propre script. Fais ça ici. Oh, d'accord, et puis mettons-cache cette pose et nous
dirons charger les bouffées de visée. Je manque de noms ici. Oui. D' accord, et puis nous allons obtenir une faible charge sur la commande de pose visée. Oh mon Dieu. Oh mon Dieu. Sakes. Et une demi-heure plus tard. Ils sont peut-être là à tout moment et son aveugle. D' accord. Oui. Allons de l'avant et ajouter le décalage pour tourner arme. Au cours de viser le site ou tout ce que vous voulez dire là. Alors nous ferons notre couleur habituelle. Donc ça va faire ça. Alors maintenant, qu'est-ce que ce n'est pas comme des composants de transformation à modifier, sélectionné ? Mon Dieu, comment il nous a fait, je déteste comment il est toujours par défaut, ignorer. Assurez-vous de le définir pour l'ajouter à existant. Et puis ça vous donnera l'air. Donc maintenant, si nous entrons et attrapons une arme et que nous visons, vous pouvez voir à quel point ce n'est pas parfait. Il fait ce qu'il est censé faire. Mais ce n'est pas clairement au bon endroit, non ? Mais il vise. Et vous remarquerez que c'est comme si nous avions parfaitement fait nos dégâts de rente AutomL mais vous verrez comment cela apparaît parfaitement là où nous voulions poser à droite. Donc, il fait le truc de propagation audacieux. Et puis il vise parfaitement. Ça a l'air stupide et ridicule. Donc la prochaine chose que nous allons faire, c'est que je
vais vous dire quelles sont ces valeurs pour chaque arme. Et si bien, ça n'a pas l'air horrible. Allons-y et faisons-le maintenant. Je vais vous les donner en action rapide. Bon, donc pour le fusil automatique, vous allez avoir un décalage X de 1,5. Le décalage y sera négatif dix, et le décalage Z sera 0.5. Compilez et enregistrez cela. On va faire le pistolet prochain produit que tu ne le fais pas. Le premier décalage X est 0,9. Le décalage Y sera de 15. Donc, ça va faire avancer un peu ça. Et puis les décalages z vont le déplacer vers le haut, à 9.2, les fusils de chasse suivants. Et le décalage X va être 1.3. Le décalage Y va être négatif 0,5. Et puis dernier but non le moindre, le décalage Z va être de sept. Alors, à mi-chemin,
montrons tout de suite ça. Donc nous avons cette arme, cette arme, cet ensemble d'armes. Donc maintenant que l'air, vous pouvez toujours voir le point blanc. On va faire disparaître ça dans une seconde. Mais ça a l'air vraiment, vraiment bon. Je pense que le fusil de chasse est aussi très précis là. Donc tout fonctionne bien. Allons de l'avant et faisons le suivant. Ces fusils de sniper vont fonctionner un peu différemment pour que vous n'ayez pas à vous en
soucier du tout. Alors ouais, ne t'en fais pas. Mais pour le lance-grenades, le décalage X va être de 0,5. Y va être laissé à 0, puis z va être 0,5 aussi. Et enfin, pour notre lance-roquettes, le x va être une valeur de 1. Y va être laissé à 0 une fois de plus, puis z sera négatif quatre. Donc avec tout ça fait, comme je l'ai dit, le sniper, le sniper noir n'a pas d'importance. Mais nous avons des problèmes de coupure avec le lance-roquettes. Mais le lanceur de grenades a l'air bien. Cela va aussi tirer un arc. La dernière chose que je pense que nous devrions faire est que nous pouvons entrer dans notre rouge, je mets ces plans dans notre HUD et nous pouvons,
eh bien, plus de produits à éditer, commencer à jouer, non ? Obtenez une référence à notre personnage. Ok, et ensuite on aura une déclaration si d'ici. Et puis nous dirons, git vise. Si nous ne visons pas. Et nous voulons dessiner le rectangle. Donc nous voyons la petite ligne ici et elle disparaît. Donc un petit point blanc disparaît. Maintenant, quand on vise, comme le reste du réticule. On peut donc l'utiliser comme radical. Donc tu ne veux pas vraiment voir ce point blanc tout le temps. Donc c'est un script que j'ai fait assez laid. Je vais le rendre magnifique dans une seconde. Et tu peux le faire aussi si tu veux. Sinon, cela fonctionne, mais c'est ainsi que nous visons dans notre jeu. Et le truc de propagation de balle semblait que ça fonctionnait très bien. Donc, tout devrait être bien et bien. Donc oui, c'est comme ça que tu vises dans les jeux vidéo qui vont finir cette vidéo. Et je te verrai dans la prochaine.
30. Zoom ADS: Salut tout le monde et bienvenue à une autre vidéo dans la dernière leçon, si je peux me souvenir correct, parce qu'il a certes été un peu de temps. Tu l'appelles ? Nous avons commencé à ajouter le but au jeu. Dans cette vidéo, je veux ajouter une seule fonctionnalité à cela. Donc si on saute dans notre jeu et qu'on attrape une arme, ou je veux dire, l'un de ces honnêtement et reprendre ou nous visons. Vous remarquez que les caméras un peu loin en arrière, c'est un peu difficile à voir. Ce que nous pouvons faire, c'est changer notre champ de vision. Nous pouvons pousser un peu cette caméra si nous visons ou pas, et rendre ce look un peu plus dynamique. Dans la dernière vidéo, j'ai rencontré un problème et je résolve assez rapidement quand à notre ennemi. Si vous ceci est R calculer la fonction de dommage qui est appelé le graphique d'événement, colline droite. Donc, ce que vous pouvez faire est que vous pouvez retirer de ce dommage calculé comme si je n'avais pas imprimé de chaîne. Donc, chaque fois que vous tirez sur une arme, ça vous redonnera les dégâts. Et l'erreur idiote que j'ai faite était sur cet atout physique ici. J' ai fait la tête, je pense que c'était une main. C' est pourquoi je pompais de petits numéros, mais voyez-vous que j'ai mon pistolet mis à 20 et si je tire, il fait 201614610, puis quatre. Donc Zun pour les dégâts sur la tête avant et c'était gênant. Ce n'est pas ce qu'on voulait. Donc, un moyen facile de corriger cela si vous rencontrez quelque chose comme ça, Allons-y et sélectionnez l'ennemi. Vous pouvez aller à cet actif en appuyant sur ce bouton, ouvrir notre actif physique et juste vous assurer que vous vérifiez que ceux-ci sont corrects. Ce que j'ai fait, c'est que j'avais un cou et une tête mis à la main et non pas la tête parce qu'ils ressemblent. Donc ça faisait pour les dégâts avant. C' est donc un moyen facile de corriger cela et de vous assurer que et vous avez les bonnes ressources physiques à. Et donc c'était vraiment le seul problème que je voulais m'assurer qu'il était résolu. C' est peut-être une autre chose que tu n'as probablement même pas rencontrée. Mais je l'ai fait. Alors passons à autre chose. Alors ouvrons la base d'armes et nous allons faire une nouvelle variable. Et on va appeler ça pas le taux de tir. Je regarde le taux de tir en ce moment. Champ de vision. Nous l'appellerons réellement champ de vision objectif car il y a une variable intégrée appelée champ de vision en fera un flotteur. Ensuite, nous voulons ouvrir nos composants de personnage comme celui-ci parce que nous allons avoir besoin de notre appareil photo. Et nous voulons le faire à l'intérieur d'une fonction. Donc, créons une nouvelle fonction et nous appellerons ce champ de vision objectif. On peut lui donner le même nom. Tout d'abord, allons de l'avant et obtenons est de viser. Et nous voulons vérifier si nous visons ou non. Tu veux que ça arrive seulement si on vise. Allons-y et attrapons notre caméra. Et nous allons en faire deux pour faire quelque chose de vrai et quelque chose de faux. Et donc, disons définit le champ de vision pour les deux. Donc, si vous,
je pense qu'on sélectionne sur la caméra et qu'on y va, vous pouvez juste le chercher jusqu'au champ de vision réglé sur 90. Donc on va changer ça. Donc il 90, plus le nombre est grand, plus il va regarder loin. Donc, beaucoup de chaudron, les gens qui jouent à des jeux PC sont comme un peu faire ce champ de vision vraiment large, extra large. Et c'est donc le nombre qu'ils changent lorsque vous faites cela dans vos paramètres. Donc nous voulons pousser cet appareil un peu plus loin et nous sommes dynamiquement réglés. D' accord ? Donc nous allons avoir besoin d'une caméra à nouveau, et nous allons avoir besoin de cette variable de champ de vision, qui est réglée sur 90. Je pense que tu peux peut-être changer ça. Et nous ne voulons pas que cela s'accroche à ce nouveau champ de vision. On veut qu'il s'interpelle donc on va obtenir une interruption F pour float. Interpréter j'ai décrit avant ce que signifie l'interpolation. Ensuite, on va récupérer notre arme actuelle. C' est pourquoi je n'aime presque pas mettre les choses dans les catégories parce que je dois aimer comprendre, oh mon Dieu, où est-ce que j'ai mis ça ? Et nous voulons avoir ce champ de vision. Donc, notre champ de vision normal est le courant que nous voulons passer à la cible, ce que nous allons définir. Donc, je stocke cette variable dans les parents d'armes afin que nous puissions toujours rappeler cela en changeant dynamiquement cela en fonction de celui que nous avons. Pour la vitesse d'interruption. Mettons-le à 10. Vous pouvez changer ce que vous voulez en dehors de vos préférences personnelles. Sachez juste que s'il est réglé sur 0, il va s'accrocher là immédiatement, que nous allons obtenir. Le monde que Delta secondes pour notre temps delta, c'est plutôt normal là-bas. D' accord ? Et puis nous allons copier et coller ça. Et donc la seule chose que nous allons faire,
eh bien, allons de l'avant et nous allons juste définir ce que c'est un 90. Donc, si vous voulez changer votre champ de vues valeur par défaut, vous pouvez promouvoir cela à une variable par amines, mais je ne le change pas de 90 SMS allant dur, remettre à 90. Ok, donc c'est juste en cours d'exécution si on ne vise pas. Donc le courant est 90 et on passe à 90, où c'est une autre façon de dire que nous ne faisons rien. Et puis nous allons retourner celui-ci pour le champ de vision. Si nous visons comme, oh, c'est beau. Et puis nous pouvons dire des changements, Ce qui est fantaisie F0 v. Si l'arme visée, le hahaha. Comme une si belle comme ça, merveilleuse compilation, sauver, faire tout ce que vous devez faire. Maintenant, revenons à notre base et nous allons être dans le graphique
d'événements si vous n'êtes pas déjà là. Et allons juste dans l'espace ouvert. Et nous allons vouloir fuir cette case de l'événement. Si vous vous souvenez, la tique d'événement est comme la mise à jour vide. Il fonctionne chaque image ou chaque seconde aura lieu en même temps, je pense que Disons juste chaque image, ok, Professionnel. Attrapons notre joueur et nous voulons organiser cet événement. Chaque cadre. Cible champ de vision, on veut vérifier, ok,
est-ce qu'on vise tout le temps ? Nous pouvons donc changer ce champ de vision. Donc, par défaut, pour ce champ de vision, mettons-le en fait à une valeur par défaut de 70. Donc, sachez juste le nombre inférieur que vous définissez comme. Plus il va pousser vers l'intérieur, plus il va zoomer comme ça. Je vais juste laisser ça là pour l'instant. Donc, puisque cela est réglé à 70, vous devriez vraiment voir cela. Donc, si je prends notre fusil automatique et que vous pouvez voir maintenant à zooms avant et zooms arrière comme ça. Et si vous remarquez, vous avez peut-être eu une sorte de problème de coupure avec l'arme et puisque le zoom sur le Cameron, ça va corriger ça. Donc si je devais faire quelque chose de bizarre comme faire 30 et que tu voulais une sorte de nous voir, tu as une portée quatre fois sur ton arme, alors ça va faire que ça n'a vraiment pas l'air trop mauvais. C' est un peu cool d'une certaine façon, mais c'est l'effet que nous allons faire comme ça, mais je vais le mettre à 70. Je pense que c'est un peu moins ridicule. Donc, vous pouvez aller de l'avant et sauter dans l'une de ces armes et changer cela pour que vous puissiez faire le pistolet peut-être un peu plus zoomer. Notre lance-roquettes fait ce genre de truc bizarre. Je vais vous montrer comment résoudre cela,
mais sachez juste que cela nécessitera beaucoup d'étapes. Donc, si vous allez dans les paramètres du projet et que je suis juste, je vais juste aller près de taper ça dans. Vous verrez près de l'avion d'écrêtage. Si vous définissez ceci pour être un nombre inférieur comme cinq ou quelque chose comme quelque chose, cela va probablement se débarrasser de cette coupure que vous voyez. Cela viendra avec un compromis, ce qui
signifie que les choses, si je m'en souviens correctement, les choses au loin ne vont pas nécessairement se charger aussi loin parce que le plan d'écrêtage est plus proche de la caméra. Alors faites-vous avec cela, comme vous le souhaitez, c'est un pays libre dans lequel je vis, peut le faire. Vous ne saurez pas seulement que si vous modifiez ce paramètre, contrairement à beaucoup d'autres paramètres ici, vous devrez fermer votre programme, puis ouvrir sauvegarde de votre éditeur Unreal pour voir réellement ces changements. Donc ça peut être assez fastidieux. Et vous aurez probablement besoin de changer vos décalages X, Y et Z aussi. Parce que ça pourrait arriver, ça ne va pas être modifié. Il sera juste comme un regard un peu différent si ce plan d'écrêtage change. Donc certaines choses gardent à l'esprit, mais oui, allez-y et allez dans les différentes armes et voyez quel type de niveaux de zoom vous voulez. Oui, tout fonctionne. Tout a l'air bien. C' est tout ce que j'ai pour cette vidéo. Merci d'avoir regardé. Je te verrai dans la prochaine.
31. Ajouter des marqueurs de clichés: Bonjour à tous et bienvenue à une autre vidéo. Dans celui-ci, nous allons continuer notre script ennemi. Et nous allons ajouter des marqueurs à notre arme ennemie. Je ne sais même pas ce que c'est, lequel ce serait techniquement, ce que ça va apparaître et nous frappons l'ennemi. Donc, nous allons ajouter de si vous n'avez pas déjà notre ennemi ouvert pour cet événement, l'ennemi subit des dégâts. Au lieu de ces ficelles d'impression stupides, on va faire des trucs cool. Bon, alors commençons par aller dans notre dossier d'interface utilisateur et nous allons créer un nouveau widget et nous pouvons juste appeler ça marqueurs de succès. Maintenant, si vous avez téléchargé les fichiers de projet pour cette classe, ce que vous auriez dû, nous allons les utiliser ici. Alors passons sous les icônes et nous aurons frappé marqueur. C' est pour notre Minimap, que nous n'avons pas encore noté. C' est notre fusil de sniper. Allons-y et glisser-déposer les trois. Vous pouvez vous sentir libre de créer un autre dossier appelé textures, mais je vais juste les placer tous dans l'interface utilisateur. Maintenant, ils vont apparaître comme un joli dang goofy. Donc on peut arranger ça comme si on ouvrait ça. Et si nous descendons ici au groupe de textures, nous définissons ceci pour être l'interface utilisateur. Vous pouvez voir qu'il corrige maintenant
cela, ne change vraiment rien à ce sujet. Cela fait juste que la petite miniature ne ressemble pas à des ordures droites. Donc faits amusants tout autour il ya un moyen de masse faire tous ceux en même temps, mais ne sont pas si professionnels. Ok, alors allons ces acides ici. Allons de l'avant et allons sur nos widgets marqueurs de succès. Et nous allons faire des choses cool maintenant, contrairement à avant, nous voulons vraiment que cela soit d'un genre, parfait, nous ne allons pas définir cela pour être désiré ou quelque chose du
client parce que nous voulons que cela apparaisse au centre de notre écran. Parce que si vous y pensez de cette façon, eh bien, les marqueurs de frappe devraient toujours être
au centre de l'écran parce que nos balles tournent hors du centre de l'écran. Donc on n'a pas besoin de vraiment faire quelque chose de super fou avec ça. Bon, alors allons de l'avant et ajoutons une image à notre panneau de toile. Et on appellera ce marqueur. Nous pouvons centrer ceci ou l'ancrer au centre, disons la position 0, la position y est 0. Et nous devons l'aligner 0.5.5 dans le x et le y. et allons de l'avant et aussi frapper la taille au contenu. Maintenant, nous pouvons placer dans notre truc de marqueur à succès, et il est ginormal. Donc, vous pouvez définir ceci pour être la valeur que vous voulez. Je vais choisir 60 par 60. Donc on va le faire comme ça. Et ça devrait être bon. Voilà notre petit marqueur. J' ai fait ça dans Photoshop. Ce n'est pas le plus grand, mais ça fait le travail. Maintenant ce qu'on va faire, c'est qu'on va vouloir 0. C'est déjà une variable. Et bien, irréel, je saute l'arme sur moi là-bas. Nous allons créer quelques animations. Nous voulons en créer deux. On veut en faire un pour un, on a un coup normal, et un pour quand on a un tueur parce qu'on est fantaisistes. D' accord, alors créons un, appelons ça normal, frappons comme ça. Et la seule chose que nous allons baiser ici en tant que cadre transformé. Donc, si vous faites défiler vers le bas pour rendre la transformation, et nous allons vouloir faire l'échelle. Cliquez simplement sur cette image-clé sur la balance. Et il va ouvrir ce menu déroulant et nous avons nos paramètres d'échelle juste ici. Donc par défaut, faisons ça 0 par 0, non ? Puis à 0,2 5 fois relativement rapidement, nous allons ajouter deux images clés et en faire 0,7 de sa taille à la pleine taille. D' accord. En fait, faisons-le la pleine taille. Bon, points 75. Réglons à nouveau ces images clés. Alors appuyez à nouveau sur ces deux boutons pour qu'il soit toujours à la même taille pour cette quantité de temps. Et puis à 1 seconde. Enfin, faisons cela à deux images clés et définissez-la sur 0, puis à nouveau 0. Donc maintenant, si nous lisons cette animation, ça va le faire. Donc, il vient et puis zoomer en arrière comme ça tout beau lac. Ok, maintenant créons une autre animation et appelons cette mort. Pour la mort touchée. Ça va être très similaire. Donc, nous allons encore attraper la balance. Par défaut ou pas par défaut, mais à 0 secondes, faites-le 0,25. Je vais le rendre un peu plus grand. Donc peut-être comme 1.2 par 1 pour remettre cela à 0.75 secondes, puis à 1 seconde, remettez-le à la 0. Donc maintenant, c'est exactement la même chose, juste un peu plus grand. Et l'autre chose que nous voulons changer, c'est que nous voulons nous assurer que ce soit rouge. Donc, nous pouvons le faire en allant sur le marqueur, puis en allant sur la couleur et l'opacité. Et nous pouvons honnêtement frapper n'importe lequel d'entre eux. Je vais juste frapper R. et la seule chose que nous devons faire est de définir toutes ces valeurs à 0. Donc, cela devrait signifier a est l'opacité. Alors gardez ça à un. Nous voulons que G et B soient réglés à 0. Et on peut juste traîner ça tout le temps. Ou je pourrais être capable de me débarrasser de celui-là est en fait juste pour être lu Omega. Alors maintenant, c'est rouge. Donc, vous avez juste sur l'AR, faites-le, puis par défaut, ceux-ci devraient être définis sur 0. Et ce n'est que sur le déficit. Donc nous revenons à un coup normal. Il est blanc et mort, mais il est un peu plus grand et nos couleurs, non, pas de travail. Bon, maintenant le jeu me déteste. D' accord. Peut-être qu'on a juste mis tout ça. Oh, attendez, avant que vous ne redeviez en revenir à un, vous alors goof ball. D' accord. Il suffit de le mettre comme à la maison. Ça n'a pas vraiment d'importance. Juste comme ça. Très bien, voilà. Il suffit donc de définir les images clés pour chacun d'entre eux et cela devrait fonctionner. Bon, maintenant nous allons vraiment devoir dire au jeu dans le graphique d'événements, eh bien, quand vous voulez lancer cette animation. Donc, nous allons fuir la construction de l'événement. Et nous voulons faire une nouvelle variable, et nous appellerons que c'est mort. Et ce serait un booléen. Et nous voulons exposer ça sur spawn. Et nous pouvons juste aller de l'avant et rendre l'instance modifiable aussi. Parce que pourquoi pas ? Et ce qu'on va faire, c'est qu'on va relier ça à la variable morte qui existe au sein de notre ennemi. C' est pourquoi nous l'exposons sur les spawns que lorsque nous créons ce widget dans ce Blueprint, ou ce Blueprint que nous pouvons faire est lier cette valeur avec, cette valeur est si facile. Maintenant, sous Animations, vous devriez voir que notre mort avait une tête normale. Donc, si est mort est vrai, Prenons définitivement et disons Play Animation comme ça. Et tout cela devrait aller bien. La valeur par défaut, si elle n'est pas morte, nous voulons obtenir le hit normal et jouer cette animation. D' accord ? Et puis je vais aller de l' avant et frapper un nœud de retard ici juste pour les empêcher. Et branchez les deux là-dedans. Juste pour empêcher ceux-ci de faire des chevauchements bizarres et les choses ne
sont même pas qui les empêchent de juste lui donner le temps pour cette animation réellement jouer. Une chose que vous pouvez faire est que vous pouvez obtenir l'heure de fin de ceux-ci et le brancher dans un délai. Je le fais parfois, mais pour l'amour de cette 1 seconde, ça marche très bien. C' est tout ce qu'on a à faire. Nous pouvons en fait fermer nos marqueurs de frappe maintenant en B, retour dans notre ennemi. D' accord ? Donc, il y a quelques choses différentes que nous voulons faire. Nous n'avons pas encore nos numéros endommagés créés. Donc, nous allons devoir faire quelques choses différentes hors d'ici. Ouais, je vais garder ces cordes d'impression pour l'instant. D' accord, et c'est vrai et juste dire que je suis mort. Donc nous voulons en avoir un pour le faux. D' accord, alors on veut dire que c'est valide ? Et on va brancher quelque chose ici dans une seconde, et on va brancher le faux directement ici. Ces choses seront ajoutées plus tard avec nos numéros de dégâts. D' accord ? Alors off of n'est pas valide. Peu importe lequel on fait ça. Créons un widget. Peu importe lequel on retire ça en ce moment. Et puis nous allons vouloir créer notre marqueur à succès. Donc maintenant, nous avons cette variable morte. Donc, nous allons saisir est mort de ce plan, c'est le lien qui monte. Donc maintenant ces deux variables sont maintenant liées. Allons de l'avant et faites un clic droit et promouvons cela à une variable et appelons-le marqueur de frappe, ref pour référence ou autre. Et puis nous voulons ajouter à la clôture. Bon, cool. Maintenant, nous avons cette référence de marqueur de succès. Branchons ceci dans nos objets d'entrée comme ça. Off of est valide. On ne peut probablement pas faire comme ça. Prenez une référence de marqueur de succès et dites Supprimer du parent, puis branchez ce point hors de est valide, comme celui-ci, puis déplacez-le vers la chaîne. Donc, la raison pour laquelle cette petite partie existe, ce sera. Donc, il va vous demander d'aimer créer le widget de marqueur de succès essentiellement, non ? Et vos balles ou moi tirez et assez vite, surtout avec le fusil automatique. Donc, vous le ferez, il sera dire au jeu à chaque coup pour créer un nouveau marqueur de succès. Mais le jeu que je reçois, nous allons être un peu confus parce que ce sera comme si vous
essayez de créer un widget avant qu'il ne soit supprimé de l'écran. Vous êtes juste en train de le créer, de le créer et de le créer sans jamais le supprimer. Alors, ça va devenir confus. Ça vous donnera comme quelques avertissements ou quoi que ce soit. Donc, cette note ici dit à peu près comme, ok, si les marqueurs de succès déjà sur l'écran, puis supprimez-le et puis créez un nouveau. Donc, vous pourriez juste dire, à des
fins dit juste supprime marqueur
précédent si un autre coup se produit avant le premier, ce pairs, je ne sais pas. J' espère que cela a du sens. C' est comme si ça empêchait le jeu de créer des goûts à frapper des marqueurs à la fois. Donc enlever l'un d'eux, ça arrivera si vite que tu ne le remarqueras même pas, mais oui, c'est une chose. Donc, cela pourrait maintenant fonctionner tel quel, même d'autres parties du script manquantes. Alors, allons par ici. Et nous allons tirer. Et on y va. Donc remarquez qu'on ne l'a pas, alors on n'a rien touché. Mais si on frappe notre gars, on va voir notre marqueur de frappe. Et si vous remarquez, nous devrions le tuer bientôt. On y va. Il y a le rouge et Saddam l'a fait. D' accord, et maintenant ils ne devraient plus venir. Ils ne le font pas. Donc, cela sera évident sur le fusil automatique. Donc, le tout comme enlever de Parent chose. Vous pouvez voir comment il n'a pas créé comme 4 000 d'entre eux sur l'écran en même temps. Il est vraiment rapide de voir sont très difficiles à voir, je suppose. Droit ? Voilà, tu y vas. Il y a des marqueurs, comme quelque chose comme les fusils qui vont
le frapper avec toutes ces différentes spreads à la fois. Donc, il n'apparaît qu'avec un marqueur de frappe au lieu de huit. Comme ça. Très bien, donc tout ça devrait marcher si vos balles ne font pas de dégâts. Juste pour être sûr que vous allez dans la classe et aller aux statistiques d'armes et assurez-vous que vous avez réellement endommagé. Une chose facile à rater. Alors oui, cool. C' est des marqueurs frappés. Prochaine vidéo, nous allons faire des nombres de dégâts et de se débarrasser de ces cordes d'impression laides et rendre ce look impressionnant. Ok, donc je te verrai là-bas. Merci d'avoir regardé.
32. Ajouter des numéros Adding: Hé tout le monde et bienvenue à une autre vidéo. Dans la dernière leçon, nous avons ajouté des marqueurs à notre jeu. Et dans celui-ci, nous allons ajouter à notre pantalon fantaisie CUI et ajouter RPG cool comme
des numéros endommagés à l'écran. Alors commençons. Ok, passons à notre dossier d'interfaces. Et ajoutons une nouvelle interface. Allons donc aux Blueprints et Blueprint Interface. Et appelons ceci, devrait garder le nom même soulignement BPI numéros de dégâts. Maintenant, ce que nous pourrions techniquement faire cela à partir d'un événement personnalisé. Mais dans notre jeu. Ok, si vous y pensez, si vous vouliez ajouter à cela, et que vous vouliez créer un tas d'ennemis différents. Disons que faire une offre d'une interface serait assez facile car alors vous pourriez simplement continuer à créer ces événements et ces fonctions essentiellement qui vont créer à l'intérieur d'ici. Donc immédiatement pourrait le faire juste en faisant un événement. Mais ce n'est pas comme ça qu'on roule ici, ok ? Parce que je voulais créer ce projet d'une manière que vous puissiez facilement y ajouter un implémentation. C' est pour ça qu'on le fait de cette façon. Donc, changeons le nom de notre fonction par défaut et appelons ces numéros de dégâts. Et nous voulons avoir trois entrées ici. Nous voulons qu'un soit flotteur, un vecteur, et un booléen. Et appelons les dégâts du flotteur. C' est ce qu'on appelle l'emplacement de l'impact vectoriel. Et appelons que le booléen est comme ça. Et c'est tout ce qu'on a à faire là-dedans. D' accord, et ensuite on peut faire défiler l'intérieur de notre ennemi BP. Et allons à nos paramètres de classe et ajoutons cette interface. Alors allons-y BPI. Bpi numéros endommagés, compiler, et puis nous pouvons aller événements numéros endommagés. Maintenant, on les appelle ici et on peut commencer à en faire des trucs. Mais nous n'avons rien créé. Nous n'avons pas encore créé nos numéros de dégâts, donc nous allons devoir le faire d'abord avant de pouvoir fuir tout ça. Bon, alors allons dans l'interface utilisateur. Créons un nouveau widget et nous appellerons ce nombre de dégâts comme ça. Et on peut ouvrir ça. D' accord, donc la première chose que nous voulons faire est d'aller de l'avant et définir cette taille d'écran à désirer sur notre panneau de toile. Mettons une boîte de taille. Cette boîte de taille, je vais juste l'appeler boîte de taille. Je vais en faire une variable. Et je vais régler ça à 100 par 100. Comme ça et tu as cette ancre. Oh mon Dieu, l'ancrer, j'ai tout foiré. Je suppose que ça n'a vraiment pas d'importance. Oh, on l'a fait. Eh bien, c'est gênant. Ok, eh bien, négatif 50, 50, 100, 100. Ça n'a vraiment pas d'importance. D' accord. Je n'ai pas aimé voir ce truc au centre. D' accord. Maintenant, ajoutons du texte à notre zone de taille. Mais puis sur le dessus de la boîte de taille. Et on appellera ça quelque chose comme Oh, je ne savais pas que ça n'allait pas. Texte endommagé. Qu' est-ce qui est irréel pour lui ? C' est comme ne pas montrer mon Il est encore divisé. Effectuer également les modifications. Ok, et allons de l'avant et rendons le texte endommagé variable. Alignons ça au centre, comme ça. Dans, que ce soit un texte par défaut comme un nombre comme 99 ou quelque chose comme ça. Ensuite, nous avons ajouté nos polices. Nous allons faire de celui-ci la police audacieuse comme celle-ci. On va le faire d'une taille de, je n'aime pas vraiment qu'il soit aussi grand. Quelqu' un peut avoir la jambe 18. N' hésitez pas à faire ce look. Comme tu veux. C' est tout ce truc d'art et de
fantaisie pour toi que je fais en ce moment. Ok, pour un décalage d'ombre, je veux ajouter un peu d'ombre. Donc on va faire deux par deux. Et pour la couleur de l'ombre, je vais en fait faire ce spectacle parce que notre valeur a est définie pour n'être rien en ce moment. Je vais faire ça comme 0,5 sur quelque chose comme ça. Et tu sais, et j'en suis content. Vous pouvez modifier la justification ou tous ces paramètres bizarres. Mais en un mot. C' est ce que je veux. Ok, donc maintenant nous devons créer une animation pour ça et appeler ça les dégâts appliqués ou quelque chose comme ça. Et on va donner un effet à une sorte de pop-in et ensuite sortir. D' accord, on va l'avoir comme un zoom
avant, un zoom arrière, puis un peu flotter vers le haut. Permettez-moi de réfléchir à ce qu'il faut faire une seconde. La première chose que je veux faire est de gâcher la balance. Allons-y et assurez-vous que le texte endommagé est sélectionné et descendez à l'échelle. Allons chercher le X et le Y, et ça pourrait disparaître. Donc nous voulons que ce soit 0 au début. Et puis après comme 0,25, Faisons comme 1,5 sa taille. Très bien, et puis à 0,5, Faisons en ajouter quelques images clés peuvent obtenir sa vraie taille à 11. Donc ça fait comme ça. Et puis c'est tout. C' est en fait que je vais devoir le faire pour la balance. D' accord. Donc c'est cool. Tu sais, je pensais à le faire disparaître si tu veux qu'il s'estompe ici. Je suppose que, comme je l'ai dit, je ne veux pas passer un temps ridicule sur les widgets et j'aime faire tout ça
parce que tu vas faire en sorte que ça ressemble de toute façon, d'accord. La seule autre chose que je veux faire, c'est que je veux jouer avec la traduction dans les x et y. Alors ajoutons quelques images clés ici comme ça. Et puis passons à environ 1,25. Et je pense que nous avons seulement besoin du ouais, nous avons seulement besoin du y. donc il peut réellement supprimer les x1. Et puis nous allons définir ceci pour le déplacer peut-être comme négatif 10. Alors maintenant, ça va jouer comme ça. Oh, on en a besoin pour s'estomper. Oui. Tu dois le faire disparaître. D' accord. Voyez comment nous devrons faire ça, d'accord ? Mais nous avons notre mouvement en quelque sorte. Maintenant, allons à notre interface utilisateur, puisque nous avons ajouté une ombre. Tellement irréel fonctionne. Vous devez le faire avec la couleur de l'ombre et juste la couleur normale et l'opacité. Donc ces deux choses vont être la même chose, les mêmes valeurs. Donc, par défaut, nous pouvons juste faire ce 0. Au moment où nous atteignons 0.25. Faisons un ensemble. Le tout est chargé à 1 seconde. Ajoutons simplement les images clés à nouveau pour nous assurer qu'elles sont définies pour être une. Et puis à 1,25, Faisons la valeur a 0. Donc maintenant, si nous lisons toute cette animation, ça fait ça. D' accord, je suis trop folle. Comme je l'ai dit, n'hésitez pas à devenir fou ajoutant des images clés en vissant avec tout un tas de choses, n'importe quoi avec cette étiquette que vous pouvez changer. Vous pouvez créer une image-clé et modifier cette valeur au fil du temps. D'accord ? Mais on ne va pas perdre tout un tas de temps là-dessus. Bon, alors partons de Event Construct par ici. Et prenons le texte des dégâts. Oh, tu sais quoi ? Nous devons créer quelques variables dans cela. Alors faisons un et appelons-le des dégâts, et faites-le flotter. Et créons un et disons que les headshots en font une instance d'entrées
booléennes modifiable et exposons les deux sur spawn. La raison pour laquelle nous l'avons fait, c'est parce que
nous avons besoin de les créer ici et que nous voulons simplement relier ces deux choses à terme. Ok, alors attrapons nos dégâts. Ce sera ce que notre chaîne d'impression actuelle fait. Combien de dégâts nous faisons. Une chose que nous voulons faire actuellement est que si nous, nous ne voulons pas que nos nombres montrent un point décimal. Donc, avec la façon dont les calculs fonctionnent, il est possible que nous puissions faire comme 7,5 dégâts ou quelque chose comme ça. Nous ne voulons pas que les nombres endommagés apparaissent comme 7.5, même si c'est possible, cela pourrait être plus précis. Donc nous pouvons faire pour les flotteurs, c'est que nous pouvons tracer le Snowden, disons étage. Et ce que cela fera, c'est tout prévenir les décimales. Ça va, c'est un peu comme arrondir. D' accord. Ainsi sont les textes endommagés que vous voulez définir, setText, obtenez ce texte de jeu de widget, puis branchez ceci comme ça. Donc, il va ajouter cette petite note supplémentaire ici et ensuite on va le brancher. Donc ce que ça fait, c'est que nous faisons quel que soit ce nombre de dégâts, ce
qui n'est rien dans ce plan, mais nous allons le lier aux dégâts ici. Et cette valeur qui est contrôlée dans notre web et nos plans, nous allons relier ces deux choses. Nous veillerons à ce qu'il ne montre aucune décimale. Et puis nous allons planter comme dans se débarrasser des décimales parce que nous voulons voir cela. Ok, maintenant, reprenons notre texte endommagé. Et je veux attraper c'est la tête. Donc je veux changer la couleur du texte
de dégâts si on a un coup de tête parce que c'est un peu amusant. Ainsi, nous pouvons extraire un nœud qui est littéralement appelé Select Color. D' accord ? Et puis à partir de la valeur de retour, nous pouvons dire faire la couleur de l'ardoise comme ceci. Ensuite, hors des textes endommagés, disons définir la couleur et l'opacité. Et vous verrez que nous avons cette nouvelle option pour une couleur ardoise et nous allons déposer ça là-dedans comme ça. Bon, et maintenant tout ce que nous devons faire, c'est en avoir un pour un et un pour B. Maintenant, a va être si c'est vrai. Donc je vais faire ça avant de le rendre jaune et j'ai déjà cette couleur rouge, donc je vais juste, je vais juste la rendre rouge. D' accord. Et puis je n'aurai pas de headshots blancs ou quelque chose comme ça. J' aime le jaune, mais je n'ai pas vraiment l'impression que tu peux faire ça quelle que soit la couleur que tu voudras pour tes coups de tête. La dernière chose qu'on veut faire, c'est qu'on prenne nos dégâts d'animation. Et nous voulons jouer ladite animation. D' accord, alors on va jouer votre animation et on veut avoir un retard. Et puis nous voulons supprimer cela du parent, qui se débarrasse du widget. La raison pour laquelle nous avons ce nœud de retard ici est d' empêcher de supprimer notre widget de l'écran avant la lecture de l'animation. Donc, cela fonctionnera comme un seul cadre comme instantanément. Donc, même si nous allons jouer techniquement l'animation sera également supprimer l'ensemble du widget de l'écran en même temps. Nous avons donc besoin d'un retard. Dira obtenir n temps pour notre animation. Donc, nous allons juste obtenir le temps N pour cette animation, qui est 1.25 secondes. Et puis nous allons retarder cette quantité de temps avant supprimer
notre widget entier de l'écran. Bon, donc c'est tout ce qu'on a à faire avec ça. Alors on y va. Revenons à notre ennemi. Et passons sous cet événement ici. D' accord, et la première chose que je veux faire, c'est qu'on veut créer un widget. Ce widget que nous voulons créer est des nombres endommagés. Et puisque nous avons ces variables comme exposant le spawn, nous pouvons maintenant les voir ici. Donc on va les brancher comme ça. Depuis que c'est bon. Maintenant l'emplacement de l'impact, ce sera l'emplacement sera que les chiffres apparaissent réellement. Maintenant, nous devons ajouter un certain niveau de randomisation à cela. Parce que si vous tirez sur l'arme, vous ne le déplacez pas assez. Sélectionnez les nombres, les nombres se chevauchent. Très bien, soyons simples ici. Nous devons donc ajouter une sorte de randomisation à cet endroit ici. Alors commençons par obtenir le contrôleur de notre personnage. Et il y a cette peinture vraiment fantaisie le noeud appelé emplacement du monde du projet à la position du widget. Ça va nous demander un endroit. Mettons ça là comme ça. Et c'est tout ce dont nous avons besoin pour ça. Maintenant, il a une position d'écran d'une structure 2D vectorielle. On va casser ça. Maintenant, nous avons une coordonnée x et y sur notre écran. Bon, maintenant on doit faire des maths fantaisistes. Donc, pour le x Add, va vouloir ajouter 100 négatif à cela. Et puis on va retirer ça et ajouter un autre flotteur plus un flotteur. Donc nous allons ajouter ce 102 négatif, un flotteur aléatoire dans la portée comme ça, euh, et ensuite je vais faire 25 négatif comme minimum et le maximum comme cent cinquante. Ok, alors hors du Y, on va vouloir ajouter plus de flotteurs. Et celui-ci va être plus négatif 100 à nouveau. Et puis nous allons juste le faire, il va copier coller ces deux-là. C' est le contrôle de nos emplacements aléatoires x et y. Le minimum pour le y, qui est de haut en bas, va être 050, comme ceci. Et enfin, nous avons juste besoin d'ajouter ces deux choses ensemble. J' ai passé beaucoup de temps à jouer avec ces chiffres. C' est ce que je ressens. Il crée une bonne propagation aléatoire pour moi à mon avis. Donc, si vous pensez à ce maths, nous ajoutons un négatif 102. Donc, le nombre le plus bas que cela peut être pour notre x, qui est ceci d'avant en arrière, est négatif 125 à positif 150. Donc, comme c'est le plus grand montant qu'il peut étaler de cette façon, les chiffres. Et puis le, cela peut être aussi faible que négatif 100 et négatif 100 plus 0 est négatif 100 ou négatif 50. Donc c'est le plus que nous pouvons aller dans cette direction. Donc tu auras ce genre de coupe transversale comme ça. Si vous voulez faire le nombre minimum potentiel comme négatif 200, donc vous obtiendrez un 100 négatif plus potentiellement négatif 100 et vous pouvez le faire. Mais ce sont les chiffres que j'ai senti assez décent. D' accord. Donc ce qu'on a fait, oh, en fait, je ne veux pas les additionner ensemble. On a cassé le vecteur. Maintenant, nous voulons faire de ces flotteurs un vecteur. Et nous voulons faire du vecteur 2D comme ça. Parce que c'est juste un avion 2D sur notre widget ici. Et puis nous allons définir la traduction de rendu. Pourquoi le sait, me faire ça ? On pourrait avoir besoin d'aller de l'avant et de prendre notre boîte de taille. On y va. Donne-moi ce nom stupide. C' est pourquoi nous devions en faire une variable. Si vous ne l'avez pas fait, ne pouvez pas l'obtenir, faites-le
simplement dans une variable ou sélectionnez la zone de taille et définissez simplement la variable. Ça pourrait marcher hors d'ici. Maintenant réglé, rendu. On y va. Définir à droite, ou traduction. Et la traduction est ça. Donc, nous sommes en train de changer l'emplacement de notre boîte de taille. Et rappelez-vous que notre texte est un enfant de la boîte de taille. Partout où va la boîte de taille, l'échelle de nombre. Allons juste le brancher comme ça, comme ça. Et puis nous pouvons sortir d'ici et dire Ajouter à la fenêtre. Branchez ça. Donc une sorte de script de connexion maladroit, ne va pas rester entre les vidéos puisque je ne veux pas être cela une fois que vous appartenez. Donc, je vais probablement ajouter les boîtes communes et les trucs entre eux. Montre-toi juste ce que j'ai fait. La dernière chose qu'on veut faire, c'est que tu veux vraiment appeler cet événement. Donc ici, nous avons des ficelles d'impression maladroites. C' est dans notre cas et cela peut prendre des dégâts. D' accord ? Donc nous n'avons pas ajouté de type M ennemi mort. Mais nous le ferons dans la prochaine vidéo. Pour notre fausse branche, nous ne sommes pas morts. Ok, on veut appeler des numéros endommagés, c'est ça. Maintenant, nous l'appelons et il demande cette information. Ou et cela devrait être assez simple. Donc les dégâts, nous voulons que ce ne soit pas les dégâts d'ici. D' accord, il y aura une erreur. Nous voulons obtenir les dégâts calculés, ce qui est de réinitialiser ce nombre en fonction de la partie du corps que nous avons touchée, essentiellement avec n'importe quelle arme que nous détenons. D' accord. Prenons notre résultat positif et on peut le sortir d'ici, en fait le casser comme ça. Pour l'emplacement de l'impact, nous voulons le brancher à la normale d'impact. D' accord, et la dernière chose dont nous avons besoin, c'est la tête. Alors prenons notre matériel physique et nous aurons le type de surface. D' accord, et nous avons une tête nommée. Nous pouvons donc dire égaux. Et nous dirons, est-ce que ça équivaut à la tête ? Si c'est le cas, alors ce sera un coup de tête et cela reviendra vrai. D' accord, donc c'est tout ce qu'on a à faire pour ça. Donc, si nous entrons et nous jouons, voici un moment de vérité. Donc si nous faisons ce tournage, nous en avons 16, la haie soit 20 et jaune ou rouge. On y va. 1014600 avant qu'on y aille. 16. Je suppose que j'ai raté. Et nous voilà. Je suis mort. Et il n'a pas pompé les chiffres que je suppose pour la mort finale ci-dessous. C' est bon parce qu'il a les marqueurs rouges qui le font pour nous. Vraiment. Savoir. Pourquoi ça a marché ? N'a pas fonctionné. Nous sommes loin. Peut-être que je suis juste aveugle ou quelque chose comme ça. c'était très étrange. Ne fonctionne-t-il pas à une certaine distance ? Eh bien, continuons ici. D'accord. Donc, je n'ai jamais vu cela arriver auparavant. Je n'ai absolument aucune idée pourquoi ça ne montre que dans un certain rayon comme ça. Parce que cela fonctionne exactement de la même façon que le marqueur de succès. Donc ça ne devrait pas se produire. Donc, ce pourrait être une sorte de problème interne parce que c'est juste vraiment étrange. Je n'en ai aucune idée. Donc si c'est juste un pépin bizarre, ça pourrait être quelque chose avec mes réglages. Le script est exactement le même dans ce Blueprint dans le projet précédent. Donc je suppose que si vous regardez, faites-moi savoir s'ils vivent le même genre de chose. Mais c'est une petite chose très étrange. Parce que, comme je l'ai dit, les marqueurs de succès fonctionnent
exactement de la même manière et ils apparaissent toujours peu importe la distance. Donc, si je trouve une sorte de solution,
alors je vous le ferai savoir. Sinon, je vais juste faire
avancer le train parce que c'est peut-être un bug bizarre et
irréel qui n'a rien à voir avec nous. Ou ça pourrait être juste un environnement bizarre, quelque chose que j'ai modifié que tu ne ressens même pas du tout parce que ça semble être tous les bugs que j'ai eu jusqu'ici juste à cause de moi,
pas à cause de quoi que ce soit d'autre. Alors sois juste de mon côté. Je veux dire, être un idiot, comme mettre le mauvais matériel physique sur la tête et des trucs comme ça. Mais c'est la vidéo, est comme
ça que vous faites des nombres de dégâts. Et puis vous avez tellement à regarder. Et je te verrai dans la prochaine.
33. Animation enemie: Hé tout le monde et bienvenue à une autre vidéo. Entre les vidéos, j'ai essayé de regarder un peu ce qui pourrait causer comme un problème sont des nombres endommagés. Et si vous regardez notre ancien projet ici, vous voyez que c'est exactement le même qu'avant. Soit ça, soit je suis aveugle. Et si j'entre et tire de loin, les chiffres apparaissent toujours. Donc, je ne suis pas tout à fait sûr si je suis honnête ce qui cause le problème. Parfois, le moteur ne fait que diriger des bogues ou des problèmes ou quoi que ce soit qui se passe et c'est possible, probablement plus probable que j'ai quelques problèmes. Donc, si vous rencontrez ce même type de problème où les nombres de dégâts apparaissent seulement à une certaine plage. Je m'excuse vraiment, mais comme je l'ai dit, ils frappent les marqueurs fonctionnent dans le script est exactement le même. Donc, je ne suis pas vraiment sûr. À la fin de toute cette classe, je vais probablement ajouter une sorte de vidéo de correction de bug où nous allons juste résoudre certains des petits problèmes que notre projet a, qui est un endroit commun pour littéralement tous les jeux vidéo jamais créé dans le cadre du processus. C' est pourquoi des équipes d'assurance qualité existent. D' accord ? Mais on va continuer à bouger le train, d'accord ? Parce que si vous remarquez en ce moment sur notre jeu, nous obtenons le marqueur rouge cool quand notre personnage mord la poussière. D' accord, mais ça dit juste que je suis mort et qu'on veut faire des trucs cool. On veut jouer des sons. On veut faire de la physique des poupées en chiffon, d'accord ? Et nous voulons ajouter quelques impulsions. Bon, alors faisons des trucs de physique cool dans cette vidéo. Donc, une fois de plus, nous allons avoir besoin d'un sondage à partir de nos fichiers de projet est le dernier. Donc, quand on a un dossier appelé audio et qu'il n'y a qu'un seul effet sonore ici. Donc, sous le FPS. Je n'ai pas dit ça, jeu FPS. D'accord. Faisons un appelé audio. Et ce sera notre seul fichier audio honnêtement. Mais on peut simplement glisser et déposer ça là-dedans. Unreal aime les sons de vagues. Donc, cela doit être une vague et j'aimerais un MP3 ou quelque chose si jamais vous voulez ajouter vos propres sons au jeu. C' est en fait un son de la franchise sur le champ de bataille si vous obtenez un tir à la tête. Mais je pense que c'est un peu cool en général. D' accord. Juste un peu, petit éclat ajouté. D' accord. Je sais que je ne suis pas grand dans le flair quand il s'agit de cours. En fait, j'ai passé beaucoup de temps sur la fusée, sur mon propre temps libre, mais nous parlons de faire cette information, accord, donc je suis,
je suis dans l'Event Graph pour les cours. Donc il y a, il y a une
petite fusée de ma part. D' accord. Alors allons de l'avant et remplacons cette chaîne d'impression maladroite par un événement réel qui va, qui va s'exécuter. Ok, alors créons une fonction et appelons cette mort ennemie. Ai-je touché l'espace ? Avoir une larme ? Beaucoup mieux. Bon, donc pour la mort de l'ennemi, prenons deux entrées. Oui, oui, oui, oui, oui, oui. D' accord. Appelons l'un d'eux, frappez l'emplacement, faites-en un vecteur. La raison pour laquelle cela existe est pour que nous puissions passer à travers un endroit pour ajouter une impulsion. D' accord, pour rendre notre animation de la mort, physique des poupées de
chiffon a l'air génial. D' accord, l'autre qu'on va avoir comme nom d'os et on fera de ça un nom. Nous voulons dire au jeu à
qui, à quel os sommes-nous frapper sur ce personnage pour appliquer cette impulsion ? Bon, donc il y a, nous n'ajoutons pas d'animations, nous ajoutons juste des impulsions physiques sur les personnages. Skeleton, qui aura évidemment l'air plus cool. Alors sortons d'ici, faisons une séquence ou écrivons un. Et puis nous voulons saisir nos mailles de notre ennemi. Et nous voulons dire ensemble simuler la physique. D' accord, donc ça va, on vérifiera ça sur une nouvelle simulation. Cela signifie que pour cette partie, nous permettons la pose de poupée de chiffon. La physique ici où nous sommes en train de mettre, nous simulons de la physique sur notre année de maillage. Nous laissons tout ça s'en aller. D' accord, la prochaine chose que nous voulons faire, ajouter une épingle, va jouer un son aujourd'hui. Et le son que nous voulons va être tué son. Un que je vous ai fait ajouter juste là. Et enfin, nous allons reprendre notre maillage. Et nous allons ajouter une impulsion à un endroit. Donc ça va conduire une impulsion cool ici. D' accord, donc ça va demander un nom d'os et un lieu. On a un nom de bot et on a un emplacement. Donc nous avons fait nos devoirs, les gens. D' accord, donc tout est mis en place. Et la dernière chose que nous devons faire, c'est d'avoir une impulsion. Maintenant, la façon cool de faire cela est de faire différentes armes ont une quantité différente d' impulsions au pistolet aura probablement une impulsion assez faible. Mais le lanceur de roquettes, nous voulons une impulsion gigantesque pour exploser sur cet ennemi. Alors ils volent dans les airs et ce sera génial. D' accord, mais après ça, n'
attrapons pas vous, les composants de la capsule. Et nous voulons détruire ce composant. Cela permettra juste que nous puissions marcher sur ce personnage. Et aucun autre événement avec eux ne sera en mesure de déclencher maintenant que le composant Capsule, c'est parti. Bon, donc on détruit ce composant. Si nous détruisions tout l'acteur que tout ce maillage et tout disparaîtrait, qui serait malheureux. Donc, peut-être dans d'autres jeux, vous auriez un noeud de retard et ensuite vous détruisez tout l'acteur. Donc ils étaient sortis de l'existence ou autre. Eh bien, on ne va pas faire ça ici. Ok, alors prenons une référence à notre joueur. Et nous voulons trouver le lieu de l'acteur. On va trouver l'emplacement de l'acteur. Et puis on veut retrouver l'emplacement de l'acteur. Donc c'est la cible, voici celle du joueur, c'est l'emplacement du joueur. Et puis c'est une référence au moi. Alors maintenant, c'est l'emplacement de notre ennemi. D' accord, je veux obtenir la direction de l'unité. Donc, nous obtenons un vecteur de l'emplacement de notre joueur à l'emplacement de nos ennemis. D' accord, et on va multiplier ça. Donc, un vecteur fois un flotteur. Alors la sortie de ceci sera notre impulsion. Ce que nous voulons faire hors joueur, c'est prendre l'arme actuelle et nous devons créer une variable dans notre arme actuelle ou notre base d'armes. En d'autres termes, et nous appellerons cette impulsion de tuer, faites-en un flotteur. Et définissons cela comme par défaut comme 10 mille. D' accord. Maintenant, allons de l'avant et reprenons l'impulsion de tuer. Et la mort ennemie fonctionne dans ce qui vit à l'intérieur de notre ennemi et branchez ça. Donc, on l'a. L' emplacement du joueur, une ligne de vecteur allant de cet emplacement à l'emplacement de l'ennemi. D' accord, donc en d'autres termes, ce serait exactement la même chose. C' est comme notre trace de balle d'une certaine façon parce qu'on frappe l'acteur, on frappe notre ennemi. Et nous allons multiplier cela par cette impulsion et ensuite l'utiliser pour faire un vecteur d'impulsion qu'il demande, comme ça. Donc ce script est fait. La dernière chose que nous devons faire est de sortir de cette vraie branche ici. Je veux que ça passe au-dessus de Sada, vrai, appelons la mort ennemie et branchons ça. Donc si nos ennemis sont morts, nous allons diriger cet ennemi de la mort, cette fonction d'événement de la mort, ok ? S' ils ne sont pas morts, on fera le nombre de dégâts. D'accord ? Donc ça va demander d'autres choses, emplacement et, et tout ce que vous pouvez probablement deviner. Donc, si nous prenons cet emplacement, nous ajoutons un petit nœud de réacheminement, alors nous n'avons pas à tirer vers le haut d'ici. On peut sortir d'ici. Donc, nous allons rendre l'impact normal. Les résultats du coup, ils ont frappé l'emplacement, puis le nom de l'os. Celui-ci a frappé le nom de l'os comme une option et il suffit de le brancher là, il suffit de le passer ou autre chose. On a une lumière laser, on montre toutes ces lignes colorées ici. D' accord, et ça va se connecter comme ça. Donc, ce qu'on peut faire pour être amusant avec ça ou quoi que ce soit, allons-y et changeons cette arme de fusil de chasse. Ça doit tuer les impulsions et rendre ça fou comme 50 000. On dirait 50000. Ouais, d'accord. Et maintenons la touche Alt enfoncée et traînons d'autres ennemis ici. D' accord, et j'ai frappé Play. Et donc le fusil automatique est réglé pour être à 10 000 c'est une faute. Alors on y va. Pleine sur le sol là-bas. Si je le frappais dans le bras, disons que pour le coup de mort, il s'envolera. L' impulsion sera mise dans ce nom d'os à cet endroit. Donc ça va tirer l'impulsion sur ce bras comme ça. Donc, il se déplace là-bas et trouve le pistolet. Nous pouvons montrer que nous avons une impulsion kiloohm plus élevée. C' est cinq fois plus qu'il pourrait aller voler. Cela pourrait ne pas être quelque chose qui est ce que je l'ai comme par défaut dans l'autre projet. Mais voyons voir. L' ONU, un envolée comme ça. Ce pauvre homme. Mais il l'a fait, alors c'est comme ça que vous ajoutez des impulsions et des trucs. Donc, le jeu, donc maintenant vous pouvez ajouter plus d'ennemis et d'autres choses. Tu auras des sons cool et tout. Donc l'épître, c'est probablement trop haut. Et mademoiselle. Là, il va, encore de l'arrière, va voler comme ça. Vous pouvez voir comment tout cela se réunit maintenant. On a dans le pied. Bon, donc au revoir, au revoir. D' accord, donc oui, tu vois comment ça marche là-bas et je m'amuse juste à ce stade. D' accord ? Donc, c'est comme ça que vous ajoutez des kilojoules. On a notre son cool. Tout est bien en ce qui concerne cette chose. Alors, voilà. Oh, vous avez aimé cette vidéo. N' hésitez pas à entrer dans votre différent nous avons seulement, vous savez, je veux dire, vous pouvez changer ça si vous voulez Reno, mais ils ne font rien en ce moment. C' est ce que nous allons faire en ajoutant le projectile. Mais si vous voulez changer le pistolet douloureux et pistolet
tiré pour être différentes impulsions de tuer. Ce serait ma supposition. D'accord. La valeur par défaut est 10 mille. J' ai l'impression que c'est une quantité assez décente pour une de ces armes. Donc j'ai juste l'impression que c'est une bonne quantité réaliste pour genre, vous savez, désolé, je vais taper une arme. D' accord, pour que tu puisses faire plus pour le fusil de chasse. Tu as le fusil est beaucoup, tu sais, le pistolet soit un peu moins ce que tu veux faire. J' espère que vous avez apprécié cette vidéo. Je te verrai la prochaine.
34. Projectiles photographies photographies (partie 1): Bonjour à tous et bienvenue à une autre vidéo. Dans celui-ci, nous allons ajouter à une base d'armes. Et nous allons enfin nous permettre de tirer des projectiles. Donc, nous en avons presque tous fini avec nos armes Scan à succès. Et maintenant, nous devons passer à celui du projectile. Bon, faisons-le. Alors entrons dans le jeu FPS. Créons un nouveau dossier et appelons ce projectiles. Et définissons une couleur. Et faisons une nouvelle classe de Blueprint de type Actor. Et appelons-ça la base Projectile. Et ouvrons ceci et faites-le glisser sur le dessus. Quelques choses que nous voulons faire, ajoutons des composants du mouvement des projectiles, ok, ce projet, comment le mouvement a des paramètres différents que nous pouvons manipuler. Nous pouvons changer ou éventuellement être en mesure de changer pour notre vitesse initiale. Faisons quelque chose comme 10 mille et la vitesse maximale, aussi 10000. échelle de gravité de projectile un est assez intense, donc nous allons le faire comme 0,2. On va changer ça en fonction de l'arme que nous avons. Donc, comme un lance-grenades va avoir la plus haute échelle de gravité projectile parce qu'il va être plus d'un arc vers notre fusil de sniper aura probablement le moins. Ce sera probablement aussi le plus rapide. D'accord. Cela ne devrait pas rebondir. On n'a pas besoin de faire ça. dehors du senior 2, on va faire une collision de sphère, et on appellera cette collision. Allons de l'avant et faisons de ça la nouvelle racine. Pourquoi pas ? Une chose que nous voulons faire avec cette collision, je crois, laissez-moi vérifier une simulation très rapide, accord, donc si nous avons sélectionné cette collision, accord moi, assurez-vous, ouais, ok. Donc, si j'ai cette collision sélectionnée, nous voulons rechercher l'événement et nous voulons nous assurer que nous avons sélectionné la simulation génère des événements hit. C' est une étape très importante car si vous ne faites pas cela, chaque fois que vous frappez quelque chose avec une arme à projectile, cela vous donnera des erreurs. D' accord ? Parce qu'avec la façon dont nous avons créé notre base d'impact, cela va être à la recherche d'un matériau physique qui avait frappé. Et alors qu'un jeu saura que le projectile frappe quelque chose, il, il va juste se confondre. Et ce n'est pas simuler une génération. Ça dit que ça ne simule pas un événement à succès. Il ne pensera pas qu'il frappe quoi que ce soit et donc il ne saura pas quel son jouer et quel effet apparaitre et des choses différentes comme ça. Alors assure-toi juste que tu as vérifié ça. Voir prévenir les erreurs. D'accord. Ensuite, on va avoir un maillage statique qui sera un enfant à notre collision et on appellera ce maillage Projectile. Et nous n'avons pas besoin de mettre quoi que ce soit pour ça en ce moment ou de faire quoi que ce soit. Avec ça. Je ne crois pas que tout cela devrait être parfait pour l'instant. Nous allons probablement faire quelques changements à cela éventuellement, mais c'est ce que c'est. D'accord ? Créons quelques variables. Appelons celui-là inflige des dégâts de rayon. Donc celui-ci sera prêt à être vrai pour notre grenade et notre fusée. Ils vont faire un rayon de dégâts où le fusil de sniper est juste que vous avez frappé quelque chose et c'est ce qui a frappé deux. Nous voulons aussi saisir nos statistiques d'armes ici, cette structure que nous avons créée une statistique d'arme. Et allons-y et assurons-en que c'est le
cas, pour qu'on puisse relier ça à celui de notre base d'armes. Rendons-le modifiable par instance. C' est supposé sur un frai. Et puis dernier but non le moindre, nous voulons garantir avoir notre effet d'impact. Donc, nous allons avoir un impact, affecter la référence de classe de base, Compiler et Enregistrer. Très bien, et tout ça a l'air bien. Alors créons une référence à notre joueur. Et vous le savez probablement déjà, mais comme nous pouvons juste le faire sortir d'ici et faire n'importe quelle jambe ce que nous voulons. Je le promeut toujours à une variable pour qu'on puisse juste la dessiner comme ça. Mais sortir d'ici et rentrer ici, c'est faire exactement la même chose. Nous, vous n'avez pas à définir cela sur une variable à chaque fois. C' est juste comme ça que je roule. Donc je suppose, euh, vous le saviez probablement déjà, mais je veux juste m'en assurer. D' accord. Je suis ce mouvement de projectiles. C'est un clic droit. Ajouter un événement et nous voulons faire sur projectile, arrêter. D' accord, et vous voyez ici que ça a un impact sur les résultats. Déjà ici pour nous, qui est créé. Eh bien, on veut le faire. Il s'agit donc d'un événement qui s'écoulera lorsqu'il est appelé, lorsque le projectile arrive à une vitesse d'arrêt inférieure au seuil de simulation. Bon, donc c'est essentiellement dire que quand ça frappe quelque chose et qu'il n'est pas prêt à l'être, devrait rebondir. Ok, faisons une fonction et appelons ce projectile d'arrêt. Et nous allons avoir ceci, avoir une entrée d'un résultat de succès du résultat de type hit. Si vous compilez ceci et revenez à l'Event Graph, nous pouvons appeler ceci tout de suite comme ça et ensuite simplement brancher les résultats de succès comme tels. C' est ce à quoi devrait ressembler notre graphique d'événements. C' est tout ce qu'il faut faire. Alors maintenant, allons dans stop projectile et on va faire une séquence. Mais deux choses arrivent simultanément ici. On veut vérifier si on inflige des dégâts de rayon fera deux choses différentes. Si nous le sommes, nous voulons exécuter une fonction différente que nous n'avons pas encore créée. Mais pour le moment, ne faisons pas ça. Créons ça plus tard. Donc une chose que nous voulons faire, Prenons le résultat à succès en le cassant. D' accord, et ensuite on veut avoir l'acteur à succès. Alors, sortons d'ici, nous devrions dire : On l'a ? Nous le faisons. Donc, hors de Hit Actor on peut faire des dégâts comme ça. Parce que c'est l'un des torus de Zak que nous pouvons chauffer. C' est notre BBA, ces gays, non ? On avait besoin de prendre des statistiques d'armes. Si vous vous souvenez ici, si l'ennemi subit des dégâts, il demande des statistiques d'armes. Nous avons donc créé une variable pour les statistiques d'armes. Donc on peut juste brancher ça. Et si vous vous souvenez, cette statistique d'arme, d'accord, c'est qu'on retourne à la base d'armes, non ? Et on commence à tirer. Et nous avons ceci, nous appelons cet événement et nous relions les statistiques d'armes. Ce sont donc ceux qui vivent au sein des enfants de notre base d'armes. Donc ça se passe dans ses statistiques d'armes quand ça arrive ici. Et maintenant, je relie la variable à l'intérieur d'ici aussi, celle à l'intérieur de la base d'armes. En faisant cela, c'est juste passer toutes ces données à travers. Si vous ne pouviez pas deviner les résultats HIT, nous aurons juste le même résultat exact comme ça. Donc maintenant, nous devons faire quelques choses artsy. Alors, tu sais quoi ? Cela ne devrait pas être branché ici. Cela devrait se brancher du faux. Si nous ne faisons pas de standards prêts, alors nous allons juste prendre des dégâts. Si nous le sommes, alors nous allons créer une interface différente qui a pris des dégâts de rayon, qui aura des choses différentes se déclencher. Ok, alors prenons notre maillage projectile et disons mettre un jeu caché. Branchez ça. Et nous voulons que ce soit un nouveau caché. Donc nous avons touché quelque chose, nous voulons que le maillage disparaisse, nous ne voulons plus le voir. Ensuite, nous allons faire transformer le monde. Donc l'emplacement de ceci dans une transformation, x, y, z. et nous voulons donner naissance à un acteur d'une classe. L' acteur que nous voulons est notre effet d'impact. Et nous le ferons. Donc, nous avons fait cela à une variable. On y va. Donc comme ça, maintenant nous avons un résultat positif que nous devons passer. Donc nous allons le faire et ensuite le réacheminer comme ça. Disons qu'il soit réglé pour toujours apparaître, ignorer les collisions. Nous ne voulons pas que cela puisse avoir une sorte de problème. Et puis nous allons manquer ce nœud qui dit définir la durée de vie. C' est similaire à détruire un acteur comme Here's the thing. Vous ne pouvez pas appeler des nœuds de retard à l'intérieur d'une fonction. Donc, ce n'est pas une chose. Alors définissez la durée de vie quand elle expire. L' objet B est vrai. Donc, c'est l'équivalent de faire du retard pendant 0,1 secondes, puis Destroy Actor. Donc, nous fixons juste la durée de vie juste parce que vous ne pouvez pas mettre des retards et des fonctions. Ok, je ne fais pas les règles. Pour qu'on puisse venir à la boîte. Donc, nous pouvons dire supprime maillage, engendre, impact, effet, détruit acte. C' est ce que tout ça fait. Il y a donc plus de niveau artistique du script. Et c'est la fonction. C' est ce qui fait les maths et les choses sont ce qui incite le joueur à penser que,
eh bien, donc les choses se passent réellement à l'écran. Oh, nous devons passer dans une transformation. Oh, on n'a jamais connecté ce nœud. Moi idiot. D' accord ? Donc nous devons faire quelque chose maintenant si nous faisons des dégâts de rayon. Bon, alors faisons-le. Créons un autre et appelons ce projectile exploser. D' accord. Cela va avoir un résultat positif aussi. Et on appellera ça les résultats. D'accord. Et je pense que nous allons le faire dans probablement une autre vidéo, mais allons-y et appelons-le z.
Nous voulons juste que je veux juste que le sniper fonctionne d'abord, mais c'est comme ça que ça marche. Donc vous devez exploser le projectile et ce sera un succès. Je suppose que ça n'a pas changé le nom. Je ne l'ai jamais compilé. On peut tous vivre, tu vas bien. Alors maitrisez ça. exploser le projectile dans une vidéo différente quand on a affaire à l'autre. Merci. Ok, donc c'est tout ce qu'on veut faire à l'intérieur de notre base de projectiles en ce moment, on retourne à notre base d'armes et on recommence à tirer. Ce que nous voulons faire c'est que nous voulons maintenant faire des choses pour que si nous posions notre arme comme un projectile, ce que nous allons faire c'est que nous allons obtenir une trace de ligne
calculée
et nous allons frapper Control W. copier cela. Et nous allons dire calculer le rejet. Maintenant, ce que j'ai fait ici, c'est que j'avais un maillage d'arme dans une prise d'arme dans Calculer la trace de ligne. Et la raison pour laquelle c'était et j'étais confus, pourquoi ne jamais l'utiliser ? La raison en était parce que j'avais
l'habitude d'avoir la trace de ligne et le projet comment dans la même fonction. Et je change ça. Alors maintenant, ils travaillent sous différentes formes. Donc, ces deux choses sont en fait inutiles pour calculer la trace de ligne. Vous pouvez vous débarrasser de la prise d'arme et du maillage d'arme. Vous n'avez besoin que de la caméra. D' accord, et ça va te donner une erreur parce que ça te déteste. Et puis nous pouvons cliquer avec le bouton droit sur ici et nous pouvons dire rafraîchir les nœuds et ensuite simplement se débarrasser de cela. Et cela devrait toujours fonctionner parfaitement bien. Ça marche toujours bien. D'accord. On n'en avait pas besoin. D' accord, mais nous en aurons besoin à l'intérieur des calculs. Projectile aura besoin de tous les trois. nous faut le maillage d'armes, la caméra et la prise d'armes. Donc ça va être juste, juste jamais si légèrement. Il y a beaucoup de sérifs. Donc, au lieu de calculer le projectile, vous pouvez simplement vous débarrasser de ces trucs. Débarrassez-vous de la plupart de ça. Conservez le nœud de retour. Débarrassez-vous de cela, débarrassez-vous de DrawLine, trace et tout ça. Et nous allons juste promouvoir ces deux variables locales. Donc nous allons dire maillage d'armes locales. Donc nous allons vraiment les utiliser ici, contrairement à l'autre que nous avons faite. Et puis des prises d'armes. Rappelez-vous que cela existe déjà. Qu' est-ce que tu veux dire, c'est en cours d'utilisation ? Oh mon Dieu. Oui. Je veux le supprimer. Attendez quoi ? Non, attends. Prise d'armes. Oh mon Dieu. Je suis tellement confus ou objet composant de lavabo. Oh mon Dieu, je vais juste promouvoir ça à une variable locale. Je veux dire, Oh, tu vois, ça n'existe pas. D' accord ? Parfois, ce copier-coller, il vous donne vraiment du bon. , donc ok,
on aime juste sur les données ce qu'on a fait dans l'autre, l'autre plan là-bas, pour que ça ait l'air funky. D' accord. Nous avons donc notre caméra locale ou notre maillage d'armes locales dans notre prise locale. Bon, donc ce qu'on veut faire, je vais frapper Control et je vais déplacer ça vers le haut et me débarrasser de ce nœud de réacheminement. Et ce que nous voulons au lieu d'un résultat positif, c'est que nous voulons obtenir une transformation qui ressemble à un endroit. Donc, au lieu de résultats frappés, nous allons obtenir la transformation du projectile. Et nous appellerons ça une transformation, parce qu'il va nous demander quand nous produirons nos projectiles peut nous
demander où nous devons faire ça. Et nous allons promouvoir cela à une variable. Et on l'appellera objet. Je vais me transformer. D' accord ? On n'a pas besoin que ça soit défini comme quoi que ce soit en ce moment. Donc, vous avez toutes ces coordonnées fantaisistes cool. La raison pour laquelle nous n'avons pas besoin de ça, c'est parce que nous voulons le mettre ici. Et nous allons maintenant faire un script pour définir ça. Donc c'est pour notre projectile. Allons de l'avant et obtenons notre maillage d'armes local et notre prise d'armes locale. Et on va dire « trouver l'emplacement de la prise ». Ça va peut-être en retirer un tout de suite. Par défaut. Il suffit de supprimer cela. Donc, obtenez juste l'emplacement de la socket. Nous branchons notre maillage d'armes local et notre prise d'armes locale définit les variables parce que notre maillage d'armes change toujours. D' accord ? Nous voulons en faire une transformation, saisir celle-là. Très bien, et donc ça va nous demander une rotation, une échelle et tout. On ne se soucie pas de l'échelle définie. Mais la valeur de retour de ceci va être notre transformation CINAHL. Allons chercher notre caméra locale et nous allons trouver le propriétaire. Et puis nous allons jouer au joueur BP. Nous pouvons faire un clic droit sur cela et nous pouvons dire convertir en cast pur. Et je déteste ce biais de mensonges. Bon, disons maintenant qu'il obtient la rotation de contrôle et la tuyauterie pour la rotation. Donc ce que ça fait
ici , c'est où nous devons transformer ce que vous verrez dans une seconde ici pour tirer sur notre projectile. Donc nous allons trouver l'emplacement de notre maillage d'armes et nous avons ce nom de socket. Rappelez-vous qu'il s'appelait un flash de museau. On comprend ça. Donc c'est ce qu'on va dire. Notre point de frai est que c'est notre emplacement, d'accord ? Mais nous avons besoin de la rotation de notre personnage. Donc, nous avons le composant caméra sur notre personnage. Nous faisons, nous jetons à elle. On pourrait voir, oui. Donc tu ne peux pas. D'accord. Oui. Vous avez besoin de ces notes. Tu dois avoir le truc du casting. Et j'en ai fait un casting pur pour qu'on n'ait pas besoin d'avoir les fils d'exécution qui le traversent. Et puis nous entrons dans le contrôle de la rotation de cette caméra. Et puis mettre cette
fabrication, les faire à cet endroit,
cet emplacement vectoriel dans cette route, la rotation en une transformation. Donc, un vecteur est XYZ, un transformateur comme XYZ plus rotation plus échelle. Donc c'est encore plus fantaisiste. D' accord, pour qu'on puisse fermer d'ici. On peut recommencer à tirer. D' accord, et on pourra sortir un projectile. Et nous dirons calcule projectile, cette fonction. Il va nous demander beaucoup de ces données maintenant. Donc maintenant, si nous allons dans ces quelques armes et que nous disons, ce sont des scans de projectiles ou pas. Il va maintenant passer par celui-ci juste ici. D' accord ? Donc maintenant, nous voulons sortir ici et dire acteur de la classe. Vous pouvez voir qu'il demande une transformation, alors on le branche juste. Et puis nous voulons obtenir sont 0. Mettons-le pour être une variable et nous allons dire projectile, et nous allons créer cette base de projectile de type. La raison pour laquelle je le transforme en une variable et pas seulement l'insérant est parce que chez les enfants, dans le fusil de sniper, la fusée et tout, nous voulons assigner différents plans de projectiles, similaires à la façon dont nous avons fait les effets. Nous voulons être en mesure de les régler dynamiquement en fonction de l'arme que nous avons. Donc, si je l'ai juste inséré comme ça, alors ce sera toujours la base. Ce ne sera pas, il ne changera pas cela via la variable. Et il demande des statistiques d'armes. Nous allons donc relier ça à la variable que nous avions créée à l'intérieur de notre base d'armes. Donc, si vous vous souvenez, nous avons fait cette variable et nous l'exposons sur les frayons. Alors maintenant, quand on crée ça, ça te demande ça. Donc maintenant, nous relions ces données, donc elles vont passer. D' accord. Maintenant, quand tout cela est global, nous devons juste le brancher dans le recul pour finir ce fil ici. Et puis allons de l'avant et on va brancher ces choses. Donc, nous allons obtenir le joueur va obtenir la caméra. Plugin le maillage d'arme de la caméra. Allons chercher le maillage d'armes d'ici. Et la prise d'armes. Nous pouvons en faire une variable, mais comme je l'ai dit, tout cela est appelé flash muzzle. Donc, le flash museau, entrés dur fonctionnera toujours. Si vous voulez en faire une variable, allez rousse. Soyez, vous aurez seulement besoin de le faire à une variable. Techniquement parlant, si vous voulez ajouter des armes qui sont différentes du pack que nous utilisons ici. Enfin, assurez-vous juste que dit toujours apparaître, ignorer les collisions juste pour éviter certains problèmes. Et puis mes virgules et dire frai, projectile. Ok, la dernière chose que je veux faire dans cette vidéo pour qu'on ait juste cette installation ici, c'
est, allons dans nos armes. Et pour le fusil de sniper, Voyons voir, nous avons maintenant une fente pour soudain notre projectile, ce qui est plutôt cool. Et on veut juste s'assurer que ce n'est pas prêt à frapper la peau, c'est à projectile. Et nous voulons le faire pour le projectile de fusée et le projectile de lance-grenades. Et maintenant ces trois armes vont courir sur l'autre voie. Ça ne va pas faire quoi que ce soit. Ça peut nous donner des erreurs, mais vous pouvez voir comment il ne tire plus
une trace de ligne et il fait toujours
ce petit coup d'arme, petit truc de cliquetis. Je n'ai changé aucun de ces chiffres pour en rendre quelque chose de fou, mais comme il est en cours d'exécution et ça ne nous donne pas d'erreur. y a juste aucun événement qui soit ajouté en ce moment à courir quand nous avons réellement touché quoi que ce soit avec cela. Donc nous allons le faire dans la prochaine vidéo. Je te vois pour la deuxième partie. Alors merci d'avoir regardé. Si vous avez des questions, faites-le moi savoir et je vous verrai dans la prochaine.
35. Projectiles photographies photographies (partie 2): Bonjour tout le monde, Bienvenue à une autre vidéo. Dans celui-ci, nous allons continuer notre script de projectile, finissant cela dans cette vidéo. Maintenant, contrairement à toutes les autres vidéos jusqu'à
présent, celle-ci n'est pas enregistrée en direct. C' est moi du futur parce que quelque chose de mauvais est arrivé à l'enregistrement la dernière fois. Donc je dois y retourner et le refaire. Il va y avoir un peu gênant. Donc, je suis en train de regarder en arrière ce que je fais actuellement. Donc, si vous regardez l'écran en ce moment, la chose que j'explique est une chose. J' ai changé la variable pour être une variable locale car elle n'est pas nécessaire en dehors de cette fonction. Mais vous voulez vous assurer que le nœud retourné est hors de la broche de séquence finale. Si ce n'est pas le cas dans votre jeu, dans votre projet, il ne se produira pas au bon endroit. Donc, même si les séquences sont censées se produire simultanément, vous voulez vous assurer que vous définissez cette variable avant de la renvoyer. Donc, je suis allé de l'avant et je suis fendue dans une base de projectile dans mon lanceur de grenades juste pour montrer que cela fonctionne et j'ai mis juste une boîte aléatoire dans notre filet de projectile pour le plaisir, juste pour montrer que tout cela fonctionne quand vous avez le projectile s'affiche au bon endroit. Et puis je l'ai enlevé. Donc, si vous voulez, vous pouvez aller de l'avant et placer quelque chose dans le maillage, puis aller dans l'une de vos armes et mettre ça dedans. Donc la prochaine chose que je fais ici est de parler des réponses d'une collision. Et nous allons créer une toute nouvelle réponse de collision appelée projectile ou type d'objet. Pour que notre jeu reconnaisse que nous
utilisons un projectile parce que nous voulons notre jeu pour moi. Nous pouvons le définir ajoute tout comme la dynamique du monde ou autre chose. Mais ce que nous pouvons également faire est de créer un nouveau canal objet. Donc on va appeler un nom un projectile. Donc les paramètres du projet sous le moteur, c'est une collision. On va créer un projectile. Et la réponse par défaut va être bloc. Donc, lorsque nous créons ceci maintenant, il apparaîtra comme une option. Et donc nous pouvons maintenant définir cela comme un type d'objet. Donc, je pense que je rencontre un peu de problème ici, si je me souviens bien, je pense que je vais de l'avant et je le cherche. Donc, il apparaît le long du fond. Pour que notre ennemi s'assure que ce réglage bloque le projectile. Mais nous ne sommes pas vraiment entrés dans nos préréglages de collision pour
pouvoir définir quoi que ce soit comme un projectile. Donc, je vais rencontrer le problème ici. Nous regardons autour de nous comme des soucis principaux. Je crois que c'est quelque part. Il s'agit donc de deux étapes. Vous pouvez ajouter un type d'objet, mais c'est une chose complètement différente à, pour l'ajouter. Pour le faire apparaître ici dans un préréglage. Parce que nous voulons que notre projectile soit fixé comme projectile de sorte que notre ennemi qui est réglé pour toujours bloquer le projectile. Donc, ce n'est pas une étape 100% nécessaire. Tu n'as pas à faire ça à chaque fois. Mais en le faisant de cette façon, Vous arrivez à spécifier quels objets vous voulez ignorer, se chevaucher, et bloquer pour exécuter différents événements dans votre jeu. Donc irréel vient avec une quantité décente de préréglage une fois. Mais vous pouvez toujours créer le vôtre pour rendre les choses plus spécifiques et adaptées à vous. Ok, donc j'ai finalement compris que vous devez aussi le définir comme un préréglage. Donc nous sommes dans la même chose. Assurez-vous donc de créer un projectile de nom de canal d'objet dans la collision des paramètres du projet. Un de mon poids et pour lui probablement EPA partout. Mais nous voulons nous assurer d'en créer un sous le préréglage. Alors projectile. vois, on veut le faire, on veut activer la collision pour la requête et la physique pour ce nouveau profil d'objet ? Et vous pouvez ajouter une belle petite description si vous voulez. Et puis pour cela, nous allons dire ignorer, ignorer. Voyons ce que je fais ici. Bloc, bloc. Ignorez la commande pon, Tim, oui, ignorez le corps physique et je pense qu'on ignore tout le reste. Oui, oui. Donc, nous ignorons tout, mais nous allons bloquer le monde statique et la dynamique mondiale. Donc, si vous vous souvenez de notre type ennemi, le maillage qui a le corps physique dessus. Et c'est là que nous avons mis dans nos matériaux physiques. On a réglé ça, je pense que je vais aller vérifier dans une seconde où on a mis ce maillage. Allez les voir, vous pourriez le faire. Donc, comme vous le voyez ici, nous définissons le maillage pour être dynamique du monde. Donc notre type de projectile. Il est prêt à être projectile dans notre maillage est dit de bloquer tout ce qui est appelé projectile. C' est donc essentiellement ainsi que cela fonctionne dans notre jeu. Et nous sommes sur, notre personnage est prêt à être un étang, donc nous allons ignorer cela, ce qui
signifie que nos balles ou nos projectiles ne vont pas nous frapper. Si vous voulez être en mesure de vous faire exploser avec une fusée ou quelque chose comme ça, vous feriez en sorte que le pion bloque également. Mais ce n'est pas quelque chose que nous allons faire dans ce projet. Donc, sur la collision dans notre base de projectile, si vous ne le voyez pas, appuyez sur Compiler et vous allez le définir comme un projectile. Collision Presets sous projectile de collision, ok, avec la collision de la sphère de collision sélectionnée, ok ? C' est l'objet réel qui va conduire notre événement pour l'arrêt des projectiles. Maintenant, nous allons faire sortir des enfants de cette base de projectiles. Nous allons en faire un pour notre fusil de sniper, un pour notre lance-grenades, et un pour notre lance-roquettes. Donc vous connaissez l'exercice maintenant, faites un clic droit sur la base et donnez-lui le nom que vous voulez. Je fais le soulignement des projectiles, puis le nom de l'arme. Si je voulais être cohérent, je l'aurais fait à l'envers. J' aurais fait le nom de l'arme et ensuite souligné le projectile comme j'ai fait tout le reste, mais j'ai décidé de le changer cette fois. Honnêtement, j'ai probablement oublié que je les ai nommés à l'inverse avec tout le reste. Mais nous allons démarrer le fusil de sniper et puis sous le projectile, nous allons mettre dans le projectile de fusil de sniper. Donc, c'est en fait dans l'arme elle-même. Donc vous voulez entrer dans chacune de l'arme,
ces trois armes, arme de fusil de sniper, lance-grenade, arme, fusée lance-ton arme. Et puisque nous avons défini cela pour être une variable, vous voulez vous assurer qu'ils sont définis pour être projectile pas frappé scan. Et vous voulez vous assurer que sous le projectile, il est prêt à être les bons enfants de projectile que vous auriez dû faire tout à l'heure. Donc, pour le projectile de fusil de sniper sous le maillage, il y a une munitions de fusil de sniper, et c'est cette petite balle. Et nous allons faire tourner cela pour qu'il fasse face vers l'avant et augmenter la taille. Donc négatif 90, ça ressemble au Y et puis je fais ça probablement six fois la taille. Vous pouvez le rendre aussi grand que vous voulez qu'il soit. Donc je le fais assez grand pour qu'il s'adapte à notre collision. Mais vous pouvez redimensionner la collision juste pour savoir que si vous redimensionnez la collision au sein de l'enfant, elle réduira également le maillage car le maillage en est un enfant. Nous allons changer cette vitesse à 12 000 et l'échelle de gravité à 0,1. Donc il n'y aura pas beaucoup de dépôt et celui-ci va aller très vite. Nous voulons nous assurer que ce qui inflige des dégâts de rayon pour notre fusil de sniper est tourné pour être faux. Pour les statistiques d'armes, je vais encaisser 100 dégâts, même si je crois que la variable de contrôle qui existe dans l'arme. Je pense que c'est tout ce qui compte. Et puis pour l'effet d'impact, mais l'effet d'impact de fusil de sniper, comme je l'ai dit, ceux-ci, ça pourrait ne pas avoir autant d'importance. Vous n'avez peut-être pas besoin de le mettre ici parce que ça
pourrait prendre cette information dans le plan d'arme. Mais tu sais, c'est une bonne pratique. Il ne fait aucun mal à la fente dans les quantités de dégâts. Et cet effet d'impact dans le projectile est bien, ne
peut pas faire de mal. Donc, beaucoup de cela est juste de s'assurer que les variables sont définies sur le bon type. Beaucoup de fois, si vous pouvez avoir une sorte d'erreur, il se peut que vous n'ayez pas de Projectile encastrement ou que l'impact affecte. Vous avez peut-être un fusil de sniper. Le sniper défini pour être un coup Scan quand il est vraiment devrait être un projectile. Donc, si certaines petites choses comme ça ne fonctionnent pas, la première chose que je ferais juste est de vérifier vos variables dans vos plans pour vous assurer qu'il y a réellement des choses correctes. Parce que quand on a quelqu'un des armes, ça peut devenir un peu déroutant. Donc nous n'avons pas réparé la portée. On le fera dans une vidéo plus tard. Mais s'il devait tirer ces balles sur l'avant
de l'arme maintenant et il devrait être assez visible de voir ça. Maintenant ce que je vais faire, c'est que je vais tirer sur ce gars. Je vais avoir une erreur quand je ferme cela dans une vidéo précédente, je pense que j'ai mentionné pour m'assurer que nous changeons un certain sens pour les matériaux physiques ne puissent pas être retournés correctement. Et c'est l'erreur dont je parlais. Donc, je suis un peu confus ici. Je suis genre, c'est quoi ce bordel ? Donc nos dégâts et notre travail, mais c'est bizarre. Donc, il tire encore un effet d'impact. Il affiche toujours un nombre endommagé, même si le nombre de dégâts est 0. Et il vous montre toujours un indicateur comme si nous frappons quelque chose mais il y a quelque chose qui ne va pas. Donc la dernière partie de cette vidéo va être à nouveau en vie. Donc j'espère que vous avez pu supporter cette partie de la vidéo. Une fois de plus, je m'excuse pour ce qui se passe à est perdu l'audio doivent relire cette partie, mais la dernière minute ou deux de cette vidéo sera à nouveau la version live. Et vous me verrez vous montrer la solution à cet air. Ok, alors allons-y et avançons vite à ça et continuons avec nos vies. D' accord. Donc plus de maladresse pour moi, ok, donc tu sais ce que je t'ai dit. Mangez une vérification sur une certaine variable C, vous n'obtenez pas d'erreurs afin que l'ordinateur ne reconnaisse pas quel matériel physique vous avez. J' ai fait la bonne chose et je vous ai dit que ça allait arriver, mais je ne vous ai pas dit lequel et je vous ai dit lequel allumer. Donc si je décoche ça ici, d'accord. Je prends le fusil de sniper, je le ramasse, je tire dans le sol. D' accord. Remarquez que c'est toujours le compte d, tout de tout, mais cela dira accès à aucun essayant de lire la propriété, matériel
physique et il montrera dans notre base d'impact comment l'émetteur, le son dans le détail ne fonctionne pas et vous obtenez un aucune erreur d'accès. Ça veut dire qu'il essaie de trouver quelque chose qui n'est pas là. Donc, dans ce cas, il cherche un matériel physique qui a été touché. Il ne peut pas le trouver. Donc, l'ordinateur fait toujours quelque chose et la
plupart du temps il fera toujours la bonne chose, mais vous le confondez. Donc, dans la base du projectile et vous avez également remarqué que les numéros endommagés ne fonctionnent pas si vous ne le faites pas. Donc, dans la collision de notre base de projectile, juste retour de recherche. Si les composants vrais balayages retournent le matériau des résultats. Je ne sais pas pourquoi au nom de Dieu n'est pas activé par défaut. Mais vous devez le faire. Alors mettez le matériel de retour en mouvement, activez cela dans vos paramètres de collision. Donc maintenant, si nous tirons dans le sol est toujours tous les travaux. Mais si nous marchons vers notre ennemi et que nous
les frappons au son correct et le nombre de dégâts et tout ça. Et quand on frappe Escape, on n'a pas d'erreurs. D' accord ? C' est une étape cruciale. Je n'arrive pas à croire que j'ai couru à nouveau la même erreur, mais je veux dire, vous voulez que je suppose que vous voulez une clôture similaire aussi ? Je ne vois pas pourquoi tu ne le ferais pas, mais oui. D' accord. Tellement cool. On a réparé ça avant de pouvoir continuer à vivre. D' accord, alors ouais, voyons où nous étions et toute l'honnêteté, c'est peut-être là que je peux terminer la vidéo parce que je suis toujours caché des headshots sur le tank. Dans la vidéo suivante, nous allons réparer le fusil de sniper, qu'il fait des choses et construit ça. Mais ouais, je veux dire, en ce moment, on tire des projectiles de notre arme, alors je marche bien. Donc nous allons créer le fusil de sniper et ensuite nous allons passer à faire des explosions, et ensuite nous allons presque faire. Donc, nous sommes dans le tretch ici. Merci d'avoir regardé. Je te verrai dans la prochaine.
36. Prise de vue le fuson: Salut tout le monde, bienvenue à une autre vidéo. Dans celui-ci, nous allons être fixés dans le fusil de sniper parce que même si nous pouvons actuellement l'équiper, tirer et tout, il ne fait pas de bruit et la portée est assez Genki, donc nous allons réparer ces choses dans cette vidéo. D' accord ? Mais commençons par mettre en place ici. Nous avons donc cette texture de nos poils croisés, mais nous devons l'ajouter à un widget. Alors faisons un clic droit sur l'interface utilisateur, et nous appellerons ceci, ça s'appelle les poils de sniper. Et ouvrons ça. Nous pouvons garder cela sur un écran de remplissage et nous voulons juste ajouter une image. Et nous allons juste appeler cette croix cheveux toujours se rappeler F2 est de renommer les choses et irréel et tout comme sur votre ordinateur en général, nous allons ancrer cette image pour remplir l'écran et définir les décalages à 00. Alors maintenant, remplissons tout notre écran ici. Et nous allons juste fente dans notre image pour les poils croisés de sniper. Et on y va. Donc c'est une autre chose que j'ai faite dans Photoshop. Certes, ce n'est pas parfait. Il fait le travail, cependant, pour nos besoins. Ce n'est pas ce que nous sommes professionnels ici. D' accord. Mais ce n'est pas si professionnel. On peut en finir avec ça. Nous n'avons pas besoin de faire quoi que ce soit, nous avons juste besoin de ça pour exister. Alors allons dans notre dossier d'armes et ouvrons notre arme de fusil de sniper. D' accord. Si vous n'avez pas ces choses enfoncées, nous avons un impact, nous avons nos dégâts ou l'impulsion de tuer que nous pouvons faire comme 15000, rendre assez puissant. Projectile est un projectile de fichier séparé. Tout cela devrait être inséré. Oui. Ok, alors maintenant, allons de l'avant et créons des événements. Donc, on va devoir attraper commencer à tirer. Toi. Les événements commencent à tourner comme ça. Ajoutons un appel à la fonction parent. Puis les deux se sont branchés là. Et puis hors du maillage d'arme. On l'a fait avant d'aller jouer une animation. Animation va être tirs de sniper, fusil de
sniper, désolé, animation. Donc maintenant, nos effets sonores et particules et tout ça ne fonctionneront que tirer. Et nous ne voulons pas non plus que ce soit un de ceux qui peuvent être lancés par spam. Donc, nous allons faire calculer le taux de tir. Et ensuite, je vérifie très vite. Le taux d'incendie pour ça. Ou aurais-je mis ce taux d'incendie, réglé à 1 seconde. Donc un peu plus vite que le fusil de chasse. D' accord ? Maintenant, si vous vous souvenez dans notre base d'armes, nous avons ces armes but entrer dans le but d'arme, sortir. Et ceux-ci sont liés à l'événement d'entrée que nous avons sur notre lecteur, qui est lié au bouton droit de la souris. Donc on peut appeler ces événements maintenant, non ? Et ces événements qui existent dans notre parent, puisqu'ils sont liés au répartiteur d'événements qui existe dans notre joueur, provoqueront le déclenchement lorsque nous entrerons dans notre but à l'intérieur du joueur. C' est pour ça qu'on les a créés de cette façon. Alors faisons entrer un but d'arme événementielle, et appelons le parent. D' accord. Donc, si je l'explique assez bien. Donc comme ça sont liés à un mentor, ces événements que nous appelons ici. Et cet événement dans notre personnage, est-ce que nos répartiteurs d'événements fonctionnent ? Les cartes d'action visent et nous appelons un mentor. Donc, chaque fois que nous appelons ceci, tous les autres événements qui sont liés à se produisent également. Donc c'est l'un d'entre eux. Ok, alors prenons une référence à notre joueur et prenons l'arme actuelle. Et nous voulons juste nous assurer que l'arme actuelle que nous avons est le fusil de sniper. D' accord. Parce que nous ne voulons pas que cela arrive chaque fois qu'on appelle un mentor. Alors obtenons une déclaration if. Donc on n'a pas fait ça, sinon ça le ferait. Et que nous pouvons obtenir une référence à moi. Au lieu d'avoir cet égal comme la charge est égale à la faiblesse du fusil de sniper. Trouve une référence à nous-mêmes dans ce plan parce que pendant que nous sommes ce fusil de sniper, ok ? Cela fait la même chose. Parce qu'on ne veut pas de ça, qu'on ne veut pas que tout ça arrive si on n'a pas de fusil de sniper équipé. Et nous allons créer un widget. Le widget, comme vous pouvez probablement le deviner, va être nos cheveux croisés de sniper. D' accord, disons qu'il est dans la fenêtre. Ensuite, nous le dirons, et ensuite nous dirons branche. Et puis nous dirons sortir d'ici à la clôture. Ce n'est pas une chose de clôture. Ce que ça fait, c'est qu'il empêche. Donc je peux dire que je ne l'ajouterai pas deux fois. Donc, il n'ajoutera notre réticule à la fenêtre que si elle n'est pas actuellement là. D' accord. Cela permettra juste d'éviter que ce genre de problème se produise comme vous obtiendrez
une sorte d' avertissement ou d'erreur disant widget déjà ajouté à l'écran ou quelque chose comme ça, et il n'apparaîtra pas. Donc ça va empêcher que ça se produise. Ensuite, quand nous avons nos poils croisés vers le haut, nous voulons mettre caché dans le jeu. Nous voulons obtenir notre maillage d'armes et le rendre invisible. D' accord ? C' est pour ça que nous ne nous sommes pas inquiétés le Ving F0 v et tous ces trucs parce que qui s'en soucie ? On va juste le rendre invisible. Nous allons aussi prendre notre personnage de joueur et nous ne voulions pas
faire cela et faire de notre joueur un personnage. Ok, peu importe l'acteur dit jeu caché. Donc, les messages d'armes jeu caché, puis le personnage est Hit Acteur dans le jeu. Donc, nous allons rendre notre arme invisible dans notre personnage. D' accord ? Et nous voulons avoir notre joueur. Et si vous vous souvenez, nous avons créé le HUD et nos joueurs, nous allons obtenir le HUD principal. Et nous allons définir la visibilité pour s'effondrer. Donc, nous allons nous débarrasser du HUD aussi. Nous ne voulons pas voir le HUD, nous ne voulons plus voir notre joueur et nous ne voulons plus voir le maillage de l'arme. Donc disons cache arme, joueur et Hod. Tout en visant. New York. Comme ça. Tout en se cachant. Pendant qu'Amy et le fusil de sniper, ce
sont des choses qui cachaient tout ça. Bon, maintenant c'est tout pour un mentor. Ensuite, nous voulons obtenir les événements, le but de l'arme, la sortie, et nous allons appeler la fonction parent comme ça. D' accord ? Et puis nous allons vérifier est valide. La première chose que nous allons vérifier est valide, c'est ce truc de cheveux croisés. Donc, cela empêchera cela de fonctionner. Si cette croix cheveux a une néomycine créée. Parce qu'on va lui dire de l'enlever, on va lui dire de partir pour le retirer du parent. Donc c'est juste vérifier comme si on ramasse le fusil d'assaut et on vise la sortie, non ? Nous, quand nous visons sortie, il va, le jeu va être comme supprimer ce widget de l'écran et puis le jeu sera confus. Ils seront comme, Eh bien, on ne l'a jamais ajouté en premier lieu. C' est donc un avis valide qui empêche des erreurs pour ce genre d'erreur de se produire. Supprimé du parent. Donc, ne le supprimera que si elle est valide. En d'autres termes, si jamais elle a été créée en premier lieu. Bon, alors tout ce qu'on veut faire, c'est prendre ces trois choses qu'on veut décocher nos boîtes, alors ramène-le,
ramène-le et rends-le visible. Et puis nous dirons juste montre la couche d'arme et tout ça, tout le tireur d'élite qui vise. C' est tout ce qu'il nous faut pour un fusil de sniper. Donc maintenant, si nous allons attraper le sniper, nous ramassons ça et nous visons. On y va. Une chose qu'on voudra probablement faire est de changer le zoom parce que c'est un peu difficile à voir en ce moment. Champ de vision visé. Et si vous pouvez totalement avec cela comme vous voulez, combien vous voulez cela pour zoomer parce que le sniper est censé zoomer. Oui, ce n'est probablement même pas proche. Faisons quelque chose comme 25. Voyez à quoi ça ressemble. Voilà, tu y vas. Je dirai toujours manqué. Donc, il est vrai que ma lunette de fusil de sniper n'est pas parfaite. D'accord. Je vais être le premier à l'admettre. Ce n'est pas la ligne assez proche jusqu'au centre de l'écran. Mais je n'ai pas fait Photoshop. Donc, si tu viens juste d'arriver un peu, ça va toujours frapper. Vraiment les directeurs informatiques devraient fermer. Donc oui, c'est un peu bizarre. Mais quelque chose que vous pouvez aussi faire pour résoudre ce problème. Très bien, si petit Jerry Reagan ici. Donc si vous descendez et trouvez le maillage du fusil de sniper, non ? Si tu te souviens du maillage squelettique, si tu t'en souviens, ok. Nous éjectons la balle du flash du museau pour que vous puissiez le faire, c'est que vous pouvez prendre le flash du museau ici et la déplacer un peu vers le haut. Peut-être le mettre en ligne avec ça, peut-être comme ça et appuyer sur Enregistrer. Et maintenant, vos balles vont injecter un peu plus haut parce que cette prise était plus élevée. Et maintenant, nous sommes cachés drapeau tête est l'affaire de personne. Très bien, donc malgré mon pauvre Photoshop et mes compétences, si vous passez ça à 20 à 22, ça
semblait être une valeur décente. Foulée 22. La prise flash du museau sur le fusil de sniper. Voilà, tu y vas. Maintenant, on frappe nos coups de feu. Donc la voie pour y arriver en armes militaires, armes d'argent, puis attraper le maillage squelettique du fusil de sniper, obtenir un flash de museau, c'est de ça que nous injectons nos balles. Et déplacez cela jusqu'à une valeur z de 22. Et puis cela rendra ce sniper plus précis avec les cheveux croisés que j'ai créés dans Photoshop. Bon, donc c'est tout pour le fusil de sniper, tout
est créé. Dans les prochaines vidéos, on va travailler sur un lance-grenades et un lance-roquettes et faire exploser les choses et ça va être génial. Très bien, alors merci d'avoir regardé. Faites-moi savoir si vous avez des questions et espérons vous voir dans la prochaine.
37. Faire des choses en Go (Explosions !): Hé tout le monde et bienvenue à une autre vidéo. Celui-ci va être amusant parce qu'on va faire exploser trucs avec notre lance-grenades et lance-roquettes. Donc, ne perdons pas de temps pour aller à ces Michael Bay demander des explosions tout de suite. Bon, alors allons dans nos interfaces et allons à BPI, prenons des dégâts. Nous allons ajouter une nouvelle fonction à l'intérieur de cette interface déjà existante et nous appellerons cela prendre des dégâts de rayon. D'accord. Prendre des dégâts de rayon va avoir deux entrées. On va avoir un résultat positif parce qu'on
doit toujours écrire et l'autre sera comme avant que l'ennemi ne subisse des dégâts, on veut obtenir des statistiques d'armes. Alors obtenons une des statistiques d'armes de type. Compiler, enregistrer, fermer. Maintenant, allons et ouvrir notre ennemi est aller dans le graphique d'événements et nous pouvons
faire défiler vers le bas jusqu' à l'endroit où nous avons un peu d'espace ouvert et nous voulons appeler événement prendre des dégâts de rayon. Ok, donc nous avons déjà ajouté cette interface à ces plans et maintenant nous pouvons continuer à tirer
les fonctions qui existent à l'intérieur de là. D' accord, alors tout d'abord, vérifions et assurons que notre personnage ou notre ennemi n'est pas mort. Je ne veux pas être capable de faire ce qu'on va faire s'ils sont morts. Hors résultat. Va le sortir des statistiques d'armes est un peu briser ça. On va commencer à brancher des trucs en l'air. Pour ce faire, créons une nouvelle fonction et disons compter, file d'attente, retard, rayon, dommages. Cela va fonctionner un peu différemment. Li puis juste calculer endommagé. Nous allons donc ajouter trois entrées différentes. Un appelé « dégâts ». Nous allons avoir un rayon d'impact, puis un autre appelé points d'impact. Et ceux-ci vont être des dommages de flotteur de rayon d'impact de flotteur est également un flotteur. Les points d'impact vont être un vecteur. D' accord. Définissons des dommages à une variable locale juste à des fins d'organisation. Comme d'accord, allons de l'avant et obtient l'emplacement de l'acteur. Donc, nous allons trouver l'emplacement de l'ennemi. Rappelez-vous, la cible est soi, c'est ce personnage de plan. Nous allons prendre les points d'impact et nous allons les soustraire. Donc vecteur moins vecteur. D' accord ? Et puis on va prendre la longueur de ce vecteur. Et puis nous allons diviser ça par un char. C'est un flotteur. On veut s'assurer que c'est sur le dessus et on va diviser ça par le rayon d'impact. D' accord, et on va faire une soustraction ici. Et on va prendre ça en bas, et ensuite on va faire celle-là. Donc ça va être 1 moins quelle que soit la valeur de ces maths. Les maths, c'est que l'acteur, l'emplacement de l'ennemi. Il prend peu importe ce vecteur de point d'impact,
il obtient la longueur de ces deux choses, jusqu'à
quel point elles sont séparées. le divisant par ce que nous avons défini pour être ce rayon, puis en soustrayant ça. Donc, comme je l'ai dit, la
plupart des petites choses mathématiques ici, C'est facile icône sur, sur, mais beaucoup de ces chiffres et ces calculs sont compris juste à travers les tests. Donc, le fait que ce soit une classe signifie que vous n'
avez pas à passer par la fougue de faire ça. Alors faisons un flotteur fois un flotteur. Nous allons multiplier ça par nos dégâts. D' accord ? Et ce qu'on veut faire, c'est faire quelque chose qu'on appelle le serrage d'un flotteur. Le minimum que nous voulons être 0. Et le maximum que nous voulons pouvoir faire est quel que soit le dommage. Donc, c'est juste dire comme ça que c'est éviter les dommages que nous appliquons à un plus grand que ce que nous fixons les dommages. Donc si notre fusée fait 700 dégâts ou quelque chose comme ça, même si ce calcul donne un nombre supérieur à 700, ça va se serrer, ça l'empêchera de dépasser 700. D' accord, alors ajoutons un nœud de retour et nous dirons des dommages de rayon. Appliqué ou sont calculés des dommages de rayon ou quoi que ce soit. Et ce sera un plug-in de retour flottant. Et on y va. C'est ça. Maintenant, nous pouvons revenir sur notre graphique d'événements. Et si on n'est pas morts, on peut calculer les dégâts de rayon. Nous avons toutes ces entrées. Nous allons donc brancher les dégâts aux dégâts, rayon d'
impact dans le rayon d'impact. Et puis notre résultat de rupture, il y aura un point d'impact. Vous pouvez le voir juste là. Point d'impact en point d'impact. Comme ça. Mes nœuds sont assez proches ensemble dans un, mais c'est bon. D' accord. La prochaine chose que nous voulons faire, c'est que nous voulons faire notre mise à jour de santé. Donc le même que le, comme avant que nous avons utilisé ici quand nous calculons les dégâts. Donc on va passer ça. D' accord, alors on veut vérifier si on est morts ou pas. Et puis beaucoup de choses vont être les mêmes. Si nous sommes morts, alors nous voulons courir la mort ennemie. D' accord ? Le point d'impact sera ce point d'impact. Définit où l'impulsion va se déclencher et ensuite nous avons besoin d'un nom d'os. Ça, nom de l'os en nom d'os. Effondrement. Oh mon Dieu. C' est une fête de noeuds ici. D' accord. Ouais, c'est bon. Pour pas mort. Ensuite, nous voulons exécuter les numéros de dégâts K et nous allons juste brancher ça comme ça. L' emplacement de l'impact sera toujours le point d'impact. Les dégâts vont toujours être le mélange de dégâts appliqué. C' est le dommage appliqué après le calcul, pas avant. Et puis on n'a pas besoin d'un coup de tête. Une chose qu'un aurait pu faire mal. Permettez-moi de commenter les boîtes d'abord et de dire que l'ennemi subit des dégâts causés par des explosifs ou quelque chose comme ça. Une chose que j'aurais pu faire incorrectement au départ dans les dommages de la bande, les dommages aux tissus normaux. Et assurez-vous que le tien ressemble à ceci. Assurez-vous que vrai va jusqu'à la mort, puis descendre à des nombres de dégâts. Puis faux va dans les nombres de dégâts, puis les nombres de dégâts est conduit à est valide. J' ai peut-être vu la mort entrer ici comme ça et ensuite juste sauter ça. Je ne suis pas tout à fait sûr, mais j'aurais peut-être fait ça si je m'assurais que ça ressemble, ces quatre nœuds ressemblent à ça. Dans ce cas, l'ennemi subit des dégâts, une
partie du script comme ça. D' accord ? Mais c'est tout ce que nous avons à faire dans l'ennemi. Donc maintenant tout cela est configuré. Ce que nous devons faire, c'est retourner dans notre projectile, dans notre base de projectiles. Et rappelez-vous, nous avons cette fonction de projectile exploser qui est en cours d'exécution ici. Et donc ça ne fait rien. Alors faisons-le quelque chose. Alors hors de projectile exploser, ouvrons une séquence. Faisons des résultats. La perceuse, on va la casser. Nous aimerions casser des choses. Et ce qu'on va faire, c'est obtenir nos statistiques d'armes et on va casser ça. Donc, vous voulez être en mesure d'obtenir ce rayon d'impact. Et nous allons faire un noeud appelé sur 1000. Ce sera des acteurs de chevauchement des sphères. Donc, c'est dessiner une sphère. Et ça va se chevaucher. Retourne un tableau d'acteurs qui chevauchent la sphère donnée. Donc nous dessinons une sphère et puis elle revient avec un tas d'acteurs qui chevauchent cette sphère. Quelle est la taille de la sphère ? Eh bien, ce sera tout ce que nous avons prévu pour être notre rayon d'impact. Quelle est la position de la sphère qu'elle va être, le point d'impact sera où notre projectile frappe quelque chose. Ok, donc juste comme avant nous avons besoin de lui donner des types d'objets à chevaucher et ensuite ceux à ignorer. Donc,
sortons d'ici, faisons un tableau. Array est juste comme un tableau de choses, comme plusieurs choses, une liste, je ne sais même pas. Un tableau comme un mot normal si nous allons vouloir vérifier ce qui est
dynamique du monde et ce qu'il est pion définit notre ennemi et puis comme d'autres choses dans le monde. Donc nos ennemis sont des ennemis, dynamiques du monde. D' accord, c'est ce que ça va se chevaucher. Et puis jetons le joueur et prenons l'arme actuelle. D' accord, et puis branchons ça aux acteurs pour ignorer. Et puis je vais faire son propre petit tableau. Ce sont les acteurs que nous ne voulons pas. Nous ne voulons pas que notre sphère dise qu'elle chevauche notre arme. D' accord, ce ne serait pas bon. Je créerais une certaine confusion à partir de nos acteurs OUT. Nous allons faire un pour chaque boucle ou droit, comme dans l'exécution. Et puis hors du corps de la boucle, nous voulons dire prendre le rayon, les dommages. statistiques d'armes vont être des statistiques d'armes ici. Hit résultat, vous devriez probablement deviner va être ce résultat à succès. Connectez-vous, Bergen it in. Et c'est tout ce qu'il faut faire. Pour l'élément de tableau. Mais on va les brancher à Target. Bon, donc la dernière chose est qu'on
veut créer un acteur de classe et qu'on veut faire une explosion, mais on n'a pas créé cet effet d'explosion, donc on va devoir le créer maintenant. Donc on peut le garder dans des projectiles. Créons une classe de plan et un acteur et appelons cette impulsion d'explosion ou quelque chose comme ça. Ça n'a pas besoin d'être super complexe d'un nom. D' accord, et ce que nous voulons ajouter à cela, c'est que nous voulons ajouter
à l'homme, c'est qu'il pourrait être une composante de force radiale. Juste une force radiale. Ok. Et on appellera cette explosion pleine. Donc ça va être notre grand objectif. D' accord. Donc, pour le rayon, Faisons comme 400 dans les changements que vous voulez. Impulsion. Donc d'accord. Donc, si vous faites la chute de l'impulsion constante est une force constante pour le rendre linéaire, alors il y aura impulsion devient plus faible plus loin de l'origine. Donc c'est ce
que nous voulons, c'est plus réaliste comme une véritable explosion. C' est le plus puissant à cet impact au centre. Et si tu le frappes de l'extérieur, ça ne fera pas aussi de folie. Types d'objets à appliquer. Faisons juste le monde dynamique et physique corps. On peut. On peut juste se débarrasser de ça ? On peut se débarrasser de ces deux ou trois, parce que quand je les
utilise, la force des impulsions, on peut régler ça comme 3 000 ce que tu veux faire. Et puis dans le graphique d'événements, tout ce que nous avons à faire est de commencer à jouer. Prenons notre force d'explosion et disons impulsion de feu. Ok, donc chaque fois que ce plan est créé dans le monde, ils vont tirer de cette impulsion. Bada Bing, Bada, boum. Bon, maintenant je suis de retour dans notre base de projectiles. On dirait toujours que les collisions apparaissent, ignorent les collisions, ce qui est assez standard ici quand il s'agit de ces choses. Et la classe que nous voulons sera l'impulsion d'explosion. D' accord ? Et la transformation de spawn. allons le diviser parce que nous ne nous soucions que de son emplacement. Donc, vous en faites le point d'impact. Et puis c'est ça. D' accord. C' est donc ce script. Stop projectile court pour entendre qui semble correct. Donc, la seule chose que nous devions faire est que vous devez créer ces projectiles dans nos plans, nous devons nous assurer que nous sommes réglés sur son rayon de dégâts. D' accord. Allons donc dans notre lance-grenades. Un. D' accord, prenons ceci comme exemple. Donc, pour notre filet de projectile, je vais faire ça trois fois ça. Et je vais dire munitions lance-grenades. Et on y va. Il est là. On peut le faire quatre fois la taille, rendre un peu plus grand. Tout ce que tu voulais. Ça n'a vraiment pas d'importance. Et je vais ajouter un composant supplémentaire à cela. Et je vais chercher un système de particules et on
appellera ça des effets de piste comme ça. Parce qu'il y a une piste appelée grenade. Donc ça va vraiment tirer un peu d'effet fumé, je suppose que vous voulez l'appeler à la maison. Vous verrez pour notre mouvement de projectiles, sont les réglages que j'avais. J' avais 3500 pour les vitesses initiales et maximales. L' échelle de gravité était assez lourde et ce que les choses arcs que je vais mettre à deux. Et puis il inflige rayon dommageable. Vous voulez activer cela dans ce plan ? La raison en est parce que nous voulons qu'il soit à court de projectile exploser et pas seulement comme les dégâts de prise normale que les fusils de sniper font. Donc les doigts croisés. On y va. J' ai eu et nous n'avons peut-être pas inclus ça dans notre plan. Laisse-moi juste voir. Et nous ne l'avons pas fait, d'accord, donc nous n'avons pas vraiment dit au jeu quel petit. Donc pour les statistiques d'armes. En fait, allons-y. Je ne sais pas si les statistiques comptent, mais pour l'impact des faits, je pense que c'est parce que nous générons ça et le projectile Bayes. Donc les statistiques comptent probablement dans l'arme, mais l'effet d'impact est important ici. Alors allons de l'avant et faire effet d'impact lance-grenades. Et puis laissez-moi retourner à mon lance-grenades, une arme. Ça va ouvrir ça. Donc, pour le projectile, c'est important. Nous voulons placer dans le lanceur de grenades projectiles, C'est le fichier de projet que nous voulons tirer pour ses statistiques d'armes. Disons juste la valeur maximale, cela peut être comme un 100 et,
et laissez-moi vérifier et voir ce que j'avais avant. Ok, Donc dans le projet précédent, j'ai eu les dégâts à 150 coups de Sophie, se faire frapper directement à l'épicentre va faire beaucoup de dégâts dans le rayon d'impact de cette sphère. Ça va être 500. Très bien, donc ça ne va pas jouer un son quand il s'éjecte parce que nous n'avons pas encore construit ça. Mais voyons si ça se déclenche. On y va. C' est tirer en tirant si mince. Vraiment faire exploser les gens. Maintenant, l'impulsion de la tête, c'est une erreur qui peut apparaître parfois ne vous inquiétez pas à ce sujet. Il a juste à voir avec comme détruire le composant de la capsule et il essaie d'interagir avec quelque chose. Ne vous inquiétez pas pour ça. D' accord. Alors était-ce l'impulsion ou quelle que soit l'impulsion de tuer ? C' est quelque chose que nous voulons gâcher un peu. Alors faisons ça comme quoi, 100 000,
d'accord. Et les envoyer voler. Et j'ai raté. D'accord. Donc oui, ça marchera. D' accord. Donc, dans la prochaine vidéo, nous allons terminer le lance-roquettes et le lance-grenades et est de construire ces derniers. Assurez-vous que nous jouons les animations et que nous faisons les dernières choses que nous voulons faire ces deux armes, mais oui,
c' est tout mis dans la pierre,
donc oui, j'espère que vous avez apprécié cette vidéo. Nous approchons de la fin de cette classe. Plutôt fou. Donc, merci beaucoup d'avoir regardé et je te verrai dans la prochaine.
38. Tourner la prise de vue du grenade et Shooting (Final): Bonjour à tout le monde et bienvenue à une autre vidéo. Ce sera probablement la dernière vidéo de cette série principale. Et ce qu'on va faire, c'est que tu vas finir notre lance-grenades et notre fusée. Donc, en créant ce projectile
, puis en ajoutant quelques choses
au lanceur gris qui manquaient dans la dernière vidéo. Entre les deux, j'ai juste aligné nos vidéos ou nos vidéos sont des ennemis tous les 200. Donc, si vous vous souvenez, sélectionnez quelque chose avec vos paramètres de capture à un certain paramètre,
appuyez sur Fin de contrôle et il va l'accrocher à cette grille, textes,
rendus, dossiers et autres choses comme ça. Ok, donc dans celui-ci qui commençons par
ouvrir notre arme de lance-grenades dans notre dossier d'armes. La chose que nous voulions faire comme la plupart du temps, parce qu'il faut que l'événement commence à tourner. Et ajoutons un appel à la fonction parent. Eh bien, j'aime ça, comme ça. Et puis on veut avoir le maillage d'armes et on va jouer à l'animation. D' accord ? Et l'animation que nous voulons jouer est un lance-grenades tiré comme ça. D' accord ? Et puis pour celui-ci, nous voulons aussi tirer des taux, calcule. Vous ne voulez pas non plus utiliser le spam. Et le taux d'incendie que nous allons avoir ici, nous voyons juste où c'est. Fréquence d'incendie. Définissez cette valeur sur 0,5. D' accord, donc c'est tout ce qu'on veut faire. Nous pouvons définir ces nombres pour être différents comme 0.2, négatif 0.25. temps de rechargement peut être de 2,5, propagation
des balles peut être de 600. Donc je veux dire, certains d'entre eux, je veux dire,
ça doit être un projectile, ça doit être un lance-grenades. Mais certains d'entre eux, les munitions, c'est là que les choses deviennent amusantes. Vous savez, où vous pouvez regarder toutes ces variables que nous avons créées et les insérer pour ce que vous voulez. Vous pouvez gâcher avec différents maillages. Si vous avez différents packs et différents effets sonores et que vous pouvez facilement insérer ce truc, changez l'impulsion de kill. Le projectile devrait être le lancement de gradient un effet d'impact de projectile devrait être que. Statistiques d'armes. Vous pouvez modifier les valeurs de dégâts. Le coup de pied d'arme, les temps de rechargement, tout ce truc est maintenant entièrement personnalisable pour vous. Donc, si j'entre dans le jeu, donc je ne vais pas passer trop de temps dessus. Et maintenant, nous avons notre lance-grenades. Je vais être un peu trop grand d'un rayon, mais comme si maintenant il devient comme tester le jeu où tout fonctionne et maintenant il est juste de le faire ressembler et sentir et sonore qui que vous voulez. Et donc c'était une grande chose que je voulais faire avec cette classe était de le mettre en place de cette façon où à ce stade tout ce qu'il se résume à juste changer ces variables et vous obtenez un jeu de sensations complètement différent. Et donc vos armes peuvent maintenant commencer à regarder différemment de l'esprit, sonnent différemment de la mienne. Avoir différentes quantités de KYC et les balles se répandent et reculent et juste tout ce genre de choses. D' accord. Donc, pour finir, faisons le lance-roquettes. Et c'est aussi obtenir le projectile de lance-roquettes. Et pour un filet de projectile, allons chercher des fusées, des munitions. Et faisons que ça soit comme, Oh, c'est trop gros. Deux fois 2,52,5 fois la taille. C' est un peu plus grand que la collision. On peut définir ça comme 1, 2, 0. Ça a tout fait sauf tes mains en l'air. Venez sur lui et les enfants, vous devriez savoir comment ça marche. Nous voulons nous assurer que cela inflige des dégâts de rayon, statistiques
d'armes n'ont pas d'importance, mais l'impact des faits, nous voulons que ce soit un lanceur de roquettes. Impact Effet dit vraiment ce que je pense, d'accord ,
humain, que tu ouvres ce script, ça va être long à ce stade. Mouvement de projectile. Réglons ça pour l'être. Donc notre fusil de sniper était comme douze mille douze mille. Donc on peut garder ça à cent dix cents. On peut faire ce 0,5 parce que je pense que la grenade est comme aussi, donc je veux que tu sois 0,5, comme je l'ai dit, que tu fasses ce que tu veux. Vous pouvez avoir ce truc, tirer un ballon de plage et faire un bruit grinçant ou un rugissement du lion. Je m'en fous. Tu fais ce que tu veux. C' est juste une question de changement. Pour que nous puissions fermer le projectile maintenant dans l'arme. Donc nous avons notre arme de lance-roquettes. Tout ce qu'on veut faire. Ok, on a juste une chose à faire, l'événement. Commencez à tirer parce que les pros de l'informatique de cette. Donc, ce point, il suffit de brancher les types de feu, saisir la purée d'arme et nous voulons mettre en animation. J' ai oublié de faire une chose, mais je vais faire cette mission, tirer une fusée. Et nous avons ça. Nous devons nous inquiéter du taux de tir calculé au moins je n'ai pas à le faire parce que je n'ai
qu'une seule fusée dans mon magazine à un moment donné. Donc, chaque fois que vous tirez, il suffit de recharger automatiquement projectile va être lancer une fusée un projectile. Je vais ouvrir cette renfort, en fait. Tuer l'impulsion. Réglons ça pour 250 000 ou quelque chose comme ça. C' est tout à fait ridicule. Les dégâts seront de 200 et le rayon d'impact sera de 300. Je mets juste des nombres aléatoires à ce stade. impact d'un lanceur de fusée affecte
le temps de précharge b. Pour avoir ce soit 750, donc r. Donc cela n'affectera pas vraiment où va le projectile, mais cela affectera le réticule. Ok, donc ça va rendre plus difficile d'atteindre le but de tir parce que vous ne traverserez pas ici. Les spreads peuvent être beaucoup plus larges. Maintenant, coup de pied d'arme, nous voulons probablement que ce soit comme négatif 0,5, probablement comme beaucoup. Plus il est proche de l'un, plus ce serait fou si c'est comme deux négatifs. Ainsi, plus le nombre est petit, plus le plus intensif sera essentiellement sauvé. Pour penser à ça, puisque ce sont des nombres négatifs, c'est comme inversé. Donc 0,5 négatif n'est pas si grand chose, mais comme négatif deux, c'est comme le taux de tir n'a pas d'importance. Si je tape un projectile. Oui. La seule chose que je veux faire, c'est comme avec le lance-grenades. Il va ajouter un composant. Et je veux m'assurer de le faire ici d'un système de particules et nous appellerons ça des effets de piste. Et puis il y a une piste de fusée. Je peux lancer une piste. D'accord. Les doigts l'ont croisée, oublie quelque chose. Mais oui, on a ça. Maintenant, nous avons ce retard un peu de chargement commencé. Tu vois, c'est comme se disputer. Oh, on y va. Il faut qu'on tue. Les sons sont un peu insubmersibles. La fusée est vraiment bruyante et vous pouvez le faire, mais si vous écoutez attentivement, vous pouvez toujours entendre cette impulsion de tuer. Si je le tire juste au sol devant eux. On n'a touché qu'une seule décision. Fais ça avec tous. Mais j'espère que ça crée Oh, je n'ai peut-être pas défini le rayon d'impact. Cela a donc fait assis au statut d'arme rayon d'impact. Je pensais juste que je finirais cette vidéo devient vraiment aléatoire. Et c'est un peu déconnant jusqu'à présent. Vous pouvez voir que ça a frappé les gens qui m'embauchent la liste locale du rayon. Ce n'est pas un super grand refi de frapper le sol. En fait. Plus tôt ils partiront ? Non. D' accord. Descends vers lui. D' accord. Oui. Je pense que c'est tout. C' est toutes nos armes que nous pouvons ramasser MO. Ouais, je pense que c'est tout ce qu'on a à faire dans cette classe pour le moment. Donc nous avons qu'elle ramasse cette arme, cette arme. Cette arme. Je n'ai pas changé la propagation de la balle pour que tu vois que le fusil de sniper n'est pas si gros. Donc je pourrais probablement les rendre un peu plus gros. Vous pouvez voir qu'ils changent un peu. Le Chicago est en fait plus que comme tous. Oui, on peut ramasser nos munitions. Ramasse ça. Oui, tu as tout ce projet. Ça devrait être tout le travail maintenant. Des ânes. Ça, j'ai eu ça. On a un peu de ça. On a un peu oh, j'ai raté. On a un peu de dette. Ce sera ça. Et un peu pour lui. 360. Finis-les au pistil. Voyez maintenant, maintenant vous pouvez commencer à vous amuser. Vous pouvez passer d'une arme à l'autre et vous pouvez être African Pro ici. D' accord. Donc oui, les gars, je pense que c'est à peu près tout. Donc avant qu'on finisse, je veux juste passer en revue quelques choses. Donc aller de l'avant dans ce projet, évidemment il ya certaines choses qui sont dans les tireurs à la
première personne que je n'ai pas inclus ici à voulu inclure les armes. Je veux inclure d, les munitions et les différents défauts d'impact. Donc, comme je l'ai dit, il est très facilement personnalisable de faire maintenant n'importe quel type de tireur à la première personne que vous voulez. Vous pouvez prendre cette connaissance de la façon de
dessiner les traces de ligne et vous pouvez l'appliquer à un tireur à la troisième personne. Il alerte, cela fonctionnera exactement de la même manière. Vous pouvez ajouter différents types de service. Vous pouvez ajouter l'IA aux ennemis, tout
un tas de choses différentes. Donc, oui, donc comme maintenant vous pouvez faire le type de jeu que vous voulez, vous pouvez le faire comme un jeu de tir Luder, peut en faire un type de survie de vague zombie de type de jeu. Vous pouvez avoir des cibles de tir avec un système de points. Tu peux faire. Un tireur de type militaire plus standard, ce qui est un peu comme ce que j'ai fait ici. Vous pouvez aller de l'avant et créer comme un système de santé, ajouter des tests sanguins. Nous n'avons pas un moyen pour le joueur réellement prendre des dégâts dans ce projet actuel avec qui est quelque chose qui peut être ajouté. Vous pouvez faire des ramassages de santé et différentes choses comme ça. On peut faire lâcher des munitions aux ennemis. Donc, ce que nous pouvons faire serait vraiment simple. Offrez la mort de l'ennemi. Vous pouvez ajouter une épingle supplémentaire et vous pouvez le faire apparaître un acteur de la classe. Et vous pouvez le faire engendrer n'importe lequel d'entre eux. Vous pouvez sortir un tableau, n'est-ce pas ? Et puis vous pouvez avoir l'une de ces six possibilités dont vous avez besoin. Peut-être que vous pouvez avoir un tableau de 10. Donc il y a une chance que rien ne tombe de l'ennemi, quelque chose comme ça. Nous pouvons mettre plus, Plus de fonctionnalités d'interface utilisateur avec les armes dans les micros. Parce qu'en ce moment, dans un vrai jeu, quelque chose apparaîtrait et vous pourriez réellement interagir avec ça. C' était quelque chose que je n'ai pas pris la peine d'ajouter. Nous pouvons donner notre jeu pour faire cette main et disparaître. Donc j'espère que vous en savez assez sur différents plans d'animation avec nous ne tenons pas d'arme. Tout ce que vous avez à faire est juste de changer l'animation ou vous pouvez juste, vous pouvez même courir une tique d'événement et avoir le maillage de bras si nous n'avons pas une arme juste définie dans Endgame et n'a pas cette invisible. Donc il y a juste un couple comme de petites choses que vous pouvez faire. Ce projet ne sera pas super parfait. Il va y avoir de petits problèmes. Une chose que j'ai remarqué, c'est que si vous changez d'armes, donc si je vise et que je change d'armes, ça va juste entre eux. Il ne joue pas réellement l'animation dans le son. C' est pourquoi les équipes d'assurance qualité existent. Donc, il y a certaines choses qui ne sont pas nécessairement comme des bogues en soi, mais ce sont une sorte d'immersion brisant des choses dans le code que vous pouvez soit essayer d'atténuer. Il y a probablement des choses que je, honnêtement, je ne suis même pas au courant, mais telles sont la vie. C' est une sorte de quand faire des jeux est comme il y a tellement de temps passé dans différentes versions de jeux créés chaque jour
, puis avoir ces builds mis à jour et avoir toute une équipe de personnes les
tester pour trouver quelques ces problèmes que l'ordinateur ne reconnaîtra peut-être pas comme un problème, mais un être humain jouant au jeu dirait, c'est un peu naturel de voir ça arriver comme ça, n'est-ce pas ? Nous pouvons également ajouter plus de paramètres de collision au jeu. Donc, la déesse a ces travailler comme une trace de ligne, mais ces boîtes invisibles que vous pouvez voir qu'elles interagissent réellement, frappent la chose de pierre par défaut que nous ne pouvons pas marcher autour d'eux. Ce serait aussi simple que d'entrer dans les paramètres du projet, entrer en collision et d'ajouter un paramètre que cette boîte dit un type différent de trace d'objet que notre joueur peut réellement marcher entre, et c'est quelque chose que notre trace de ligne serait, ignorerait. Ok, donc j'essaie de penser à autre chose. Vous pouvez aussi faire le jeu comme vous le voulez. Comme je ne l'ai pas avec la façon dont je l'ai mis en place. Tu ne peux pas recharger. Si vous faites du sprint. Tu peux, tu peux changer ça si tu veux. Vous pouvez modifier, modifier le script à votre goût personnel ou autre, en fonction de la façon dont cela fonctionne et de l'endroit où vous le regardez. S' il y a certaines fonctionnalités que vous voulez me voir spécifiquement vous montrer comment faire si vous n'en êtes pas conscient. Vous n'êtes pas en mesure de trouver un tutoriel sur YouTube pour construire ce projet ou quelque chose sur la documentation irréelle, je vous suggère fortement d'aller de l'avant et d'essayer que si vous voulez rechercher quelque chose qui ressemble vraiment, vraiment spécifique. Mais s'il y a certaines autres fonctionnalités que vous voulez voir ajoutées, faites-le moi savoir et je peux potentiellement ajouter à ce cours, je devrais réfléchir à s'il est même possible que vous puissiez ajouter des vidéos, comme les ajouter à la fin. Mais oui, si vous avez fait tout le chemin jusqu'à la fin de ce cours, merci beaucoup d'avoir regardé. Cela signifie beaucoup pour moi que vous verrez ce genre de chose engageant. J' espère que vous avez beaucoup appris ce projet final dans notre fierté. Et peut soit laisser ça être et être comme, ok, je sais comment faire cela et c'était amusant ou vous pouvez commencer à le personnaliser et ajouter vos propres choses à elle, vos propres fonctionnalités entrant sur le marché et, et, et ce qui fait que ces gars n'aiment pas le mannequin ou quelque chose comme ça. Alors oui. Ce projet est une huître de sorte que vous pouvez soit l'utiliser comme quelque chose comme ok, je sais comment le faire et c'était cool. Ou vous pouvez garder UN ajouté dessus. Et si vous continuez à y ajouter, j'aimerais voir ce que vous créez à partir de cela. Il y aura génial. Comme toujours, vous avez des questions pour moi ? Il suffit de l'écrire dans la discussion ou de me tirer un email ou quoi que ce soit. Merci beaucoup d'avoir regardé ça du début à la fin. Ça signifie vraiment beaucoup pour moi. Et je vous verrai dans la prochaine barre oblique de classe vidéo. Je ne sais même pas. D' accord. Bien.