Transcription
1. Introduction: Dans ce cours,
nous allons
apprendre à utiliser Unreal Engine cinq, y compris des plans en créant deux
jeux très différents à partir de zéro Ce cours contient
tout ce dont vous avez besoin pour commencer. avec
Unreal Engine cinq, y compris le moteur cinq non réel, vue d'ensemble et la navigation, l'
importation de ressources, conception et l'éclairage de
l'environnement, bases du
plan, le mouvement des
personnages, création d'éléments routables, création de points de contrôle,
animation, Blueprint, tir et
rechargement d'
armes, création d'IA ennemie, niveau de difficulté,
santé et mort, interface utilisateur du
jeu, musique et effets
sonores. Et à la fin, nous
allons emballer le jeu. m'appelle Mustafa
et je suis le PDG, devenu directeur et designer de
Titan Forced Entertainment. Je travaille
chez Unreal Engine depuis six ans et ai récemment publié une vente
agricole sur vapeur, qui est reçue
très positivement. J'ai également passé un an et demi développer mon
projet personnel, acheté Kraft, et actuellement je dirige le nouveau grand titre de
mon entreprise, qui est un jeu de plateforme
3D inopiné. À la fin de ce cours,
vous serez en mesure de
créer en toute confiance votre propre
projet de jeu à partir de zéro. J'ai conçu ce cours
pour tous ceux qui souhaitent créer des jeux
dans Unreal Engine cinq, mais qui ont du mal à créer
un jeu qui
répondra aux normes actuelles de
l'industrie. J'espère que vous vous inscrirez et vous
joindrez à moi à ce cours. Et rappelez-vous aussi que je suis ici tout au long du
cours pour vous aider. J'espère vous voir bientôt.
2. Téléchargement de la société Unreal 5: Ok, alors commençons par télécharger le moteur. Et pour télécharger le moteur, vous devez aller sur Epic Games.com. C' est le site d'Epics. Et à l'intérieur d'ici, vous devez cliquer sur le bouton bleu appelé get Epic Games. Et cela va réellement télécharger leur lanceur, le lanceur Epic Games. Et je l'ai déjà téléchargé. Donc c'est ici. À l'intérieur de ce lanceur, vous serez probablement un onglet d'accueil de bricolage. Vous devez donc cliquer sur le bouton Unreal Engine ici. Et puis vous verrez tous ces boutons sur le dessus, tous ces boutons sur le dessus. Et sur ces boutons, vous devez cliquer sur l'Unreal Engine cinq. A l'intérieur d'ici, vous avez un bouton appelé télécharger l'accès anticipé. Et voici comment vous téléchargez Unreal Engine. Une fois que vous avez téléchargé le moteur, vous pouvez aller à l'intérieur de votre bibliothèque. Et à l'intérieur d'ici, vous pouvez voir quelles versions de Engine vous avez déjà téléchargées. Et si vous voulez télécharger Morrow fair ou Unreal Engine 4, quelque chose, vous devez cliquer sur ce bouton Nouveau et sélectionner celui que vous voulez télécharger. Mais pour télécharger Unreal Engine cinq, vous avez dû aller dans et sorte de cet ensemble afin qu'ils l'aient mis séparément. Donc, une fois que vous avez téléchargé ou Unreal Engine cinq, vous pouvez cliquer sur Lancer ici sur le moteur. Et si vous avez des projets précédents, ils apparaîtront ici. Alors passons à la leçon suivante et créons réellement un projet.
3. Créer un nouveau projet: Allons de l'avant et créons notre premier projet. Donc, en cliquant sur le bouton Bibliothèque ici, vous pouvez lancer Unreal Engine five. Une fois que vous avez lancé Unreal Engine five, cet onglet apparaîtra. Et à l'intérieur de cet onglet, vous pouvez ouvrir des projets récents ou vous pouvez créer un nouveau projet en cliquant sur les jeux. Et lorsque vous cliquez sur les jeux, vous pouvez voir différents modèles. Ainsi, par exemple, si vous voulez faire un jeu de tir à la première personne, vous pouvez cliquer sur ce modèle de première personne. Et il vous donne une sorte de modèle de base pour un tireur à la première personne. Donc, vous pouvez faire le tour en mode à la première personne avec un pistolet. Si vous voulez faire un puzzle, il vous donne ce modèle. Si vous voulez faire un jeu de haut en bas, cela vous donnera comme une vue de haut en bas. Mais ce que je veux faire pour les tutoriels, j'aime commencer avec un projet vierge parce que je pense que vous pouvez en apprendre beaucoup plus en créant tout à partir de zéro. Je n'aime pas parfois quand les gens commencent à enseigner autres en commençant par le modèle, j'aime tout commencer depuis le début. Et en fait, vous pouvez créer tous ces modèles à l'intérieur d'un projet vide si vous savez ce que vous faites. Et après ce cours, je suis sûr à 100% que vous pouvez les créer tous. Commençons donc par un projet vide. Nous apprenons beaucoup plus en le faisant. Et ici, à droite, vous pouvez voir que vous pouvez sélectionner un projet de Blueprint ou un C plus. Nous allons avec des plans et pas C plus plus. Et c'est le bureau, et c'est le préréglage de qualité maximale. C' est probablement vérifié pour vous. Je vais décocher le contenu du démarrage. Je veux tout commencer à partir de zéro. Et le traçage des rayons est désactivé. On n'a pas besoin de ça. Et maintenant, nous pouvons appeler votre projet quelque chose. Donc, ce premier jeu que nous créons, nous appelons la balle de vitesse et puis vous choisissez l'emplacement dans lequel vous voulez l'enregistrer. Je vais juste le laisser à mon emplacement par défaut et je vais cliquer sur Créer des projets. Ok, donc c'est à ça que ça ressemble quand on ouvre le projet pour la première fois. Et passons à la leçon suivante et essayons comprendre l'interface utilisateur et comment naviguer à l'intérieur de la fenêtre d'affichage.
4. La barre d'outils: Parlons du moteur, de l'interface utilisateur et de la façon de naviguer. Donc, au début, cela pourrait sembler déroutant si vous n'avez jamais été ici avant. Si vous êtes de Unreal Engine 4, vous avez un, un peu plus de compréhension de ce que certaines de ces choses sont. Mais commençons par le début et je vous promets que ce sera beaucoup plus facile. Donc, pour commencer, en haut à gauche, nous avons tous ces différents boutons qui sont généralement normaux. Et chaque logiciel pour commencer, nous avons un fichier. Et à l'intérieur du fichier, vous pouvez créer un nouveau niveau. Vous pouvez enregistrer votre travail, et vous pouvez également créer un nouveau projet à l'intérieur de la modification. Ce qui est important ici, ce sont les préférences de l'éditeur. Donc, en cliquant sur les préférences de l'éditeur, ici vous pouvez changer les choses sur l'éditeur. Ainsi, par exemple, vous pouvez voir ici la couleur de sélection des fenêtres si vous le souhaitez différemment et ainsi de suite. Honnêtement, je n'ai jamais joué avec ça. J' ai tendance à quitter l'éditeur tel qu'il est. J' aime bien ce qu'il est, mais tu peux essayer de regarder autour de toi, voir s'il y a quelque chose que tu aimerais changer. Et puis nous avons les paramètres du projet, et ici nous serons beaucoup. Ainsi, à l'intérieur des paramètres du projet, vous pouvez modifier les paramètres du projet. Ainsi, par exemple, la description du projet, le nom de la société, si vous en avez un, l'autre contact de support de la page d'accueil, et tout cela apparaîtra lorsque vous sortirez le jeu. Donc les gens ont une chance de vous contacter. Et vous pouvez modifier les paramètres pour quand vous empaqueter le jeu et que vous voulez le libérer. Vous pouvez modifier les paramètres lorsque vous cliquez sur des boutons que nous utiliserons ultérieurement. Et nous pouvons éditer la carte par défaut et ainsi de suite. Donc, nous allons travailler ici dans les projets, les paramètres
du projet plus tard dans le projet. La dernière chose importante est les plugins. Et en cliquant sur les plugins, vous pouvez voir que nous avons beaucoup de plugins différents. Ne vous inquiétez pas pour l'instant,
mais vous pouvez voir que nous avons beaucoup de plugins et ce qui est cool à ce sujet plus tard, vous pouvez également écrire maintenant il n'est pas sorti à Unreal Engine cinq, mais le multijoueur vapeur est un plugin que vous pouvez activer ici mais il n'est pas encore sorti. C' est seulement pour Unreal Engine 4 en ce moment à l'intérieur de Windows, sorte que vous pouvez ouvrir de nouveaux onglets. Donc, par exemple, vous pouvez voir ici j'ai quelque chose appelé un panneau de détails et une fenêtre Sud. Il y a aussi ce panneau Détails et vous pouvez voir que j'en ai déjà ouvert un, mais je peux en ouvrir un second si je le veux. Et ce sont essentiellement les mêmes. Donc, si je clique sur un objet ici et le niveau, vous pouvez voir la même information est affichée. Et c'est assez pratique pour si j'ai deux moniteurs. Donc je peux tirer ça sur mon second moniteur et je peux vraiment y travailler. Et cela est particulièrement utile pour si vous voulez ouvrir deux fenêtres. Et maintenant, nous avons cette fenêtre et je peux la mettre sur mon second moniteur et la regarder à partir de là et c'est plutôt cool. Donc, au lieu de Windows, vous pouvez ouvrir plusieurs fenêtres. Maintenant, il y a beaucoup d'autres choses, mais j'essaie de ne pas les couvrir pour l'instant. Nous n'avons pas vraiment besoin d'eux pour commencer. Alors passons en revue les outils. Nous avons différents outils ici, mais ne nous inquiétons pas à ce sujet. On a la ceinture près. Vous pouvez construire l'éclairage, par exemple, le faire fonctionner à l'intérieur de votre niveau. Donc, c'est la chose la plus importante est la construction ou les niveaux, l'éclairage. Je peux également ajuster la qualité de l'éclairage. Et cela prendra beaucoup plus de temps si vous mettez au plus haut lorsque vous essayez de construire l'éclairage. Donc, nous travaillons toujours dans l'aperçu ou le médium pour commencer. Et c'est hors d'aide. Vous pouvez voir la documentation pour Unreal Engine cinq. Ok, donc ici, nous avons le bouton Enregistrer le niveau actuel pour que vous puissiez enregistrer le niveau actuel dans lequel vous êtes. Et puis vous avez le bouton Créer. Et ici, vous pouvez créer différentes choses. Ainsi, par exemple, les lumières, c'est un bouton très important. Vous pouvez créer des lumières, vous pouvez atteindre des formes, vous pouvez créer des caméras. Ainsi, vous pouvez créer quelque chose pour les effets visuels, par
exemple, un Nuage métrique ou ciel, atmosphère et ainsi de suite. Donc, ici, vous pouvez créer différents éléments. Et le contenu est, vous pouvez ouvrir un nouveau navigateur de contenu. Et si je clique sur le navigateur de contenu, vous pouvez voir sur le navigateur Clinton ici. Et c'est en fait si vous cliquez sur
ce bouton ici, c'est en fait la même chose, donc j'ai la même constante ici. Donc maintenant, vous pouvez également avoir plusieurs fenêtres pour cela. Je n'en ai jamais eu besoin, alors je vais le fermer à nouveau. Mais juste pour que tu saches, tu peux l'ouvrir ici. Et vous pouvez également obtenir ou ouvrir le pont vendu rapide, mais nous ne le ferons pas maintenant. Et à l'intérieur des plans, c'est très important. On va travailler ici. Et ici, vous pouvez ouvrir le Blueprint de niveau, dans
lequel nous allons réellement travailler, mais ne nous inquiétons pas à ce sujet pour l'instant. Mais c'est le bouton du plan. Ici, nous allons programmer le jeu. On a ça dans un bouton médical. Ne vous inquiétez pas pour l'instant. Nous avons le bouton Sélectionner afin que nous puissions sélectionner différents éléments à l'intérieur de vos fenêtres. Vous avez l'outil Paysage. Vous pouvez cliquer dessus et ici vous pouvez créer un paysage, mais ne créons pas un tout de suite. Et ici, nous avons un bouton de feuillage. Et c'est en fait pour, si vous avez de l'herbe, par exemple, vous pouvez mettre l'herbe à l'intérieur de ce peintre de feuillage et vous pouvez réellement peindre toute l'herbe sur le sol. Ou il peut en fait aussi peindre d'autres choses. Pense à l'herbe. Ainsi, par exemple, si vous avez des pierres ou des pierres, vous pouvez les peindre. Ensuite, nous avons l'outil de peinture en maille. Donc si nous avons un maillage comme ce sol ici, vous pouvez peindre dessus. Si vous avez une texture. Là, n'a pas fait. Nous avons l'outil de fracture et ensuite nous aurons l'outil en mode d'édition de pinceaux. Ne nous inquiétons pas pour celui-là et celui-là maintenant. Ensuite, nous avons le bouton de lecture et vous pouvez cliquer sur Jouer pour tester le jeu. Nous le ferons. Et juste pour que vous sachiez, il y a trois boutons à côté du bouton de lecture. Et vous pouvez choisir d'ouvrir le jeu dans son propre éditeur, la nouvelle fenêtre de l'éditeur, ou comme un jeu autonome. Mais nous allons juste le jouer à travers la fenêtre pour l'instant. Et nous avons les plates-formes et ici vous pouvez emballer le jeu deux plates-formes différentes et ainsi de suite. Je vous montrerai une lettre sur la façon de l'emballer à nouveau lorsque nous aurons terminé afin
que vous puissiez la libérer et que votre famille ou vos amis puissent l'essayer. Et ici, dans les paramètres, nous pouvons cacher l'interface utilisateur de la fenêtre d'affichage. Il peut aussi le montrer à nouveau. Si tu veux le montrer. Nous pouvons également entrer les paramètres du projet ou le plugin que nous venons de voir plus tôt. Et un important est les paramètres du monde, que vous pouvez également voir ici. Et à côté de celui-ci, nous allons travailler avec aussi plus tard dans les leçons. Ok, alors laisse-moi revenir à l'outil Select pour que je puisse les enlever.
5. Le panneau Détails: La prochaine chose importante à l'intérieur de la clôture ou à l'intérieur du moteur est ce panneau Détails. Donc, vous pouvez voir quand je clique sur différentes choses à l'intérieur de cette fenêtre, je vois des détails différents. Et cela montre les valeurs pour toutes les choses qui sont à l'intérieur du niveau. Donc, si je clique sur le Soleil ici, la lumière directionnelle, je peux voir l'emplacement de celui-ci, la rotation de celui-ci, l'échelle, l'intensité et l'angle, et si cela doit affecter le monde ou non, vous pouvez voir ici Je peux le vérifier et le décocher s'il doit projeter des ombres ou non. Donc, ce sont tous différents paramètres ou détails pour la lumière directionnelle spécifiquement. Donc, si je clique sur ce maillage au sol, vous pouvez voir que j'ai des paramètres différents. Je peux voir quels mailles statiques utilisés, quel est le matériau. Et j'arrive à tous ces paramètres différents pour tout ce que je clique sur la clôture. C' est donc une partie très importante du moteur. Ici, vous pouvez voir les détails de chacun de ces éléments à l'intérieur de la clôture ou à l'intérieur du niveau. Vous pouvez également modifier les noms de ces éléments. Ici, vous pouvez cliquer et vous pouvez changer le nom et vous pouvez voir quels composants ils sont constitués. Et ne vous inquiétez pas pour l'instant.
6. Le navigateur de contenu: La prochaine chose avant de parler de la fenêtre est le tirage du contenu. Et celui-ci, vous pouvez réellement ajouter tous les fichiers que vous avez pour le jeu à l'intérieur d'ici. Donc, si vous avez les fichiers de caractères, vous allez ajouter les fichiers de caractères ici. Si vous avez des fichiers audio, tout, tout type de fichier, fichiers 3D, modèles
3D, si vous avez des effets sonores, visuels et ainsi de suite. Tout sera là. Et la façon dont vous les ajoutez à l'intérieur de ce niveau, vous faites simplement glisser l'élément et le déposer à l'intérieur du niveau racine, et nous en parlerons plus tard. Donc sachez juste que tous les fichiers seront à l'intérieur d'ici et ici nous pouvons choisir de tout enregistrer. Nous pouvons également ajouter différents éléments à l'intérieur de ce dessin de contenu. Vous pouvez voir que nous pouvons ajouter des plans, ce que nous allons travailler avec aussi. Vous pouvez créer un nouveau niveau, il peut créer un nouveau matériau et un nouveau dossier. Par exemple, si je clique sur créer de nouveaux dossiers peut voir ici c'est un nouveau. Et vous pouvez cliquer dessus pour changer le nom ou vous pouvez appuyer sur F2. C' est un raccourci assez pratique. Donc, en cliquant sur F2 et en changeant le nom, vous pouvez cliquer dessus avec le bouton droit. Vous pouvez définir les couleurs pour que je puisse définir la couleur à quelque chose et vous pouvez cliquer sur OK, et c'est assez cool pour organiser les choses. Donc, je vais le supprimer à nouveau. Et si vous ne voulez pas cliquer dessus tout le temps, vous pouvez voir ici, si nous cliquons dessus et que vous cliquez loin de lui, il disparaîtra. Si vous êtes habitué à Unreal Engine 4, c'était toujours au sommet. Et je vais aussi le faire sur le dessus aussi, juste pour qu'il ne disparaisse pas pour toi quand tu regardes les leçons. Ce sera très ennuyeux, je pense. Donc, en cliquant sur le dock dans la mise en page et ce dossier entier à l'intérieur de la mise en page. Et il restera toujours ici.
7. Viewport et navigation: Ok, donc on est presque toutes les choses. La dernière chose et probablement la chose la plus importante est la fenêtre d'affichage. Donc, la fenêtre est l'endroit où vous visualisez votre niveau. Donc ici vous pouvez voir toutes les choses que vous avez à l'intérieur de votre niveau, et c'est là que vous construisez votre jeu. Donc, pour commencer, à l'intérieur de la fenêtre, nous avons ce bouton en haut à gauche. Et à l'intérieur de ce bouton, vous pouvez choisir d'afficher le FPS. Et c'est très important. Donc, vous ne voyez pas que votre FBS a
60 ans alors qu'il est censé être beaucoup plus élevé plus tard dans le développement. C' est donc toujours bon à vérifier, mais cela n'a pas vraiment d'importance depuis le début jusqu'au billet d'avion. Vous pouvez modifier le champ de vision et le garder à 90, ce qui est la valeur par défaut. Vous pouvez aussi était très important. Voici la vue du jeu. Donc, en cliquant sur la vue du jeu, vous pouvez voir qu'il masque tous ou toutes les icônes et aussi la grille. Donc, un raccourci à cela est en appuyant sur G. Donc cliquez sur G. Je fais habituellement cela pour voir mon niveau sans aucune icône. Et en cliquant à nouveau sur G, nous allons les faire apparaître. Un autre bouton d'appel est le mode immersif, et cela va plein écran la fenêtre d'affichage comme ceci. Le raccourci pour cela est si un Londres, donc FL1 pour le minimiser, F11 pour le maximiser. Et il peut appuyer sur G pour masquer toutes les icônes. Et maintenant, vous pouvez voir notre jeu en plein écran. Et il y a un assez cool. Donc, en cliquant sur G au Londres à nouveau. Et revenir en arrière. Et un autre bouton appelé est les captures d'écran haute résolution. Donc, ici, vous pouvez prendre une capture d'écran de ce que vous regardez actuellement. La prochaine chose à l'intérieur de la fenêtre est le mode perspective. Et ici, c'est le mode dans lequel nous affichons actuellement la fenêtre d'affichage. Vous pouvez également le voir depuis le haut, juste comme ça. Et c'est assez cool pour quand vous voulez placer quelque chose de spécifiquement. Comme par exemple, si je le veux, laissez-moi revenir en mode perspective, si vous voulez jouer quelque chose de spécifiquement ici, il est beaucoup plus difficile de simplement se déplacer et de le placer ici, mais c'est beaucoup plus facile d'aller dans le vue de dessus, CORREL le placer et juste le placer correctement. Ok, donc je vais cliquer sur Control Z pour annuler. Donc ce sont les différents modes. Vous pouvez le voir à partir du bas, de la gauche, et ainsi de suite. Et ceux-ci sont aussi appelés les vues orthographiques. Et vous pouvez également avoir une fenêtre cinématographique que vous pouvez voir à travers. Revenons à la clôture par défaut. Ne nous inquiétons pas du cinéma pour l'instant. Nous avons aussi les différents humour. Quatre, par exemple, quand c'est pour quand vous avez la lumière de la scène. Donc vous pouvez voir ici, il est là mode laisser. Nous avons aussi le mode non éclairé. On peut voir la scène sans éclairage. Et nous pouvons aussi l'envoyer en mode filaire. Et vous pouvez voir les différents filaires. Et il peut également vérifier les filaires de différents modèles 3D, les
détails, l'éclairage, et ainsi de suite. Nous avons donc beaucoup de télécommandes. Nous avons également les modes de vue d'optimisation que nous aborderons plus tard dans les leçons. Revenons donc au mode ellipse. Ensuite, nous avons le spectacle, et ici vous pouvez afficher et cacher différentes choses à l'intérieur du port de vue. Par exemple, si vous ne voulez pas voir la grille, vous pouvez la faire disparaître. Mais en fait, je veux le revoir. Donc, en cliquant dessus à nouveau. Et ici, des boutons très importants, et probablement les plus importants sont les outils avec lesquels vous allez travailler à l'intérieur de la fenêtre. Nous avons donc l'outil Select. Et vous pouvez voir ici quand je sélectionne différentes choses, je peux les sélectionner. Et nous avons l'outil Déplacer. Et ici, si je fais glisser sur les points de pivot, je peux les déplacer dans des directions différentes. Et si je clique sur la boîte, vous pouvez voir que deux des points de pivot se mettent en évidence et cela signifie que je peux les déplacer dans ces deux directions différentes. Donc si je le tiens sous cette boîte, je peux les déplacer le long du sol ici. Et ainsi de suite. En cliquant sur cette balle, boule
blanche et au milieu, je peux les déplacer dans toutes les directions. Mèche sur un point pivot, je peux les déplacer dans une direction. Ok, donc c'est l'outil de déplacement. Nous avons également l'outil Rotation. Ici. Vous pouvez faire pivoter dans un axe différent. Vous pouvez voir ici je peux tourner dans ces différents axes. Et avant que j'oublie de le dire, vous pouvez vous voir, nous avons une couleur rouge, couleur
verte et la couleur bleue et la couleur rouge. Vous pouvez voir ici, ceci est également lu comme dx. Si vous mettez la souris dessus, vous pouvez le voir. Donc c'est le rouge, c'est le vert, c'est l'axe y, et c'est le bleu, et c'est l'axe z. Et vous pouvez également voir l'axe lorsque vous faites pivoter, vous pouvez les voir ici. Ce que vous affrontez actuellement, le dernier outil que nous avons est l'outil de mise à l'échelle. Et en cliquant sur l'outil d'échelle, vous pouvez le mettre à l'échelle dans des directions différentes. Ainsi, tout comme l'outil Déplacer, si vous le maintenez sur un point de pivot, vous pouvez le mettre à l'échelle dans une direction. Ou si vous le tenez au-dessus. Ces rectangles, vous pouvez essayer de l'échelle dans deux directions différentes. Mais si vous le maintenez sur le carré blanc au milieu, vous pouvez l'échelonner uniformément. Donc, si je clique sur Control Z, je clique dessus quelques fois parce que je veux revenir là où j'étais. Je peux en fait les squelettes formellement en cliquant sur la boîte blanche ici. Ok, donc très important, j'utilise généralement les raccourcis et vous devriez probablement Londres aussi, car il faut beaucoup de temps pour cliquer ici, les
déplacer, le nouveau clic ici pour faire pivoter, puis tourner et ainsi de suite. Une façon plus rapide de le faire est d'appuyer sur Q. Cette conférence va appuyer sur W pour l'outil de déplacement, appuyer sur E pour l'outil de rotation,
appuyer sur R pour l'outil de mise à l'échelle. Donc, par exemple, je clique sur W2 pour me déplacer. Je clique sur E pour faire pivoter, je clique sur R pour le mettre à l'échelle. Je clique à nouveau sur W pour le déplacer et ainsi de suite. Vous pouvez voir que c'est beaucoup plus rapide que tout le temps en cliquant ici et
en cliquant sur Control Z pour revenir en arrière. La prochaine chose est l'outil de capture de grille. Donc, c'est à quel point ça va s'accrocher. Donc, vous pouvez voir ici, quand je clique sur w, Par exemple, si je clique sur ce lecteur commence icône ici. Vous pouvez voir si je le bouge,
il s'accroche, ça ne bouge pas bien. Et c'est à cause de cet outil de capture. Donc, si je clique sur ce nombre et que je l'augmente à 50, maintenant claquer toutes les 50 unités à l'intérieur du moteur. Et c'est assez pratique lorsque vous essayez d'aligner quelque chose ensemble uniformément, par
exemple, des murs ou des planchers. Et ils s'emboîtent ensemble. Si vous voulez supprimer l'accrochage, si je clique sur cette icône et il deviendra blanc et vous pouvez simplement le déplacer comme vous le souhaitez. C' est très lisse maintenant, si vous voulez le reprendre, cliquez dessus, puis il va s'accrocher à nouveau. Et là encore, vous pouvez augmenter et diminuer l'accrochage. Tout comme le claquement avec le mouvement. Vous avez cette capture avec la rotation. Donc, en cliquant ici, vous pouvez voir qu'il tourne tous les 10 degrés. Et si vous cliquez sur ces mêmes degrés, vous pouvez le modifier comme l'outil de déplacement. Vous pouvez le changer à d'autres degrés. Et vous pouvez cliquer sur l'icône pour supprimer l'accrochage afin que vous puissiez tourner en douceur. Et vous pouvez également le faire avec l'outil de mise à l'échelle. Donc, en cliquant sur les nombres, cliquez également sur l'icône va supprimer la capture d'échelle afin que je puisse l'échelle uniformément et ainsi de suite. Ou le mettre à l'échelle en douceur, désolé. Donc, je vais revenir à tous à nouveau en tant que paramètres par défaut. Et c'est la vitesse de la caméra. C' est très important. C'est à quelle vitesse votre caméra se déplace à l'intérieur de la fenêtre. Et je vais parler de la façon de se déplacer à l'intérieur de la fenêtre. Je ne l'ai pas encore touché. Donc ici, vous pouvez changer la vitesse. Donc, par exemple, si vous avez un grand monde, un grand monde de jeu, par exemple, c'est un monde ouvert, quelque chose que vous pouvez augmenter la vitesse et vous pouvez vous déplacer beaucoup plus vite à l'intérieur de votre monde. Si vous avez un très petit jeu, vous pouvez le changer à une vitesse plus petite et vous pouvez voir qu'il est très lent maintenant et vous pouvez même le rendre encore plus lent. C' est aussi cool pour simplement simuler cinématographique parfois. Ok, revenons à quatre, qui est la valeur par défaut. Ok, donc la dernière chose avant qu'on finisse la vidéo est assez longue. Donc, la dernière chose est de savoir comment naviguer à l'intérieur du BYU, mais comment vous déplacer ? Donc, je me déplace généralement en maintenant le bouton droit de la souris. Ensuite, vous pouvez utiliser les touches a, w, D et S du clavier. Donc, tout en maintenant le bouton droit de la souris, vous pouvez cliquer sur AWT et S et vous pouvez vous déplacer. Je peux vous voir, je vais maintenir le bouton droit de la souris et en cliquant sur ces touches, vous pouvez vous déplacer à l'intérieur du niveau. Cela peut sembler gênant pour commencer, mais si vous êtes habitué à jouer à des jeux, vous êtes probablement habitué à vous déplacer comme ça. Si vous, surtout si vous jouez jeu de tir. Mais ne vous inquiétez pas, ce sera naturel pour vous si vous n'avez pas essayé cela avant. En cliquant sur Q et E, tout en maintenant le bouton droit de la souris, vous pouvez voir ou vous pouvez aller de haut en bas. D' habitude, je ne l'utilise jamais. Je monte et descend, mais tu peux juste l'utiliser. Donc tu sais qu'il est là. Une autre chose est que si vous maintenez le bouton gauche de la souris, vous pouvez voir ici que vous pouvez vous déplacer tout en maintenant simplement le bouton gauche de la souris. Je ne l'utilise jamais. En fait, je l'utilise sur mon ordinateur portable si je travaille quand je suis sur le chemin de mon travail de jour, je clique généralement sur la gauche. C' est beaucoup plus facile sur ordinateur portable. Et en maintenant le bouton gauche de la souris et le bouton droit de la souris, vous pouvez vous déplacer de haut en bas, tout comme vous l'avez fait en maintenant le bouton droit de la souris et en cliquant sur Q et D. La dernière chose que vous pouvez faire est par exemple, en maintenant le bouton droit de la souris et en cliquant sur l'estimation de retour, nous pouvons alors W pour aller de l'avant. Vous pouvez également utiliser le défilement de votre souris pour faire défiler et descendre. Et c'est à peu près tout pour le mouvement. Et ce que j'ai d'habitude, comme je l'ai dit, utiliser principalement est juste en maintenant le bouton droit de la souris et juste se déplacer comme ça, je me sens plus à l'aise, mais si vous vous sentez plus à l'aise de le faire d'une autre façon, se sentir bienvenu à faire donc. Et rappelez-vous si vous avez des questions du tout, vous pouvez toujours écrire dans les médias sociaux sont prêts à vous aider. Et vous pouvez également écrire sur le serveur Discord, très heureux d'avoir un chat ou de vous aider à l'intérieur de là. Alors allons de l'avant dans la prochaine leçon ou dans la section suivante et commençons réellement notre jeu.
8. Introduction du jeu - Bdes de vitesse: Bonjour et bienvenue dans cette section. Ici, nous allons créer un jeu de balle. Et ce jeu est sur une balle que vous pouvez déplacer avec votre clavier. Et c'est comme si tu courais à travers les niveaux, tu collectionnais des étoiles. Vous traversez les portails et vous allez à de nouveaux niveaux. Et le jeu est juste de survivre à travers les niveaux, la collecte des magasins. Et à la fin, vous allez à un écran de mariage. Donc, avec ce projet, vous allez apprendre beaucoup. Vous allez apprendre à construire un niveau, à faire l'éclairage, à faire des Blueprints, des acteurs de
Blueprint, des classes de Blueprint en général, et à travailler avec le Level Blueprint. Nous allons voir comment vous faites la condition perdante. Donc, si votre balle tombe, comment répondre aux points de contrôle est de passer par le portail et beaucoup de choses à apprendre. Alors allons de l'avant dans la prochaine leçon et commençons notre jeu.
9. Configuration du projet initial: Ok, alors commençons à faire le projet. Et avant qu'on fasse quoi que ce soit, je veux juste te montrer quelque chose. Et ici, à l'intérieur de edit et plugins, vous pouvez descendre à la réalité virtuelle ici. Et vous pouvez désactiver l'Oculus VR et désactiver la VR vapeur. Et le problème avec ceux-ci est que j'ai sorti ma queue de ferme de jeu sur Steam. Et ceux-ci ont été vérifiés quand sont libérés encore et encore, a continué de lancer en mode VR pour les gens. Même si la queue de ferme n'a pas de mode VR. Donc c'était assez ennuyeux. Les gens étaient confus quant à la raison pour laquelle il fonctionnait en mode VR. Donc, chaque fois que je commence un nouveau projet, je désactive l'Oculus VR et désactive la VR vapeur. Bien sûr, si votre jeu est un jeu de réalité virtuelle, vous ne voulez pas les désactiver. Mais nous ne faisons pas de jeu VR, donc je vais les désactiver et cliquer sur notre Redémarrer maintenant. Ok, donc maintenant le projet a été redémarré. Je peux aller de l'avant et fermer cela et cliquer sur Enregistrer tout. Et c'est en fait la seule chose que nous devions faire. Alors passons à autre chose.
10. Importer des ressources: Alors maintenant, nous allons importer quelques actifs que nous pouvons utiliser pour le projet. Donc, la première chose ici à l'intérieur du lanceur Epic Games. Ici, c'est. Ici, vous voulez aller à l'intérieur de la place de marché. Et allons télécharger des ressources gratuites que nous pouvons utiliser pour le jeu. Et ici, vous pouvez rechercher la grille. Donc écrire la grille ici et cliquer sur Entrée. Et à l'intérieur d'ici, cliquez dessus. Max pots-de-vin gratuit, donc on ne paie rien en faisant ça. Et voici le pack de démarrage super grille. Travaillant sur ce grand atout, nous pouvons créer un niveau assez cool avec cela pour notre premier jeu. Alors allez-y et téléchargez-le. Je l'ai déjà téléchargé. Et puis vous pouvez voir après l'avoir téléchargé,
il est dit Créer un projet. Donc, malheureusement, vous ne pouvez pas simplement l'importer directement dans le projet pour ces actifs, vous devez créer un nouveau projet. Donc, en cliquant dessus, et cela n'a pas d'importance avec le nom, laissez-le
juste être par défaut. Et vous pouvez changer votre dossier par défaut, mais je ne le change jamais, donc je vais juste laisser la bière. Sauf si vous avez des problèmes d'espace sur votre pilote, mais laissez-le le faire si vous ne le faites pas. Ensuite, vous pouvez sélectionner la version dans laquelle vous voulez le faire. Et en ce moment, ce n'est pas compatible. Il n'a pas été fait pour un projet à cinq points zéro, donc Unreal Engine cinq. Alors allez-y et crédit en 4.26, nous n'aurons pas de problème avec cela, donc c'est bien. Et glissez et cliquez sur Créer. J' ai déjà cliqué sur Créer. Maintenant, je retourne à la bibliothèque et je vais la chercher. Et c'est là, super bon pack de départ. Et vous pouvez double-cliquer sur ce projet. Donc, une fois que le projet s'ouvre, il verra probablement la compilation des shaders la première fois que vous ouvrez ce projet. Et ça peut prendre du temps, peut-être 10 minutes ou 15 minutes. Je ne sais pas, selon la rapidité de votre ordinateur. Donc, il faudra un certain temps pour compiler les shaders et le laisser compiler, laissez-le finir avant de faire quoi que ce soit. Et quand il est terminé de compiler les shaders,
cliquez avec le bouton droit de la souris sur cette super carte de grille. Donc, vous pouvez voir ici sont le dossier de la grille super. Vous pouvez voir ici, à l'intérieur d'ici, nous avons différents plans. Nous avons différents maillages et instances matérielles et ainsi de suite que nous pouvons utiliser gratuitement. Bien que ce sera plutôt cool pour nous. Vous pouvez voir qu'il y a différents maillages ou étoiles et ainsi de suite. Donc c'est plutôt cool. Nous voulons cela à l'intérieur de notre projet. Et pour ce faire, vous devez cliquer avec le bouton droit sur le dossier de la super grille et cliquer sur Migrer. C' est ainsi que vous déplacez des choses d'un projet au projet suivant. Et puis tu as frappé, d'accord. Ensuite, vous devez sélectionner le projet vers lequel vous souhaitez migrer. Dites maintenant que nous créons les projets de balle de vitesse. Donc, en cliquant sur la balle de vitesse, c'est le projet, c'est à l'intérieur de mon BC, puis des documents et puis des projets irréels. C' est donc le chemin par défaut. Alors allez-y et trouvez vos projets irréels. Et à l'intérieur d'ici, cliquez sur le projet que vous créez. Et puis vous voulez cliquer sur le dossier Contenu. C' est très important. Vous ne voulez pas juste le mettre à l'intérieur d'ici, ça ne marchera pas. Donc, en cliquant sur le dossier de contenu. Encore une fois, très important. Ne cliquez pas sur d'autres dossiers. Ne va pas à l'intérieur d'ici et ne le mets pas ici. Ça ne marchera pas. Alors n'oubliez pas de rester dans le dossier de contenu, puis cliquez sur Sélectionner le dossier, puis il va migrer et il copiera tous les fichiers. Et ne vous inquiétez pas que cela dira que certains des fichiers n'ont pas pu être copiés. Tout ça va bien, ça marchera. Donc, en revenant au projet que nous avons, vous pouvez voir qu'il a migré le super pack de grille que nous avons demandé. Et ce sont tous les fichiers qui sont à l'intérieur. Et ils travailleront avec notre projet. Donc, avant de passer à autre chose, nous allons réellement importer d'autres choses. J' ai téléchargé. Certains articles, sont des matériaux pour vous. Et les choses que j'ai téléchargées pour vous sur ce site, vous pouvez aller de l'avant et le télécharger. Et ce sont ces objets que j'ai mis en ligne pour vous. Nous avons une icône que nous pouvons utiliser. On a de la musique que j'ai trouvée sur YouTube, de la musique libre de droits. Nous avons des effets sonores, et allons de l'avant et créons un dossier et importons-les. Ainsi, à l'intérieur du dossier de contenu, vous pouvez cliquer avec le bouton droit et cliquer sur Nouveau dossier. Et je vais juste appeler cette interface utilisateur d'interface utilisateur. Et à l'intérieur d'ici, je vais faire un nouveau dossier appelé icônes. Et techniquement, nous n'en avons pas vraiment besoin pour ce projet parce qu' il est si petit et c'est probablement la seule icône dont nous aurons besoin. Mais je veux juste te montrer si c'était un grand projet sur lequel on travaille, ce que je ferais. Donc je veux toujours organiser mes affaires. Et je mettrai l'étoile ici. Et vous réaliserez probablement que je, que je l'appelle ICO depuis le début. C' est pour l'icône. J' appelle habituellement des icônes, cette convention de dénomination. Et puis nous voulons créer un nouveau dossier appelé, nous pouvons l'appeler audio, et nous pouvons en appeler un. Ou en fait, je vais juste importer tout ici. Mais si vous avez beaucoup de bandes sonores et de nombreux effets sonores, vous voudrez probablement créer un dossier pour la musique et un dossier pour les effets sonores, mais nous allons simplement les importer et les faire glisser à l'intérieur de ce fichier audio ou dossier audio. Et voici tout le son que nous avons. Ok, je peux jouer, peut-être que c'est fort et fais attention. Maintenant, c'est bien. Alors maintenant, vous pouvez ici, ce sont les faits. Et puis nous avons aussi de la musique. Donc ce sont en fait toutes les choses dont nous avons besoin pour faire notre jeu. Alors maintenant que nous avons importé les actifs, allons de l'avant et créons le niveau.
11. Créer le niveau: Alors créons le niveau. Et avant de le faire, allons-y et sauvegardons notre projet. Vous pouvez voir ici que nous avons des étoiles. Et ces étoiles signifient que ce sont des fichiers non enregistrés de la dernière leçon. Je vais aller et cliquer sur Enregistrer et notre Fichier et Enregistrer tout. Cela sauvera tout. Et laissez-moi cliquer avec le bouton droit sur le dossier de contenu, créer un nouveau dossier et en créer un appelé cartes. Peut aussi l'appeler niveaux. C' est à vous de décider. Et ici, à l'intérieur d'ici. Allons-y, cliquez sur la souris ou cliquez simplement sur Fichier ici. En fait, cliquez sur le nouveau niveau. Sauf si nous pouvons choisir un niveau vide et ensuite placer notre éclairage, ou nous pouvons choisir le niveau par défaut et juste ajusté. Donc, nous allons simplement utiliser le niveau par défaut. Donc, nous avons du ciel et n'importe quoi. Et maintenant vous pouvez voir ici nous sommes à l'intérieur du nouveau niveau. Cela ressemblait presque au niveau dans lequel nous étions déjà, mais c'est en fait le nouveau niveau maintenant. Et nous allons cliquer sur ce bouton Enregistrer le niveau actuel. Alors cliquez sur celui-ci. Sauvegardons ce niveau dans lequel nous sommes, en cliquant sur les cartes, et appelons-la carte. J' aime donc commencer par une convention de dénomination pour tous mes fichiers. Et c'est assez utile pour quand vous recherchez des articles ici. Donc, si vous voulez trouver les cartes spécifiquement, vous pouvez écrire la carte ici et toute la souris sera listée. Ou si vous recherchez comme Fx, tous les effets sonores seront répertoriés. Donc, il est assez cool d'écrire un nom conventions sont un préfixe juste avant qu'il arrive le nom de cette carte. Donc cette carte nous appellerons boule de perles. Donc nous n'avons que cette carte. Alors continuons et cliquez sur Enregistrer. Et vous pouvez voir que cette carte a été enregistrée et créée. Et avant de faire quelque chose près, nous allons cliquer sur celui-ci. C' est la peur des réflexions, donc nous n'avons pas vraiment besoin de la sphère de réflexion. Alors allons de l'avant et supprimez-le. Et à droite à l'intérieur du World Outliner, vous pouvez cliquer dessus. Et c'est en fait là que vous voyez ce qui est à l'intérieur de ce niveau. Ainsi, par exemple, si vous cliquez sur le brouillard atmosphérique, vous pouvez voir ici il sélectionne le brouillard atmosphérique et il peut également les sélectionner à l'intérieur de la fenêtre. C' est la même chose. Vous pouvez également les sélectionner à l'intérieur d'ici. Et vous pouvez vérifier s'il y a des choses dont nous n'avons pas besoin. Nous avons une lucarne, une sphère du ciel. C' est bien. Donc c'est le déguisement de puits de lumière. La peur, c'est tout ça. C' est bon. Et puis nous avons le joueur commence, nous allons l'ajuster plus tard donc c'est bien maintenant. On a la lumière du soleil. C' est une source de lumière avec, qui est appelée la lumière directionnelle. J' ai la parole et on a du brouillard atmosphérique. Je ne sais pas si nous avons besoin du brouillard atmosphérique. En fait, supprimez-le pour l'instant. Et le sol, nous allons le supprimer dans un peu. Laisse-le rester à l'intérieur d'ici. Alors cliquez sur Fichier et enregistrez tout. Maintenant, nous sommes prêts à concevoir l'environnement. Alors allons de l'avant dans la prochaine leçon et concevons-la.
12. Conception de l'environnement: Il est maintenant temps de concevoir l'environnement. Et pour concevoir l'environnement, nous devons aller à l'intérieur du dossier super groupe. Et à l'intérieur d'ici, nous avons le pack de départ. Et dites au pack de démarrage que nous avons la source du dossier et les maillages. Ok, donc à l'intérieur d'ici, à l'intérieur du dossier des mailles, nous avons beaucoup de mailles que nous pouvons utiliser pour concevoir notre niveau. Et vous pouvez voir ici nous avons des coins, des cônes et des sphères, et nous avons aussi des cylindres et des boîtes. Donc, pour cela, je vais supprimer le treillis de sol ici, treillis de sol standard. Et on peut prendre celle-là appelé Zuber Grid Box. Alors essayez de le faire glisser. Et puis vous pouvez voir ici, si vous cliquez sur le bouton fléché pour augmenter l'échelle, alors vous pouvez utiliser l'outil d'échelle pour réellement
l'échelle dans une direction ou dans l'autre direction. Et il peut réellement construire à partir de ces boîtes ici ou juste en général à partir de tous ces maillages. Donc je vais supprimer celui-ci et pour faire le sol, j'aime utiliser l'avion. Et ici, la raison pour laquelle je n'utilise pas un, une boîte ici à la place pour le sol est parce que c'est plus optimisé. Vous ne voulez pas que tous ces sites soient sous terre. Donc, par exemple, laissez-moi prendre ceci, appuyez sur l'outil R, puis redimensionnez-le d'un côté, squelette, autre côté. Donc, si vous avez fait cela avec la boîte et que nous avons essayé de l'augmenter, la différence entre ceux-ci sont ceci est plus optimisée si elle est utilisée comme un plancher parce que celui-ci a aussi des côtés ici et des côtés ici et des côtés ici et des sites en dessous aussi. Et ces sites que vous ne verrez peut-être pas si vous utilisez réellement cela comme un terrain et que vous êtes debout dessus. Pourquoi auriez-vous besoin ces différents polygones qui sont sur les côtés que vous ne verrez jamais. Ceux-ci, ceux-ci prennent également des performances. Donc, vous faites quelque chose comme un plancher est préférable d'
utiliser un avion à moins que le joueur va voir les côtés. Je peux vous montrer ce que j'ai fait pour le niveau 2. Je le fais et je mélange. Donc, par exemple, nous pouvons faire ce plancher. Et ce que je peux faire, c'est que je peux prendre cette boîte et vous pouvez la déplacer juste en bas, juste sous le sol. Et ici, en face de lui. Vous pouvez en fait l'utiliser comme ça. Laisse-moi juste le réduire. Donc vous pouvez l'utiliser comme celui-ci. Le joueur se déplace ici sur le côté et en fait peut voir ce côté parce que les fluor ici, je peux le mettre à l'échelle. Alors le joueur verra comme une sorte de truc bizarre ici sur le côté. Donc tu peux faire semblant. Peut faire pivoter ça. Et au fait, pour copier, je ne pense pas avoir mentionné tout le vieux bouton. Donc, en cliquant sur l'outil de rotation, peu
importe l'outil que vous avez, mais en ce moment je veux faire pivoter. Donc, maintenez le bouton Alt puis Rotation dupliquera le maillage que vous tournez. Et ça va avec tout. Si vous avez l'outil Déplacer et maintenez la touche Alt et faites glisser, il copiera le maillage. Donc, par exemple, vous pouvez le faire. Et pour celui-ci, je ne veux pas de murs ici le long du côté parce que j'ai des murs ici et le joueur ne verra pas. Et déplacons-le sur le côté. Et c'est tellement cool en utilisant l'outil de capture, je ne me suis pas battu, n'ai pas eu le claquement sur. Il serait plus difficile pour moi de le positionner exactement ici à la fin. Ce serait presque impossible pour moi. Je vais cliquer sur Control Z et juste laisser la capture au-delà. Et si vous concevez un niveau énorme, vous conseillez de le mettre sur 50 à la place. Et maintenant claquer tous les 15, Cela fonctionne aussi. Alors ce que je fais avec les murs, au lieu de les mettre sur le sol, je les ai mis sur les côtés ici. Le joueur ne remarquera pas de toute façon. Je m'assure juste que ce n'est pas ce qui coupe. Et essentiellement voler. Ce que je veux faire, c'est cliquer dessus. Je vais mettre l'avion sur 000
000 juste pour m'assurer qu'il est vraiment centré et que c'est plus facile à placer. Alors mettez ceci sur zéros 0000 aussi. Et maintenant, je peux utiliser l'outil de capture. Maintenant, ça va s'écrouler parfaitement. Donc juste comme ça maintenant claquer parfaitement. Donc c'est plus facile de le mettre sur
000, 000, 000, c'est au milieu du niveau. Et maintenant vous pouvez glisser ici et faire les murs. Vous pouvez maintenir Alt, puis déplacer pour le dupliquer, mettre le mur ici. Et puis vous pouvez agrandir le sol si vous voulez. C' est la zone de départ du niveau. Alors peut-être que je peux faire ça un peu. Plus grand. Et en passant, j'ai déjà créé le niveau. Et je vais vous montrer, je ne vais pas
concevoir toute cette vidéo parce que ça va prendre des heures. Peut-être. Si je, si je ne les ai pas dans mon esprit, ce que je veux créer. Mais j'ai déjà créé un niveau, mais je veux juste vous montrer comment vous pouvez commencer et faire cela. Donc je déteste juste sauter dans les tutoriels et tu n'apprends pas trop. Essayons donc de faire la première partie ensemble. Maintenant, nous avons construit ces murs. Et ce que je peux faire ici, Maintenons Alt à nouveau et passer à dupliquer cela. Par exemple, disons que vous
vouliez, vous vouliez avoir une sorte de chambre ici. Et dupliquons ces murs aussi. Disons que vous vouliez construire quelque chose ici. Par exemple, je peux reprendre cette boîte de grille. Et ce que je peux faire, c'est le déplacer vers le bas pour qu'on ait besoin du sol. Maintenant, vous pouvez le rendre plus grand juste comme ça. Donc c'est comme un, un pont. Et peut-être en faire une de plus, juste comme. Donc, votre choisi comment vous voulez créer votre niveau qui est à vous. Peut-être que vous voulez le couper ici, et ensuite vous voulez vraiment le faire tourner. Juste comme ça. Alors soyez créatif avec la création de notre niveau. Peu importe à la fin ce que vous créez, nous voulons juste un niveau et ce niveau que nous allons programmer pour que le jeu fonctionne. Techniquement, peu importe ce que vous créez, mais c'est toujours amusant de voir les niveaux créatifs et de voir ce que les gens font. Donc, par exemple, quelque chose comme ça. Et ce n'est pas beau à mon avis cette année. La partie du sol, nous voulons que quelque chose s'écroule. Donc je vais cliquer sur E maintenez Alt et faites glisser ici pour dupliquer ce mur. Alors déplace-le vers le bas. Et je vais le déplacer dans le chewing-gum. J' ai besoin de bouger ça un peu plus. Je vais, en passant, je clique sur Contrôle et clique sur toutes ces parties pour les sélectionner toutes. Et je peux les reculer un peu comme ça. Donc je pense que c'est mieux si on a quelque chose ici. Je n'aime pas que le sol soit coupé comme ça. Et la même chose que nous pouvons faire avec celui-ci, je vais le déplacer, dupliquer ça. Ok, et je veux encore tenir Alt et descendre. Je veux dupliquer le sol et peut-être le poser ici. Donc, quand le joueur tombe dans ce trou, le niveau ou réinitialiser, et il mettra le joueur sur le point de contrôle qu'ils sont à. Nous allons donc créer des points de contrôle aussi. Et encore une fois, je vais juste redimensionner ou juste essayer de le faire en forme et essayer de créer votre niveau. Et il peut dupliquer, continuer à dupliquer, créer le niveau. Juste comme ça. Je peux dupliquer cela aussi. Juste comme ça. Et celui-ci va en fait, je peux réellement supprimer ceci. Et je peux faire ça aussi longtemps que celui-là. Rends-le plus longtemps. Juste comme ça. Et je peux faire la même chose ici, juste comme ça. Donc maintenant, vous avez un niveau et les Balkans commencent ici, par exemple, et vous avez un mur, écrivez juste derrière lui pour que la balle ne tombe pas. Je vais le placer ici, donc enferme juste comme ça. Le ballon commence ici, dans cette pièce. Et il peut se déplacer et se déplacer sur ce pont. Et puis vous pouvez juste essayer de faire le niveau Daniel comme vous le souhaitez. C' est le principe principal. Vous continuez simplement à coller le code. Et aussi une chose cool à faire, vous avez cette bague ici aussi. Vous pouvez juste faire des tunnels si vous voulez. Assurez-vous juste que la balle s'adapte ici. Donc peut-être faire le tunnel comme ça. Et il peut réellement utiliser l'outil d'échelle aussi bien pour celui-ci. Donc, il peut le rendre plus grand et en fait faire une sorte de, un tunnel à traverser. Et un complexe autour. Peut-être que vous voulez placer un mur ici, assurez-vous
juste que ce n'est pas le, se chevauche pas comme ça parce que LC va le fermer à l'intérieur de la sphère. J' ai juste essayé de voir si ça a l'air bien. Parfois quelque chose ne semble pas bon et je vais juste supprimer à nouveau. Mais parfois, vous pouvez essayer votre chemin et voir si ça a l'air bien. Je vais le placer au milieu. Juste comme ça. Un tas de copier ceci et voir si c'est au milieu. Oups. Ouais, donc c'est au milieu. Peut-être que tu peux le faire comme ça. Ou peut-être que vous voulez ajouter, en dupliquant ceci. Peut-être que vous voulez ajouter un mur ici aussi. Juste comme ça. Ok, donc tu peux faire ton niveau comme tu le veux. Pour être créatif. C' est toujours amusant de créer un niveau sur lequel vous avez passé du temps. Et vous pouvez toujours essayer d'utiliser toutes ces structures de grilles, les
sortir, c'est lié pour les mettre à l'échelle et voir ce qui se passe. Peut-être que vous pouvez ajouter une sorte d' arts
comme qui arrêteront votre balle et vous devez éviter ces parties comme des obstacles. Et c'est ainsi que vous construisez un niveau si vous voulez être créatif, s'il vous plaît. Je suis heureux de voir ce que vous avez fait. Vous pouvez le lier dans le serveur Discord ou le lier dans nos réseaux sociaux. C' est plutôt cool de voir ce que les gens créent. Et laissez-moi aller de l'avant et vous montrer ce que j'ai créé pour le niveau. Voici donc le niveau que j'ai conçu. C' est donc le premier niveau. Et tu as commencé ici avec le ballon comme on l'a créé avant. Et vous avez juste un trou de base ici. Et encore une fois, c'est exactement comme ce que nous avons appris auparavant. C' est juste un mur qui entoure l'avion au sol ici. Et c'est le mur que nous avons aussi créé sur le dernier. Donc juste des boîtes basiques. Je viens de monter à l'échelle comme avant. J' ai ce niveau et j'ai le pont qui est juste le mur à nouveau. Mais j'ai mis ici et vous allez sur ce pont et j'ai autour que vous survolez 0, survolez cette partie ici, qui est aussi un mur. Et aussi le sol ici et le mur ici. Je vais cliquer sur Control Z pour revenir en arrière et changer le matériau pour le rendre sombre. Et juste comme ça, au lieu de bleu, vous pouvez cliquer sur l'un de ces murs que vous avez posés. Et vous pouvez voir cette loupe. Et c'est le matériau qui fait réellement l'aspect de cette maille. Donc, vous pouvez voir ici que c'est le matériau bleu. Et pour aller à ce matériel, vous pouvez effectivement cliquer sur cette loupe qui dit Parcourir. Et cela vous mènera directement à elle afin que vous n'ayez pas à aller ici et à la chercher. Donc, en cliquant sur la loupe, elle vous montrera celle qu'elle utilise. Vous pouvez voir ici il y a un noir par défaut à côté,
et c' est en fait ce que j'utilise pour celui-ci. Donc, ce que vous pouvez le faire pour le changer car vous pouvez simplement cliquer et faire glisser et il peut le mettre sur n'importe quel, n'importe quel gâchis que vous voulez l'utiliser sur. Donc, par exemple, si je veux que vous tourniez ce mur, je peux cliquer et déposer. Et vous pouvez voir qu'il devient noir. Si je veux le rendre à nouveau par défaut, je peux laisser tomber ceci ou bleu dessus. Et vous pouvez essayer d'utiliser tous ces différents. Il y a donc un vérificateur cool que j'ai utilisé pour le niveau 2. Nous pouvons voir que c'est plutôt cool aussi. Vous possédez tous ces modèles différents que vous pouvez utiliser. Ok, donc je vais revenir à ce bleu, et je déplace ce noir 12 pour ça,
pour cette RAM, parce que je pense que c'est un peu difficile de le voir comme ça. C' est donc plus intéressant de le rendre noir ici. Donc vous survolerez ça et vous atterrissez ici. Et tu as encore ce plus petit pont. Et ici, je veux faire une flaque d'eau pour aller au niveau 2. C' est donc un niveau très simple. Et pour faire plusieurs niveaux vous en fait, vous ne voulez pas aller à l'intérieur de cette carte et faire un nouveau niveau. Ce que vous voulez faire est juste de faire un portail ici et il vous rapportera au niveau suivant, mais ce n'est pas vraiment un niveau supérieur. C' est juste ici de l'autre côté de la carte. Donc elle va créer plusieurs niveaux. Il suffit de les créer à l'intérieur de ce niveau. Ok, donc juste à l'intérieur du niveau de l'hôte, n'allez pas ici et faites un nouveau niveau. Donc ici, nous avons le niveau 2, il va verser le tube, donc cette partie ici. Ensuite, nous commençons tous ici. Et puis tu passeras sur ces cylindres. Ces cylindres, vous pouvez voir ici, si je clique sur la loupe, il me conduira au dossier tête appelé niveau tutoriel. Et à l'intérieur de lui voir ici où il était juste quelques-uns voulaient le trouver. Mais niveau tutoriel. Et puis à l'intérieur des instances matérielles, vous avez tous ces matériaux à l'aspect cool que vous pouvez faire glisser et déposer dessus. Et voici le dernier portail. Et si vous entrez dans cette bouteille, vous arriverez à l'écran de fin. Donc, vous n'avez que deux niveaux ici. Et encore une fois, il est très pratique de rendre la caméra un peu plus rapide si vous avez un plus grand niveau, afin qu'elle puisse se déplacer plus vite ici. Donc, nous avons le niveau 1, nous passons par le portail, nous avons le niveau 2, nous passons par le portail et ensuite vous arriverez à l'écran de fin, qui est par ici. Donc c'est le niveau et alors ce n'est que quelques murs de base entourant un avion. C' est donc la base que j'ai faite. Vous pouvez créer autant de niveaux que vous le souhaitez. La programmation que nous allons faire sera, s'
adaptera à toute la quantité de niveaux que vous voulez. Par exemple, si vous voulez faire 10 niveaux, c'est à vous de décider. La programmation va fonctionner pour les dix d'entre eux. Mais en ce moment, juste pour le rendre pas trop long, j'ai fait deux niveaux. Et j'ai fait un écran de fin, que la balle va apparaître ici à la fin de l'écran. C' est ainsi que vous concevez l'environnement. Et s'il vous plaît allez-y et soyez créatif. J' adore voir ce que vous faites. Parfois, tu fais un meilleur travail que moi. Certains d'entre vous sont vraiment, vraiment créatifs. Et si vous ne voulez pas faire un niveau complet, c'est bon pour vous. Si vous, si vous voulez vous concentrer davantage sur la programmation, c'est bien aussi. Ça n'a pas d'importance. Et si vous voulez être totalement créatif, hésitez pas à le publier sur notre serveur de discorde. Je veux voir ce que vous allez créer. Alors allons de l'avant dans la leçon suivante et jetons un oeil à l'éclairage.
13. Éclairer l'environnement: Maintenant, il est temps de jeter un oeil à l'éclairage. Avant de faire de l'éclairage, je voulais aller au World Outliner. Donc c'est là que toutes mes choses sont à l'intérieur du niveau. Et ce que je veux faire est juste d'organiser un peu pour que vous
puissiez voir sont différents dossiers qui est bizarre. Aller à cliquer sur l'un, maintenez Maj, cliquez sur l'autre ici. Je vais le déplacer à l'intérieur de ce dossier 3D. Donc, en le faisant glisser à l'intérieur d'ici. Et je vais aussi cliquer sur celui-ci. Cliquez sur Maj, cliquez sur le dernier. Maintenant doit également le déposer dans ce dossier. Et je vais supprimer ces dossiers que j'ai. Et une meilleure chose à faire est de les diviser en niveaux. Donc le niveau un devrait être dans un dossier de niveau 1 et ainsi de suite. Mais c'est bon pour l'instant. Je ne suis pas trop inquiet. Et maintenant, nous avons un peu d'éclairage, donc nous avons la source de lumière. C' est ce que nous avons commencé par défaut. Donc c'est la lumière du soleil que nous avons. Et nous avons aussi la lucarne et la peur du ciel. Et pour faire le glissement, si vous ne les avez pas à l'intérieur de votre niveau, vous pouvez aller de l'avant et cliquer sur Créer ici. Et dans les lumières, vous pouvez créer la lumière directionnelle, que nous avons déjà. C' est la lumière du soleil. Et il peut également créer le puits de lumière, qui est le, oui, il l'a fait histoire fixe le puits de lumière. Et pour créer cette sphère céleste, vous devez faire autre chose. Vous devez aller à l'intérieur des paramètres ici. Et vous devez aller à l'intérieur du contenu du moteur de spectacle. Et lorsque vous cliquez dessus, minimisons tous ces dossiers. Peut réellement voir, maintenant vous pouvez voir un dossier de contenu du moteur. Et si vous cliquez sur celui-ci et que vous recherchez réellement ici ou ciel, alors vous voyez quelque chose appelé sphère du ciel BP. Et vous pouvez utiliser celui-ci pour obtenir un peu de ciel ici. Donc, ce que vous pouvez faire ici pour commencer est juste de cliquer sur la source de lumière ici, c'est la lumière du soleil. Donc, en cliquant sur celui-ci, je vais cliquer sur E pour faire pivoter. Et on va le faire tourner ici pour l'appeler. Il suffit de trouver un endroit cool ou ce que vous voulez que votre niveau ressemble. Je pense que cette rotation du soleil est plutôt cool. Ok, donc c'est plutôt cool. Et avant de faire autre chose, vous pouvez voir ici, quand je pars, il devient plus sombre. Quand je me rapproche, ça devient lentement plus léger. Et nous ne voulons pas ça dans notre jeu. Ce sera très ennuyeux pour le joueur à tout d' un coup obtenir plus sombre et tout d'un coup devient plus léger. Ce n'est pas le cas, nous ne voulons pas que l'éclairage soit aussi réaliste. Alors qu'est-ce que nous voulons faire, c'est que nous voulons, et en fait c'est pour la prochaine leçon. Nous voulons créer un volume post-process, mais nous avons, nous devons le créer maintenant pour faire un bon éclairage. Alors allez à l'intérieur des effets visuels et cliquez sur le volume post-processus. Et quel post, volume post-processus. C' est comme si vous voulez modifier des images à l'intérieur de Photoshop. Donc, vous feriez le classement des couleurs, vous modifiez les couleurs de l'image. Ceci est le volume post-processus ici. Ainsi, vous pouvez modifier les couleurs à l'intérieur de ce niveau, mais nous en parlerons plus en détail dans la prochaine leçon. Pour l'instant, je veux juste supprimer cette exposition, qui rend le soleil plus clair et plus sombre et ainsi de suite. Donc, en fait, il est impossible pour nous d'éclairer la carte. Donc, en cliquant sur l'exposition à l'intérieur du tout en cliquant sur le volume post-processus. En cliquant sur l'exposition, en prenant la luminosité minimale et la luminosité maximale pour l'exposition. Et il peut mettre les deux à un. Et vous voyez que rien ne s'est passé. Et c'est parce que nous devons descendre. Et ici, nous avons quelque chose appelé étendue infinie. Parce que maintenant, laissez-moi ralentir la caméra. En ce moment, le volume post-processus ne fonctionne que si je vais à l'intérieur du volume parce qu'il maintenant il a changé. Mais si je sors du volume, ça ne marchera pas. Ça va être léger en rentrant à l'intérieur, en allant travailler. Et en utilisant l'étendue infinie, cela signifie appliquer ce que je fais à toute la carte. Donc, si je clique dessus, vous pouvez voir qu'il semble maintenant plus normal. Maintenant, la carte ne va pas s'assombrir. Si je pars, il restera au même éclairage. C' est ce que nous voulons. Bon, maintenant on a ça. Et vous pouvez essayer d'aller à l'intérieur de la lumière du soleil ou de la source de lumière ici et ajuster l'intensité de la lumière. Donc maintenant, vous pouvez, vous pouvez modifier l'intensité. Et je pense que ce glissement est parfait. En fait, je ne veux rien modifier. Ce que je veux éditer cependant, je pense que
ces ombres sont sombres à l'intérieur de mon niveau. Donc je veux les rendre un peu plus légers. Et ce que je veux faire, c'est à l'intérieur du World Outliner, cliquez sur ces puits de lumière. Et à l'intérieur, nous avons quelque chose appelé l'échelle d'intensité. Et vous pouvez voir si, si j'écris trois, par
exemple, ces ombres seront beaucoup plus légères. Et je ne veux pas qu'ils soient très sombres. Je veux que les ombres soient claires pour qu'on puisse voir quelque chose. Je ne veux pas d'eux comme ça. Maintenant, je vais mettre un 1.8. Je pense que c'est la valeur que j'avais avant. Essaie de le tester, ou peut-être qu'on peut en écrire deux. C' est donc un éclairage assez cool. Peut-être que si je vais voir à quoi ça ressemble, je pense que deux vont bien. C' est ce que nous pouvons faire. Alors, maintenant la lucarne est beaucoup plus légère. C' était avant, et c'est maintenant. Et nous allons cliquer sur Enregistrer tout. Et je veux aussi ajouter un peu d'éclairage ici parce que c'est très sombre et en fait, vous aurez un portail ici plus tard. Donc, quand je veux faire, c'est aller de l'avant et créer des lumières et créer une lumière React ou rouge. Voici le réacteur. Et je vais diminuer la vitesse de la caméra. C'est trop rapide. Et en cliquant sur g pour que je puisse voir ce qu'est l'éclairage. Donc c'est comme, comme ici, donc ça glisse dans cette direction. Et je vais diminuer la taille ou les hauteurs ici, juste quelque chose comme ça. Et peut-être en diminuant l'intensité. Vous pouvez jouer avec ces rayons et voir ce qui est, ce qui est bon pour le niveau. Utiliser les hauteurs source peut être préférable d'avoir cette hauteur. Donc, ce n'est pas trop dur sur les sites. Et la mer sans fin. Peut-être juste alors la tension en général. Ok, quelque chose comme ça. C' est bien pour l'instant. Et la dernière chose est que nous aurons un portail ici, et en fait je veux aussi de l'éclairage ici pour que vous puissiez voir le portail. Alors allez-y et créez, je vais créer un projecteur. Donc techniquement, nous n'avons pas vraiment un projecteur réaliste, mais je veux juste en mettre un à l'intérieur pour qu'on puisse voir la photo à la fin. Et pense que c'est bien. Et là encore, vous pouvez ajuster l'intensité de celui-ci. Vous pouvez changer le rayon, vous pouvez plus g pour voir réellement le cône changer. C' est la distance à laquelle va la lumière et
comment, la taille du cône intérieur pour le lisser, la taille de l'aggrecan et ainsi de suite. Mais je pense que je vais laisser ça être comme ça. C'est bien. Je vais cliquer sur Fichier et enregistrer tout. Et c'était tout pour l'éclairage. Donc nous avons créé une lumière du soleil que nous avions. On a une lucarne. Et vous pouvez essayer, si vous avez des taches sombres à l'intérieur de votre niveau, vous pouvez utiliser, vous pouvez utiliser soit une lumière ponctuelle, un projecteur, une lumière rouge pour éclairer votre environnement. C' était tout pour l'instant. Et parlons du volume post-processus dans la leçon suivante.
14. Processus de post et volume léger: Il est temps de parler du volume post-processus. Et avant de le faire, laissez-moi aller de l'avant et masquer à nouveau le dossier de contenu du moteur. Donc, en cliquant sur Paramètres et en cliquant sur Afficher le contenu du moteur, cela va le masquer. Et la prochaine chose que je veux faire, vous pouvez voir que je ferme le projet depuis la dernière leçon. Je veux donc ouvrir la carte à nouveau et n'oubliez pas de le faire. Lc sera à l'intérieur de la carte vide. Et je vous montrerai plus tard comment vous pouvez changer la carte pour qu'elle soit OK pour ouvrir par défaut dans cette carte de boule de vitesse. Donc double-cliquez sur la carte, donc je suis à l'intérieur de ma carte de jeu. Nous avons donc déjà créé un volume post-processus dans la dernière leçon, si vous vous en souvenez, et si vous n'avez pas regardé la dernière vidéo juste au cas où vous créez un volume post-processus en cliquant sur Créer et effets visuels. Et le volume post-processus peut également le trouver à l'intérieur des volumes. Il y a le volume post-processus. C'est la même chose. Et quand un volume de post-processus est, vous pouvez l'imaginer comme dans Photoshop. Lorsque vous mettez une image à l'intérieur de Photoshop et que vous allez modifier les couleurs de cette image. C' est, c'est ce qu'est un volume post-processus. Vous pouvez modifier les couleurs de l'image à l'intérieur du jeu, donc peut modifier l'apparence du jeu. Vous pouvez modifier la saturation de l'apparence, la luminosité, et ainsi de suite. Donc c'est ce que nous allons faire. Nous avons donc déjà placé ce volume post-processus. Et ce que nous avons fait dans la dernière vidéo, la seule chose que nous avons fait est de passer à l'intérieur de l'exposition prendre la luminosité minimale et maximale et de les régler à une seule. Et c'est parce que s'ils n'en sont pas un, l'éclairage changera tout le temps quand on bouge et on ne veut pas ça. Et vous vous souvenez également de cliquer sur l'étendue infinie non liée. Et si vous ne le faites pas, si je le décoche, vous pouvez voir que la lumière sera forte à nouveau, mais cela ne fonctionnera que si je vais à l'intérieur du volume post-processus peut voir maintenant qu'il abaisse. Si je sors de là, il sera encore haut. Donc, si c'est l'utilisation de cela, disons
parfois que vous avez une grotte à l'intérieur de la carte, à l'intérieur de votre jeu ou autre chose. Et vous ne voulez que le, vous voulez seulement que la zone spécifique soit affectée par cette couleur. Disons que vous allez à l'intérieur d'une maison et que tout ce que vous voyez est violet. Vous pouvez le faire avec un volume post-processus. Et disons que j'ai mis à l'échelle en cochant l'outil d'échelle. Je l'échelle à cette zone seulement. Et pour cette zone seulement, il abaissera la lumière, par exemple. Donc, c'est l'utilisation de cela. Si vous ne voulez pas qu'elle affecte l'ensemble de la carte, vous pouvez affecter des zones spécifiques avec un éclairage spécifique que vous souhaitez. Vous pouvez également insérer autant de volumes de post-traitement que vous le souhaitez à l'intérieur de la carte. Mais pour cela, nous voulons affecter toute la carte. Donc, en cliquant sur l'étendue infinie, et peu importe l'effort et maintenant à l'intérieur ou à l'extérieur de
celui-ci, cela affectera toute la carte. Ok, donc on a ajusté l'exposition. Et la prochaine chose que je veux faire à l'intérieur d'ici est en fait affectée la balance des blancs. Vous pouvez voir que nous avons de la floraison. C' est si tu veux fleurir ou pas. Donc si je le mets au jury peut voir, maintenant il semble moins sombre. Et si je le dis bonjour, vous pouvez voir qu'il me fait exploser. Je vais juste pour que la valeur par défaut n'a pas d'importance pour moi en ce moment. Et nous avons aussi des effets d'image. C' est aussi assez cool. Vous pouvez ajouter une vignette et voir que la vignette est juste ceux-ci, tout comme dans Photoshop pour ajouter comme un flou noir autour de l'image pour la rendre plus cinématographique. Et vous pouvez généralement les jeux l'ont à 0. J' ai aussi une queue de 200 à la ferme. Parce que certaines personnes pensent que c'est ennuyeux que vous ayez
une sorte de flou sombre autour de l'image pour leur jeu. Mais c'est la valeur par défaut. Et on peut le mettre à 0.2 juste pour qu'il ne soit pas trop fort. Et c'est la balance des blancs. Donc, la balance des blancs est, vous pouvez modifier cette température. Ainsi, vous pouvez voir si j'abaisse la température, il deviendra plus froid, feu plus élevé la température. Il fera plus chaud. Et bas. Prends la fleur. Fleurs très bien. Ok, donc c'est la température que vous pouvez modifier en fonction de l'apparence que vous essayez d'atteindre. Et par défaut, c'est 6 500. Donc, je vais l'abaisser un peu. En fait, je voulais un peu plus froid, donc peut-être 5 800. Et ce que j'aime faire maintenant, c'est un peu plus froid. J' aime remonter un peu cette teinte. Vous pouvez vous voir et moi avons mis le 10 dub, il devient plus violacé. Je pense que je vais le mettre un peu en haut pour qu'il ne ressemble pas trop au violet, au bleu, désolé. Peut-être qu'il y en a 0,1. Donc, si je décoche et Ticket to various, je ne sais pas si vous pouvez le voir sur votre côté, mais c'est une très légère différence. Donc faire ça et je pense que je vais baisser le peu Blumer, C'est ennuyeux. Donc 0,3, je pense que c'est bon. C' est donc la seule chose que je veux faire avec le volume post-processus, mais vous pouvez aller de l'avant et voir si vous voulez en faire plus. Et ce que vous pouvez faire aussi est à l'intérieur de global, vous pouvez modifier la saturation de, par
exemple, si vous voulez augmenter la saturation et la rendre très saturée, je vais le remettre à un nouveau. Vous pouvez modifier le contraste, par exemple. Donc, selon le type de look que vous voulez pour votre jeu, vous pouvez le faire, atteindre cela ici. Et rappelez-vous aussi si, si les ombres pour vous sont trop sombres, vous pouvez toujours aller à l'intérieur de la lucarne. Et à l'intérieur de la lucarne. Rappelez-vous que vous aviez l'échelle d'intensité et que vous pouvez toujours la rendre plus élevée s'il fait beaucoup trop sombre pour vous. Et si vous voulez l'avoir un peu plus léger. Donc c'est ce que nous avons en ce moment. Et je pense que c'est bien. Et si nous devons faire d'autres ajustements plus tard dans le futur, nous le ferons. Mais pour l'instant je pense que c'est bon, et essayons deux, continuez. Qu' est-ce que nous aurions ? Donc juste pour vous assurer à la fin que tout est construit correctement pour l'éclairage, nous pouvons aller de l'avant et au lieu de construit, vous pouvez cliquer soit construire l'éclairage seulement ou construire tous les niveaux. Je vais cliquer sur Construire tous les niveaux. Donc, aux ceintures, tout. Et cela fera l'éclairage pour les mailles que vous avez à l'intérieur de votre niveau. Donc, il a l'air correctement. Et quand vous faites cela, il n'y a pas de volume d'importance trouvé pour la scène. Je vais vous montrer ce que vous pouvez faire ici. Et cela est également important que vous placez l'importance, l'importance de la lumière, les volumes. Donc, en cliquant sur Créer dans les volumes, vous avez quelque chose appelé masse légère, est-ce
pas ? Volume d'importance de masse. Et ce volume ici, vous pouvez essayer de dire au jeu quelles parties de la carte ou quelles parties de ce niveau vous voulez vous concentrer sur l'éclairage. Donc, je vais le redimensionner aussi grand que ce niveau et aussi le redimensionner et l'axe z afin qu'il couvre tout le niveau. Et donc vous pouvez le faire et aussi écrire votre copie. Peut-être que je vais juste, je vais en fait juste l'échelle tout
le chemin et couvrir tout au lieu de faire multiple. Donc je couvre tout. Ils n'ont pas à rendre plus que ce dont vous avez besoin ici. Et le bâtiment est terminé. Et c'est ce que nous avons jusqu'à présent. Donc, maintenant, nous avons créé l'éclairage et nous avons le volume post-processus, et je pense que ça commence à être superbe. Maintenant, nous n'avons plus de choses à faire en ce qui concerne la conception du jeu. Alors allons en fait aller de l'avant dans la section suivante et programmer le jeu et a essayé de faire tout bouger et fonctionner.
15. Introduction au plan: Bonjour et bienvenue dans cette section où nous allons réellement programmer le jeu. Et quand je dis programmation, nous nous concentrons sur Blueprints, qui est le langage de script visuel à côté d'Unreal Engine 5. Maintenant, dans cette leçon, je veux vous expliquer l'interface utilisateur des Blueprints ou un éditeur de Blueprint. Et si vous avez regardé mon autre vidéo sur les plans pour les débutants, vous le savez probablement déjà et vous pouvez passer à la vidéo suivante. Mais laisse-moi aller de l'avant. Si vous n'avez pas vu l'éditeur de Blueprints auparavant. Laissez-moi aller de l'avant ici et à l'intérieur des Blueprints et cliquer sur Ouvrir Level Blueprints. Cliquez dessus. Vous allez entrer dans cette vue et c'est là que nous allons travailler principalement. Donc, à l'intérieur de cette vue ici au milieu, vous pouvez voir que nous avons quelques notes, et c'est la pièce de début. Donc, ici, vous pouvez dire au jeu ce que vous voulez faire lorsque vous commencez jouer au jeu et lorsque vous sortez d'un stylo d'exécution. Peut voir ici quelques exécuter, les actions exécutables apparaîtront. Et ici, nous avons beaucoup de fonctions que nous pouvons ajouter et nous
pouvons dire au jeu ce qu'il faut faire en ce moment. Donc, il semble très déroutant lorsque vous l'ouvrez pour la première fois. Parce que regarde-le et tu penses, comment diable vais-je me souvenir de tout ça ? Et tu n'as pas à te souvenir de tout ça. Ça viendra lentement. Était nous ne nous inquiétons pas pour l'instant. Ainsi, vous pouvez faire glisser hors d'ici et vous pouvez choisir une fonction que vous souhaitez ajouter. Ainsi, par exemple, la très simple que vous
apprendrez au début est la chaîne d'impression, qui imprime un texte à l'écran. Et il vous dira bonjour chaque fois que vous commencez à jouer le jeu. Donc, si je compile, et qu'il est très important de compiler car alors vous pouvez penser à cela comme nettoyer le code et n'oubliez pas d'enregistrer. Et aussi, il peut cliquer sur Jouer. Et vous pouvez voir ça dit Bonjour ici. Et si je clique sur arrêter et jouer à nouveau, il est dit en bas ici. Maintenant, c'est comme ça qu'il est utilisé. Ceci est le graphique des événements. C' est là que vous allez écrire tous vos plans. Et à gauche, nous avons des choses différentes. Nous avons les graphiques ici, nous avons les fonctions. Ainsi, vous pouvez créer vos propres fonctions. Donc, si j'écris à nouveau une chaîne d'impression, c'est une fonction, vous pouvez voir qu'elle dit f, ceci est appelé une fonction. Ainsi, les fonctions sont attachées aux événements. Et donc un événement conduira le code. Donc, il doit y avoir un événement pour que le code soit exécuté. Et les choses qui sont exécutées sont
les fonctions que vous pouvez créer vos propres fonctions. On n'a pas besoin de ça maintenant. Nous y reviendrons plus tard. Et vous pouvez créer des macros qui sont fondamentalement comme des fonctions, comme ceci. Mais la différence est que vous pouvez avoir des fonctions chronométrées à l'intérieur de celui-ci. Ainsi, par exemple, si vous avez le nœud delay, cela retardera le code de, par exemple, deux secondes, puis il imprimera une autre chaîne. Si je dis imprimer la chaîne, disons à nouveau et cliquez sur Lire. Donc, il va se rétrécir va deux secondes avant qu'il dise à nouveau. C' est donc la fonction de retard et la croyance sont chronométrés aux fonctions. Vous pouvez voir qu'il y a une horloge en haut. fonctions chronométrées ne peuvent pas être réduites en fonctions. Donc, si vous cliquez avec le bouton droit sur un glouton pour fonctionner, il dira s'effondrer à l'échec de la fonction. Et c'est parce que les fonctions chronométrées ne peuvent pas être à l'intérieur de la fonction. Vous ne pouvez pas réduire en fonction, vous ne pouvez la réduire qu'en macro. Et ce sera possible pour les macros sont juste comme des fonctions, mais juste cette légère différence. Laisse-moi aller de l'avant et le supprimer à nouveau. Et vous avez des variables, et on y reviendra plus tard. Et nous avons des répartiteurs d'événements qui sont tout simplement comme des événements. Nous avons le bouton Enregistrer, nous avons le bouton Rechercher afin que vous puissiez rechercher le code de Blueprint que vous avez écrit. Et surtout si vous avez une très longue ligne de code, ou si votre jeu, si vous travaillez depuis six mois et maintenant vous allez chercher du code que vous avez écrit auparavant. Nous avons les paramètres de classe. Et il y a des choses que nous pouvons éditer. Ne vous inquiétez pas pour l'instant. Nous avons quelques valeurs par défaut de classe et ne vous inquiétez pas pour l'instant non plus. Vous pouvez voir qu'il existe des valeurs par défaut pour chaque Blueprint. Et il peut à nouveau cliquer sur jouer pour jouer le jeu que vous avez. C' est donc simplement l'éditeur de Blueprint et nous allons travailler ici. Donc je vais le fermer. Et en fait, je veux juste te montrer autre chose. Donc, à l'intérieur de ce dossier de Blueprint que j'ai fait, donc
faites un nouveau dossier, et j'appelle les Blueprints pour qu'il soit vide en ce moment. Et à l'intérieur de ce dossier, vous pouvez faire un clic droit. Et vous pouvez voir qu'il y a quelque chose qui s'appelle Blueprint Class. Peut également le trouver à l'intérieur des plans. Toute la classe Blueprint. R. En cliquant dessus, vous pouvez voir différentes classes et je veux vous expliquer dans la leçon suivante ce que sont ces classes.
16. Cours de plan: Avant de continuer, parlons des classes de Blueprint. Donc radical se produisent dans le dossier Blueprint et cliquez sur la classe Blueprint. Cela va créer une classe de Blueprint. Et puis vous voyez cette fenêtre apparaît et nous avons différentes classes que nous pouvons recréer dans les Blueprints. Donc nous avons quelque chose qu'on appelle un acteur. Et un acteur est juste un objet qui peut être placé à l'intérieur du niveau. Ainsi, par exemple, lorsque nous créons le portail qui fera apparaître la balle au niveau suivant, c'est un acteur. Et par exemple, si vous avez un jeu de RPG et que vous placez une sorte de magasin de pièces de monnaie ou un magasin d'armes. Et cette arme tranchante se compose d'un panneau en bois et le bâtiment et ainsi de suite. Ceci est un acteur est juste un et un ICM ou un bâtiment ou tout ce qui peut être placé à l'intérieur du niveau. Cette rampe peut aussi être un acteur. Et puis nous avons sur et sur est un acteur qui peut être possédé et recevoir des commentaires d'un contrôleur. Tu veux faire quelque chose qui peut bouger. Vous devrez utiliser un étang parce que sur peut être possédé, nous pouvons réellement lui donner des entrées, nous pouvons le déplacer, nous pouvons utiliser le clavier pour déplacer ce point. Et par exemple, la balle que nous allons faire sera le point. On ne peut pas créer un réel à partir de la balle. La balle que nous allons bouger avec notre clavier. On ne peut pas en faire un acteur. Nous devons le faire comme sur, sinon il ne peut pas recevoir de commentaires. Alors nous avons un personnage. Un personnage est un type de porno qui inclut la possibilité de se promener. Donc maintenant le personnage est en fait un type d'étangs. Donc c'est la classe principale, c'est la sous-classe. Ainsi, le caractère, vous pouvez voir le caractère peut également recevoir l'entrée. Nous pouvons aussi le faire fonctionner. Alors, quelle est la différence ? Et quand, quand allez-vous faire et quand allez-vous faire un personnage ? Donc, la façon dont vous devez y penser est, avez-vous un personnage avec deux bras et deux lacs qui peut marcher autour ? Si oui, alors vous voulez faire un personnage. Si vous ne le faites pas, par exemple, nous avons un bol avec lequel nous allons courir, alors vous allez faire un point. Donc notre personnage est comme un vrai personnage. Deux bras, deux jambes peuvent, peuvent marcher et ainsi de suite. Par exemple, si nous faisons une grève de Conda ou si nous faisons un World of Warcraft. Ces caractères sont en fait des caractères et non pas, pas deux points. Et il a la capacité de se promener. Donc, il reçoit également l'entrée d'un contrôleur. Maintenant, nous avons le contrôleur de joueur, et le contrôleur est un acteur chargé de contrôler, utilisé par le joueur. Donc, la manette du lecteur, ce n'est pas la même chose que la manette que vous avez chez vous, votre manette Xbox ou votre manette PlayStation. Ce contrôleur est celui que nous codons pour donner du mouvement au personnage ou au point. Et je te le montrerai plus tard. Donc, à travers le contrôleur, je fais généralement toute la logique de mouvement. Donc, si vous cliquez sur W sur le clavier, vous vous déplacez et faites également l'interface utilisateur à l'intérieur de la manette de lecteur. Donc, vous devez penser que chaque pion que vous faites, un, chaque personnage que vous ferez sera, recevra l'entrée de ce contrôleur de joueur. Ensuite, nous avons le Mode Jeu. Et encore une fois, le mode est celui qui contrôle les règles. Ainsi, le mode de jeu basé définit le jeu en cours de jeu, ses règles, le score et d'autres facettes du type de jeu. Par exemple, si vous avez un mode de jeu appelé Capturer le drapeau, vous allez coder toutes les règles de ce mode de jeu. Par exemple, combien de points obtenez-vous pour livrer le drapeau et ainsi de suite. Combien de secondes ou de minutes ? Est-ce que la ronde dure ? Et ces autres composants ici, ne vous inquiétez pas pour eux pour l'instant. Et nous allons travailler avec eux quand nous allons créer notre premier jeu et notre deuxième match. Alors ne nous inquiétons pas pour eux pour l'instant. Nous le sommes, je vais expliquer chacun au fur et à mesure que nous avançons.
17. Cours de niveau et de plan: Donc, avant de créer notre première classe de Blueprint, permettez-moi de vous dire la différence entre le Level Blueprint ici et la différence entre ceci et la classe Blueprint. Ou si je crée un acteur de Blueprint, par
exemple, juste un acteur rapide et je double-clique. Et vous pouvez voir que j'ai aussi ce graphique comme avant. Si je clique sur le, au Blueprint Niveau, vous pouvez voir ce sont deux graphiques. Il y a quelques légères différences entre le Plan directeur de niveau et l'acteur de plan. Par exemple, vous pouvez voir que cette fenêtre n'est pas la même qu'ici. Mais quelle est la différence ? Quand allons-nous utiliser le Blueprint de niveau et quand allons-nous utiliser la classe Blueprint ? Donc, la principale différence entre eux est à l'intérieur du Blueprint de niveau. C' est du code qui sera spécifique à ce niveau que vous êtes à l'intérieur. Donc, si je vais de l'avant dans les cartes et que je crée un nouveau niveau, ce code, qui est écrit ici spécifiquement à l'intérieur de cette boule de vitesse de carte, ne
sera que pour la boule de vitesse de haute qualité nouveau niveau et va à l'intérieur de ce nouveau niveau. Ce code ici ne sera pas porté au niveau suivant, au niveau suivant. Alors vous pourriez penser, mais pourquoi le ferais-tu comme ça ? Pourquoi ne pas vous, pourquoi n'écrivez-vous pas tout le code à l'intérieur d'une classe de Blueprint, qui sera réellement reporté au niveau suivant. Et la raison de cela, peut-être que vous voulez parfois du code spécifique pour un niveau spécifique. Par exemple, disons pour ce niveau spécifiquement appelé boule de vitesse de carte, peut-être que vous voulez que la vitesse soit cinq fois plus rapide que le niveau suivant. Pour que la chose qui rend la balle cinq fois plus rapide, vous codez à l'intérieur du Blueprint de niveau car il est spécifique à ce niveau, il ne sera pas porté aux niveaux suivants. Donc c'est comme ça que vous devez y penser. Si vous avez quelque chose de très spécifique pour ce niveau, cela ne devrait être que dans ce niveau, vous pouvez le coder dans le Blueprint Niveau. Si vous avez du code que vous voulez être reporté aux niveaux suivants à l'intérieur du jeu. Vous devez le faire en tant que classe Blueprint.
18. Variables: Maintenant, avant de continuer et réellement commencer le jeu complètement, Parlons en fait de quelque chose appelé variables. Et c'est très important à comprendre car c'est l'un des principaux concepts de programmation. Continuons donc et cliquez sur Blueprints et ouvrez le Level Blueprint. Donc ici, nous pouvons supprimer ces événements. On n'en a pas besoin pour l'instant. Et je veux vous expliquer quelles sont les variables. Et vous pouvez voir ici à gauche, nous avons quelque chose appelé des variables. Et quelles variables êtes-vous pouvez les imaginer comme des conteneurs. Et ils peuvent contenir des informations. Par exemple, ils peuvent contenir des
informations sur le niveau de votre personnage si vous jouez à un jeu RPG. Ils peuvent contenir, si votre personnage est mort ou non. Ils peuvent contenir le nombre de pièces que vous avez chargées quelques pièces faisant allusion à l'intérieur de votre jeu. Et il peut également contenir le temps qu'il vous reste de votre tour si vous jouez à un jeu de tir et ainsi de suite. Les variables sont donc très importantes à comprendre et elles sont le concept principal ou l'un des principaux concepts de programmation. Ce ne sont que des conteneurs qui contiennent des informations pour toutes les informations que vous y stockez. Donc, pour créer une variable, vous pouvez simplement cliquer sur ce bouton plus. Et tout cela crée une variable et vous pouvez lui donner un nom. Et le premier que nous pouvons appeler des pièces, et ainsi de suite. Maintenant, vous avez changé un nom et vous pouvez voir ici à droite, nous avons également des détails. Vous auriez pu changer leur nom ici à droite. Et puis vous devez choisir le type de variable. Vous pouvez le choisir ici ou vous pouvez choisir le type de variable à partir d'ici. Et vous pouvez voir que nous avons toutes sortes de types de variables et je vais passer en revue chacun d'eux. Donc, par exemple, ici au début, nous avons un booléen. Et le booléen est juste quelque chose qui est vrai ou faux. Par exemple, nous pourrions, pièces n'auraient pas de sens pour ce booléen. Donc, nous allons changer le nom pour celui-ci est mort, et j'écris généralement B pour booléen pour commencer par chaque fois que j'ai une variable booléenne. Et je peux écrire est que ADH, maintenant ce booléen stocke si mon personnage est mort ou non. Donc maintenant, il est dit, s'il vous plaît compiler le Blueprint avant qu'il puisse changer quoi que ce soit dans la valeur par défaut. Maintenant, vous pouvez cliquer, Compiler et enregistrer. Et vous pouvez la voir maintenant celle-ci apparaît. Et un booléen est juste une valeur qui est soit vraie ou fausse. Donc vous pouvez voir ici maintenant que c'est faux. Et si je le coche, c'est vrai. C' était vrai ou faux. Et vous pouvez choisir ce que vous voulez faire avec ça. Donc, par exemple, permettez-moi d'écrire les événements de début de jeu. Maintenant, avez l'événement de début de lecture, et laissez-moi écrire la chaîne d'impression pour imprimer une chaîne à l'écran, ou imprimer un texte à l'écran. Et laissez-moi faire glisser cette variable pour que nous puissions cliquer et le faire glisser vers le graphique d'événements. Et maintenant, vous pouvez le placer. Vous pouvez soit obtenir la variable, soit nous pouvons définir la variable. Donc, en ce moment, je veux juste obtenir les informations de cette variable. Et je peux en fait le lier à cette chaîne. Et il dit, je vais convertir cette variable booléenne en une chaîne, qui signifie ajouter du texte qu'ils peuvent afficher à l'écran. Donc c'est ce que je fais pour toi. C' est, il change le booléen en une chaîne et il l'imprime à l'écran. Donc, en ce moment, quand je clique sur Jouer, je peux voir qu'il dit faux. Alors maintenant, ça dit faux. Et c'est parce que cette variable est en fait fausse en ce moment. Et FI ticket et cliquez sur Jouer. Et ça va dire vrai. Une variable booléenne est et sa source. Par exemple, si vous avez un jeu de tir, il peut le stocker si vous êtes en train de tenir une arme en ce moment ou non, et vous pouvez utiliser cette information pour quelque chose. Donc, l'autre est appelé a. le, les trois autres en fait je voulais juste faire rapidement est l'entier. Et un entier est une valeur numérique. Donc, par exemple, ici, il est logique de l'appeler des pièces parce que les pièces sont des chiffres. Et nous pouvons compiler pour voir la valeur par défaut. Et ce n'est qu'une valeur numérique. Par exemple, j'ai 25 pièces. Donc, je peux essayer d'obtenir cette variable et la mettre ici. Et si je l'imprime, ça en dira 25. Donc la prochaine que je veux faire est un flotteur. Et un flotteur est aussi une valeur numérique. Mais il a des décimales. Vous ne pouvez pas avoir des nombres décimaux avec des entiers, mais vous pouvez avoir des nombres décimaux flottent. Donc, si vous avez un nombre qui a besoin de décimales, vous ne pouvez pas utiliser un entier car il n'a pas de décimal. Donc, si j'écris des décimales ici, il ne l'acceptera pas. Donc, ici, dans le flotteur, par exemple, nous voulons le poids du personnage. Et ici, par exemple, la façon dont il est de 75,5 kilos. Et ici, nous avons la variable fluide. C' est donc une valeur numérique avec des décimales. Et un entier est une valeur numérique sans décimales. Et nous pouvons créer quelque chose appelé un octet. C' est aussi une valeur numérique, mais la valeur maximale pour une morsure avec moi le faire glisser et je peux juste l'appeler stéréotypes et je vais expliquer pourquoi. Je peux juste le faire sortir. Et en passant,
si vous voulez le faire glisser et ne pas cliquer sur Obtenir et définir, vous pouvez réellement maintenir la touche Contrôle pendant que vous faites glisser. Cela l'obtiendra automatiquement. Et si vous maintenez Alt et maintenez-le et
déposez-le, il le définira automatiquement. Donc, au lieu de le laisser tomber et de cliquer sur obtenir notre ensemble, nous pouvons simplement maintenir Contrôle pour l'obtenir et maintenir Alt et glisser pour le définir. Donc ici, cet octet est aussi une valeur numérique, mais celui-ci ne peut stocker que jusqu'à 255. C' est donc très important à savoir. C' est ça. Par exemple, ne pas être utilisé pour les pièces de monnaie. Imaginez que si vous avez 2000 pièces, vous ne pouvez pas avoir la valeur de 2000 ici car le nombre maximum est 255. Donc, la façon dont vous utilisez la morsure est que vous imaginez juste pour un jeu quand vous créez un mécanicien, alors vous pensez, est-ce que cette valeur va être supérieure à 255 ? Sinon, je peux probablement utiliser une bouchée. Un exemple de ceci est les types de cheveux. Par exemple, si vous êtes dans un écran de sélection de caractères et que vous allez choisir un type de cheveux. Vous n'avez probablement pas plus de 255 types de cheveux. Donc, par exemple, je peux sélectionner le type de cheveux numéro 58 et ainsi de suite. Donc, c'est l'utilisation d'octets. Donc, ces trois sont des variables numériques. Maintenant, créons un nouveau, et parlons du texte, la chaîne, je vais en créer trois et en nom. Donc maintenant, nous avons une chaîne de texte et un nom et ce sont des variables de texte. Alors laissez-moi appeler celui-ci, par exemple, lorsque le message et l'autre je peux appeler Thurber nom. Et le troisième qu'on peut appeler le nom d'arme. Et je vais vous expliquer ce que sont chacun d'eux. Je vais tenir Contrôle et les traîner pour que vous puissiez les voir. Tous les trois. Alors, quelle est la différence entre ceux-ci ? Ce sont tous si je compile et clique sur eux. Maintenant, vous pouvez voir que je peux mettre un texte sur les trois. Alors, quelle est la différence entre ces trois variables textuelles ? Quand devriez-vous utiliser ceci ou ceci, ou ceci ? Donc, la chose la plus simple à penser est le texte, qui est le texte supérieur. Celui-ci, c'est la variable de texte. Variable de texte que vous pouvez traduire dans d'autres langues. Par exemple, si vous voulez que votre jeu soit en allemand, ou que vous voulez que votre jeu soit en chinois ou en japonais,
ou quelle que soit la langue dans laquelle vous voulez qu'il soit. Vous pouvez réellement traduire les variables de texte. C' est la seule variable de texte que vous pouvez traduire. Et si vous utilisez une variable de chaîne, qui est également un texte, vous ne pouvez pas la traduire dans d'autres langues. Donc, vous devez avoir à l'esprit, si vous voulez traduire votre jeu dans d'autres langues, allez-y et utilisez un texte. Si vous n'avez pas l'intention de traduire quoi que ce soit, vous pouvez utiliser une chaîne au lieu d'un texte. Et par exemple, celui-ci peut dire, génial, que vous avez gagné. Et maintenant, si je l'imprime sur cet écran ici, si je supprime juste celui-ci et puis mets le booléen ici. Si j'imprime ce message quand, je peux cliquer sur Lire et vous pouvez dire aussi mu 1. Ok, donc ici vous pouvez écrire un texte et vous pouvez réellement traduire dans d'autres langues. Donc, la chaîne ici, vous ne pouvez pas traduire dans d'autres langues, mais vous pouvez toujours l'utiliser comme un texte, tout comme la variable de texte ici. Donc, ceci, et vous avez peut-être su que c'est la variable de chaîne. Et dans celui-ci, la chaîne d'impression est en fait aussi une variable de chaîne. Donc, si je me connecte, ça ne changera rien. Tout comme par exemple, si nous l'avons fait avec celui-ci, il a converti le texte en une chaîne. Il ne le fera pas avec celui-ci parce que c'est déjà une chaîne. Donc, j'utilise généralement ceci chaque fois que j'ai besoin de traduire mon jeu, par
exemple, et la queue de ferme, qui est sur Steam. J' ai traduit mon jeu en 16 langues et j'ai dû ajouter les choses que je voulais traduire en une variable de texte sinon ce n'était pas possible. Et si vous ne voulez pas traduire en quoi que ce soit, allez-y et utilisez une chaîne. Et puis vous pourriez demander, pourquoi ne pas utiliser un texte pour tout ce que j'ai ? Pourquoi devrais-je prendre la peine d'utiliser une chaîne si je peux simplement utiliser un texte ? Et c'est à cause de la mémoire et de l'optimisation. Et celui-ci utilise plus de mémoire qui prend variable. Évidemment, vous ne sentirez rien si vous avez juste, disons 100 d'entre eux. Mais si vous avez des milliers et des milliers de textes, celui-ci prend beaucoup plus de mémoire que la chaîne. Alors allez-y et utilisez la chaîne chaque fois que vous êtes capable d'utiliser un texte autrement. Et encore une fois, c'est pour le texte traduisible, et ce n'est pas pour le texte traduisible. Maintenant, le dernier que nous avons est le type de variable de nom. Et ici, vous pouvez aussi écrire quelque chose. Par exemple, je peux écrire AK 47 et échantillonner C go. Maintenant, j'ai AK 47 et voici mon nom d'arme. Et alors qu'une variable de nom est, vous pouvez voir que c'est aussi un texte comme les autres, mais une variable nommée. Vous ne pouvez pas modifier le texte qu'il contient. Donc, par exemple, le nom du serveur, Disons que j'ai créé un nom de serveur et il a été appelé Rus au serveur danois. Disons que j'ai créé ce serveur à l'intérieur de la rouille. Et ce que je veux dire en modifiant, c'est que vous pouvez modifier la chaîne et vous pouvez modifier les variables de texte. Et ce que ça veut dire, c'est je ne veux pas laisser le mot danois dans mon jeu parce que c'est peut-être un mauvais mot. Je ne sais pas. Donc, je veux supprimer ce danois et ce que je peux faire avec c'est que je peux en fait, en temps réel pendant le jeu, je peux modifier le jeu jusqu'à ce qu'il. Si vous trouvez le nom ou si vous trouvez le mot police danoise, vous le supprimez du nom du serveur avant de le créer. Donc, quand le joueur met à niveau le serveur, il est en fait juste de dire serveur Russ 24, 7 ouvert sans le danois. De cette façon, nous pouvons réellement en temps réel, modifier chaque variable X pendant le jeu. Peut-être que vous voulez supprimer cette dernière partie ou supprimer la première partie et simplement dire que vous en avez une. Et vous pouvez également modifier la variable chaîne, mais avec la variable name, vous n'avez aucune fonction pour les modifier. Donc, si votre nom ici est AK
47 va être AK 47 et pas quelque chose d'autre que vous ne pouvez pas modifier,
vous ne pouvez pas supprimer les sept ou l'a ou quoi que ce soit. Donc, la façon d'utiliser le nom est si vous avez quelque chose qui est quelque chose de statique et ne va pas changer du tout, par
exemple, un nom d'arme. Un nom d'arme, vous ne serez probablement pas traduit dans d'autres langues. Et vous n'aurez probablement pas besoin de le modifier car c'est un nom. Pourquoi changeriez-vous un nom ? Et pour cela, j'utiliserais la variable de nom. Ça ne veut pas dire que vous devez l'utiliser pour tous les noms. Par exemple, disons que vous jouez à un jeu de RPG et que le joueur choisit un nom, par
exemple, il veut s'appeler John. Et vous n'avez pas vraiment besoin d'utiliser une variable de nom pour cela,
parce que disons qu'il s'est nommé John et quelque chose de mauvais après. Et vous voulez le modifier et le supprimer et vous assurer qu'il a disparu. Vous pouvez réellement utiliser une chaîne pour les noms, pour les noms de caractères et ainsi de suite. Donc, la variable de nom, vous pouvez le considérer comme juste un ID qui ne changera pas du tout pendant le jeu. Et bien sûr, celui-ci utilise moins de mémoire que ces deux-là. Alors rappelez-vous quand vous programmez, utilisez
simplement ce qui est logique pour le scénario que vous créez. Donc, si vous créez quelque chose qui n'a pas besoin de décimales, vous allez créer un entier car il n'a pas de décimales. Si vous avez besoin de créer quelque chose avec des décimales, utilisez une charge. Si vous avez besoin de créer des textes que vous traduirez plus tard dans votre jeu, allez-y et créez une variable de texte et ainsi de suite, bien que les dernières variables que je veux toucher, laissez-moi revenir ici et vous pouvez voir quelque chose appelé vecteur et en créer un de plus, un rotateur. Et quand nous créons le dernier, une transformation. Ainsi, par exemple, le vecteur que je peux appeler et le rotateur que je peux appeler la rotation au sol. Et au fait, tu n'as pas à me suivre. Je veux juste vous montrer ce que sont chacun d'eux avant d'aller de l'avant. Donc, vous avez une sorte de connaissance de base de ce que sont les variables et de quels types nous avons. Donc le dernier que je peux appeler lord transform. Et je peux aller de l'avant et maintenir Control et faire glisser tout ça. Donc ce sont les derniers dont je veux parler. Et ce qu'est un vecteur, c'est une variable qui contient trois nombres. Donc, par exemple, si je minimise cela et je clique sur la flore que nous avons créée ici dans notre niveau, cet étage, vous pouvez voir ici il contient effectivement ces chiffres. Et avec un vecteur, nous pouvons réellement modifier ces trois nombres afin que l' emplacement de l'étage nous puissions réellement modifier avec ce vecteur. Donc nous avons quelque chose qui s'appelle l'emplacement de l'acteur. Et je ne peux pas sortir de ça et le faire à cet endroit. Et en ce moment, il a créé cette référence parce que j'ai réellement sélectionné ceci. Et vous pouvez voir ici si j'écris quelques sélecteurs, si vous êtes à l'intérieur du Blueprint de niveau, vous ne pouvez le faire que dans le Blueprint de niveau si vous cliquez sur
quelque chose et vous pouvez cliquer avec le bouton droit de la souris et dire Créer une référence à cela. Donc c'est ce qu'il a fait. Et ça va dire que c'est à votre endroit. Et je peux en fait définir cet emplacement à ce nouvel emplacement afin que je puisse changer l'emplacement de l'étage pendant mon jeu. Donc, quand je clique sur Play, Disons que je veux changer le plancher à 10, 10, 10. Donc, quand je clique sur Jouer, il va changer l'emplacement floral à ce nouvel emplacement. s'agit donc d'une variable vectorielle et vous pouvez l'utiliser pour changer l'emplacement de n'importe quoi dans le jeu, peu importe ce que vous avez à l'intérieur de votre jeu. Et la même chose ici. Ce n'est pas l'emplacement, il
s'agit d'une variable de rotation. Et ici, vous pouvez changer la rotation du maillage que vous avez dans le jeu. Donc même principe, mais au lieu de définir l'emplacement de l'acteur, vous réglez la rotation de l'acteur. Et la dernière variable que je veux toucher est la variable de transformation. Et la transformation est presque la même que celle-ci, mais il est tous combinés. Vous pouvez modifier la transformation d'un maillage. Et par exemple, c'est la transformation que vous pouvez voir ici. Chacun de ces mailles à l'intérieur de notre niveau, ils ont une transformation et il peut réellement changer la transformation de quelque chose. Et juste vous pouvez changer l'emplacement de celui-ci que la rotation et l'échelle. Et cela est utile aussi pour les personnages frayants et notre jeu. Donc, par exemple, si nous voulons générer un personnage dans le jeu, nous devons spécifier, spécifier quel emplacement je veux générer le personnage, ce qui est une rotation du personnage et quelle est l'échelle du personnage. Ok, donc ça peut être utilisé avec une transformation. Donc ce sont toutes les variables que je voulais toucher. Et juste pour que vous ayez la chance de comprendre ce que nous faisons plus tard dans le, dans les vidéos et les leçons. Et nous allons les utiliser un peu plus pendant la leçon. Ne vous inquiétez pas pour ça maintenant. Je voulais juste expliquer les bases de chacun. Et vous pouvez voir pendant la, pendant la création du jeu, vous pouvez voir comment nous allons utiliser ces variables pour créer réellement le jeu. Alors passons à la leçon suivante.
19. Créer la balles: Maintenant que nous avons une compréhension de base pour la classe Blueprint est d'aller de l'avant et de créer la balle que nous allons utiliser dans le jeu. Donc, à l'intérieur du dossier Blueprints, je vais cliquer avec le bouton droit de la souris et cliquer sur la classe LaPlante. Et je vais créer un étang. Maintenant, la balle a besoin de recevoir l'entrée. On doit se déplacer avec le clavier. Et ça veut dire que nous devons le posséder et le déplacer. Nous devons donc le créer comme sur et non pas un acteur. Eh bien, cliquer sur et ce que j'appelle habituellement des Blueprints est BP comme préfixe. Et puis je l'appellerai boule. C' est donc la classe pon que nous avons créée. Et nous pouvons double-cliquer dessus pour entrer dans cette classe de points. Et vous pouvez voir ici que vous êtes maintenant à l'intérieur d'une fenêtre. Nous avons la clôture, nous avons le script de construction. Donc, le script de construction est un script qui dira à, cette classe de Blueprint spécifique ce qu'il faut faire instantanément quand il a généré juste avant qu'il ne fasse tout ce code ici. Cependant, c'est un code très important qui devrait être exécuté juste avant de faire quoi que ce soit d'autre. Juste pour éviter les bugs et le jeu parfois. Et à l'intérieur du Buford, nous pouvons maintenant ajouter cette balle que nous avons. Ce que vous voyez ici est un composant racine. C' est donc le composant racine. Et encore une fois, nous avons les valeurs par défaut classe
et un paramètres de classe et les valeurs par défaut de classe et nous pouvons modifier certains paramètres, mais ne nous inquiétons pas pour l'instant. Ce que vous voulez faire est d'ajouter une sphère qui agira comme notre balle. Donc, ici en cliquant sur le bouton Ajouter, vous pouvez cliquer sur sphère ou une recherche de sphère plutôt. Et en cliquant sur cette forme, sphère. Donc, cette forme est la même forme que la grille aller ici à l'intérieur des formes et en cliquant sur la sphère. Mais maintenant, nous avons créé la forme à l'intérieur de la classe Blueprint. Et maintenant, vous pouvez voir que c'est la sphère que nous avons créée. Et vous pouvez vous déplacer à l'intérieur du graphique d'événements ou à l'intérieur de la clôture, comme vous l'avez fait dans les ports de cette vue. C' est donc la sphère que nous avons créée. Et cette classe de Blueprint se compose de tous ces composants différents. Et il peut voir tous ces composants. Nous pouvons ajouter tout ce que nous voulons. instant, nous n'avons besoin que de la sphère. Et vous pouvez cliquer avec le bouton droit de la souris et cliquer sur Renommer, ou vous pouvez cliquer dessus. J' utilise généralement ce raccourci, en cliquant sur F2 sur le clavier. Donc, en cliquant sur F2 et appelons-le, appelons-le balle. Maintenant, nous avons cette balle. Et la prochaine chose que nous voulons ajouter est une caméra, parce que nous voulons voir cette balle d'une, une sorte de vue de dessus. Et donc nous devons aller à l'intérieur de add et nous pouvons ajouter une caméra. Donc, si votre recherche de caméra, mais avant d'ajouter un appareil photo, il ya quelque chose appelé un ressort sur. Donc, en ajoutant un bras à ressort. Et puis je veux ajouter un appareil photo comme ça. Et vous pouvez voir que nous avons la balle et à l'intérieur de la balle nous avons le bras à ressort. Vous pouvez voir si vous déplacez ce ressort jusqu'aux racines et vous pouvez l'attacher à la racine. Maintenant, c'est à l'extérieur de ce bol. Elle n'est pas attachée à elle. Mais je voulais le mettre à l'intérieur de la balle comme avant. Donc c'est en fait un enfant de ça et la caméra est à l'intérieur de l'umami ou de leur ressort, euh, et faisons tomber est juste comme un boom. Donc, vous pouvez voir ici si vous cliquez sur le bras de ressort, vous avez différents détails que vous pouvez modifier pour cela. Et par exemple, la longueur de bras cible que vous pouvez augmenter. Donc c'est à quel point vous êtes loin du bol et du jeu. Donc c'est comme une fleur de microphone. Si vous en avez vu un. Quand vous voyez des journalistes faire le tour et, ou des films et ils tiennent ce boom qui tient le microphone au-dessus des personnages. Bien que ce soit techniquement ce que c'est. Et je veux faire ce 900. Alors faisons-le 900. Il s'agit du numéro spécifique du jeu que nous voulons utiliser. Et aussi j'ai juste testé ces chiffres pour ne pas le savoir depuis le début. Donc quand je fais un jeu, je n'ai aucune idée de ce que ça devrait être. Je l'ai juste mis à un nombre spécifique et je joue le jeu et je vois si c'est ce que je veux. Si ce n'est pas le cas, je vais aller plus loin et ainsi de suite. Donc premier jeu, Utilisons 900. Et nous voulons voir ce jeu d'une vue de dessus. Donc, en cliquant sur le E pour faire pivoter. Et rappelez-vous que vous avez cliqué sur le bras du ressort et non sur l'appareil photo. Ensuite, vous devez le faire pivoter ici, dans l'axe Y. Et faisons-le pivoter. Utilisons 40 degrés pour ce jeu. Donc maintenant, nous allons voir le jeu de cette vue. Donc c'est tout ce qu'on avait à faire au ballon. Et la dernière chose, changeons l'apparence de la balle. Donc, en cliquant sur la balle, vous pouvez changer le matériau. Et je veux trouver. Donc, si vous allez à l'intérieur du dossier de la super grille et en cliquant sur le niveau du tutoriel, regardant sur les instances matérielles, je veux utiliser cette couleur jaune. Donc si on retourne à la balle BP, ça ici, je minimiserai un peu. Et je descends dans les détails et ici le matériel, vous pouvez faire glisser ce matériel au-dessus de celui-ci. On en a changé l'apparence. Vous pouvez également le rechercher si vous cliquez ici et que vous connaissez le nom de celui-ci, vous pouvez le rechercher. Donc maintenant cette chambre forte ressemble à ceci et nous avons la caméra, qui est ce que nous avons mis au-dessus. Donc c'est tout ce qu'on avait à faire au bol. Nous pouvons compiler et cliquer, Enregistrer et enregistrer tout. Et vous pouvez voir ici si je le ferme maintenant, et que je retourne dans le dossier Blueprints, nous lisons le ballon. Je peux faire glisser et déposer cette balle n'importe où à l'intérieur du niveau. Et vous pouvez voir ici que c'est notre ballon. Et vous pouvez aussi vous voir, nous avons en fait une caméra. C' est comme ça que vous voyez le ballon. Donc, si vous cliquez avec le bouton droit de la souris et cliquez sur pilote et la balle, vous pouvez le voir à partir de l'appareil photo que vous avez mis sur la balle, et c'est ainsi que vous le visualisez. Donc, si vous cliquez sur f 11, vous pouvez voir que c'est la vue que vous allez obtenir. Si vous n'êtes pas satisfait, vous pouvez aller de l'avant et cliquer sur le ressort et vous pouvez changer la longueur à autre chose. Et vous pouvez voir maintenant que nous sommes très proches de lui. C' est le look, tu veux y aller,
mais remettons-le en 900. Et je vais, je vais appuyer sur ce bouton pour arrêter de piloter la balle. C' est ce dont j'ai parlé dans les dernières leçons. J' ai parlé de ces classes de plan, vous pouvez les porter aux niveaux suivants. Donc celui-ci, quand nous changeons de niveau ou si nous changeons de niveau, nous pouvons réellement réutiliser le code que nous avons pour ce bol. Et maintenant, vous pouvez voir qu'il est à l'intérieur du sol, comme celui-ci. Je l'ai générée, mais ne vous inquiétez pas pour l'instant. Nous allons le frayer plus tard. Mais c'est tout ce qu'on avait à faire pour le ballon. Cliquez sur Enregistrer tout et passons à la leçon suivante.
20. Mode et joueur: Laissez-nous maintenant créer le mode de jeu et le contrôleur de joueur. Donc, au lieu des Blueprints, je veux cliquer avec le bouton droit de la souris et cliquer sur la classe Blueprint. Et nous allons d'abord créer le mode de jeu. Donc, en cliquant sur le mode jeu, peu importe ce qu'
il faut créer. D' abord. Prenons le mode de jeu. Et pour les modes de jeu, j'aime les appeler GM pour un mode de jeu. Et puis j'aime appeler ça le nom du jeu, donc la balle de vitesse. Et faisons un clic droit à nouveau. Luke mois plus à moins de créer le contrôleur de joueur. Donc, le contrôle de flux, j'aime appeler PC pour contrôleur de lecteur. Et aussi l'appeler pour le nom du jeu qui a des gens. Et je vais cliquer sur Fichier et sécuriser tout. Maintenant, nous devons faire le mode de jeu par défaut des jeux comme celui-ci, ce que nous venons de faire, parce que par défaut nous avons un mode de jeu par défaut. Et maintenant, nous avons créé notre mode de jeu personnalisé ici. Donc, vous devez changer le mode de jeu pour le jeu. Donc, en cliquant sur Modifier et aller dans les paramètres du projet. A l'intérieur d'ici, nous avons quelque chose appelé cartes et modes. À l'intérieur des cartes et des modes, vous pouvez voir le jeu utilise
actuellement ce mode de jeu par défaut, qui est à nouveau la base de mode. Que voulons-nous vraiment le changer pour notre mode de jeu personnalisé que nous venons de créer. Et dans le mode de jeu personnalisé, nous allons coder le jeu. Donc, en cliquant sous GM speed ball, qui est le mode de jeu personnalisé que nous avons créé. Et vous pouvez voir qu'il y a une flèche ici dans le mode de jeu sélectionné sur lequel vous pouvez cliquer. Et puis vous pouvez voir ces différentes classes par défaut pour leur mode de jeu. Nous venons de sélectionner la classe de points par défaut que
nous avons, nous voulons pour notre jeu est le bol que nous avons fait. Donc, au lieu de faire un étang par défaut, nous allons choisir BP ball. C' est donc le pon que nous allons utiliser. Et pour le contrôleur de joueur, nous avons aussi juste fait, fait un personnalisé appelé balle de vitesse PC. Et donc, au lieu d'utiliser le contrôleur de joueur par défaut, nous voulons utiliser notre propre contrôleur de joueur appelé balle de vitesse PC. C' est tout ce que tu avais à faire à l'intérieur d'ici. En outre, si vous souhaitez modifier la carte par défaut par laquelle l'éditeur commence. Parce que chaque fois que vous fermez ce projet et l'ouvrez à nouveau, il va ouvrir et vider le niveau. Et c'est la valeur par défaut du modèle. Mais vous pouvez changer l'éditeur Startup Map, et vous pouvez changer une carte de balle de vitesse touristique, ainsi que le jeu Carte par défaut. Vous pouvez le changer pour votre carte de vitesse. Donc c'est comme ça que tu le fais. Et fermons à nouveau. Et pour vous assurer que tout est correct, Double-cliquez sur ce mode de jeu. Et ici, à droite, vous devez vérifier si elle est réellement réglée sur la boule de vitesse PC pour la classe de contrôleur. Et s'il est en fait défini pour être des gens pour le verre ponctuel par défaut et qu'il le fait déjà. Donc ça a l'air bien. Je vais cliquer sur Compiler et enregistrer. Compiler et enregistrer sur la balle BP est très important, important que vous compilez et enregistrez. Et aussi un truc très pratique. Vous pouvez cliquer sur ces trois points à côté de la compilation. Accédez à la page Enregistrer lors de la compilation et cliquez uniquement sur échoué. Donc maintenant, lorsque vous compilez et que cela réussit, vous n'avez pas vraiment besoin de cliquer sur Enregistrer. Autrement dit, cela vous permet d'économiser un clic. Alors fermez-le. Et la dernière chose que nous voulons faire pour que ça marche. Donc spécifiquement pour ce niveau, nous venons de faire. Donc, la balle de vitesse de la carte dans laquelle nous sommes actuellement, vous devez aller dans les paramètres du monde. Et à l'intérieur d'ici, il y a quelque chose qui s'appelle l'override du mode jeu. Et je veux utiliser ce mode de jeu personnalisé que nous venons de créer. Ainsi, le client et le mode fonctionneront. Et vous pouvez cliquer sur cette flèche pour vous assurer que nous avons la boule de vitesse PCS comme contrôleur de débit et la balle BP comme valeur par défaut ou par défaut sur la classe. Et c'est tout ce que nous avions à faire pour le mode Jeu et déclarer contrôleur pour l'instant. Passons donc à la leçon suivante.
21. Ajouter des boules partie 1: Ajoutons maintenant les mouvements de la balle afin que nous puissions nous déplacer avec la balle. Donc double-cliquez sur cette manette de joueur, parce que je veux ajouter tout le mouvement à travers la manette de joueur. Ce que vous pouvez faire est simplement de créer le mouvement à l'intérieur de ce bol spécifiquement. Mais j'aime faire tout le mouvement à l'intérieur de la manette. Donc, c'est facultatif, et cela dépend du programmeur que vous êtes et quoi, ce à quoi vous êtes habitué. Et ce que j'aime faire est juste de le créer via leur contrôleur de joueur. Donc, je vais double-cliquer sur la manette et nous allons ajouter le mouvement à l'intérieur d'ici. Donc, nous ne allons rien faire à l'intérieur d' une fenêtre et aller directement dans le graphique d'événements. Et pour l'instant, nous pouvons simplement supprimer ces événements. Cliquez donc sur Supprimer. Vous pouvez toujours les créer à l'intérieur de cet événement ET visualiseur de fonctions. Donc, pour commencer, afin d'ajouter un peu de mouvement. Par exemple, si nous avançons, vous pouvez écrire,
vous pouvez cliquer avec le bouton droit de la souris et écrire la touche W. Et vous pouvez voir ici que nous avons quelque chose appelé la touche W sur le clavier. Il s'agit d'événements de clavier. Donc, ce sont des événements pour cliquer sur w. et en passant, les événements seront, montreront en rouge, tout comme quand nous avons vu le début de la pièce. Que se passe-t-il quand vous commencez à jouer au jeu ? Quand tu commences à jouer ? Ce code sera exécuté. Et vous pouvez voir tous les événements sont rouges. Donc, si vous êtes, si vous voyez un nœud qui est rouge, cela signifie qu'il s'agit d'un, un événement. Ainsi, par exemple, un événement, si je clique sur W sur le clavier, c'est un événement. Donc, quand je clique sur WW, quelque chose devrait arriver. Par exemple, je veux imprimer une chaîne et dire bonjour. Donc, si je compile et cliquez sur Play, vous pouvez voir ici quand je clique sur w, il dit Bonjour chaque fois que je clique sur WW. Donc, c'est un événement, et maintenant vous pouvez le faire de cette façon. Ainsi, vous pouvez le faire pour que vous puissiez faire avec le mouvement en écrivant la touche du clavier à l'intérieur de la manette du lecteur. Mais il y a quelque chose qui au-dessus de cela. Et la raison pour laquelle nous ne voulons pas le faire de cette façon. Par exemple, vous pouvez imaginer dans le jeu, si vous avez votre menu de paramètres et à l'intérieur du menu des paramètres, le joueur veut réellement changer cette touche. Le joueur ne veut pas se déplacer avec le W, le joueur veut se déplacer avec la flèche vers le haut pour que le joueur veuille utiliser la flèche vers le haut sur le clavier et non la WWE. Maintenant, le joueur ne peut
plus changer cela à l'intérieur du menu des paramètres parce que vous avez codé en dur la touche W, il va toujours utiliser la touche W si vous le faites de cette façon. Et le joueur ne peut pas le changer à travers le
menu des paramètres parce que vous avez codé en dur la valeur. Et la façon dont nous pouvons éviter cela. Donc supprimons cette sauvegarde composée. Passons à Modifier. Et à l'intérieur des paramètres du projet, nous avons quelque chose appelé entrée, et nous voulons ajouter les clés à l'intérieur d'ici. Au lieu de cliquer sur l'entrée, nous avons quelque chose appelé le mappage d'action et le mappage d'accès de l'action, vous pouvez le considérer comme un clic. Donc, par exemple, si je veux cliquer sur E pour ouvrir une porte, si je clique sur sont à recharger ou si je clique sur G pour laisser tomber l'arme, sont tous des mappages d'action. Donc, en cliquant sur une touche, l'excès de mappage est le mouvement. Ainsi, par exemple, en cliquant sur W pour avancer et en cliquant sur la flèche vers le haut ou en cliquant sur le joystick, sur la manette Xbox et ainsi de suite. Pour se déplacer, ce ne sont pas les mappages d'accès. Donc, puisque nous voulons faire le mouvement, Allons de l'avant et faisons une cartographie d'axe. Cliquez sur le bouton plus
et cliquez sur la flèche. Et pour celle-là, nous allons dire qu'il a été avancé. Et au fait, ils vont de l'avant, nous allons en fait aller de l'avant et en arrière. Donc, ce n'est que moi. J' aime l'appeler aller de l'avant. Vous pouvez également l'appeler
déplacer, avancer et reculer avec un R à la place. Et c'est à vous de décider. Je ne veux pas rendre le code trop long. Je l'appelle aller de l'avant et c'est ce à quoi je suis habitué. Donc, ici, vous pouvez choisir la clé avec laquelle vous voulez aller de l'avant. Donc vous pouvez écrire la touche W et vous pouvez voir ici vous avez le W. Donc maintenant je peux aller de l'avant avec cela. Et nous voulons aussi reculer. Donc, en cliquant dessus, je peux rechercher la touche S. Mais une façon plus cool de le faire, un moyen très rapide de le faire est juste de cliquer sur ce bouton. Il est dit de sélectionner une valeur clé. Donc, en cliquant dessus. Et maintenant, vous pouvez cliquer sur la touche S sur le clavier et il l'affectera automatiquement. Donc, l'échelle loin il est moins un parce que vous pouvez l'imaginer comme un graphique. C' est en avant. Dans l'axe, c'est comme un. Et quand vous retournez en arrière, c'est moins 1. Et laissez-moi créer un autre mappage d'axe. Et maintenant, nous voulons passer aux sites. Donc je vais l'appeler droits MOOC. Mais techniquement, ça bouge à droite et à gauche. Donc, nous pouvons aussi l'appeler déplacer horizontalement ou quoi que ce soit. Je l'appelle juste bouger, non ? C' est ce qui est logique pour moi. Et en cliquant sur D ici, en cliquant sur ce bouton, en cliquant sur D. Et ajoutons un nouveau bouton, en cliquant sur un et celui-ci, et c'est minuscule 1, donc chacun dans des directions différentes. Bon, maintenant on a ces clés et on va fermer. Nous pouvons double-cliquer sur la manette du joueur à nouveau. Et à l'intérieur d'ici, nous pouvons maintenant trouver les événements que nous venons de faire. Donc notation, avancez. Vous pouvez voir quelque chose appelé les événements de l'axe. Nous avons un événement appelé aller de l'avant. Donc, en cliquant dessus. C' est l'événement que nous venons de faire, ou vous pouvez cliquer dessus et W et S. Donc c'est la façon cool de le faire. Au lieu d'écrire la touche W et de coder le code en dur. De cette façon, les joueurs ne seront pas en mesure de changer cela à l'intérieur du menu des paramètres. Il est préférable de le faire de cette façon alors que le joueur peut
choisir ce qu'il veut changer pour aller de l'avant. Ainsi, ils peuvent toujours aller de l'avant et changer la clé. Au lieu de faire un W qui peut le faire flèche, par exemple. Et allons de l'avant et ajoutons notre autre événement appelé les droits moraux. Donc c'est l'événement et nous avons quelque chose appelé couple. Alors laissez-moi essayer de faire glisser à partir de ce stylo d'exécution et vous pouvez rechercher
TOR, TOR q ui et supprimer ce contextuel pour le visualiser. Ainsi, vous pouvez voir ici au couple en degrés et en radians, nous allons choisir celui appelé ajouter le couple en radians. Maintenant, le couple est une sorte de physique, et c'est ce qui est utilisé pour conduire notre bol. C' est donc quelques forêts que nous ajoutons au bol pour le déplacer. Et je vous montrerai comment ça marche une fois que nous aurons fait ça. Mais avant de pouvoir le faire fonctionner, nous devons sélectionner une cible. Nous devons, nous avons la cible est la balle. Donc nous voulons ajouter cette physique, cette force qui va bouger. L' article que nous voulons. C' est la balle que nous voulons bouger, donc ce sera la cible. Mais avant de pouvoir continuer, je dois vous enseigner la communication Blueprint parce que la cible ici doit être la balle, parce que nous voulons ajouter cette physique à l'ampoule pour que nous puissions la déplacer. Et la balle est une autre classe Blueprint. Alors, comment allons-nous ? Comment pouvons-nous accéder à ce maillage de balle pour être utilisé à l'intérieur d'ici ? Comment sommes-nous, comment pouvons-nous connecter ce maillage de balle de cette balle BP à l'intérieur de ce contrôleur de débit et la connecter à cette cible. Vous devez donc en apprendre davantage sur la communication Blueprint avant que cela ne soit possible. Allons-y avant de continuer à la leçon suivante.
22. Communication du plan: Il est maintenant temps d'en apprendre davantage sur la communication du Plan directeur. Donc, le problème que nous sommes confrontés en ce moment quand nous faisons le mouvement est que nous voulons accéder à ce bol BB et nous voulons utiliser ce maillage de balle parce que nous voulons le connecter à la cible, parce que nous voulons ajouter à ce spécifiquement pour le faire bouger. Donc la cible doit être le bol. Mais comment accéder à cette balle à l'intérieur de la balle BP pour l'utiliser à l'intérieur de la manette ? Et c'est ce qu'est la communication du Plan directeur. Vous devez communiquer entre deux Blueprints différents et utiliser informations de ce Blueprint et l'utiliser dans un autre Blueprint, qui est ici dans les plissages sur l'épaule. Donc, par exemple, nous sommes maintenant à l'intérieur
du contrôleur et nous voulons utiliser les informations à l'intérieur du bol BP, qui est en fait un pion. Et rappelez-vous, ce cours de balle que nous avons fait est en fait un cours de pion. Vous pouvez donc voir la clause parent ici en haut à droite. C' est un pion qu'on a créé. Donc, ici à l'intérieur du décalage de contrôleur de joueur et cliquez avec le bouton droit et dire obtient couche sur. Donc vous pouvez voir ici qu'il fait chaud. Nous ne voulons pas obtenir le caractère du joueur parce que rappelez-vous que ce n'est pas une classe de personnages que nous avons fait comme un personnage ponctuel. Donc, en cliquant sur bon joueur sur. Et d'ici, nous pouvons voir deux dernières années, nous avons quelque chose appelé casting. Donc, ce que fait le casting, c'est que nous voulons utiliser les informations d'un plan spécifique. Et dans ce cas, le pon que nous voulons utiliser est notre porno personnalisé, qui est BP ball. Donc on peut dire lancer au ballon BP. Et vous pouvez voir ici la sélection des coûts à la balle BP. Et nous pouvons maintenant connecter la broche d'exécution pour que cela fonctionne. Ok, donc ce que nous avons fait ici, c'est que nous avons la classe de pion de joueur par défaut. Et puis nous lançons cette classe de pion spécifique que nous avons faite parce que c'est celle à laquelle nous voulons accéder. Et maintenant, ici, vous pouvez maintenant accéder à toutes les informations qui se trouvent à l'intérieur des balles BP. Donc, par exemple, si je veux le maillage de balle ou si je veux un événement, je veux dire ici ou un code, je veux dire, ou si je voulais un bras à ressort et ainsi de suite, je peux accéder à tout depuis cette broche ici. Donc si je vais ici maintenant et que j'écris la balle, et vous pouvez maintenant voir qu'il est dit « get ball ». Donc maintenant, vous allez obtenir ce maillage, qui est celui-ci. Donc maintenant obtenu ce maillage appelé balle. Et maintenant ce maillage, vous pouvez maintenant vous connecter à cette cible. Donc, cela fonctionnera maintenant réellement. Donc maintenant vous avez coûté à ce bol BP et maintenant vous le connectez. C' est ainsi que votre coût, et c'est ainsi que vous pouvez communiquer. Vous devez regarder ce qu'est la classe parent. Donc si je vais à BPI Ball, je peux voir que la classe des parents est de la pornographie. Donc je dois d'abord avoir le porno joueur. Et à partir de là, je peux lancer dans la classe spécifique que je veux accéder à ce cas. Je veux des voitures pour BP ball. Et quand je l'ai fait, je peux maintenant accéder à toutes les informations à l'intérieur de BP ball. Donc, c'est ce qu'est le casting, et vous pouvez le faire avec d'autres plans. Donc, par exemple, si je voulais accéder à ce contrôleur Blair à l'intérieur de la balle BP, alors laissez-moi entrer dans la balle BP juste pour l'entraînement, vous n'avez pas à suivre ici. Je veux juste te montrer. Donc, à l'intérieur de BP ball, disons que je voulais y accéder car je voulais accéder à ce contrôleur de joueur, et je veux utiliser du code à l'intérieur d'ici. Donc, ce que je peux faire est à l'intérieur de la balle BP, je peux cliquer avec le bouton droit de la souris et dire Get layer controller. Parce que rappelez-vous, la classe parent pour le contrôleur de joueur est contrôleur de joueur. Donc, je reçois le contrôleur de joueur et je peux alors dire cast aussi. Et vous pouvez choisir la boule de vitesse PC, qui est le contrôleur personnalisé que vous utilisez. Et vous pouvez, vous pouvez l'ajouter à un événement que vous voulez. Et maintenant, vous pouvez utiliser toutes les informations que vous voulez à l'intérieur de ce contrôleur de bloc. Ok, alors allons de l'avant et supprimons. Je vais juste supprimer tous ces événements à l'intérieur de BP ball. On n'en a pas besoin. Et maintenant, c'est ainsi que vous lancez et accédez à l'information. Et c'est ainsi que vous communiquez entre les Blueprints en utilisant le casting. Maintenant, le seul problème avec le casting est que si vous avez trop de choses, vous coulez aussi. Donc, disons que vous travaillez sur un projet plus grand et que vous utilisez le casting tout le temps. Vous êtes en train de lancer ça et ensuite vous provoquez ce plan. Et puis là-bas, vous lancez à nouveau à un autre plan. Et cela va créer des références dures. Et cela va ralentir votre jeu parce que le coût va créer des références Hart. Et ce que cela fait, c'est que vous devez charger tous ces coûts avant que votre jeu ne se poursuive. Donc, parfois, je vois des gens ayant un menu, menu
principal lorsque vous avez commencé le jeu, il faudra sept secondes ou 10 secondes pour le jeu pour le démarrage. Et cela peut être dû à la coulée. Si vous jouez, disons que vous lancez votre coût dix fois deux choses. Et encore une fois est de savoir que le code devient assez long. Et tu fais du casting, de la meute et du casting. Et ça va faire des références difficiles et ça va augmenter beaucoup le temps de chargement. Donc, ce que je veux vous enseigner dans la prochaine leçon, que j'utilise tout le temps, c'est Blueprint Interfaces, qui évitera de lancer. Donc, le casting n'est pas mauvais. Tu n'as pas à mal comprendre ce que je vois. Le casting est bon, mais seulement si vous le faites un peu de temps. Alors ne le faites pas, n'en faites pas trop et lancez tout le temps, ce ne sera pas bon. Mais si vous avez une situation où vous n'avez qu'à jouer
qu'une fois ou deux fois, tout va bien. Cela n'affectera rien et vous devriez probablement le faire. Mais dans la prochaine leçon, je vais vous parler des interfaces Blueprint. Et avec ça, c'est ce que j'utilise tout le temps. Nous pouvons éviter de créer les références de hauteur, ce qui se fait en créant coulée et sont appelés sera également beaucoup plus propre. Continuons donc dans la leçon suivante et apprenons à propos des interfaces Blueprint.
23. Communication du plan directeur - Interfaces: Dans la dernière leçon, nous avons parlé de casting. Nous allons maintenant en apprendre davantage sur la communication Blueprint. Et c'est ce que j'utilise tout le temps au lieu de lancer et ne
sont lancés que très, très peu de fois. Alors fermons ceci et à l'intérieur d'ici, nous pouvons créer un nouveau dossier. À l'intérieur des Blueprints, créez un nouveau dossier et appelez-le des interfaces. Juste pour que nous soyons un peu plus structurés. Et à l'intérieur du dossier interfaces, vous pouvez cliquer avec le bouton droit de la souris. Et sous Blueprints, vous pouvez voir quelque chose appelé Blueprint Interface. Alors allons de l'avant et créons-le et je vais vous expliquer ce que c'est. Et pour les interfaces sont généralement appelées int au début. Et pour celui-ci, nous voulons le faire spécifiquement pour BP ball. Donc je vais juste appeler ça les gens. Donc, quelles sont les interfaces Blueprint, vous pouvez créer des fonctions à l'intérieur d'ici et vous pouvez éviter de lancer. Prenons donc un exemple, Yana exemple, et jetons un oeil à quoi, comment nous pouvons l'utiliser. Donc, pour la balle BP, nous voulons créer une nouvelle fonction. Ici, vous pouvez créer toutes les fonctions que vous voulez créer à l'intérieur du bol BP. Donc, je vais créer une nouvelle fonction et l'appeler « get ball ref ». Donc, je vais chercher la référence de la balle. Donc c'est ce qu'on a fait ici à l'intérieur du contrôleur quand on a lancé, on a eu la référence à cette balle. Mais nous voulons maintenant le faire à travers l'interface. Et je vais appeler cette fonction pour obtenir Bellerophon. Et maintenant, vous pouvez ajouter une entrée ou une sortie, et ce sont des variables. Donc, je vais cliquer sur Sortie et en cliquant sur ce plus. Maintenant, vous pouvez voir ici, peut choisir quel type de variable que vous voulez ajouter, et vous pouvez également l'appeler quelque chose. Donc, pour cette variable, je veux vraiment une référence à ce bol. Donc, je vais écrire balle VP et trouver
cette balle BP que j'ai créée et crédit comme une référence d'objet. Je vais changer le nom de ça en bol. Donc maintenant, nous avons cette fonction. Et que pouvons-nous faire avec cette fonction ? Donc, je vais aller de l'avant et ouvrir le polygone bp. Et pour utiliser une interface Blueprint. C' est très important. Tout d'abord, n'oubliez pas de compiler et de sauvegarder à l'intérieur d'ici. Et la prochaine chose que vous voulez faire est à l'intérieur des paramètres de classe dans BP bowl, parce que c'est là que nous voulons l'utiliser. Ici. Il y a quelque chose appelé interfaces dans les paramètres de classe. Et vous voulez ajouter l'interface que vous venez de créer. Donc, en cliquant sur Ajouter et en cherchant l'interface et en cliquant dessus. Et réalisez juste ici qu'un onglet d'interfaces apparaîtra lorsque j'ai sélectionné. Et vous pouvez voir cela apparaît donc Compiler et enregistrer. Vous pouvez maintenant double-cliquer sur ce, obtenir la référence de la balle. Et vous pouvez maintenant voir les fonctions que nous avons créées. On ne peut pas modifier la fonction ici. Vous pouvez voir que j'ai essayé de traîner et de tirer ici. Je ne peux rien faire. Ici, dans cette visionneuse d'interface, nous ne pouvons que créer des fonctions. Et ces fonctions que nous
créons, nous pouvons utiliser à l'intérieur des différentes classes de Blueprint selon si nous l'avons ajouté à la classe ou non. Donc ici, nous avons ajouté la bonne référence de balle, et si vous double-cliquez dessus afin que vous puissiez accéder à la fonction. Et maintenant, je peux sortir d'ici et me conduire moi-même. Et ce que ça fait, c'est qu'il demande
quoi, quelle est la référence de ce bol ? Donc, nous avons ajouté, rappelez-vous une variable appelée balle BP. Et ici, nous sommes juste en train d'écrire cette référence. Bp ball est en fait auto parce que nous sommes à l'intérieur du baseball. Donc, cette référence est auto. C' est cette classe de Blueprint. C' est comme ça que tu le fais. Et maintenant, nous pouvons réellement communiquer avec ce plan. Revenons à la manette du joueur et je vous montrerai. Donc, comme nous l'avons fait ici. Vous pouvez dire qu'il est superposé. Et à partir d'ici, au lieu de faire des moulages à la balle BP, vous pouvez maintenant dire obtient tous réf. C' est la fonction que nous avons créée avec l'interface. Et n'oubliez pas de toujours utiliser le seul message ici à la fin, car il provient de l'interface Blueprint. Maintenant, ça marche exactement comme le casting. Nous avons maintenant une fonction et au lieu de casting et créé, créant une référence solide, nous pouvons en fait maintenant simplement utiliser cette fonction Blueprint Interface que nous avons créée. Et ici, nous pouvons maintenant accéder à la balle comme nous l'avons fait avec le casting. Ainsi, vous pouvez écrire boule et les variables sont tout le chemin jusqu'à la fin. Ou vous pouvez écrire le VaR, qui étaient quatre variables. Et il semblera travailler sur le ballon. Et puis on peut l'ajouter au couple, comme ce que nous avons fait ici coûterait cher. En passant, vous pouvez maintenir Alt et cliquer sur la cible ici ou en cliquant sur n'importe quel nœud ici et vous pouvez supprimer les liens. Voici donc comment vous utilisez la communication Blueprint. Donc maintenant ce que nous ne lançons plus, nous utilisons Blueprint Interfaces, et c'est ce que je préfère utiliser juste pour avoir aussi un code beaucoup plus propre. Donc je vais juste faire un tour rapide juste pour
être clair ou je suis sûr que vous comprenez le concept. Et Blueprint et surfaces sont généralement les choses les plus difficiles pour les débutants à comprendre parce que nous allons et venons et cela pourrait devenir un peu déroutant. Laisse-moi revenir rapidement. Nous avons créé une interface Blueprint en cliquant avec le bouton droit de la souris, créant l'interface. A l'intérieur de l'interface. Comme avant d'utiliser l'interface que vous avez en tête, que voulez-vous faire avec cette interface ? Dans mon esprit, je veux avoir une référence à cette balle BP parce que je veux utiliser ce maillage mural à l'intérieur de ma manette. Donc je veux une référence à mon ballon BP. Donc, je crée une interface et je l'appelle BP ball. Et à l'intérieur d'ici, à l'intérieur de l'interface, je crée une fonction appelée get the ball reference. Et peu importe ce que vous appelez ça. C' est, c'est ce qui a du sens pour moi. Ensuite, vous créez une sortie d'une variable et vous choisissez cette classe de Blueprint à laquelle vous souhaitez vous référer. Donc je veux parler de cette balle BP. Et puis ce que vous voulez faire est de ne pas oublier de compiler et de sauvegarder et de revenir aux gens. Et à l'intérieur d'ici, n'oubliez pas d'aller dans les paramètres de classe à l'interface de balle BP. Et puis cela apparaît maintenant, nous pouvons accéder à la fonction. Et vous devez définir, même si vous avez écrit que la variable est des gens. Vous devez définir au moteur ce que vous entendez par là. Donc, à l'intérieur de cette fonction, vous le faites glisser et écrivez vous-même. Et cela signifie que cette variable ici est en fait une référence à soi, qui est la balle BP. Donc c'est juste essayé, c'est la même chose que d'écrire. Cette référence est la balle P, qui est en fait la classe Blueprint dans laquelle nous sommes actuellement. Maintenant, quand vous auriez fait cela, vous pouvez retourner au contrôleur et obtenir la classe Upon. Rappelez-vous, vous devez obtenir la classe parent, qui est Po1. Et vous pouvez maintenant voir get ball ref. Et en faisant cela, vous pouvez maintenant utiliser cette boule variable, ce que vous avez fait, ce que vous avez fait ici. Et à partir de cela, vous pouvez glisser et accéder à tout ce que vous voudrez à l'intérieur des gens. J' espère que cela a été compréhensible et pas trop difficile. Et nous allons l'utiliser beaucoup tout au long de la programmation du jeu. Donc, si vous ne l'avez pas compris à 100%, nous allons en obtenir plus d'exemples. Et si vous, si vous avez besoin d'aide avec l'une des choses que je vois dans mes cours ou dans mes cours. Allons de l'avant et connectez-vous au serveur Discord ou écrivez-nous sur les réseaux sociaux. Et je suis prêt à vous aider avec tout ce dont vous avez besoin. Mais maintenant que nous connaissons un peu la communication Blueprint, nous pouvons maintenant faire la partie centrale du mouvement. Alors allons de l'avant dans la leçon suivante et finissons le mouvement du bol.
24. Ajouter des boules partie 2: Maintenant que nous avons appris à propos de la communication Blueprint, allons-y et finissons plutôt le mouvement du joueur ou le mouvement du bol. Permettez-moi donc de supprimer ce casting maintenant que nous avons créé cette interface Blueprint. Et laissez-moi le connecter à l'événement. Et laissez-moi connecter la balle qu'on a eue à la cible de ce couple. Donc maintenant ce que nous allons faire est si nous cliquons sur w Ou nous cliquons sur demandé de reculer, il va prendre cette balle et connecté à cette cible. Ça va ajouter cette physique à cette balle. Donc ça va bouger la balle avec cette physique. Et nous devons compiler et enregistrer juste pour supprimer cette erreur. Et nous devons lui dire le couple qu'il est, qu'il doit appliquer parce qu'en ce moment il applique zéros 0000 force. Donc, en ce moment, quand je clique sur W, Il ne va pas bouger du tout parce qu'il n'y a pas de force appliquée du tout. Mais je dois appliquer un peu de force pour que ça fonctionne réellement. Et la façon dont nous le faisons est en fait en connectant cette valeur d'axe. Parce que si je clique sur W, je peux essayer d'écrire des feuilles imprimées afin que vous puissiez voir ce que cela fait réellement. Et laissez-moi juste rapidement connecté comme ça. Donc ça passe par le code. Je vais cliquer sur jouer. Et quand je clique sur w, Vous pouvez voir qu'il s'imprime. Donc, c'est quand je le déplace, il va imprimer les valeurs. Et je peux aussi juste, au lieu d'imprimer bonjour, je peux réellement connecter ceci à la chaîne ici. Et il va convertir cette variable float en une variable de chaîne afin qu'elle puisse l'imprimer à l'écran. Et laissez-moi juste bouger pour qu'on puisse voir ce qui se passe. Il a l'air très Guam Girard maintenant. Donc juste comme ça, je suis, je peux supprimer cela de la durée. En ce moment, il va imprimer la valeur de ceci à l'écran. Donc, si je clique sur Play et en fait w, Vous pouvez voir qu'il obtient un chaque fois que je clique sur W. Et si je clique sur S, il obtient moins 1. C' est donc la valeur x. Et nous devons appliquer ceci à la, laissez-moi revenir en arrière. Je sais sont à propos de cette erreur. Je vais montrer plus tard pourquoi, pourquoi nous obtenons cela. Et revenons à la manette du joueur. Maintenant, connectons cette valeur d'axe au couple. C' est ce que nous voulons appliquer. Laisse-moi le reconnecter. Et qu'est-ce qu'on veut faire ? Donc si on retourne ici et on place la balle, donc à l'intérieur des plans, on a placé le bol. Vous pouvez voir ici, lorsque vous placez la balle, vous pouvez voir le point de pivot. Et rappelez-vous, rappelez-vous ces points de pivot, le rouge est x, le vert est le y, et le bleu est le z.
Donc c'est le Z . Nous voulons le faire avancer, mais nous ne voulons pas le déplacer à travers le x. Parce que si vous cliquez sur E pour faire pivoter, il s'agit donc de l'outil de rotation. Nous voulons réellement le faire pivoter le long de cet axe des y parce que lorsque vous tournez, vous ne tournez pas de cette façon. Et vous tournez et bougez la balle. Tu l'as écrit comme ça, ok ? En fait, vous tournez le long de l'axe Y. C' est pourquoi nous voulons revenir à la, au SIR. Et nous voulons appliquer ce mouvement à l'axe y et le déplacer vers l'avant en appliquant de la force à l'axe y. Donc, c'est la variable vectorielle ayant trois valeurs, nous pouvons réellement cliquer avec le bouton droit de la souris et dire Split Struct Pin. Et cela va le diviser en ces x, y et z. et nous pouvons maintenant appliquer ce couple à l'axe Y. Ok, donc maintenant si je compile et avant qu'on puisse vraiment tester ça, je dois, Supprimons ce bol et je dois ajouter un joueur commence. Donc, au lieu de créer, nous pouvons créer ce joueur démarre. Donc, c'est là que le joueur était des points et cliquez sur G pour afficher les icônes. Si tu les as cachés, comme moi, et que tu peux le déplacer. Et je finirai par couche 2 sur les promesses générées ici, par exemple. Juste comme ici. Et vous pouvez cliquer sur Play. Vous pouvez voir que rien ne se passe. Laisse-moi revenir en arrière. Et il dit accès sans essayer de lire la propriété, obtenir la balle Terre. Et quand il dit accès, personne n'essaie d'obtenir cette balle Terre et essaie de faire bouger la balle. Mais si la balle n'existe pas encore dans le niveau, il devient confus parce que
pourquoi, pourquoi voulez-vous déplacer cette balle ? Parce qu'il ne trouve rien ici, il ne trouve pas le maillage. Et donc ça va vous donner une erreur. Imaginez, par exemple, dans le serveur C commun Counter-Strike joueur. Et le joueur doit choisir s'il veut être un terroriste ou un contre-terroriste. Et si le joueur n'a encore rien choisi, ils sont toujours en mode spectate. Ce code donnera une erreur parce que pourquoi voulez-vous déplacer le terroriste ou la préoccupation quant à
la raison pour laquelle vous voulez déplacer le joueur si le joueur n'a pas encore engendré dans le labile. Donc, ceci est, cela vous donnera une erreur. Et ce que vous pouvez faire pour éviter cela est un clic droit ici. Et convertir ceci en un get validé. Et ce que cela fait est, il va d'abord demander, est-ce que cette balle existe réellement dans le niveau encore ? Si c'est le cas, si c'est valide, alors allez-y et appliquez le couple. Donc, si je compile et clique sur Play, il devrait se débarrasser de toutes ces erreurs. Donc, si je fais cela, vous pouvez voir maintenant que nous avons engendré dans le niveau, nous ne recevons plus d'erreur. Et en fait, comme W, rien ne se passe. Et c'est parce que le couple que nous avons appliqué n'est pas assez dur. Et la deuxième chose, rappelez-vous que j'ai dit que le couple est la physique. Et quand on applique la physique, on doit simuler la physique pour le ballon. Donc si je clique sur l'évasion, ça va dire simuler la physique. Je peux retourner à ma balle VP et en cliquant sur cette balle, je peux aller à l'intérieur de la physique et cliquer sur simuler la physique. Et si je clique sur Jouer maintenant peut bouger, mais la force est encore très faible Donc je ne peux pas, je ne peux rien faire. Donc je dois aller à l'intérieur de la manette du joueur. Et ce que je peux faire est juste d'appliquer un, un discours plus difficile à cela pour qu'il puisse bouger. Alors appliquez plus de force. Alors faisons ça en traînant ici. Et je veux multiplier ce nombre. Multipliez. Et je veux le multiplier par longueur 35 était un bon nombre pour moi. Et vous pouvez tester ça. Vous pouvez simplement parler des chiffres et voir ce qui est trop rapide et trop lent. Donc maintenant j'applique une force à ça, à cette balle, et je multiplie cette valeur x par 35. Si je clique sur Jouer maintenant et que je bouge, remplisse, monte, et ce n'est que moi pour obtenir quelque chose. En fait, je voulais cliquer sur ce changement d'accélération. Et ce que cela va accélérer le changement fera,
c'est qu'il va en fait ignorer la masse de cette balle. Parce que la balle en ce moment, cette sphère que vous avez ajoutée aura effectivement une masse. Il a donc un poids. Et ce poids ne prendra pas en compte si vous l'avez coché. Bien que si vous n'avez pas vérifié, alors vous vous demandez masse à calculer, vous devez appliquer une force beaucoup plus élevée ou une valeur beaucoup plus élevée, la force aérienne 2 pour le faire bouger. Mais pour l'instant, je ne veux pas prendre en
compte le poids et je veux juste multiplier par 35 et cela devrait suffire. Et maintenant, je reçois cette erreur parce que j'ai en fait deux démarrages de joueur. Donc je viens de réaliser qu'à l'intérieur de mon niveau, je reviens. J' ai un point fermé, qui est en fait le point plus que nous utilisons en ce moment. Et je vais aussi désespérée Tatu
, c'est pourquoi il ne fraye pas mon bol et un m'a donné une erreur. Donc, je vais supprimer le plus d2. Et lorsque vous cliquez sur Lire, cela devrait fonctionner comme il est censé le faire. Donc maintenant, quand je clique sur W et bouge, vous pouvez voir les caméras se déplaçant réellement avec la balle et est recherche aussi li et nous allons probablement tomber malade si nous regardons cela trop. Alors allons-y et réparons ça. Donc, à l'intérieur de la balle BP, nous pouvons cliquer sur le ressort. Ici, dans le bras de ressort, nous avons la rotation. On ne veut pas que ça tourne avec le ballon. Eh bien, en cliquant sur cette rotation et en changeant la rotation au monde au lieu de relative et en cliquant sur compiler enregistrer. Et maintenant, lorsque nous cliquons sur Jouer et bouger, nous pouvons maintenant déplacer la balle d'avant en arrière. Alors maintenant, ça marche. Ok, génial. Alors maintenant, nous voulons ajouter les mouvements de gauche et de droite. Alors allons-y et finissons le mouvement. Donc on a déjà fait le pas ? Entrées. Et à l'intérieur d'ici, on peut juste aller de l'avant et dire, se faire supporter. En passant, vous pouvez également copier, coller ce texte ou ceci, ce code. Mais je veux juste te montrer juste pour l'entraînement. Et il peut obtenir la bille ref pour obtenir la fonction Blueprint Interface. Et ici, vous pouvez accéder en gras, encore une fois, la variable de balle. Et il peut le convertir en un obtient validé. Maintenant vous demandez, est-ce que le bol est valide ? Si c'est le cas, alors nous voulons appliquer ce couple. Couple en radians. Maintenant, il va appliquer le couple. Et maintenant, nous voulons faire un clic droit ici dans le couple et diviser cette broche
frappée et de se déplacer à droite et à gauche, si je place la balle pour se déplacer à droite et à gauche, nous devons tourner le long de l'axe X. C' est le rouge, c'est l'axe des X. Et nous devons appliquer le couple à l'axe des X, qui est par ici. Et nous pouvons l'appliquer ici. Et n'oubliez pas de multiplier le couple. Ils vont multiplier la force. La force n'est pas assez forte et ne bouge pas la balle. Donc maintenant, nous pouvons ajouter la force ici et nous pouvons double-cliquer sur cela, sur cette ligne ici pour faire un nœud réécrit. Donc, cela rendra votre code beaucoup plus propre et plus agréable avec ces lignes ici. Et rappelons-nous de cliquer sur le changement d'accélération
absolue et Compiler et Enregistrer sous cela devrait fonctionner. Alors, cliquez sur Jouer. Maintenant, il peut se déplacer à gauche et à droite. Et vous réaliserez probablement que nous allons dans la mauvaise direction quand je clique sur un, nous bougeons vers la droite quand je clique sur D ou un million à gauche. Et pour corriger cela, nous pouvons aller à l'intérieur de l'édition, à l'intérieur des paramètres du projet. En entrée. Ici, nous pouvons juste inverser ces échelles. Donc en écrivant moins un ici et en écrivant un ici à la place. Et cela devrait être corrigé en cliquant sur Play. Vous pouvez maintenant déplacer la balle à supposé et vous pouvez réellement jouer le jeu maintenant avec cette balle. C' est ainsi que vous créez le mouvement de la balle. Et maintenant que nous avons la balle en marche, maintenant nous pouvons créer le service qui sera pillé par le bol lorsque vous interagissez avec les départs. Alors allons de l'avant et faisons l'étoile.
25. Créer l'étoile: Maintenant, allons de l'avant et créons l'étoile pour les niveaux. Donc, à l'intérieur des Blueprints, je vais cliquer avec le bouton droit de la souris et cliquer sur la classe Blueprint. Donc la star est juste un acteur parce que nous n'avons pas vraiment besoin de contrôler la star ou quelque chose de stupide comme ça. Alors passons et cliquez sur acteur. Et ici, on peut l'appeler BP star. Et on peut double-cliquer sur le job dans cet acteur. Et ici, nous pouvons maintenant ajouter les étoiles. Alors rappelez-vous tout comme le bol, nous pouvons ajouter des composants. Donc, ici, nous pouvons ajouter un maillage statique et nous pouvons ajouter l'étoile. Donc je vais juste appeler ça star. Et ici, dans ce maillage statique, il est maintenant à la recherche d'un maillage statique et vous pouvez réellement utiliser l'étoile ici. Vous pouvez également le trouver à l'intérieur de, Je pense que c'était super grille et tutoriel, puis utilitaire et les maillages. Et voici la star. Donc, nous pouvons réellement l'utiliser est livré avec le pack super grille. Et vous pouvez aussi simplement le chercher, il suffit de chercher l'étoile. Et vous pouvez cliquer dessus. Et vous pouvez voir que c'est en fait la star. Et comme vous pouvez le voir ici, c'est en train de bouger. Mais nous ne voulons pas faire ça avec le matériel. Nous voulons réellement le déplacer à travers le code. Cliquez sur cette loupe, une verre pour le trouver à ce matériau icône de fav utilitaire. Donc, en cliquant sur la loupe, il vous emmènera ici dans le serveur ou dans le navigateur de contenu et le serveur ou navigateur pour vous amener à ce navigateur de contenu et vous amènera au matériel. Si vous cliquez sur la loupe et vous pouvez double-cliquer dessus. Et ce nœud matériel s'ouvre. Je ne veux pas faire ça à propos de l'éditeur de matériel, alors ne vous inquiétez pas de ce qui se passe en ce moment. Mais moi, ce que je veux simplement que vous fassiez,
faire ici est juste de maintenir Alt et cliquez ici pour déconnecter cette sauvegarde et c'est tout, fermez-le. Vous pouvez voir qu'il ne bouge plus. Et c'est ce que nous voulons. En fait, nous voulons contrôler le mouvement par le code. La prochaine chose que nous voulons ajouter est un effet de particule. Donc, en cliquant sur Ajouter et en cherchant le système de particules. Donc, en cliquant sur ce système de particules, et je vais l'appeler étoile P, P pour effet de particules ou système de particules. On peut aussi l'appeler un PS. C'est à vous de voir. Je vais juste appeler ça « P star ». Et ici, vous pouvez, encore une fois choisir quel type de particules ils veulent. Et il y a quelqu'un, des articles appelés P star. Vous pouvez cliquer sur. Et tu as une étoile. En fait, je ne sais pas si c'est trop énorme parce que vous pouvez voir les articles à l'intérieur d'ici. Et je ne sais pas si cette étoile est trop grande. Donc laissez-moi en fait, la façon dont je peux le tester est de cliquer sur les plans. Et ici, permettez-moi de faire glisser cette fenêtre de Blueprint et de l'attacher à ici pour qu'il soit plus facile à voir. Et nous pouvons maintenant déplacer cette étoile vers le haut. Et pourtant c'est très énorme donc on peut réduire la taille de l'étoile. Donc, en cliquant sur l'étoile, je peux réduire la taille à 0.50.50.5. Et laissez-moi le traîner à nouveau, cependant, très énorme. Laissez-moi donc le réduire à 0,3. Et au lieu de changer les trois, je peux cliquer sur cette serrure. Donc, cela changera tous les trois en même temps. Et c'est encore un peu trop grand. Peut-être que 0.20.2 pourrait être le parfait. Peut-être encore trop grand, mais en fait, c'est bon. Maintenant. Maintenant, je peux cliquer sur cet effet de particules. Je vais, vous pouvez voir ici qu'il est attaché à l'étoile. Je peux l'attacher à la racine. Il est attaché à une étoile, donc il est en fait réduit la taille ainsi que l'étoile. Supprimons donc cette étoile P. Faisons un nouveau système politique juste que c'est le moyen le plus rapide. Oups. Cliquez sur Entrée, créez un nouveau système de particules. C' est le moyen le plus rapide et l'appeler étoile P à nouveau. Et ici vous pouvez trouver l'étoile. Et maintenant, il est grand et il a l'air beaucoup mieux. Donc c'est à ça que ça ressemble en ce moment. On a un effet de particules de jour. Et la dernière chose que nous voulons ajouter est quelque chose qu'on appelle une sphère de déclenchement. Donc, j'appelle la recherche de la sphère. Vous pouvez voir ici une collision de sphère. Et c'est, on peut l'utiliser pour dire que je suis, je vais l'appeler plus grande sphère. Et nous pouvons l'utiliser pour dire ce qui se passe si nous, si nous entrons en collision avec cette sphère. C' est donc une sphère de collision. Donc, je vais cliquer sur l'art et le redimensionner à un peu plus grand. Ou vous pouvez cliquer sur Control Z et vous pouvez le faire ici dans le rayon de la sphère. Vous pouvez le faire aussi. Et juste l'ajuster. Donc, si ma balle va ici et des rôles sur le niveau et va effectivement à l'intérieur de cette sphère. Il déclenchera un événement afin que nous puissions utiliser cette sphère
déclencheurs peur ou collision pour déclencher des événements. Donc maintenant nous avons ceci, nous avons l'étoile, nous avons cet effet de particules, et nous avons la sphère de collision. Maintenant, cliquez sur Compiler et enregistrer, et revenons en fait et essayons de placer cela à l'intérieur des niveaux. Donc, en traînant sur l'étoile, en la plaçant, je peux la faire glisser ici. Et c'est très bien. Et je peux en fait éditer. Faisons ça comme ça et nous allons cliquer sur Jouer. Et vous pouvez voir ici maintenant nous avons cette étoile et elle est un peu trop grande pour qu'elle puisse réduire légèrement la taille. Et vous pouvez voir si je vais à l'intérieur,
c' est en fait bloquant, donc nous devons changer la collision de ça. Donc, la façon dont nous le faisons est de retourner à l'étoile, en cliquant sur le maillage. Et ici, dans la collision, on peut l'enlever. La collision présente. Donc, en cliquant sur ce Collision Presets et en cliquant sur aucune collision. Donc maintenant, il n'y a pas de collision du tout. Et quand nous cliquons sur Jouer et que nous sommes en
hausse, si nous cliquons sur Jouer, nous pouvons maintenant voir ici que nous ne pouvons plus entrer en collision avec elle. Donc maintenant, nous pouvons vraiment regarder cela, et c'est ce que nous voulons faire dans la prochaine leçon, faire en sorte que cela fonctionne avec le pillage. Donc c'est ça et réduisons réellement la taille de l'étoile. Je vais en fait traîner les effets de particules, donc il ne réduit pas en taille à faire, je vais l'attacher à leurs racines et juste réduire la taille de l'étoile à 0,15. Et puis je vais attacher l'effet à l'étoile et jouer. Et maintenant, l'histoire est plus raisonnable. Donc maintenant la taille est bonne et nous voulons juste faire le pillage dans la prochaine leçon. Et avant de faire une allusion, ajoutons juste un peu de mouvement à l'étoile parce que maintenant c'est un peu ennuyeux. C' est des surtensions pour étudier Star qu'il n'y a pas de mouvement que je voulais aimer de haut en bas. Tout comme si je supprime cette capture, je veux bouger comme ça. Et nous pouvons réellement le faire à travers le code. Et si vous double-cliquez sur l'étoile et qu'il va à l'intérieur du graphique de l'événement, je veux juste les supprimer et nous pouvons utiliser le début de la lecture. On peut faire quelque chose qu'on appelle la chronologie. Et quelle chronologie est. Si vous cliquez sur Ajouter une chronologie, vous pouvez l'appeler quelque chose, et je voulais juste l'appeler mouvements commencés. Quelle est la chronologie, nous pouvons faire des mouvements en douceur avec elle. Donc, par exemple, si vous avez l'étoile, dans ce cas, nous voulons faire l'étoile hoover de haut en bas. On peut utiliser une chronologie. Si, par exemple, vous avez des portes dans votre jeu et que vous voulez que la porte s'ouvre en douceur. Pour assembler une double porte pour ouvrir en douceur, vous pouvez utiliser une chronologie pour cela. Donc, tout ce qui a des mouvements lisses, vous pouvez utiliser une chronologie. Et la chronologie sur laquelle vous pouvez double-cliquer. Ensuite, vous pouvez voir ici c'est un graphique vide. Et à l'intérieur de cela, vous pouvez soit faire un graphique flottant ou une piste. Ici, dans ce cas, ils l'appellent une piste ou une piste vectorielle, une trach d'événement, une piste de collier et une piste incurvée. Donc ici, nous voulons, revenons en arrière et je vais vous montrer comment nous décidons ce qu'il faut faire. Donc la chose qu'on veut faire, c'est qu'on veut la star ici. Nous voulons qu'il change d'emplacement. On voulait aller de haut en bas. En fait, je vais tenir le contrôle, le faire sortir. Et ici, je vais traîner hors de cette étoile, puis écrire ensembles emplacement relatif. Et si vous ne savez pas comment la fonction est appelée, le moyen le plus simple pour moi depuis le début, je viens d'écrire l'emplacement. Et puis ici, vous pouvez voir toutes les fonctions avec l'emplacement et vous choisissez celle qui a du sens. Donc, ici, nous avons l'emplacement relatif défini ou un emplacement mondial défini. Et quelle est la différence entre ceux-ci ? L' emplacement relatif défini est l'emplacement où se trouve votre étoile. Et vous changez simplement l'emplacement en fonction de cet emplacement où il se trouve actuellement. Si vous faites l'ensemble bien le monde de la corde, cet emplacement, vous allez définir l'emplacement mondial de l'étoile et il ne sera plus ici. Ce sera plus facile une fois que vous arriverez à travailler avec. C' était aussi déroutant pour moi dès le début. Et certaines personnes ont, ont des problèmes avec elle. Donc, laissez-moi écrire l'emplacement et faire l'emplacement relatif défini. Donc, je veux juste changer l'emplacement légèrement. À cet endroit, il est actuellement dans. Donc, je vais le connecter à la mise à jour. Et maintenant j'ai besoin d'un nouvel emplacement. Et pour cet emplacement, vous pouvez voir qu'il s'agit d'une variable vectorielle. C' est jaune, c'est une variable vectorielle, et il faut trois chiffres. Mais ce que je peux faire ici dans la chronologie, si je double-clique dessus, je peux réellement créer une piste vectorielle Comme j'ai besoin d'un vecteur. Et à l'intérieur d'ici, vous pouvez l'appeler le graphique vectoriel quelque chose. Et ici, je voulais juste, veux appeler ça l'emplacement alpha. D' accord ? Donc maintenant, si vous compilez et enregistrez et revenez au graphique d'événements, vous pouvez voir ce que vous l'appelez,
il apparaîtra ici et il peut réellement le connecter au nouvel emplacement. Donc maintenant, nous allons réellement créer ce graphique. Donc, nous pouvons créer, c'est très facile. Vous pouvez créer trois clés différentes pour ajouter trois clés. Et ici, vous pouvez choisir la longueur de la chronologie. Combien devrait-il boucler ? Donc, je vais regarder de trois secondes. Donc ça va monter et descendre. Et c'est une boucle, c'est trois secondes. Ensuite, je vais recommencer, haut en bas et ainsi de suite. Alors trois secondes. Et ici, vous pouvez changer l'heure. Donc, le temps, nous pouvons définir le 0 et la valeur de 0. Et le dernier point, le temps est trois, donc c'est le dernier point ici. Et la valeur est également 0. Et je veux que ça soit au milieu, donc 1.5. Et la valeur que nous voulons déplacer est en fait le montant. Si je retourne ici et que je me déconnecte, c'est le montant qu'on veut déplacer ici. Donc, si je le connecte à nouveau, double-cliquez. Et ici, le montant que je veux transférer pour moi, ce qui a le mieux fonctionné pour moi était de 20, mais vous devez le tester. Peut-être que vous commencez par cinq et que vous dites, ce n'est pas trop émouvant. J' ai donc besoin de le déplacer beaucoup plus. Donc 20. Et pour voir le graphique entier, vous pouvez cliquer sur ces flèches. Ok, alors on va voir si ça marche et voir ce qui se passe. Et maintenant nous avons une petite erreur ici, mais jouons et je peux vous montrer,
vous pouvez voir que c'est en train de bouger, mais ça ne bouge pas. Il, il a déplacé légèrement, donc double-cliquez dessus, sur la timeline, nous pouvons cliquer sur boucle, Utiliser la dernière image clé. Maintenant, c'est en boucle. Mais vous avez aussi vu que le mouvement ne bougeait pas vers le haut. Ça bouge un A, B, d'une manière bizarre. Il se déplace sur le côté. Et nous ne voulons pas ça, nous voulions seulement aller vers le haut. Donc la façon dont vous feriez cela est déconnectée ici. Et ici vous pouvez m'écrire convecteur. Donc maintenant, vous avez divisé ce vecteur. Une autre façon de le faire est juste un clic droit et divise la broche frappée. Maintenant, vous avez ceci et ici vous pouvez également cliquer avec le bouton droit de la souris et diviser la broche frappée. Donc, c'est à vous de choisir. Vous pouvez le faire, cette façon ou vous pouvez faire un vecteur. Et ici, vous devez briser la conférence. Greg, un vecteur. Maintenant, c'est de la même manière qu'avant. Et ici, ce que vous pouvez faire est en fait connecté la valeur z avec la valeur z. Et cela devrait marcher. Il ne doit se déplacer que vers le haut, qui est la valeur z ou l'axe z. Compiler et cliquer sur jouer. Et vous pouvez voir ici que c'est maintenant, maintenant se déplacer de haut en bas en plein écran afin que nous puissions mieux le voir sur votre écran. Et maintenant, il se déplace de haut en bas. Donc maintenant cela fonctionne et la seule chose que nous devons faire maintenant est de le rendre chargeable. Alors passons à la leçon suivante et apprenons comment la rendre appropriée.
26. Rendre l'étoile: Laissez-nous maintenant rendre l'étoile chargeable. Donc, pour ce faire, nous avons, rappelez-vous créé cela déclenche la peur ou la sphère de collision. Et nous voulons, quand la balle frappe cette sphère, nous voulons faire quelque chose pour que nous puissions générer un événement à partir de cette sphère de collision. Et ce qu'on peut faire, c'est aller au fond. Et ici vous pouvez voir les événements. Et vous pouvez voir qu'il y a quelque chose appelé un chevauchement de début à un composant. Cliquez sur ce plus pour créer un événement à l'intérieur du graphique d'événements. Alors, que se passe-t-il si nous nous chevauchons ? Cela déclenche la peur et que nous appelons la sphère de lésion Oracle. Maintenant ce que je veux arriver, c'est tout simplement luth cette étoile. Donc, en fait, on peut dire quelque chose comme Destroy Actor. Donc, vous pouvez voir ici si je compile maintenant et cliquez sur Play et je vais et chevaucher avec l'étoile, il va détruire l'acteur. Donc c'est comme simuler le pillage. C' est ainsi que nous le faisons dans la programmation. On détruit juste l'acteur. Laisse-moi retourner à l'intérieur du plan d'étoiles. Et quand je veux faire ici, c'est que nous voulons donner au joueur une étoile pour avoir perdu ça. Donc, nous avons réellement besoin de créer une variable qui stockera la quantité d'étoiles que nous avons. Et la façon dont nous le faisons est d'aller plus loin et d'ouvrir le mode de jeu. Parce que rappelez-vous à l'intérieur du mode de jeu, nous pouvons ajouter des variables ou juste des choses qui contrôleront les règles du jeu, ou combien de score vous avez, ou combien de points vous avez et ainsi de suite. Donc, à l'intérieur du mode de jeu, nous allons seulement créer ici une variable et l'appeler étoile, étoiles. Et nous allons le changer en entier parce que c' est une valeur numérique et nous n'avons pas besoin de décimales, donc nous n'avons pas besoin de le changer en un flotteur. Juste un entier sera suffisant pour cela. La prochaine chose est à l'intérieur du mode de jeu, je veux créer un événement personnalisé afin que nous puissions ajouter l'étoile chaque fois que nous avons fait allusion ici. Donc, ce que je veux faire est juste supprimer ces événements normaux. Et ici, nous pouvons réellement écrire sur mesure. Maintenant, nous pouvons créer nos événements personnalisés. Ajoutez donc un événement personnalisé et donnez-lui un nom. Et laisse-moi juste l'appeler « Add Star ». Ok, on peut le faire comme ça. Ou nous pouvons en fait au lieu de faire un événement personnalisé comme celui-ci, nous pouvons réellement le faire via l'interface Blueprint, et c'est beaucoup mieux pour communiquer entre les Blueprints. Alors laissez-moi le supprimer et laissez-moi revenir ici à l'intérieur des interfaces. Rappelez-vous que nous avons créé int BP ball plus tôt. Je veux que vous créez une interface pour le Mode Jeu parce que je veux créer un,
un événement à l'intérieur d'ici. Donc, un clic droit à l'intérieur des Blueprints, en cliquant sur Blueprint Interface, je vais l'appeler int Game Mode. En ouvrant cette interface, nous pouvons maintenant faire une fonction, et maintenant je vais en faire un appelé add star. Donc nous voulons ajouter une étoile chaque fois que nous frappons ce chevauchement. Et avec cette étoile add, ce que vous devez savoir sur les interfaces, c'est que si vous avez une fonction sans nœuds de retour, ce sera un événement. Mais si vous, si vous cliquez sur cette sortie et que vous ajoutez une variable, tout comme nous l'avons fait ici avec notre balle bp. Si je reviens, si vous n'avez pas retourné un nœud comme celui-ci, si vous avez quelque chose dans la sortie, ce sera une fonction. Si vous n'avez pas de sortie, comme ici, si vous n'ajoutez rien ici, ce sera un événement. C' est donc très, très important de comprendre que vous ne pouvez pas avoir d'événement si vous avez une sortie ici. Alors maintenant, c'est un événement appelé cette étoile. Et vous pouvez également ajouter des entrées à cet événement. C' est tout bon, mais vous ne pouvez pas avoir de sortie. Donc, à l'intérieur du mode jeu, n'oubliez pas que nous devons ajouter l'interface Blueprint avant de pouvoir l'utiliser. Donc, en écrivant dans un mode et nous l'ajoutons, nous pouvons compiler et enregistrer. Et vous pouvez voir que c'est maintenant jaune parce que c'est un événement. Si ce n'était pas un événement, ce sera, si je retourne à la balle ici, être bleu. Si ce n'est pas un événement et c'est une fonction. Mais si c'est un événement, il sera jaune ici, ici, et je ne peux pas double-cliquer dessus et y accéder parce que c'est un événement. Alors faisons un clic droit ici et écrivez à l'étoile. Ici, il est dit événement à l'étoile. On peut faire ça. Maintenant, nous avons cette fonction Blueprint Interface, notre événement. Et vous pouvez voir ici que c'est à partir de l'interface Blueprint. C' est ce que signifie l'icône. Et ce que nous voulons simplement faire avec cela est juste faire glisser l'entier étoile. Donc, maintenez Contrôle, faites-le glisser, ou vous pouvez le faire glisser et cliquez sur Obtenir. Ainsi, la même chose. Et ici, vous pouvez dire plus, plus et cliquez dessus. Voici, il dit ajouter 1 à la valeur spécifiée, puis définissez-le. Donc on en ajoute une à cette étoile. Une autre méthode que vous auriez pu faire pour cela est juste de cliquer sur plus, en cliquant sur ajouter. Et là, vous allez en ajouter un. Par exemple, chaque fois que nous allons regarder, nous allons ajouter une étoile. Et puis vous allez le faire glisser, cliquez sur Set, et faites-le glisser ici, puis connectez tout. C' est donc la même méthode que plus. Cependant, le, le plus est beaucoup plus court à écrire, donc j'aime l'écrire. Et rappelez-vous que c'est, cela ne peut en ajouter qu'un. Donc, si vous avez besoin d'ajouter. Une valeur de deux ou plus, vous ne pouvez pas l'utiliser. Donc pour l'instant, nous ne voulons ajouter qu'une étoile, donc je vais la supprimer. C' est bien pour nous. Maintenant, nous allons ajouter une étoile. Et ce que, c'est, ce que nous voulons faire ici chaque fois que nous chevauchons avec l'étoile, nous voulons en ajouter une à cette variable entière étoiles. Donc nous allons l'augmenter d'un et il va stocker la quantité d'étoiles que nous avons chargées. Donc, ce que nous voulons faire, c'est nous rappeler que nous avons besoin d'une communication entre ces deux plans. Je suis en fait dans l'étoile, j'ai besoin d'utiliser l'information qui est à l'intérieur de ce mode de jeu. Donc ce que je peux faire, c'est écrire obtient un mode. Et maintenant c'est le mode de jeu général. Rappelez-vous que c'est la classe parent de ce mode de jeu. C' est le mode jeu. Et maintenant, je veux juste, tout comme écrire les coûts de notre mode de jeu personnalisé. Au lieu de lancer, je veux utiliser l'interface Blueprint. Donc, à l'intérieur de l'interface du mode jeu, je vais ajouter une nouvelle fonction et je vais l'appeler get Game Mode ref. Alors obtenez la référence du mode de jeu. Et ce sera une fonction, donc je vais ajouter une sortie. Et la sortie est le, Le mode de jeu auquel vous essayez de vous référer. Et c'est la balle de vitesse g m. Donc, en exécutant la balle de vitesse GM dans mon type variable et en cliquant sur la référence de l'objet. Maintenant, je peux l'appeler mode jeu. Compiler et enregistrer. Et à l'intérieur de la balle de vitesse en mode jeu, vous avez maintenant cette fonction, vous pouvez double-cliquer. Et maintenant, il se demande quelle est cette variable de mode de jeu ? Et ici, je peux voir que c'est moi. Donc, c'est en fait ce soi, ce
qui signifie que cette classe de Blueprint que vous êtes actuellement et c'est le Gemara que vous voulez utiliser. Maintenant, c'est très facile ici. Nous pouvons maintenant dire obtenir le mode de jeu. Et maintenant, il va dire quel mode de jeu vous voulez obtenir. Je veux avoir la dette. Mode de jeu ref, celui que j'ai juste la fonction que je viens de créer dans l'interface Blueprint. Et maintenant, il sait que je fais référence à ce mode de jeu parce qu'ici nous avons écrit moi. Donc, à partir d'ici, laisse-moi le connecter à ici. Et à l'intérieur d'ici, nous voulons l'utiliser lors de l'événement star. Nous allons donc appeler cet événement. Et ici, la façon dont vous appelez les événements est juste d'écrire le nom de l'événement. Donc écrire ajouter une étoile. Et ici, vous pouvez choisir ce message. Rappelez-vous qu'il s'agit d'un événement d'interface Blueprint que nous avons réalisé. Nous devons donc cliquer sur Message, celui appelé message, pas celui-ci ou celui-ci. Alors maintenant, ça va appeler cet événement. Donc, chaque fois que nous chevauchons avec cette étoile, disons que nous avons beaucoup d'étoiles dans notre niveau. Chaque fois qu'on se chevauche avec l'étoile, on va en mode jeu. Et nous organisons cet événement. Et cet événement nous donnera une étoile à cette variable. Donc, il augmentera cette variable d'une chaque fois que nous espérons chevaucher l'étoile. Donc on obtient une étoile chaque fois qu'on la chevauche. Et nous pouvons maintenant ajouter le Destroy Actor. Et nous allons réellement imprimer ceci à l'écran pour que vous puissiez réellement voir ce qui se passe. Je vais écrire des loyers, imprimer la chaîne, et je vais imprimer cette valeur. Donc vous pouvez voir qu'il augmente à chaque fois qu'on frappe l'étoile. Alors sauvegardez tout et n'oubliez pas de compiler et de sauvegarder tout. Réduire au minimum et laissez-moi cliquer sur l'étoile, maintenez Alt et faites glisser afin que je puisse le copier quelques fois. Et vous pouvez voir que je charge l'étoile. Donc, en cliquant sur Play. Maintenant, j'y vais. Vous pouvez voir qu'il est dit un en haut à gauche si je agrandis l'écran. Donc, en haut à gauche, vous pouvez voir maintenant 23456. Donc maintenant, nous chargeons réellement les étoiles et il en ajoute une à la variable étoiles chaque fois que nous commençons. C' est, c'était un moyen rapide de le faire. Et ce que je veux faire en fait dans la vidéo suivante, c'est au lieu de simplement la faire disparaître comme ça, Faisons une animation pour que l'étoile s'envole et tourne, puis disparaisse.
27. Ajouter une animation d'animation d'animation d'étoiles: Nous allons maintenant créer l'animation pour lorsque vous chargez l'étoile. Donc, quand vous regardez cette étoile, je veux commencer à bouger vers le haut et elle va aussi tourner en même temps. Alors allons de l'avant et double-cliquez sur l'étoile bP que nous avons créée. Et à l'intérieur d'ici, je veux faire un autre événement. Maintenant, nous pouvons aller de l'avant et créer une interface Blueprint et à travers cette interface pour l'étoile, faire un événement. Mais en fait, je veux juste faire un
événement personnalisé normal du client parce que c'est la seule chose que je vais faire. Donc, je ne veux pas faire une interface entière juste pour cela. Alors appelons cette étoile d'événement client a fait allusion. Et ici, nous allons faire toute l'animation. Donc pour l'instant, nous n'avons pas appelé cette animation. Alors allons-y et disons, comment on l'appelait « étoile » fait allusion ici, on peut dire « étoile ». Et maintenant, nous appelons l'événement. N' oubliez pas que vous devez appeler l'événement pour qu'il fonctionne ailleurs. Le jeu ne sait pas vraiment quand exécuter ce code. Si vous ne l'avez pas dit nulle part dans votre code, un pour exécuter cet événement. Donc, quand tu te chevaucheras avec l'étoile, on va lutter cette étoile. Nous allons donc ajouter l'étoile que nous avons ajoutée ici en mode jeu. Et nous allons diriger cet événement fait allusion à l'étoile. Alors maintenant, construisons le code à l'intérieur d'ici. Donc, ce que je voulais faire est d'ajouter une chronologie. Donc, nous allons écrire une chronologie. Et celui-là, on peut appeler des mouvements d'humeur sombre. Donc, comme ce que nous avons ici, l'étoile se déplace de haut en bas. Maintenant, nous voulons commencer à voler vers le haut quand nous avons fait allusion. Donc quand on aura frappé la star et qu'on jouera cette chronologie. Et à l'intérieur d'ici, ce que nous voulons faire, c'est que nous voulons changer l'emplacement de ce plan. Donc, quand nous aurons l'étalon de ce niveau, nous voulons, nous voulons changer l'emplacement de cette étoile bP. Donc, pour ce faire, nous pouvons simplement dire, cliquez avec le bouton droit de la souris et dire encore l'emplacement de l'acteur. Et si vous ne savez pas comment ça s'appelle, le sombre endroit juste. Et vous le trouverez. Et il est dit que vous pouvez faire défiler vers le haut et vers le bas pour le trouver si vous le voulez. Et cette lecture à travers et ici vous pouvez voir obtenir l'emplacement de l'acteur. Donc maintenant vous obtenez le, Cet emplacement des acteurs en ce moment. Et ce que nous voulons faire, c'est que nous voulons définir l'emplacement, ainsi dit l'acteur, l'emplacement relatif. Donc c'est ce que vous allez utiliser. Et maintenant, la cible pour cela est juste moi. Nous n'avons pas besoin d'ajouter une cible parce que la chose sur
laquelle nous voulons changer leur emplacement est en fait cette étoile BP. Donc ceci, c'est ce que le soi signifie. Autrement dit, cela signifie que la cible est ce plan. Donc, c'est correct. Donc, ce que nous voulons faire est de changer l'emplacement de l'actrice. Donc, changez ce Blueprint, l'emplacement des Blueprints. Alors, quel est l'emplacement ? Faisons un vecteur ici. Maintenant, nous voulons changer la valeur z, comme ce que nous avons fait ici. Nous avons changé la valeur z pour monter et descendre ici nous voulons changer la valeur z afin que l'étoile vole vers le haut. Double-cliquez sur ce mouvement de butin d'étoiles. Et à l'intérieur de cette ligne de temps, nous voulons créer un glissement vectoriel. Et à l'intérieur de ces Vector Track, appelons-ça l'emplacement alpha. Et ici, créons, passons à 2, donc deux clés, en ajoutant deux clés. Et faisons que la longueur de ceci peut être 1 seconde. On peut toujours l'essayer et voir si c'est trop. Et en cliquant sur la dernière image-clé. Maintenant, survolons et sélectionnons ces trois points. Et en passant, je dis trois points parce qu'ils sont trois points si vous passez et
vous pouvez voir ici ce sont en fait trois points parce que c'est un vecteur x, y et z.
Donc, en cliquant sur Contrôle Z, sélectionnant ces trois points, et puis je vais écrire 0 en ce moment et la tension 0 et au moment 1, qui est la dernière image-clé ici, va être, Déplaçons par deux. Fuite sur ces ajustement horizontal et vertical afin que nous puissions voir tout le graphique qui s'évacue sur la compilation. Et maintenant je pense que c'est bien. Alors, allons-y et revenons ici. Et à l'intérieur d'ici, sortons de là et nous pouvons écrire un vecteur de rupture. Maintenant. Maintenant, nous avons brisé le vecteur et nous pouvons maintenant faire quelques commentaires ici, la maladie. Alors connectons le z. et c'est ce que nous voulons contrôler. Nous voulons contrôler l'entrée Z parce que nous voulons faire l'étoile de voler vers le haut quand nous avons fait allusion. Donc c'est ce que nous essayons de faire. Et maintenant ça ne va pas marcher Legos et je vais vous montrer pourquoi. Donc, si nous avons essayé de compiler, de sauvegarder, et avant de cliquer sur Jouer, Supprimons cet Acteur Destroy car il va détruire l'acteur une fois qu'on y sera entré. On ne veut pas ça maintenant. On veut juste y aller et ensuite. Il va jouer cette animation. Alors laissez-moi compiler et cliquez sur Jouer et voir ce qui se passe. Alors maintenant, il disparaît. Et en fait, le code fonctionne. Ce n'est pas parce que ça ne marche pas. Vous pouvez voir ici, si vous regardez de près, la, l'effet de particules est en fait encore jouer. Donc, si je les supprime, les effets de particules continuent à jouer. Mais le problème est que nous ne définissons pas l'emplacement correctement. Donc c'est en fait, le code fonctionne, mais nous ne sommes pas assis correctement. Et c'est parce qu'en ce moment nous réglons les x et y à 0. Ce n'est pas vrai car nous ne voulons pas définir ces valeurs sur 0. C' est pourquoi nous devons écrire ceci. Depuis le début. On a écrit trouver l'emplacement de l'acteur. Et quel est l'acteur ? Et l'acteur est lui-même. C' est la star de la BP. Nous voulons obtenir le, l'emplacement de l'étoile qui était il est actuellement à. Et faisons un clic droit et fractionnons la broche de perturbation. Et nous voulons connecter l'emplacement actuel du x deux ici et l'emplacement actuel du fil à ici. Donc maintenant, nous avons l'emplacement actuel de l'étoile, les x et y, et nous le branchons. Et nous voulons seulement changer la valeur Z. La valeur Z. Nous voulons aussi, nous voulons la valeur Z actuelle. Et puis nous voulons juste le changer en fonction de l'endroit où la valeur z est actuellement à. Donc ici, je vais juste écrire plus pour ajouter du poids pour déplacer cela un peu plus loin. Et je vais connecter la valeur z, puis la connecter à cette valeur Z finale. Donc, nous prenons la valeur z d'origine où elle est actuellement à l'heure actuelle. Et nous ajoutons ceci à qui est actuellement à l'intérieur de la ligne de temps. C' est ce que nous regardons en ce moment. Et continuons à compiler,
enregistrer tout, et cliquez sur Jouer et voir ce qui se passe. Donc maintenant, si je vais à l'intérieur de l'étoile, elle va voler vers le haut. Donc c'est ce qui se passe et c'est en fait ce que nous voulons. Ok, maintenant il regarde, il a l'air cool, il a des notes. Et qu'est-ce qu'on veut faire maintenant ? En fait, on veut aussi tourner. Alors allons-y et faisons-le. Écrivons ensemble la rotation relative de l'acteur ici. Donc maintenant, nous allons régler la rotation aussi. Maintenant, au lieu d'obtenir l'emplacement réel, nous pouvons également écrire des gets après la rotation. Maintenant, nous avons cette rotation. Et avec cette rotation, nous voulons seulement tourner. Si nous retournons à l'intérieur de la fenêtre, nous voulons tourner le long de l'axe z. Donc on peut voir ici, on veut tourner comme ça. Nous voulons donc tourner le long de l'axe z. Et revenons à une star de VP. Alors divisons le Pentagone frappé. Et divisons celle-là aussi. Et nous voulons seulement faire tourner l'axe z, donc la rotation x et y sera la
même que la loi actuelle que la rotation actuelle de l'acteur. Mais nous voulons seulement affecter la rotation de l'axe z. Donc, la façon dont nous le faisons est aussi avec la chronologie. Nous voulons le faire tourner. Double-cliquez sur la chronologie. Et à l'intérieur de cette ligne de temps, nous devons faire un nouveau graphique. Donc ce nouveau graphique que nous allons faire, Faisons un flotteur. Et cette imparfaite, nous allons appeler la rotation alpha. Et voici, ajoutons quatre clés, mais en ajoutant 1234, ainsi de suite. Maintenant, nous avons quatre clés. Donc, la première clé que je veux être un 000, donc au temps 0 et la valeur 0. Et le dernier que je veux être, j'ai déjà testé cela avant donc je sais quelles seront les valeurs. Mais si vous aimez dès le début, quand vous essayez de faire cela, vous essayez juste des valeurs par exemple, ici vous êtes juste au moment 1. Peut-être que tu veux tourner pour être 360. Alors maintenant, ça tourne dans un sens. Il tourne à 360 degrés. Et j'ai fixé quelques valeurs ici. Laisse-moi vérifier ce qu'ils sont. Donc, au temps 0, 25, j'ai la valeur à 180. Alors ça va, laisse-moi s'adapter à cette fenêtre. Donc, au temps 0,25, il aura 180 ans, donc à mi-chemin. Et puis à la 2.5ème, il tournera 360. Alors maintenant tourné un, une fois. Et ici à, laissez-moi voir ici, Laissez-moi ajouter un de plus, un 0, 75 va tourner à nouveau. Et vous pouvez en fait un moyen cool de le faire si vous voulez le tourner 180,
encore une fois, il suffit d'écrire plus 180 et il va le calculer pour vous. Donc à un, je vais dire plus 360, juste comme ça. Et nous pouvons adapter le graphique comme ça et compiler et enregistrer. Maintenant, il va tourner comme ça. Retournons en arrière. Et c'est la rotation alpha. Nous pouvons maintenant le connecter à la rotation ici. Et nous allons cliquer sur Jouer et voir ce qui se passe. Donc si je vais à l'intérieur de l'étoile, ça va tourner vers le haut et c'est ce que nous voulons. Donc c'est plutôt cool. Maintenant, ça marche. Et maintenant, nous voulons détruire l'acteur quand il est là-haut, donc il n'est plus visible. Et la façon dont nous le faisons, prenons cet Acteur Destroy et utilisons-le ici. Quand la chronologie sera terminée, nous allons détruire l'acteur. Allons-y et nettoyons un peu parce que ça devient un peu désordonné. Alors peut-être mettre ça, mettre ça ici. Et celui-là, on peut peut-être juste traîner pour le
mettre sous tout pour ne pas gâcher la structure. Quelque chose comme ça. Maintenant. Ça a l'air beaucoup mieux et un peu moins désordonné. Donc quelque chose comme ça. Et quand c'est fini, ça va détruire l'acteur. Maintenant, un autre problème que nous avons est que l'effet
de particules apparaît toujours et que nous voulons le désactiver quand nous avons regardé. Alors voici, sortons en fait cette étoile P. C' est l'effet de particules que nous avons ajouté plus tôt. Et avec cet effet de particules, nous voulons affecter la visibilité. Et en cliquant sur cet effet de particules. Et en descendant ici, vous pouvez voir qu'on a quelque chose qui s'appelle visible. Et si nous désactivons
la visibilité, l'effet de particules disparaîtra. Si nous l'activons, l'effet de particule sera ici. Donc, nous voulons vraiment le rendre invisible. Donc, en vérifiant cela et en écrivant visible. Et vous pouvez voir ici que nous avons quelque chose appelé la visibilité définie. En cliquant dessus. Et connectons-le. Et la nouvelle visibilité n'est pas cochée, ce qui signifie qu'elle ne sera pas visible. Si nous avons coché cela, cela signifierait que les visibilités en étoile devraient être activées, mais nous allons désactiver la visibilité et ce serait que l'effet de l'article disparaîtra. Donc, en cliquant sur compiler, en cliquant sur jouer et nous pouvons le tester. Il va tourner et il va disparaître. Une fois que nous avons fait allusion à l'étoile.
28. Créer l'UI Créer Creating: Maintenant, nous sommes prêts à créer une interface utilisateur et à afficher le nombre d'étoiles que le joueur a chargé. Donc, en ce moment, lorsque nous cliquons sur Jouer et que nous nous déplacons, vous pouvez voir qu'il affiche en haut à gauche le nombre d'étoiles que nous avons appris. Mais ce n'est qu'une fonction de chaîne d'impression et ce flux d'impression, le joueur ne sera pas en mesure de voir quand vos amis ou votre famille jouent. C' est juste temporaire pour le développement. Et donc nous avons besoin de créer une interface utilisateur réelle ou une
interface utilisateur réelle pour afficher combien d'étoiles déclarent a chargé. Donc, ici à l'intérieur du dossier de l'interface utilisateur, je vais cliquer avec le bouton droit et cliquer à l'intérieur de l'interface utilisateur, regardant sur Widget Blueprint. Et je vais l'appeler WB pour Widget Blueprint comme préfixe. Et puis je vais l'appeler principal parce que c'est, c'est l'interface utilisateur principale que nous avons. Sauvons tout. Je vais double-cliquer sur ce Blueprint Widget. Et vous pouvez voir que nous sommes à l'intérieur d'un, un graphe ou un designer. Et ici, à gauche, nous avons des choses différentes. Nous pouvons ajouter, par exemple, un bouton ou une image, ou un curseur, ou quelques balises. Il y a donc quelques éléments que nous pouvons ajouter à cette interface utilisateur. Et ici, vous pouvez voir tous les éléments que vous avez ajoutés à l'interface utilisateur. Actuellement, c'est vide parce que nous n'avons rien. Et à droite, vous pouvez voir que nous avons un designer dans lequel nous sommes actuellement. Ici. Nous avons conçu l'interface utilisateur. Et à droite il y a quelque chose qui s'appelle graphe. Et à l'intérieur d'ici, cela ressemble exactement aux plans, lunettes ou Level Blueprint sur lesquels nous avons travaillé. Et à l'intérieur du graphique, vous pouvez réellement coder la fonctionnalité des boutons que vous concevez à l'intérieur d'ici. instant, on n'a pas de boutons, donc on ne peut rien faire. Et avant de concevoir l'interface utilisateur, il
vous suffit de penser à ce que vous essayez d'atteindre le maintenant, nous voulons seulement l'étoile, donc nous avons besoin d'une icône étoile. Et à côté de l'icône des étoiles, nous devons afficher le nombre d'étoiles que le joueur a chargé. Donc, nous avons déjà à l'intérieur des icônes de l'interface utilisateur, nous avons déjà importé cette icône étoile. Et si vous ne l'avez pas déjà fait, j'ai téléchargé sur le site. Ainsi, vous pouvez télécharger cette icône étoile. Et nous avons besoin de cette icône à l'intérieur d'ici et de quelques textes à côté. Donc, pour ce faire, l'icône est juste une image. Donc nous avons besoin, nous pouvons faire glisser cette image soit sur le dessus de ce concepteur et la déposer. Vous pouvez voir qu'il ajoute une déchirure au panneau de canevas. Et si j'ai supprimé à nouveau, en cliquant sur le bouton Supprimer, je peux également le faire glisser vers le bas au-dessus de ce panneau de canevas et il l'ajoutera automatiquement. Habituellement, je travaille comme ça, donc j'ai ajouté à l'intérieur d'ici. Maintenant, nous avons cette image. Et vous pouvez voir lorsque vous cliquez sur cette image, nous avons beaucoup de propriétés à droite, nous avons quelque chose appelé une ancre. Donc, ces points d'ancrage définissent où l'image sur laquelle nous avons cliqué en ce moment, où elle se trouve à l'intérieur du concepteur. Donc, par exemple, si c'est une image qui devrait être centrée sur l'écran, je devrais cliquer dessus. Et celui-ci n'est pas trop important en ce moment. Je vais l'expliquer plus tard en détail dans un autre cours. Mais ici, vous pouvez positionner, vous pouvez positionner
l' image, ou vous pouvez simplement cliquer et faire glisser. Aussi, ça marche. Vous pouvez voir la position est en train de changer, peut également changer la taille de l'image. Ici. Vous pouvez modifier l'alignement de l'image. La chose que nous devons cliquer, c'est pinceau. Donc, au lieu de pinceau, si vous cliquez sur la flèche, c'est l'apparence. Ici. Vous pouvez réellement choisir l'image que vous voulez. Donc, en fait, nous voulons l'icône de l'étoile. Vous pouvez donc cliquer et faire glisser ici et le déposer dessus. Ou vous auriez pu simplement cliquer ici et chercher une étoile et vous l'auriez trouvée. On le fait de ces deux façons. Ok, donc maintenant on peut ajuster la taille de ça. Et vous pouvez voir ici, quand j'ajuste cette taille, cette taille d'image, rien ne se passe. Et c'est parce qu'en ce moment nous faisons simplement glisser l'image sur cette toile. Et on peut changer la taille de ça ici et pas ici. Donc, cette taille d'image ne peut être modifiée ici que si elle est à l'intérieur d'autres éléments. Et je vais te montrer ce que je veux dire. Donc, fondamentalement, nous devons aussi le
mettre à l'intérieur de quelque chose et je vais vous montrer ce que je veux dire ici. Donc supprimons ceci. Et il y a quelque chose qu'on appelle une boîte horizontale et une boîte verticale. Une boîte horizontale, je peux vous montrer ce que c'est. Il dit permettre aux interrupteurs d'être disposés dans un flux horizontalement. Et c'est ce dont nous avons besoin parce que nous avons besoin d'une icône étoile et nous avons besoin de quelques textes à côté. On a donc besoin d'une boîte horizontale. Donc, en cliquant et en déposant cette boîte horizontale ici, vous pouvez voir maintenant nous avons une boîte horizontale. C' est juste un conteneur vide, mais quand nous déposons des articles à l'intérieur de cette boîte horizontale, il disposera les éléments horizontalement chaque fois que nous laissons tomber quelque chose. Et laissez-moi vous montrer. Si vous faites maintenant glisser l'image, nous devons la faire glisser au-dessus de la zone horizontale,
pas sur le paquet de canevas. Donc, au-dessus de la boîte horizontale qui le laisse tomber, vous pouvez maintenant voir qu'il est à l'intérieur de la boîte horizontale. Et si nous mettons des textes parce que nous voulons afficher combien d'étoiles vous avez pillé, laissant tomber sur la boîte horizontale. Vous pouvez voir qu'ils sont maintenant horizontalement à côté de l'autre. Donc, si vous continuez à déposer des éléments au-dessus de la boîte
horizontale, vous pouvez voir qu'ils sont ajoutés horizontalement. Maintenant, c'est ce qu'est une boîte horizontale. Très bien, rends-le plus grand comme ça. Supprimons donc tout ce texte. Nous n'en avons besoin qu'un. Et quand doit-on faire ici, c'est que nous devons ajouter l'étoile. Donc, en cliquant sur cette image ici, aller à l'apparence du pinceau. Et encore une fois, trouvons l'étoile. Cliquez sur le bouton Démarrer pour l'ajouter. Maintenant, nous avons la star. Maintenant, vous pouvez voir qu'on n'a pas une taille que l'on peut changer. Et c'est parce que cette image est maintenant à l'intérieur de cette boîte horizontale. Vous ne pouvez modifier la taille ici que si c'est le parent, l'élément parent. Donc, si vous avez des enfants à l'intérieur, tous ces enfants n'ont pas de taille ici. Peut seulement changer la taille pour les parents. D' accord ? Donc, pour les enfants, vous pouvez maintenant changer la taille ici. Donc maintenant, cela fonctionne. Par exemple, si je veux que les étoiles soient 5050, quelque chose comme ça. Et vous pouvez voir que j'ai changé de taille, mais rien ne s'est passé. Et l'un travaille, mais celui-ci ne fonctionne pas. Si bien. Laisse-moi changer le 1550. Et c'est parce que nous avons quelque chose qu'on appelle l'alignement horizontal et l'alignement vertical. Et vous pouvez voir ici, il essaie de s'étirer. Il essaie de remplir cette image horizontalement et verticalement. Et nous ne voulons pas ça, nous voulons juste, Mettons-le à l'intérieur du milieu. Donc, en cliquant sur cela et en cliquant dessus. Maintenant, c'est au milieu de cette boîte et de ce texte. Faisons la même chose. Nous ne voulons pas remplir. Mettons-le au milieu, au centre. Et pour ce texte, nous pouvons écrire. Cela n'a pas d'importance en ce moment car cela changera dynamiquement en fonction du nombre d'étoiles que vous avez chargées. Donc, écrivons 23 juste pour l'instant pour que nous puissions visualiser à quoi il ressemble réellement. D' accord ? Donc ça ressemble en ce moment. C' est l'image et ça a l'air bien. Mais ce que je veux faire ici, c'est que je veux cette étoile 2 ou je veux que ce texte soit un peu plus loin de l'étoile. Et vous pouvez voir ici, vous pouvez également cliquer sur quelque chose appelé remplissage. Donc, dans l'image ici, si vous cliquez sur l'image et nous allons réellement la renommer donc il est préférable de regarder. Donc, en cliquant sur F2 et laissez-moi l'appeler IMG pour l'image. Et laissez-moi l'appeler étoile. Et voici F2 TXT pour le texte. Et je vais dire étoile, star, c'est bon. Compiler et enregistrer. Maintenant, si vous avez aimé cette image étoile, vous pouvez cliquer sur quelque chose appelé année dans la taille, quelque chose appelé remplissage. Et cela signifie que ça va vraiment remplir. Vous pouvez voir ici si je double-clique sur la boîte horizontale, maintenant si je le fais glisser autour, vous pouvez voir, même si je le fais plus grand talon ici horizontalement, il ne bouge pas. Et j'aime que mon interface utilisateur dynamique Lee bouge. Par exemple, si vous voyez si je le fais glisser vers le bas, il se déplace correctement. Donc, selon la taille que c'est, mais ça ne marche pas de cette façon. Et j'aime que mon interface utilisateur soit entièrement dynamique ou totalement dynamique. Et pour ce faire, en cliquant sur l'étoile, vous pouvez cliquer sur le bouton appelé Remplir. Alors maintenant, c'est rempli. Et vous devez faire la même chose ici avec le, avec le texte. Donc, en cliquant sur remplir et vous pouvez voir qu'il est en fait remplir. Donc maintenant ceux-ci prennent, l'étoile prend la moitié de l'espace des bugs horizontaux, et ce texte prend l'autre moitié. Donc, ils essaient de remplir en fonction de la quantité d'espace qu'il y a. Donc maintenant, vous pouvez simplement le rapprocher. Peut-être quelque chose comme ça. Je voudrais juste ça. Et si vous voulez visualiser l'interface utilisateur serait sans toutes ces lignes pointillées, vous pouvez cliquer sur ce bouton ici. Donc maintenant, vous pouvez voir l'interface utilisateur sans toutes ces lignes pointillées. Et je pense que ça a l'air bien. Peut-être devrions-nous réduire la taille ici à 45. 45. Et ça a l'air bien. Nous avons donc maintenant ce texte. Nous avons, nous pouvons définir la police que nous voulons utiliser. Nous pouvons définir la couleur de celui-ci afin qu'il puisse changer de couleur si vous le souhaitez. Et nous allons juste, je ne sais pas, changer ça en quelque chose juste pour le plaisir. Ou peut-être quelque chose d'orangé aussi. Donc quelque chose comme ça. Et maintenant c'est le haut de l'interface utilisateur. Alors imaginez cela comme votre écran. Et vous pouvez maintenant faire glisser ceci ici sur le dessus de l'écran. Donc, en haut à gauche ici. Donc quelque chose comme ça. Et économisons, et c'est bien pour moi. Maintenant, nous avons conçu cette étoile et cela aura l'air bien. Qu' est-ce qu'on doit faire ce numéro dynamiquement ? Il doit être mis à jour en fonction du nombre d'étoiles que vous avez chargées. Donc, en cliquant dessus, il y a quelque chose qui s'appelle ici dans le texte, quelque chose appelé bind. Et cette liaison, vous pouvez créer une liaison et vous pouvez mettre
à jour dynamiquement en fonction du nombre d'étoiles que vous avez chargées. Maintenant, en cliquant sur cela, 23, ici dans le texte, vous avez quelque chose appelé bind, en cliquant dessus, créer bind. Et ici, vous pouvez voir que nous sommes maintenant à l'intérieur du graphique au lieu du concepteur. Et il a réellement créé une fonction ici, voulant cliquer sur bind. Il a créé une fonction pour nous. Et changeons le nom de la fonction parce que ça a l'air bizarre en ce moment. Cliquez sur F2 et disons Obtenir les montants des étoiles. Donc c'est ce qu'il va obtenir pour nous. Alors compilez et enregistrez. Donc maintenant je dois coder quelque chose à l'intérieur de cela et c'est très facile. Souviens-toi, on a codé ça. Laissez-moi revenir au mode jeu. A l'intérieur du mode jeu, nous avons fait cette variable de démarrage, qui stocke en fait le nombre d'étoiles que nous avons et nous avons besoin d'accéder à cette variable. Maintenant encore une fois, nous devons faire communications Blueprint parce que nous avons besoin de
quelque chose du mode jeu et du mode jeu. Nous avons déjà créé la robe ghetto Gamow. Rappelez-vous dans l'interface utilisateur que nous avons créé ceci. Maintenant, nous pouvons obtenir la référence pour ce mode de jeu. Et encore une fois, la façon de le faire est de regarder la classe parent. Donc, nous ajoutons le mode jeu get. Et maintenant, il va demander quel jeu ou voulez-vous, pour demander ? Et je veux mon souffle get Game Mode parce que je l'ai fait dans mon interface utilisateur. Donc écrire bon mode de jeu ref, et c'est un message parce que c'est une fonction d'interface utilisateur. Et maintenant, quand je me connecte, je peux accéder à tout ce qui se trouve dans mon mode de jeu. Je veux accéder à la variable étoiles. Donc, en traînant ici et en écrivant étoile, et vous pouvez voir ici obtenir des étoiles, nous pouvons maintenant obtenir cette variable. Et maintenant cette variable, nous pouvons maintenant brancher dans ce texte. Et cela va dire, vous essayez de brancher une variable entière à l'intérieur d'une variable de texte, je vais convertir l'entier en texte avant de pouvoir le faire. Et c'est ce qu'il fait. Il dit au texte, et c'est la valeur de retour. Donc c'est faire votre numéro à un texte, puis le connecter. Maintenant, connectons la dernière chose ici. Donc maintenant, ça va vraiment marcher. Il va se mettre à jour automatiquement. C' est très facile. Eh bien, économisons. Et c'est la seule chose que nous ayons à voir avec l'interface utilisateur. Nous voulions juste une interface utilisateur très simple qui affichera le nombre d'étoiles que nous avons. Et il s'affiche désormais automatiquement ou dynamiquement. Si vous allez au graphique, vous avez maintenant cette fonction. Ne soyez pas confus. Si vous êtes dans le graphique d'événements et que vous voyez qu'il est vide. C' est parce que vous l'avez fait à l'intérieur de votre fonction. Donc, commencez montant si vous double-cliquez dessus et l'ouvrez, vous avez votre code à l'intérieur d'ici. Passons donc à la leçon suivante.
29. Affichage de l'UI: Maintenant, nous avons créé l'interface utilisateur pour l'étoile, sorte qu'il double affichage combien d'étoiles le joueur a fait allusion. Mais nous devons l'ajouter à la fenêtre d'affichage. Donc, pour l'instant,
nous ne pouvons pas voir l'interface utilisateur que nous venons de créer dans la dernière leçon. Alors allons de l'avant et de l'afficher pour le joueur, et c'est très facile. Alors passons aux plans. Et j'aime faire mon interface utilisateur à l'intérieur de la manette du joueur. Certaines personnes aiment le faire en mode jeu, et cela dépend du type de programmeur que vous êtes, ce que vous voulez faire et de ce que vous êtes habitué à faire. Donc j'aime le faire à travers le contrôle de la plaque. Je pense que c'est plus facile. Donc ici, cliquez avec le bouton droit de la souris et faire l'événement de début de jeu. Et je veux afficher l'interface utilisateur dès que la planète ou que le jeu commence à jouer. Donc, ici dans l'événement start play, je veux faire glisser et faire quelque chose appelé crée des widgets. Et vous pouvez voir ici, nous avons quelque chose appelé créer widget. Si vous cliquez dessus. Maintenant, vous pouvez sélectionner le widget que vous voulez créer. Et ici, je veux sélectionner mon w, Le principal, c'est l'interface utilisateur que nous avons créé et le joueur propriétaire est le joueur qui possède le widget. Et cela signifie que nous devons faire une référence pour obtenir le contrôleur de flare. Et la bonne chose à ce sujet est que vous deviez le faire comme ça si vous êtes en mode jeu. Mais en ce moment, nous le codons à l'intérieur du contrôleur du joueur. Donc, de cette façon, nous n'avons pas vraiment besoin d'un contrôleur noir parce que nous sommes déjà à l'intérieur du contrôleur plebs. C' est pourquoi j'aime le faire et le faire ici. Donc je n'ai pas besoin d'écrire ça ici. Ok, donc maintenant nous avons créé cette interface utilisateur. Mais avant de pouvoir le voir, nous devons aussi l'afficher. Donc, ce sont deux choses distinctes. Vous avez créé l'interface utilisateur, puis vous écrivez Ajouter à la clôture, en l'ajoutant à l'écran. Donc, vous créez l'interface utilisateur, puis vous l'ajoutez à l'écran. C' est donc très simple. C' était tout ce qu'on avait à faire. Donc, en cliquant sur jouer et voir, maintenant compter et il fonctionne. C' est très cool. Supprimons la chaîne d'impression. Je peux voir que ça compte deux fois parce qu'on a aussi une chaîne d'impression. Et laissez-moi voir, ou ce n'était pas un mode de jeu, je crois. Alors. A l'intérieur du mode jeu, nous avons cette chaîne d'impression moins maintenant supprimée. Nous l'affichons maintenant. Et nous avons aussi quelque chose à voir bonjour chaque fois que nous, chaque fois que nous avons commencé le jeu et je pense que c'est dans le bol. Je ne me souviens pas où on a fait cette chaîne d'impression. Ok, donc maintenant je ne peux pas le trouver de la façon la plus rapide. Si vous avez beaucoup de code, peut-être que vous devez trouver quelque chose comme ça dans un jeu plus grand. De cette façon, vous pouvez le faire est de cliquer sur undefined. Et puis vous écrivez une chaîne d'impression parce que c'est ce qu'il fait. C' est dire bonjour chaque fois qu'on commence la partie. Donc, imprimer la chaîne, je cherche la chaîne d'empreinte, mais en ce moment, c'est seulement chercher à l'intérieur de ce Blueprint. Vous devez donc cliquer ici sur ce bouton. Et maintenant, il va afficher tous les endroits. Il est écrit chaîne d'impression. Et vous devez regarder les titres. Et c'est là. C' est notre, notre plan que nous avons fait à l'intérieur de la carte, cartes des gens. Maintenant, c'est en fait les plans de niveau, donc double-cliquez dessus, vous pouvez voir que nous avons ici, c'est
ce que nous avons fait avant dans la leçon précédente. Supprimons ceci et je voudrai aussi le faire. Et je veux aussi supprimer tous ces éléments en fait parce que nous ne les utilisons pas. Juste comme ça, compiler, sauver tout. Et il fonctionne maintenant comme il est censé le faire, et ça compte.
30. Actor a un tag: Avant de continuer, je veux vous montrer qu'un nœud appelé acteur a marqué. Et allons de l'avant et à l'intérieur de l'étoile bP, eh bien, double-cliquant dessus. Et ici, nous avons la logique pour quand nous
chevauchons avec les déclencheurs peur ou avec la sphère de collision. Laissez-moi bouger un peu. Quand nous entrons en collision avec cette sphère de collision que nous avons ici, nous faisons des trucs. Alors, peu importe ce que vous aviez des MPC ou des ennemis, l' IA
ennemie à l'intérieur de votre jeu et ils entrent en collision avec cette sphère. Cela déclenchera réellement le code. Et tu ne veux pas ça. Vous voulez seulement que le joueur déclenche ce code. Tu ne veux pas que ton IA le fasse. Deux. Par erreur, entrer à l'intérieur de l'étoile et l'étoile sera effectivement pillée même si ce n'est pas vous le chargez. Et pour éviter cela, nous pouvons utiliser quelque chose appelé l'acteur a tag. Alors passons ça sur le côté un peu. Et voici l'acteur. L' autre acteur est l'acteur qui chevauche cette étoile. Donc maintenant ce que nous pouvons faire glisser hors d'ici, acteur
Android a tag. Et nous pouvons utiliser cette fonction. Et maintenant, vous pouvez écrire à quel sagen le joueur a. Donc cela, nous pouvons réellement éditer si nous allons à l'intérieur de BP ball. Donc double-cliquez sur cette classe de Blueprint. C' est la balle qu'on a faite à l'intérieur d'ici. Vous pouvez en fait, dans les valeurs par défaut de la classe, vous pouvez rechercher des balises. Et vous pouvez affecter des balises à cet acteur À cliquer sur ce bouton plus, nous pouvons ajouter une balise à cette balle BP. Et je veux ajouter une balise appelée player. Tellement convaincante et économisante. Donc maintenant à l'intérieur de l'étoile bP ici vous pouvez écrire un joueur à l'intérieur de cette balise. Donc maintenant vous dites que si le tag est joueur de l'acteur a le joueur de tag, alors vous pouvez interagir. Donc, faites glisser hors d'ici et cliquez sur B pour créer une branche. Parce que maintenant,
c' est demander si quelque chose est vrai ou non. Donc c'est un booléen. Rappelez-vous si nous créons une variable et que le booléen est rouge, donc c'est un booléen. Et qu'était un booléen, est-ce une valeur qui est soit vraie ou fausse ? Donc, si vous êtes traîné hors de ce booléen et écrivez B, vous avez quelque chose appelé une branche. Et la branche n'est qu'une condition. Il est le calcul, sont de voir si cette condition est vraie ou non. Donc je vais le connecter. Et maintenant vous demandez, vérifiez ceci, vérifiez cet autre acteur qui vient de se chevaucher et l'étoile, par
exemple, si l'ambassade ou si c'est le Blair. Et vérifiez si l'acteur a le joueur de technologie et nous venons d'ajouter le joueur de tag à notre ballon de bp. Maintenant, maintenant, ça dit, c'est vrai ? Est-ce que cette étiquette, ou est-ce que cet acteur a le joueur de technologie ? C' est ce que fait la branche. Il dit, si c'est vrai et allez-y et exécutez le code. Si c'est faux, alors ne faites rien. Donc on n'a rien à relier ici. Donc, avec le MPC, MPC marche maintenant à l'intérieur de l'étoile. Rien ne se passera parce que le MPC n'a pas la, le joueur de tag sur elle. Et pour l'instant, nous n'avons pas d'ambassades ou d'ennemis, car c'est juste en théorie. Mais si vous avez un jeu avec IA, ils ne peuvent pas chevaucher l'étoile maintenant déchargée, vous ne pouvez le faire que parce que vous avez le joueur de tag sur vos utilisateurs de flux. Maintenant, nous nous assurons que seul le joueur peut mener à l'étoile.
31. Créer des points de contrôle: Maintenant, nous sommes prêts à créer des points de contrôle. Et après avoir créé les points de contrôle, nous pouvons alors créer les portails qui nous mèneront aux niveaux suivants. Mais d'abord, nous devons vérifier pour produire quelques points de contrôle que nous allons sauter des différents niveaux. Alors allons de l'avant et travaillons sur les points de contrôle. Tout d'abord, nous voulons que le Gamow contrôle les points de contrôle parce que cela a le plus de sens. Il contrôle les règles du jeu. Donc, créons quelques variables pour les points de contrôle. Maintenant, d'abord, vous avez, avant de faire une variable, vous devez penser à ce que sont des points de contrôle. Et ce ne sont que des emplacements sur la carte et des emplacements. Rappelez-vous, l'emplacement est le vecteur que nous avons utilisé auparavant. Tout comme si vous définissez un emplacement d'acteur, vous devrez utiliser un vecteur. Et dans ce cas, nous pouvons également faire une variable vectorielle. Alors allons de l'avant et faisons une variable, et appelons-ça les points de contrôle actuels. Maintenant, c'est le point de contrôle actuel. Mais nous avons aussi vu, faisons-en un vecteur. Mais nous devons aussi faire une autre variable, et cette variable contiendra tous les points de contrôle que nous avons. Nous avons donc deux variables différentes, une pour le point de contrôle actuel auquel nous sommes actuellement, et l'autre qui contient tous nos points de contrôle dans le jeu. Donc, créons une autre variable, et appelons celui-ci points de contrôle. Oh, celui-ci contient tous les points de contrôle. Et pour celui-ci, je vais utiliser une carte. Donc ici, jusqu'à présent, nous avons créé des variables normales et normales. Donc juste la création de la variable. Mais ici, à droite, vous pouvez cliquer sur ce petit bouton et vous pouvez réellement changer cette variable normale à autre chose. Et dans ce cas, nous allons utiliser une carte et je vais vous expliquer ce qu'est une carte. Donc, si vous cliquez sur la carte, donc une carte est deux variables différentes dans une variable. Nous avons donc 22 variables. Donc, voici, commençons par le changer en une variable de chaîne. Donc, une chaîne rappelez-vous, est juste un texte. Et l'autre, nous voulons changer en vecteur. Ok, alors qu'est-ce qu'une variable ? Laissez-moi le faire glisser et vous montrer, par
exemple, que je peux le faire glisser ici. C' est à ça que ça ressemble, et c'est à quoi ressemble un vecteur normal. Donc maintenant ce que nous avons une carte, et vous pouvez voir l'icône devient comme ça quand c'est une carte. Et la broche devient comme ça si c'est une variable normale. Donc, si je clique sur Compiler et enregistrer, vous pouvez voir ici nous pouvons ajouter une valeur par défaut. Donc, si je clique sur le plus, tu n'as pas à suivre maintenant, je veux juste te montrer. Donc, si vous cliquez sur le bouton plus, et ici nous avons la variable de chaîne, et ici à côté, nous avons la variable vectorielle. Donc, par exemple, si j'écris premier point de contrôle et que c'est le premier point de contrôle et la sortie plus encore, je peux ajouter autre chose, et je peux ajouter quelque chose d'autre ici et ainsi de suite. Donc, c'est très cool parce que vous pouvez utiliser cette information. Donc, par exemple, je veux obtenir des informations du premier point de contrôle. Et quand je le ferai,
ça me donnera cette information, le vecteur. Alors allons de l'avant et travaillons avec. Donc c'est comme une carte. Vous voulez, vous voulez accéder à cette information, qui est cette chaîne. Tu racontes le jeu. Allez-y et passez à la chaîne appelée premier point de contrôle. Et puis il connaît le premier point de contrôle en fait comme cet emplacement et le deuxième point de contrôle a cet emplacement et ainsi de suite. Nous allons donc essayer de créer des points de contrôle comme celui-ci. Et je pense que tu comprendras mieux si on commence à travailler avec ça. Laissez-moi donc supprimer tous ces éléments et n'avoir rien parce que nous voulons les ajouter plus tard. Alors laissez-moi le supprimer. Et je veux travailler avec mes points de contrôle. Je veux les créer à l'intérieur du Blueprint de niveau. Donc, aller à l'intérieur des plans et ouvrir le Blueprint de niveau. Donc, à l'intérieur d'ici, je veux faire mes points de contrôle. Et la raison pour laquelle je veux les faire à l'intérieur d'ici est parce que maintenant je peux placer ces joueurs commence. Laisse-moi en placer un ici et laisse-moi tenir Alt et faire glisser pour le copier. Alors maintenant, c'est le deuxième. Et encore une fois, laissez-moi tenir Alt et faites-le glisser pour copier. Et laissez-moi placer le troisième à l'intérieur d'ici. Donc, si je clique sur le World Outliner, j'ai maintenant. Commençons 123 et laissez-moi les renommer. On va l'appeler PS4. Le joueur recommence, 0, 1, et le second 102, et le troisième 003. Maintenant, j'ai trois démarrages de joueur. Donc ces trois joueurs commencent ce que je peux faire maintenant à l'intérieur des Blueprints de niveau. Vous pouvez en fait, si je le fais un peu plus petit, je peux effectivement cliquer sur l'un des
démarrages du joueur et cliquer avec le bouton droit ici et créer une référence à ce joueur démarre. Vous ne pouvez pas le faire à l'intérieur des classes de Blueprints, vous ne pouvez le faire qu'à l'intérieur d'un Blueprint de niveau. Donc, en cliquant sur le second, je crée une référence ici. Et le troisième et la création d'une référence. Maintenant, nous avons une référence à tous ces joueurs démarrent. Qu' est-ce que nous voulons faire, c'est que nous voulons obtenir l'emplacement de ces statistiques de joueur. Donc, glisser et écrire obtient l'emplacement de l'acteur. Parce que nous voulons définir le point de contrôle à cet emplacement. Ce sont des annonces actuellement. Donc, je vais copier ceci et connecté quelques fois. Ok, maintenant nous avons trouvé l'emplacement réel et nous pouvons maintenant faire quelque chose avec la dislocation. Donc, en ce moment, je veux accéder à la variable ici que j'ai fait appelé checkpoint à l'intérieur du mode jeu. Alors allons de l'avant et disons git Game Mode et obtenez le jeu MoGraph, qui est la fonction Blueprint Interface que nous avons créée. Et ici, comme le mode de jeu, nous voulons obtenir la variable appelée checkpoint. Alors je l'ai juste compris. Et puis nous avons d'autres fonctions. Donc, à l'intérieur de, si vous déplacez vers le bas les utilitaires et à l'intérieur de la carte, vous pouvez voir que cette variable a beaucoup de fonctions que nous pouvons utiliser. On peut y ajouter des trucs. Nous pouvons effacer toute la variable afin de la rendre vide. Et nous pouvons trouver des objets à l'intérieur. Nous pouvons demander s'il est vide ou non, et nous pouvons le faire avec cette information. Nous avons donc beaucoup de fonctions que nous pouvons réellement utiliser. Donc, nous allons cliquer sur Ajouter parce que nous voulons y ajouter quelques informations. Donc, ici, nous ajoutons, connectons-le. Maintenant, nous devons ajouter quelques informations. Et l'information que nous devons ajouter est en fait ceci, ceci, ces points de contrôle que nous avons un fardeau parce que nous
voulons ajouter tous les points de contrôle à l'intérieur de cette variable. Donc, ici, dans le texte, vous choisissez ce que vous voulez écrire ici. Donc, par exemple, je l'appelle premier point de contrôle. Et c'est demander quel est l'emplacement que vous voulez ajouter. L' emplacement est en fait ce joueur commence. Nous avons l'emplacement de cette couche commence, donc il sait qu'elle est là maintenant. Et cela, nous voulons nous connecter à cette variable. Donc maintenant, nous avons ajouté l'emplacement de ceci, et nous pouvons toujours trouver cet emplacement en utilisant la première chaîne de point de contrôle. Donc c'est une carte. C' est comme ça que je l'utilise. Nous avons une chaîne et nous pouvons trouver l'emplacement pour elle. Alors faisons-le encore quelques fois. Essayons d'ajouter. Et ici, nous pouvons le connecter. On peut appeler ça le deuxième point de contrôle. Et nous pouvons connecter le deuxième point de contrôle. Et ajoutons le troisième point de contrôle. Et on peut le connecter. Nous avons donc ajouté tous ces trois points de contrôle. Et maintenant, cette variable de carte, comme vous l'avez vu avant ici. Lorsque nous avons ajouté des choses, maintenant nous avons un premier point de contrôle, un deuxième, un troisième, et il connaît le, le vecteur ou l'emplacement de ces points de contrôle parce que nous avons ajouté l'emplacement réel à lui. Et maintenant qu'est-ce qu'on les utilise dans notre jeu ? On peut l'appeler en disant, je veux, je veux faire passer la balle au premier point de consigne, alors il sait quel emplacement vous avez ajouté. Donc, c'est comme ça que ça marche. Et compilons et sauvegardons. Et ici, nous voulons à la balle au premier endroit. Donc ici, j'avais commencé à jouer. Nous avons en fait quelque chose appelé un nœud de séquence. Donc faire glisser et écrire la séquence. Et la séquence est juste utilisée pour nettoyer le code. C' est donc une fonction de flux, elle s'appelle une fonction de flux. Et il est utilisé pour nettoyer le code. Donc, nous n'avons pas besoin d'écrire tout notre code en une seule ligne et il devient gros et désordonné. Alors une bonne chose à faire est comme le diviser en plusieurs morceaux. Donc, par exemple, ici, pour ce mode de jeu, je veux réellement faire une variable. Laissez-moi cliquer sur x et,
et faites-le glisser ici. Laisse-moi le connecter ici. Et ce que je peux faire avec ce mode de jeu ici, au lieu de simplement appeler cela à chaque fois, je peux cliquer avec le bouton droit de la souris et dire favorise une variable. Et je peux appeler ça mode jeu. Donc maintenant nous avons cette variable du mode de jeu que nous avons. Et au lieu de l'appeler tout le temps, je peux maintenant simplement faire glisser cette variable de mode de jeu en regardant sur obtient. Et maintenant, je peux juste le connecter directement au point de contrôle. Alors maintenant, quand nous obtenons cette variable de mode de jeu et que nous écrivons , par
exemple, nous voulons obtenir ce point de contrôle actuel. On peut voir les points de contrôle actuels obtenir le point de contrôle vert. Donc c'est beaucoup plus propre. Au lieu de l'appeler tout le temps. Donc, si vous devez utiliser le Mode Jeu plusieurs fois à l'intérieur de votre Blueprint, allez-y et faites-en une variable. Si vous ne le faites qu'une seule fois, vous n'avez pas vraiment besoin de faire une variable. Donc maintenant nous en avons fait une variable, et connectons-la ici. Donc, ce nœud de séquence dit, tout d'abord, il va aller de l'avant et exécuter cette broche. Donc, il va de l'avant et créer cette variable. Et puis il va exécuter ce code. Et si on ajoute quelque chose de troisième, ça va le faire. C' est donc un moyen de briser le code et de le rendre plus propre. Eh bien, laissez-nous mettre ça ici. Et traînons ça. Je vais, je vais passer en revue tous ces, sélectionner tous ceux-ci et appuyer sur Q. Cela va droit. Maintenant, la ligne ici, nous allons les faire glisser vers le haut, double-cliquer dessus. Vous créez donc un nœud de réacheminement. Et je vais le déconnecter en maintenant Alt et en cliquant. Et je vais faire glisser de cela et le connecter, double-cliquez pour faire un nœud de réacheminement et en sélectionnant tous en appuyant sur Q. Donc maintenant, il semble beaucoup plus propre et nous comprenons ce qui est réellement écrit ici. Donc la dernière chose que je veux faire est de frayer la balle au premier point de contrôle. Donc maintenant on peut traîner d'ici. Et maintenant on peut dire qu'on a besoin de la référence de la balle. Je ne pense pas qu'on ait une référence de balle ici. Oui. Donc ici, nous pouvons dire que ça devient plus léger parce que rappelez-vous, notre bol est de la pornographie de classe que nous avons faite. Et ici, nous pouvons dire obtient porno ou obtenir balle Terre, parce que nous avons déjà fait. Si vous ne vous souvenez pas, la balle est gagnée cours pion. Et nous avons déjà fait une fonction d'interface appelée get ball rife. Ils auront la référence de la balle. Maintenant, on peut accéder à n'importe quoi à l'intérieur de ce ballon EP. Et l'autre chose que nous voulons accéder, c'est ce maillage de balle. L' écriture obtient tout. Et nous pouvons utiliser cette variable appelée balle. Et nous voulons définir l'emplacement du monde. Donc, nous voulons définir l'emplacement de la balle au premier point de contrôle. Et maintenant, nous devons utiliser cet emplacement. Donc, la façon dont nous faisons ceci est d'obtenir le mode de jeu. Nous obtenons notre variable de point de contrôle. Et rappelez-vous que nous avons assigné le premier point de contrôle ici. Nous avons donc cette information maintenant. Donc maintenant, nous pouvons utiliser à l'intérieur des utilitaires, vous pouvez voir quelque chose appelé Find. Et maintenant, nous pouvons utiliser la fonction de recherche et nous pouvons trouver les points de contrôle d'éclatement. Donc maintenant, il va obtenir l'emplacement. C' est le vecteur, c'est l'emplacement du premier point de contrôle. Maintenant, c'est correct et nous devons nous connecter. Ça va comme ça. Donc maintenant, nous avons, nous définissons le mode de jeu. Nous assignons les points de contrôle. Et ici, dans le troisième, nous répondons au ballon au premier point de contrôle. Compilons et sauvegardons. La dernière chose que nous voulons faire avant de terminer, c'est que nous voulons
réellement définir quel est le point de contrôle actuel. Et le point de contrôle actuel n'est que le premier point de contrôle. Pour qu'on puisse aller de l'avant et écrire. Nous pouvons obtenir le mode de jeu, mais la façon la plus simple de le faire est juste d'obtenir ce premier joueur commence. Et puis on peut dire, et juste l'ajouter ici et dire, maintenant j'ai oublié ce que je voulais faire. Oui, je voulais assigner le point de contrôle actuel. Désolé. Et allons chercher ce point de contrôle actuel. Nous avons déjà le mode de jeu. Alors faisons glisser le mode de jeu. Et faisons glisser et disons le point de contrôle actuel. Et nous voulons définir les points de contrôle actuels. Donc, en cliquant sur set, et nous voulons le définir à cet emplacement actuel actuel pour le premier joueur de liaison commence que nous avons sur la carte. Donc, en le connectant et cela sera assigné aussi. Donc celui-ci est, nous allons l'utiliser un peu plus tard. Cela n'a pas de sens pour l'instant de l'assigner, mais nous l'avons assigné maintenant et nous allons en fait l'utiliser plus tard, donc cela a du sens pour vous. Donc c'était tout pour les points de contrôle et allons de l'avant et créons les portails.
32. Créer le portail: Maintenant que nous avons créé les points de contrôle, nous pouvons aller de l'avant et créer les nids de poule, puis y ajouter les points de contrôle. Alors allons de l'avant et créons les portails qui nous téléporteront au niveau suivant. Et ici, nous pouvons cliquer avec le bouton droit de la souris et choisir Blueprint Class et cliquer sur acteur. Et vous pouvez créer un portail appelé BB. Et double-cliquez sur ce portail BP. Et à l'intérieur d'ici, vous pouvez cliquer sur Ajouter pour les composants. Ajoutons un cylindre. Mais une fois que vous pouvez réellement ajouter ceci directement est cette bague. Donc, si je retourne aux mailles de chevaux du pack de démarrage super grille, ici nous avons quelque chose appelé la super grille Hering. Donc, utilisons-le comme portail. Laisse-moi revenir aux plans, ouvrir mon portail. Je peux chercher. Ajoutons un maillage statique. Pour ajouter un maillage statique. Et appelons ça le portail. Et ici, nous pouvons chercher le groupe sukha. Ça s'appelle Ring, ouais, super grille ressentie, celui-là. Maintenant, nous avons ce portail ici. Pour ce module, je veux ajouter quelques sortes d'une bouteille à la recherche de quelque chose au milieu. Je vais donc ajouter un avion. Donc en utilisant cet avion, et je vais l'appeler, et on peut juste l'appeler avion. Ça n'a pas d'importance en ce moment. Et permettez-moi de cliquer sur l'outil d'art, faire tourner comme ça, et de le mettre à l'échelle comme ça, donc il couvre et laissez-moi le déplacer un peu ici. Et laissez-moi revenir aux instances matérielles de niveau tutoriel super grilles. Et nous pouvons utiliser un matériel d'ici. Donc, si j'ouvre ma bouteille, je peux faire glisser une instance matérielle au-dessus de cela. Donc, vous pouvez voir, peut réellement faire une chose de portail à la recherche ici. Ça a l'air plutôt cool. Maintenant, je veux aussi faire ce noir au lieu de bleu. Maintenant, si je clique sur la loupe pour ce matériel, vais m'emmener à ce matériel, je peux faire glisser ce noir sur le dessus. Oups, pas ici, en haut d'ici. Et maintenant, nous avons cette bouteille noire peut compiler et sauver. La dernière chose que nous voulons ajouter est en fait une boîte de collision parce que nous voulons interagir avec ce portail. Donc, en cliquant sur Ajouter et en cherchant la collision. Et vous pouvez voir une boîte de collision appelée. Donc trig en cliquant dessus et je vais l'appeler déclencher des dollars. Donc, cette boîte, on peut vraiment déménager ici. Et vous pouvez tracer la taille de celui-ci ici. Juste pour couvrir tout le portail comme ça et la taille de celui-ci. Et le rendre plus petit. Quelque chose comme ça. Je peux le faire glisser d'avant en arrière pour voir comment c'est. Je pense que ça a l'air bien. Donc maintenant, il couvre tout le portail. Et nous allons cliquer sur Enregistrer et compiler. Nous pouvons faire maintenant avec les taches ou perdre. En fait, allez-y et placez-le dans le niveau. Donc, je vais activer mon accrochage de grille. Et je vais à mon dossier
Blueprints et faire glisser ce colis et le placer ici. On va le déplacer comme ça, donc ça touche à peine le sol comme ça. Et maintenant, je peux utiliser ceci comme portail. Je vais le déplacer en arrière, réduire l'accrochage à 10. Juste comme ça. Maintenant, nous avons une particule et laissez-moi le faire ici. Laisse-moi augmenter la vitesse de la caméra. Et c'est par ici. Et c'est le dernier portail que nous avons touché. Je peux le déplacer au milieu, au-dessus du sol et ici sur le dessus. Juste comme ça. Maintenant, nous avons deux portails. Alors, allons-y et revenons au portail BP. Et maintenant, nous voulons faire quelque chose avec ces dollars de déclenchement. Donc, en cliquant sur ce déclencheur dollars et en revenant au bas, nous pouvons cliquer sur le chevauchement de début de l'ONU. Que se passe-t-il lorsque vous chevauchez cette case Trigger ? Tout d'abord, comme avant, dans l'autre acteur. Nous pouvons écrire acteur a tag pour nous assurer que c'est le joueur qui déclenche cet événement. Alors rappelez-vous que nous avons utilisé, nous avons écrit le joueur de technologie dans l'intérieur de notre bol RBP et la leçon précédente. Et ici, nous pouvons faire une branche, donc la branche d'écriture. Donc maintenant, il va dire, est-ce que le joueur a l'acteur ou est-ce que l'acteur a le tag player ? Si c'est vrai, alors allez-y et faites quelque chose. Si ce n'est pas vrai, alors ne faites rien. Donc, ici ce que nous voulons faire, nous voulons vraiment définir l'emplacement de notre balle parce que nous voulons téléporter au niveau suivant. On a donc besoin d'une référence au bol. Donc ici, nous pouvons dire qu'il est couche sur et obtenir balle ref. Bien sûr, il y a une fonction Blueprint Interface. Et ici, nous pouvons obtenir la variable de balle. Maintenant, c'est le maillage statique. Et pour celui-ci, nous voulons définir l'emplacement du monde afin de le téléporter. Nous voulons le téléporter d'ici au début. Nous allons donc définir l'emplacement mondial de celui-ci. Tellement triste, emplacement mondial. Maintenant, il me demande, à quel endroit je vais le mettre ? La dislocation est en fait le retour dans les Blueprints de niveau, les emplacements en fait ces points de contrôle que nous avons assignés dans la leçon précédente, le premier segment, le deuxième, le troisième. Donc, nous pouvons aller de l'avant et obtenir la référence
au mode jeu parce que c'est là que nous avons fait la variable. Donc écrire obtient le mode jeu et obtenir la référence Demode. Maintenant, nous avons le mode jeu. Et à l'intérieur du mode de jeu, nous voulons accéder aux points de contrôle. Celle-ci, nous voulons téléporter Doppler au prochain point de contrôle. Et ici, nous pouvons dire trouver, parce que nous voulons trouver le point de contrôle. Et ici, l'encodage quand nous enveloppons quelque chose, nous voulons faire autant de dynamiques que possible afin que nous n'ayons pas, par
exemple ici, laissez-moi vous montrer si je me connecte, je les connecte. Donc, ici par exemple, je peux dire trouver le premier point de contrôle, et puis je peux toujours le connecter et ainsi de suite. Mais que faire si ce portail n'est pas le premier point de contrôle, alors nous devons faire un autre chevauchement ou le deuxième portail et dire, aller de l'avant et trouver le deuxième point de contrôle et ainsi de suite. Comment savez-vous que c'est le premier point de contrôle ou le second ou le troisième ou le 40e, ou combien de niveaux vous avez fait. On n'a pas à faire de dynamique. Il sait donc que celui-ci est le premier, par
exemple, ou le second et ainsi de suite. Donc, la façon dont nous faisons cela est à l'intérieur du portail BP ici. Nous pouvons faire une variable et nous pouvons faire, nous pouvons l'appeler et ensuite nommer cette variable. Nous voulons le changer en une chaîne, donc c'est juste un texte. Compiler et enregistrer. Pour celui-ci, nous allons cliquer et cliquer sur instance
modifiable et exposer sur la colonne vertébrale, Compiler et enregistrer. Et ce que cela va faire, c'est qu'il va générer la variable afin que nous puissions l'éditer à l'intérieur du niveau. Donc, si vous cliquez sur ce portail, vous pouvez maintenant voir que nous avons maintenant exposé cette variable. Lorsque nous avons cliqué sur instance modifiable et exposition et spawn, nous avons maintenant exposé cette variable de nom que nous avons faite, qui est une chaîne. On peut écrire un texte. Nous l'avons exposé afin que nous puissions réellement l'éditer ici dans le panneau Détails. Donc c'est ce que vous pouvez faire. Vous pouvez faire toutes sortes de variables, même si c'est un booléen et vous pouvez le rendre exposé sur spawn. Et vous pouvez voir ce booléen apparaît maintenant. C' est donc très utile si les programmeurs le font aussi pour les artistes. Ils peuvent donc travailler sans entrer dans les plans s'ils n'ont aucune idée de ce que sont les plans. Donc maintenant, nous avons exposé cette variable de nom. Et ce que nous pouvons faire ici maintenant, nous pouvons rendre le portail si unique. Donc, nous voulons aller au deuxième point de contrôle. Ça peut point de contrôle. Donc, quand nous entrons ici, nous voulons aller au deuxième point de contrôle. Et pour celui-ci, c'est le dernier. Nous voulons aller au troisième point de contrôle. Donc maintenant à l'intérieur du portail BP, nous pouvons maintenant dire trouver. Et puis au lieu de l'écrire statiquement, nous pouvons faire une dynamique. Donc, nous pouvons faire glisser cette variable de nom et la mettre sur le dessus d'ici. Donc, il va dire obtenir cette variable de point de contrôle, trouver ce point de contrôle. Donc, il va trouver, par exemple, le troisième point de contrôle. Donc, il va trouver ce nom que vous avez écrit à l'intérieur de votre niveau ici sur le portail. Et maintenant, il va trouver cet endroit parce qu'il connaît ce troisième point de contrôle. Nous l'avons déjà assigné, qui ici, il va prendre l'emplacement de cette couche commencer trois. Et nous pouvons utiliser cet emplacement pour définir l'emplacement de l'acteur. Donc, il va trouver le nom que vous avez écrit. Donc si nous entrons, si nous entrons dans ce portail, il va vous téléporter au deuxième point de contrôle, qui est par ici, qui est ce joueur commence que nous avons fait ici. Alors allons de l'avant et testons et voyons si cela fonctionne ou si nous avons des bugs. Alors compilons et cliquez sur Lire. Et nous allons nous déplacer. Et ici, je vais entrer. Et maintenant, nous avons un bug ici. Et le bug était que nous, pour il y a, si je retourne à l'intérieur du portail, en cliquant sur cet avion que nous avons créé, enlevons la collision parce que vous pouvez voir qu'elle nous a repoussés. Donc, à l'intérieur de sa collision. Et ce préréglage de collision, nous pouvons cliquer sur aucune collision, puis compiler enregistrer. Et j'espère que j'ai frappé le saut et ensuite je peux aller de l'avant et entrer dans le portail. Donc maintenant, vous pouvez voir que ça fonctionne réellement. Et si tu ne veux pas bouger, si tu veux que la balle aille encore ici. Quand tu te téléportes. Vous pouvez aller de l'avant et dire, vous pouvez traîner de cette balle et dire physique. Et je vais vous montrer la fonction. Donc, la physique, nous avons beaucoup de fonctions, donc il n'est pas facile de trouver cet ensemble physique vitesse linéaire. Mais celui-ci fera la balle et ne bougera pas du tout. Si je compile et cliquez sur Jouer pour la dernière fois, et j'ai déménagé et j'entre dans le portail, va rendre ma balle va immobile, et puis je peux bouger à nouveau. C' est, bien sûr, si vous ne voulez pas déplacer la balle quand vous,
quand vous avez pris part à l'autre niveau. Mais si vous voulez garder votre vitesse, allez-y et supprimez celui-ci qui dépend de vous en fonction de ce que vous voulez créer. Donc, avant de finir à, laissez-moi créer un noeuds réécrit pour qu'il soit propre. Donc double-cliquez ici. Comme ça. Peut-être que la création d'un nœud ferroviaire suffira comme ça. Et nous pouvons créer un nœud réécrit pour celui-ci aussi. N' oubliez pas de nettoyer le code autrement. Ça va être très, très désordonné à la fin. Pour l'instant, c'est le portail que nous avons créé. Et allons de l'avant dans la leçon suivante et créons réellement la logique pour quand vous perdez. Donc, quand vous tombez ici, il devrait dire à un port que vous retournez au point de contrôle. Et cela devrait être facile à faire parce que nous avons déjà la logique pour cela. Mais passons à la leçon suivante.
33. Créer la logique perdue: Alors créons maintenant la logique perdante pour ce jeu. Donc quand la balle se replie ici dans ce trou, nous devons la téléporter au poste de contrôle, pour que tu ne sois pas coincé ici pour toujours. Et faisons cela en allant de l'avant et en créant. Vous pouvez, à l'intérieur des volumes, vous pouvez le trouver,
mais vous pouvez également le trouver ici, qui est appelé le déclencheur de la boîte. Donc, en cliquant sur le déclencheur de la boîte, vous pouvez voir ici il a créé une boîte si vous appuyez sur G pour afficher les icônes. Et ce déclencheur de boîte est exactement comme les déclencheurs que nous avons créés ici dans le portail, par
exemple, ceux que nous avons réalisés précédemment. Eh bien, celui-là, nous avons créé à l'intérieur du niveau. Donc, en créant ce déclencheur pokes. Et nous pouvons en augmenter la taille ici pour couvrir ce que nous devons faire. Donc je veux affecter cette partie ici. Je vais juste le rendre un peu plus grand. Donc affectant quand la balle frappe autour ici. Donc, sur la balle est en bas, ça va déclencher cette boîte. Je vais donc augmenter la taille et je veux réellement couvrir toutes mes cartes. Donc couvrant ça. Et parce que c'est la même hauteur que vous pouvez voir ici, et la balle tombe ici. Il va vouloir réinitialiser le jeu au point de contrôle. Donc je veux que vous le fassiez aussi grand que le niveau. Donc maintenant, il couvre tout le sol, qui est ici. Et nous ne voulons pas couvrir ça parce que c'est le seul domaine. Nous ne voulons pas de déclencheurs ou ici. Donc la neige couvre tout le terrain ici parce qu'elle couvre toute la zone. Et on peut le renommer ici. Vous pouvez le renommer déclencheur lâche peut-être. Et allons de l'avant et créons une certaine logique pour cela. Donc ici, nous voulons créer, nous voulons obtenir une référence à elle. Et la façon dont nous pouvons le faire est à l'intérieur du Plan directeur de niveau. Cliquez donc sur Ouvrir les Blueprints de niveau. Et à l'intérieur d'ici, nous pouvons faire un clic droit et à l'intérieur des événements à l'événement pour déclencher la boîte. C' est ce que nous voulons et l'événement de collision. Et nous voulons faire quelque chose sur le début chevauchement. Donc, quand la balle chevauche cette boîte de déclenchement, nous voulons faire quelque chose. Et encore une fois, dans l'autre acteur, on peut dire que l'acteur a une étiquette. Si l'acteur a le joueur de technologie, alors allez-y et, et rappelez-vous que c'est ce que nous avons créé dans les dernières leçons à que l'acteur a le joueur de tag, alors allez-y et c'est très facile parce que nous avons déjà le point de contrôle. Nous voulons définir l'emplacement mondial de la balle, donc nous devons obtenir une référence à la balle. Et vous pouvez voir ici, nous avons déjà la référence ici, donc maintenant nous allons l'utiliser plusieurs fois. Alors pourquoi ne pas simplement créer une variable de ceci afin que nous n'ayons pas à créer tout le temps. Donc ici, nous pouvons réellement cliquer avec le bouton droit de la souris sur cette balle ou
ceci, cette variable ici et créer promouvoir à variable. Je vais, je vais appeler ça une balle BP. Donc, vous n'êtes pas confus ici parce que c'est le maillage statique osseux et celui-ci est la balle BP. Donc celui-ci est en fait la classe Blueprint. Donc, c'est la classe Blueprint. Et d'ici, nous pouvons le connecter à la balle SPP. Et connecté comme ce que nous avons fait ici avec le mode jeu, nous avons fait une variable à partir de celui-ci. Nous pouvons aussi le faire ici pour le gros. Maintenant, au lieu de faire tout cela, nous pouvons maintenant utiliser notre variable. Donc, sortez cette balle BP. Et nous pouvons maintenant voir, nous pouvons maintenant obtenir, prendre la balle. Donc, obtenir le maillage de balle. Et nous pouvons dire définir l'emplacement du monde. Et quel est l'emplacement mondial ? On veut mettre ? Le mot emplacement est ce point de contrôle actuel que vous avez fait. Donc, je vais obtenir le mode de jeu et dire le point de contrôle actuel. Et ce point de contrôle actuel où vous voulez vous connecter ici. Parce que rappelez-vous, chaque fois que vous entrez dans le portail, vous allez trouver ceci. Mais ici, nous devons également définir l'emplacement actuel car nous devons mettre à jour ce point de contrôle pour cela, cet emplacement actuel à un point de contrôle. À ce point de contrôle, nous sommes en ce moment. Donc, ici, lorsque nous
entrons dans le portail , nous allons trouver, par exemple, le deuxième point de contrôle, en fonction du nom du portail. Et nous allons signer cet endroit avant de le faire. Laissez-moi aller un peu plus loin. Et je vais obtenir le mode de jeu ici et obtenir le point de contrôle actuel. Et je vais le mettre ici à celui-là. Nous allons donc définir le point de contrôle actuel chaque fois que nous entrons dans un portail. Donc, cette variable de point de contrôle actuelle met à jour la géolocalisation chaque fois que vous interrompez le portail. Donc, disons que vous êtes au niveau 20 et que vous entrez dans le portail au niveau 20, il mettra à jour cet emplacement à, disons votre point de contrôle numéro 21. Donc, il continue à mettre à jour le point de contrôle actuel. Et allons-y et faisons-le. Et ce que nous pouvons faire, vous pouvez, c'est la même chose parce que maintenant vous avez dit qu'ils peuvent vérifier les points. Vous pouvez connecter cette broche ici, que nous avons fait en ce moment. C' est correct, mais vous pouvez aussi le faire ici. C' est à vous de décider parce que c'est la même chose. Vous continuez à le définir sur cette variable. Laissons ça être comme ça et régulons un peu plus près. Donc maintenant, nous avons dit le point de contrôle actuel tout le temps. Donc, ce que nous pouvons faire ici, c'est obtenir le point de contrôle actuel chaque fois que nous tombons et perdons pour nous soutenir au point de contrôle actuel où nous sommes en ce moment. Et juste une fois de plus, comme avant, avec la bouteille, nous pouvons aller de l'avant et utiliser cette vitesse linéaire de physique définie pour ne pas voler autour afin que je puisse mettre la balle en pause. Donc, je peux dire ici définit la physique linéaire, la vitesse linéaire. Et je peux le connecter. Et la vitesse est juste 0, 0, 0. Et nous pouvons aller de l'avant et cliquer sur Fichier, Enregistrer et cliquer sur jouer. Et si nous descendons maintenant,
aller aux téléporteurs à ce point de contrôle en tombant à nouveau. Et laissez-moi passer au niveau suivant et voir si ça marche réellement. Si je me téléporte ici et que je tombe, ça va à Tilburg moi au point de contrôle actuel que je suis en ce moment. Donc cela fonctionne parfaitement et il
va nous téléporter au point de contrôle pendant que nous y sommes.
34. Zone de Win: Mettons-nous maintenant sur la seule zone et crée réellement l'écran de fin. Donc, lorsque nous entrons dans ce portail à la fin, nous voulons définir la vue à ici. Donc, pour l'instant, on n'a pas de caméra. Donc, ce que je veux faire pour cet écran, je veux vraiment juste me laisser réduire l'alimentation des caméras. Et je veux juste voir le jeu comme ça. Et vous pouvez vous déplacer librement avec votre bol, mais la caméra sera statique comme ça. Alors nous allons trouver un bon, s'il vous plaît essayer de trouver un bon endroit. Et disons que je voulais ici. Et ce que vous pouvez faire ici et la vue actuelle que vous êtes en ce moment, si vous êtes satisfait avec elle, vous pouvez cliquer sur ce bouton ici. Et il peut faire un clic droit sur Créer la caméra ici et créer cet acteur de caméra. Et maintenant je peux cliquer dessus et vous pouvez voir qu'il crée un acteur de caméra. Donc maintenant je peux à nouveau bouger avec cette caméra. Ça n'a pas d'importance. Et j'ai créé cet acteur de caméra où je cherchais. Et je vais faire un clic droit juste pour ne pas le déplacer par erreur et dire Transformer, verrouiller, mouvement d'acteur. Maintenant tu ne peux pas, tu ne peux pas le déplacer par erreur. Donc, si je clique avec le bouton droit de la souris et clique sur pilote, vous pouvez voir que c'est à quoi il ressemble en ce moment. Je vais cliquer sur celui-ci pour injecter la suppression du pilotage. Et maintenant, nous voulons définir cette vue chaque fois que nous entrons dans cette zone quand. Et nous pouvons le faire si nous allons sur le portail. Et là, rappelez-vous, le dernier point de contrôle que nous avons est appelé troisième point de contrôle, et c'est la dernière, la dernière bouteille. Donc si je fais mon appareil photo très rapide pour que je puisse y aller. Celui-ci le fait. Le dernier puzzle a le nom par points de contrôle, donc c'est la dernière place. Et ce que vous pouvez faire ici dans le portail BP, nous pouvons dire si ce nom est égal au troisième point de contrôle, puis allez-y et faites quelque chose. Donc ici, nous pouvons voir ce nom. Et puis on peut dire, est-ce égal ? Donc, pour que cela soit égal, il suffit de frapper le signe égal. Peut-être que je l'ai fait trop vite. Donc, en écrivant le signe égal, je clique sur le SQL est ce nom. Donc maintenant, nous vérifions le nom de ce portail et vérifions s'
il s' agit d'un troisième point de contrôle afin que vous puissiez copier ce troisième point de contrôle. Est-ce égal au troisième point de contrôle ? Et faisons une branche. Donc maintenant, si cela est égal au troisième point de contrôle, nous pouvons aller de l'avant et définir la vue de cette caméra ici. Et la façon dont on fait ça, on peut prendre la caméra en premier. Et la façon dont nous pouvons le faire est encore acteur de classe. Donc, obtenir l'acteur de classe, nous avons un acteur. Quoi, qu'est-ce qu'on veut avoir ? On veut la caméra, l'acteur de la caméra. Donc maintenant, l'acteur get de la classe obtient l'acteur de la caméra, qui est en ce moment à l'intérieur du niveau. Et vous pouvez voir ici, si je cherche une caméra, nous n'avons qu'une seule caméra dehors. Maintenant, nous avons ce seul acteur de caméra. Et qu'est-ce qu'on veut faire, c'est quelque chose qui s'appelle « set ». Vous ciblez avec le mélange ? Et si je supprime ce contexte sensible, et je fais défiler cette cible de visionneuse définie avec blend. Donc, ce que cela fait, c'est qu'il définit la cible de vue sur cette caméra. Donc, quand je suis entré dans la troisième bouteille, nous allons mettre la vue sur cette caméra. C' est la cible de vue définie qui se fondrait. Et maintenant, il est à, il demande une cible et il dit référence d'objet contrôleur joueur. On doit appeler le contrôleur du joueur. Je vais à nouveau prendre ce contexte sensible. Et ici, je vais écrire le contrôleur de couche get. Et celui-là, juste comme ça. Et maintenant, ça va marcher. Donc, si je clique sur jouer, en fait, je ne veux pas commencer dès le début. On teste juste le jeu. Donc je prends ce joueur commence et je le laisse
tomber ici juste pour que je puisse juste entrer dans le possible sans jouer tout le jeu. En regardant le bleu. Et maintenant vous pouvez vraiment vous voir, nous avons un insecte. Et le bug est en fait le déclencheur perdant parce que cette partie de la carte fonctionnait. Mais quand vous entrez ici, vous pouvez voir que c'est, la carte va en fait vers le bas. Et en ce moment, le déclencheur perdant est, si je le déplace ici sur le côté, vous pouvez le voir couvrir en fait toute cette boucle comme celle-ci. Désolé, c'était le volume d'importance de masse. Donc si je le déplace ici, vous pouvez voir qu'il couvre tout ce domaine. Par conséquent, nous n'avons pas de moyen d'entrer dans le portail. Donc c'est correct ici. Mais ce n'est pas correct ici parce que la carte est en baisse et nous devons entrer ici. Donc, nous devons réparer ça et réparons ça plus tard. ce moment, je vais pousser un peu vers le bas pour qu'on puisse jouer le jeu. Je vais jouer et je vais vous présenter Portal. Et maintenant, vous pouvez voir que nous avons défini la cible de vue va se fondre. Donc nous avons réglé la raison de cette caméra et je peux toujours bouger. Ma balle a l'air cool. Et c'est l'écran gagnant. Concentrez-vous sur la finition de leur zone gagnante. Et à la fin, réparons le bug serait perdre,
perdre de la zone et d'autres bogues que nous pourrions, nous pourrions trouver pendant le chemin.
35. Créer l'UI à Créer l'écran Win: Laissez-nous maintenant créer notre interface utilisateur finale. Et l'interface utilisateur finale est l'écran gagnant. Donc, quand vous vous demandez jeu, il va dire que vous avez recueilli et il va afficher combien d'étoiles vous avez recueilli. Donc, passons à l'intérieur de l'interface utilisateur et
cliquez avec le bouton droit sur l'interface utilisateur et créez un autre Widget, Blueprint. Appelons celui-ci WB pour Blueprint Widget. Et appelons-le quand. Double-cliquez sur ce Blueprint de widget. Et à l'intérieur d'ici, comme avant, on peut glisser et ajouter des trucs ici. Et ce que je veux ajouter est juste de dire que vous avez recueilli et en dessous il va afficher l'icône des étoiles et le nombre d'étoiles que vous avez recueillies. Donc, avant d'utiliser une boîte horizontale, maintenant, utilisons une boîte verticale parce que nous voulons du texte ici et en dessous. Et le montant collecté, je vais laisser tomber la boîte verticale. Et je vais chercher du texte et le déposer au-dessus de la boîte verticale. Donc maintenant ce texte, je vais dire, vous avez recueilli comme ça. Et permettez-moi de cliquer sur cette boîte verticale, rendre un peu plus grande et de la faire glisser ici. Maintenant, ce point pivot, vous pouvez le voir en ce moment, c'est ici. Alors imaginez si vous aviez ce jeu et que le joueur veut jouer en mode fenêtré, et le joueur échelles comme ça. Ce texte ira en fait vers ce coin lorsque vous redimensionnez. Mais ce que tu veux, c'est que
je veux que ce texte soit là au milieu. Donc je n'aime pas que je le mette au milieu maintenant. Et le joueur va redimensionner la fenêtre. Ça ne va pas rester au milieu. Il va être poussé vers ce point pivot. Et je ne veux pas ça, je veux qu'il soit au milieu. Ce que je peux faire ici est ici à droite, et les ancres changent le point d'ancrage pour être au milieu supérieur. C' est là que je veux que l'endroit principal soit. Et ce que je peux faire ici, c'est continuer à développer ici sur cette interface utilisateur. Donc ce que je veux faire ici, c'est que je veux le centrer. Donc, en cliquant sur cet alignement horizontal, au centre, juste comme ça. Et la prochaine chose que je veux ajouter l'icône en forme d'étoile en dessous et le texte. Maintenant, nous ne pouvons pas, nous ne pouvons pas juste arriver ici et l'ajouter comme ça parce que vous pouvez voir que vous imaginez cela comme l'icône des étoiles. Et puis moi, nous allons ajouter mon texte pour afficher combien j'ai collecté. Maintenant, c'est une boîte verticale, donc ça va mettre les choses verticalement comme ça. Mais nous nous demandons Star ici et nous voulons le texte à côté. Donc, ce que nous devons faire d'abord, nous devons ajouter une boîte horizontale. J' espère que ça ne devient pas trop confus parce qu'il faut réfléchir et du temps supplémentaire avant de le comprendre. Donc vous avez cette boîte verticale, nous avons ce texte. Et à l'intérieur de cette boîte à vésicules, j'ajoute maintenant cette boîte horizontale. Maintenant, je veux ajouter mon image à l'intérieur de la boîte horizontale et mon texte. Alors maintenant, ils sont horizontalement à côté de l'autre. Donc, en cliquant sur cette case horizontale, je veux cliquer sur cet alignement horizontal. Donc c'est au milieu. Et écrivons juste 23 ici. Peu importe ce que dit ce texte ici parce que nous
allons juste ajouter du code et le changer dynamiquement. Mais celui-ci, l'icône de l'étoile. Cliquez ici dans l'image du pinceau. Recherchez une étoile et cliquez sur l'icône de notre étoile. Faisons la taille à 45. 45, et comme avant. Et donc c'est l'icône de l'étoile et je veux centrer ça maintenant C'est un peu vers le haut, donc je veux le centrer. Nous regardons l'alignement horizontal et vertical. Et je veux repousser un peu ça. Le texte est trop proche de l'outil étoile en cliquant sur le texte ici dans le remplissage, je voulais le déplacer vers la gauche. C' est comme ça que tu dois y penser. Vous devez le déplacer de gauche. Donc, en le repoussant de la gauche. Donc, par exemple, je peux écrire cinq ou 10. Vous pouvez voir qu'il s'éloigne de la gauche. Et si je clique sur ce contour pointillé juste pour voir à quoi ça ressemble, c'est un peu trop loin. Laisse-moi écrire cinq à la place. Et je veux le pousser du haut, peut-être pour aimer ça. Maintenant ça a l'air bien, c'est au centre. Et peut-être que j'ai besoin d'augmenter la taille de mon texte. Donc, en cliquant sur cela, je peux augmenter la taille à 40. Et nous allons aussi augmenter la taille à prévoir aussi ici. Et l'étoile, augmentons la taille à 7070. Ouais, celui-là va bien. Et vous pouvez voir ici vous pouvez maintenant augmenter la boîte verticale et le faire ressembler comme vous le souhaitez. Je vais juste faire comme ça. Et nous pouvons également cliquer sur les bugs verticaux et le pousser loin du haut et le rembourrage. Donc, en le poussant de cinq ou dix. Nous le repoussons maintenant un peu loin du texte que vous avez recueilli. Donc maintenant pour centrer parfaitement sur ce point de pivot, nous pouvons voir ici nous avons une position x et une position y. Donc écrire 000, vous pouvez voir qu'il va à ce coin supérieur. Mais je voulais être au milieu. Et voici, c'est là que l'alignement intervient. Parce que 000, ça va. Nous voulons qu'il soit centré, mais nous voulons réellement l'aligner sur ce point et non sur ce point. Donc ici, c'est le X. Vous verrez que c'est l'alignement dans le x, et c'est l'alignement dans l'axe Y. L' axe y est parfait. Nous voulons juste aligner et dx. Donc ici, si vous le faites glisser, vous pouvez vous voir maintenant c'est au milieu. Donc 0,5 est le milieu. Si vous avez écrit 1, il s'alignera sur ce point ici. En exécutant un l'alignera à ce point, 0, 1 et 2. Ce 0.5 l'alignera à ce point. Alors maintenant, c'est correct. Maintenant, je veux juste l'éloigner du y parce que c'est,
c'est sous le bord de l'écran. Donc je vais le positionner sur le y comme ça. Vous avez recueilli et il y a du texte au milieu. Pour l'instant, nous voulons que ce texte fonctionne comme nous l'avons fait avec l'autre. chance avec le menu que j'ai fait. Donc, en cliquant sur ce 23, je vais cliquer sur lier ici sur le texte, en cliquant sur Créer une liaison. Je vais renommer ma fonction, en cliquant sur F2 et l'écriture obtient des étoiles et monter ou obtenir le montant des étoiles, c'est à vous de décider. Et ici, nous voulons accéder au montant de l'étoile ou à la variable étoile, que nous avons dans notre mode de jeu. Et nous voulons accéder à cette variable étoile. Donc l'écriture se lève et se lève. Maintenant, quel mode de jeu voulez-vous obtenir ? Il l'obtient ou graphique. C' est la fonction d'interface ont été faites. Et à partir de là, nous pouvons maintenant accéder aux variables de mode de jeu. Donc maintenant on peut dire étoiles, étoiles variables. Et nous pouvons maintenant le connecter. Et il va convertir le nombre, qui est l'entier en texte avant qu'il puisse l'imprimer. Donc juste comme ça, et je pense que nous avons fini avec notre interface utilisateur là-bas. Ensuite, vous pouvez faire, ou si vous le souhaitez, vous pouvez toujours changer les couleurs. Si tu veux. On peut le changer en quelque chose d'orangé. Et il contient cette couleur et toutes ces choses. Mais je pense que c'est bien pour l'instant. Alors compilons et sauvegardons, et passons à la leçon suivante.
36. Affichage de l'UI: Il est maintenant temps d'afficher là quand vous i que nous avons créé dans la leçon précédente. Et rappelez-vous que nous avons fait l'interface utilisateur à l'intérieur de la manette du joueur. Donc, la première que nous avons faite était cette interface principale ou que nous avons faite. Et nous le faisons de la même manière, mais ici, nous ne voulons pas l'afficher dès le début lorsque vous jouez au jeu, nous voulons l'afficher chaque fois que le joueur, c'est le portail de fin et intéresse cette zone. Donc, au début, nous devons créer un événement personnalisé pour montrer ceci, cette interface utilisateur. Donc, d'abord, nous devons, créons une interface Blueprint, en cliquant avec le bouton droit de la souris, en créant une interface Blueprint. Et appelons-le contrôleur de lecteur int. Maintenant, double-cliquez sur celui-ci. Créons un appelé Display. Lorsque l'interface utilisateur. Il va les afficher et ce n'est qu'un, juste un, un, événement. Alors, en allant ici dans la manette du joueur, n'oubliez pas d'ajouter votre interface. Je vais voir que vous le ferez, ça ne fonctionnera pas. Donc, en cliquant sur Paramètres de classe, aller ajouter et écrire contrôleur de lecteur int. Maintenant, vous pouvez voir cet événement d'interface qui apparaît. Et ici, nous pouvons écrire affichage. Afficher quand votre œil et vous pouvez voir. Maintenant, ce n'est pas le bon parce que c'est une fonction. Et c'est parce que nous devons nous souvenir de compiler et de sauvegarder. Maintenant, nous pouvons écrire affichage lorsque votre œil et vous pouvez voir qu'il apparaît cet événement. Maintenant, nous avons cet événement et cet événement, nous pouvons maintenant dire créer des widgets. Et que voulons-nous créer, c'est cet écran gagnant. Et vous pouvez maintenant l'ajouter à la, vos pensées. Maintenant, cela va ajouter l'écran gagnant. Et maintenant nous avons, à un moment donné, nous devons appeler cet événement, et nous pouvons l'appeler chaque fois que vous gagnez. Donc, quand vous, lorsque vous entrez dans ce dernier portail. Revenons donc à ce portail, portail BP. Et ici, nous avons fait cette logique ici. Permettez-moi de supprimer tous ces événements. Nous avons fait cette logique où vous entrez quelques entrer dans le troisième point de contrôle. Il va définir la vue de la caméra. Mais ici, nous allons également afficher l'interface utilisateur gagnante. Donc, ici, nous voulons obtenir la référence au contrôleur du joueur. Et la façon de le faire, Revenons à notre fonction d'interface ou une interface Blueprint, et cliquez sur Ajouter. Faisons une nouvelle fonction appelée obtient le contrôleur de mise en page ref. Et ici, nous pouvons ajouter une sortie et nous pouvons écrire, nous pouvons écrire la variable sur ce que ce contrôleur de flux est que vous essayez de faire référence. Et nous essayons de faire référence à la balle de vitesse PC, objectif de vitesse KPC. Et montrez le niveau et choisissez la référence de l'objet, et appelons-le contrôleur de joueur. Compiler et enregistrer. Et à l'intérieur de ce contrôleur de flux, nous pouvons maintenant double-cliquer sur cette fonction. Et maintenant, on se demande
quoi, que veux-tu dire par contrôleur de joueur ? Je veux dire moi. Cela signifie que la référence est ce contrôleur de joueur dans lequel nous sommes actuellement. C' est ce que signifie moi. Donc maintenant à l'intérieur du portail BP, il peut maintenant dire obtenir contrôleur Blair. On peut juste utiliser celui-là. Et maintenant, nous pouvons dire que le contrôleur de joueur dont je parle est ceci comme ma propre balle de vitesse ISI appelée. Mais rappelez-vous que nous avons fait cette fonction appelée obtient leur référence Controller. Et c'est un message parce que c'est une fonction d'interface. Et connectons-le. Laissez-moi double-cliquer pour faire un nœud de réacheminement comme celui-ci. Et comme ce contrôleur de flux, nous voulons appeler cet événement que nous venons de faire le même affichage lorsque l'interface utilisateur. Donc, en disant lors de l'affichage, quand vous êtes ici, c'est un message comme celui-ci, et maintenant il va les afficher lorsque l'interface utilisateur. Donc, si je retourne en arrière, cliquez sur jouer et j'entre, il va afficher cela quand vous identifiez, maximisez l'écran, vous pouvez le voir comme ça. Mais le problème est qu'il affiche également le menu que vous pouvez voir en haut à gauche. Et nous voulons supprimer ça. Retournons à l'intérieur de la manette. Et nous devons retirer celui-ci de la fenêtre d'affichage. Et la façon dont nous le faisons, nous devons le faire est comme nous avons créé des références. Quel est le mode de jeu et la balle BP. Précédemment. Nous pouvons cliquer avec le bouton droit de la souris sur celui-ci et dire à distance à variable. Et appelons celui-ci w être principal. Et connectons-le. Et connectons celui-ci ici à la place. Alors maintenant laissez-moi tenir Alt et déconnecté, et connectons ceci à la place, juste comme ça. Et maintenant nous avons, nous avons une variable que nous pouvons utiliser maintenant pour ce menu principal. Et que voulons-nous faire est de prendre cette variable et de dire Supprimer des parents. Et c'est ainsi que vous supprimez des éléments des fenêtres. Et maintenant, nous pouvons le connecter. Et maintenant, il va le supprimer de la clôture, puis l'afficher. Et puis affichez notre interface utilisateur. Donc, vous pouvez voir, vous savez, l'interface utilisateur principale ne s'affiche plus. Et vous pouvez modifier ce texte blanc. Ce n'est pas trop visible si tu veux, mais je ne veux pas m'embêter. Ça a l'air bien.
37. Fade caméra: Bon, donc on a presque fini avec le jeu. Et avec cela, Ajoutons un peu d'alimentation de la caméra. Et je vais cliquer sur ce début de joueur que j'ai déplacé précédemment juste pour tester le jeu. Et je le ramène au niveau 1 que j'ai fait ici depuis le début. Et je veux cliquer sur Ma plus grande peur ou perdre sphère. Encore une fois que j'ai déménagé et je vais le déplacer vers le haut. On va juste le déplacer pour qu'il couvre ce sol un peu comme ça. Je vais couvrir toute la carte. Alors maintenant, quand nous jouons le jeu et nous tombons, vous pouvez le voir répondre instantanément à nous, mais je veux un appareil photo de décoloration fait donc il semble bon. Et pour ce faire, passons dans le Blueprint de niveau où nous avons notre logique perdue et la création sont en cliquant sur le Blueprint de niveau ouvert. Et à l'intérieur d'ici, vous pouvez voir que c'est ce qui se passe quand nous, quand nous interagissons avec ce déclencheur lâche. Et ici, nous voulons faire un peu de décoloration de la caméra. Et pour ce faire, déplacons ces fonctions et nœuds ici. Et connectons-le simplement en maintenant la touche Alt et en cliquant. Donc ici, nous voulons dire flux de caméra sombre. Donc nous avons quelque chose qui s'appelle la caméra démarre, l'identification. Et si vous supprimez leur contextualité, vous pouvez le voir, nous pouvons le trouver ici. Ok, donc on a la caméra de démarrage fondu et on a besoin d'une caméra. Et ici, il dit que la cible est un joueur, un gestionnaire de caméra. Donc, si vous faites glisser et dites gestionnaire de caméra joueur, et si vous montez ou descendez, laissez-moi le trouver ici. Obtenez joueur, gestionnaire de caméra, c'est ce dont vous avez besoin. Et maintenant, vous devez définir les Alphas. Donc maintenant, il dit à l'Alpha à laquelle commencer à s'estomper, la plage où 0 est entièrement transparente. instant, il est entièrement transparent et l'un est complètement opaque. Maintenant, si vous, si vous en écrivez un ici, ça le fera. L' écran sera entièrement noir. Avec cette couleur, vous pouvez changer la couleur, mais faisons-le noir. C' est très bien. Donc ça va s'estomper. Quand on a touché la gâchette perdante. Il va s'estomper de transparent à une couleur pleine, tout comme ça. Et nous devons écrire combien est la durée qu'il veut s'estomper. Et ici, et nous allons juste écrire 1 seconde. Ok, donc maintenant nous évaluons la caméra. Donc, si nous cliquons sur jouer et essayons. Ça va fondre la caméra. Et vous pouvez voir qu'il remonte. Et c'est parce que laisse-moi l'ouvrir. Et c'est parce que nous devons cliquer sur cette attente, une a fini. Donc ça va tenir à cette couleur sombre. Quand on s'estompe. Maintenant, nous pouvons maintenant reconnecter cela, mais vous devez être conscient de cela. Lorsque, lorsque ce flux de caméra est lu, nous ne voulons pas changer l'emplacement instantanément. Nous pouvons ajouter un nœud de retard. Nous attendons donc que le fondu sautait avant de faire quoi que ce soit. Donc, nous allons retarder de 1 seconde parce que la durée de ceci comme 1 seconde. Donc ça va retarder ou il va fondre la caméra et ensuite retarder le même temps. Donc nous attendons 1 seconde. Donc, il est complètement supprimé, complètement fané. Et avant de passer et d'exécuter ce code, parce que je veux téléporter le joueur chaque fois que l'écran est en fait noir ou sombre. Et après cela, nous pouvons faire démarrer le fondu de la caméra. Et en fait, prenons cette caméra et ce manager et prenons notre gestionnaire de caméra. Et faisons en sorte que la caméra Dot s'estompe comme ça, et connectons-la. Et ici, après avoir téléporté le joueur, nous voulons passer d'être complètement noir ici à aucune couleur du tout. Et la durée est également de 1 seconde. Maintenant, je peux te montrer quelque chose ici. Et au lieu d'écrire un numéro statique ici, numéro
codé en dur, imaginez si nous en avions beaucoup dans notre jeu. Et vous avez décidé un jour que vous vouliez le changer à deux secondes au lieu d'une. Maintenant, vous devez y aller et le changer en quelques secondes partout. Et ça pourrait prendre beaucoup de temps si vous en avez beaucoup. Et ce n'est pas optimal, nous voulons quelque chose qui est très facile à travailler avec. Et c'est le pourquoi. écrivant à nouveau 1 seconde, c'est pourquoi vous pouvez cliquer avec le bouton droit sur cette durée et cliquer sur promouvoir à la variable. Et celui-là, je vais appeler la durée de fondu. Tu vas le voir. Il a fait une variable flottante. Et celui-ci, je peux maintenant me connecter au délai aussi maintenant et sont tous connectés ici à l'autre flux de caméra. Celui-ci se nourrit du noir au blanc au transparent. Et maintenant, je n'ai qu'à entrer et changer la durée de fondu à l'intérieur de cette variable. Et il le changera pour tous ces éléments parce que tous ceux-ci utilisent cette variable. C' est donc très facile et je n'ai qu'à le changer en un seul endroit. Maintenant, allons de l'avant et jouons au jeu et voyons ce qui se passe. Donc si on descend maintenant, ça va s'estomper et on va y retourner. Et si on y retourne, va s'estomper et y retourner. Donc maintenant, ça fonctionne parfaitement comme nous le voulons. Dans la leçon suivante, nous allons corriger le bug que nous avions précédemment, où nous avions la sphère perdante couvrant également cette partie de la carte. Et on n'a pas pu terminer la partie. Et allons de l'avant et distribuons les étoiles le long des niveaux, des choses comme ça. Alors allons de l'avant et finalisons le jeu.
38. Finalisation du jeu: Bonjour et bienvenue. Donc, dans cette leçon, nous allons corriger le bug où la zone
perdante couvre réellement la partie finale du niveau 2. Donc je vais le déplacer ici. Et vous pouvez voir quand je clique sur Jouer et la partie perdante est, est de me faire échapper parce qu'il couvre cette zone et je ne veux pas qu'il le fasse. Je vais déplacer mon joueur redémarrer. Et ici, cela fonctionne correctement. Ce qui ici la carte descend et il est donc couvert encore plus. Et de cette façon, Allons-y et réparons ça. Donc, en cliquant sur cette gâchette perdue que nous avions avant, je vais le rendre plus petit et le rendre plus petit par ici. Donc je veux juste couvrir un peu moins. Je veux en créer un nouveau pour cette autre partie de la carte. Donc couvrant ça et laissez-moi voir à quel point ça couvre. Il couvre ici. Et je pense que ça devrait couvrir un peu plus. Donc couvrant quelque part comme ici et juste un peu plus. Donc ça couvre ça. Donc je pense que c'est bien. Maintenant, une heure couvrant ça et ça a l'air bien. Et ce que vous voulez faire est d'aller de l'avant et de sélectionner, Créer et créer un autre déclencheur de boîte. Et ce déclencheur de boîte que nous voulons descendre et agrandir. Et celui-ci va couvrir la zone d'arrivée ici à la, sur cette carte. Allons-y, on va couvrir ce trou juste ici. Donc, la hauteur de ça, je vais baisser un peu quelque part ici. Et je vais couvrir tout ça comme ça. Ok, donc maintenant ça devrait fonctionner parfaitement et nous devons ajouter, nous devons changer le nom. Alors changeons-le pour perdre le déclencheur 0, 2. Et allons de l'avant dans les plans, ouvrez le Blueprint Niveau. Et maintenant, faisons un clic droit. Et nous devons nous rappeler de cliquer sur cette gâchette perdue. Et ici, nous pouvons cliquer avec le bouton droit de la souris et cliquer sur le contexte sensible. Nous pouvons maintenant cliquer sur Ajouter un événement pour la zone Trigger, puis collision et commencer chevauchement. Alors que se passe-t-il quand on se chevauche avec ça ? Et ce que vous voulez faire est juste la même chose que nous l'avons fait avec le premier, parce que nous avons déjà codé la logique. Et au lieu de copier coller, n'oubliez pas, lorsque vous copiez coller dans du code ou un Blueprint ou autre. Juste pour vous demander, pourquoi copiez-vous ? Peut-on le faire d'une manière plus efficace ? Pourquoi copiez-vous coller le même code et le coller ici et le faire et le rendre si long et déroutant. Il y a une façon cool de le faire et nous pouvons le faire en planant sur tout ici. Alors laissez-moi voir si ce qui a
du sens, les Ls, prenons tout ça ici. Et faisons un clic droit. Et vous pouvez réellement dire réduire à la fonction ou Réduire à la macro. Et cela en fera une fonction que vous pouvez réutiliser partout où vous voulez à l'intérieur d'ici. Donc juste quelque chose dont vous devez être conscient. Nous avons cette fonction de retard, et c'est ce qu'on appelle une fonction chronométrée. Il manipule le temps,
qui , c'est pourquoi il a cette horloge ici. Et les fonctions temporelles ne peuvent pas être réduites en fonctions. Donc, en le collant en fonction, il dira que l'effondrement à la fonction a échoué. Et donc nous devons en faire une macro à la place. Donc, un clic droit et une réduction en macro. Macro est juste comme une fonction. Mais la différence est que nous pouvons avoir ces fonctions chronométrées à l'intérieur de celui-ci. Donc vous pouvez voir maintenant qu'il a cette horloge, qui
signifie qu'il a un temps pour fonctionner à l'intérieur de celui-ci. Alors maintenant, nous allons le renommer et appelons ça boule de réponse. Ok, donc maintenant nous avons cette macro qui voit répondre bol. Et si vous double-cliquez dessus et vous pouvez voir que c'est la macro que nous avons créée. C' est l'entrée. Et maintenant, nous avons aussi une sortie, mais nous n'avons rien connecté à elle. Et c'est bien parce que nous n'avons vraiment rien à relier après. Mais juste au cas où, juste pour, à des fins d'apprentissage. Si vous vouliez ajouter quelques choses ici, regardant cette sortie, vous pouvez ajouter. Ici, dans la sortie, nous pouvons ajouter une variable. Et ici, vous pouvez ajouter une broche d'exécution. Et si vous vous êtes connecté et appelez juste x execute ou, ou exec
ou quoi que ce soit. Et celui-ci s'appelle aussi l'exec. Laisse-moi que je ne sais pas si je peux l'appeler du même nom si ça me permet d'exec, non. Appelons ses sorties. Et compilons. Et vous pouvez voir ici. Peut maintenant ajouter un peu plus de code si vous le vouliez, mais c'est bien. Laisse-le, que ce soit comme ça. Et maintenant, nous avons cette macro. Donc maintenant cette macro, nous pouvons réutiliser ici. Laisse-moi copier ce code. L' acteur de chose a des étiquettes. Donc juste pour s'assurer qu'il y a un joueur qui frappe cette sphère de regard. Ensuite, nous pouvons faire glisser cette macro et nous pouvons la placer ici et nous pouvons la réutiliser. C' est donc un moyen beaucoup plus efficace. Ensuite, copiez en collant tout ce code pour que cela fonctionne. Et le problème est que si vous copiez collé tout cela, si vous changez quelque chose à l'intérieur de celui-ci, vous devez le changer partout. Vous avez cette copie de code collée. Mais si vous avez une macro, il
suffit de l'éditer une fois que je suis à l'intérieur de la macro, va l'éditer pour toutes les fois que vous avez utilisé cette macro. Et on peut le faire comme ça. Et maintenant, c'est corrigé. Donc la prochaine chose que nous voulons faire, nous voulons distribuer ces étoiles. Donc je vais de l'avant rapidement et je les distribue. Ok, donc maintenant j'ai distribué toutes les étoiles, donc j'en ai ajouté quelques ici à la fin. J' en ai ajouté beaucoup ici à l'intérieur de ce tunnel. Ce sera amusant, je pense que de tout charger ici. Et j'en ai ajouté sur le chemin. Et nous pouvons ajouter peut-être un sur chacun de ces remplissages comme un finisseur sera amusant d'avoir je pense. Et en rajouter un ici. Vous avez juste besoin de le déplacer un peu vers le haut parce que c'était financier. Je croyais que c'était de l'éclairage, quelque chose comme ça. Ok, donc maintenant nous avons cette étoile est distribuée. Et la dernière chose que nous voulons faire est en fait ajouter des effets sonores parce que le jeu est un peu ennuyeux sans aucun effet sonore. Alors allons de l'avant et commençons l'audio. Nous avons importé les sons et je les ai téléchargés sur le site Web. Si vous n'avez pas
téléchargé, les a encore téléchargés dans le moteur, vous suffit de les faire glisser ici et il sera téléchargé. Maintenant, nous avons ce son d'étoile, ce sable de bouteille. Et puis on a de la musique. Donc maintenant ceux-ci, allons faire un clic droit sur l'étoile d'abord et en cliquant sur Créer q. Et ici, nous pouvons appeler celui-ci est C pour signal sonore, et appelons ça étoile. Faisons ça pour les autres aussi. Ainsi, le portail crée la file d'attente, la
bouteille et celui sur la musique aussi bien. Juste comme ça. Et ce que vous pouvez faire avec ce signal sonore, nous pouvons les utiliser à l'intérieur des plans et vous pouvez double-cliquer sur l'étoile. Et vous pouvez voir, nous pouvons cliquer sur la sortie et vous pouvez changer le volume si c'est trop fort ou trop bas. Je pense que c'est bien. Et ce que vous pouvez faire ici, vous pouvez faire glisser et il y a quelques fonctions que nous voulons utiliser, celui appelé modulateur, celui-ci modulateur. Et connectons-le. Donc maintenant ce modulateur peut changer la hauteur
du son afin qu'il ne sonne pas le même tout le temps ou ne le joue pas. Donc, c'est simuler le son. On dirait qu'on utilise beaucoup plus d'effets sonores. Donc peut-être faire leur pitch max à 1,2 et le minimum à 0,8. Et vous pouvez cliquer sur le lire et entendre que le son n'est pas le même tout le temps. Donc, ce sera un peu plus intéressant. Et nous avons la musique qui va bien, et le portail. Peut-être que je peux réduire le son de celui-ci juste un peu, 0.6. Et c'est très bien. Alors maintenant ajoutons ces effets sonores rapidement. Alors allez-y et terminez les plans et double-cliquez sur cette étoile bP. Et ici, quand vous regardez l'étoile, vous voulez jouer l'effet sonore. Donc, vous ajoutez l'étoile. L' étoile est en train de se charger. Et traînons hors d'ici. Et en passant, c'est celui que nous chevauchons avec l'étoile et la chargeons. Donc ici, nous pouvons dire son laïc 2D. Nous avons quelque chose qui s'appelle jouer son 2D. Et jouons-le. Et voici, cherchons SC. Et prenons l'étoile, Compiler et Enregistrer. Maintenant, faisons la même chose avec le portail. Double-cliquez sur le portail. Et ici, lorsque nous interagissons avec le Portail, allons de l'avant et voyons où il est préférable de le mettre. Laissez-nous, mettons-le après ou juste avant de parler du joueur. Alors mettons-le ici en fait. Et disons jouer le son 2D. Et on va jouer le son appelé, Laisse-moi y aller. Jouons ce son appelé portail. Juste comme ça. Et la dernière chose que nous voulons faire, c'est que nous voulons aussi jouer de la musique. Sauvons tout et essayons. J' ai essayé avant de jouer la musique, juste pour qu'on puisse entendre le son de la pièce. Pour l'instant, nous allons travailler. Le tableau noir. Le son fonctionne aussi bien. Et la décoloration fonctionne aussi bien. Ok, génial. Alors la dernière chose, jouons la musique. Et pour ce faire, jouons-le dans cette carte. Cliquez sur Blueprints, ouvrez Level Blueprints. Et tu peux le faire à l'intérieur d'ici. Donc, vous pouvez le faire ici ou vous pouvez le faire dans le mode Jeu. Et je veux le faire ici, faisons-le ici. Donc, nous définissons le mode de jeu et nous pouvons juste jouer la musique ici. Nous pouvons même ajouter un nouveau nœud de séquence et dire ceci, connecter tous ceux, et commencer par jouer la musique. Alors jouez le son 2D. Et puis on peut dire comme de la musique. Maintenant, nous allons jouer la musique comme la première chose que nous allons définir le mode de jeu. Ensuite, nous allons ajouter ces points de contrôle. Et puis nous allons mettre le ballon à un endroit. Juste comme ça. Compilons, cliquez, Enregistrer et commencer, et voyons ce qui se passe. Impressionnant. Maintenant ça marche et je vais juste baisser un peu le son. Juste pour le tutoriel, c'est un peu peut-être que c'est un peu fort sur votre côté. J' ai peur que ce soit trop fort pour trouver la musique. En passant, si vous voulez chercher quelque chose, vous pouvez cliquer sur la loupe. Aussi le trouver rapidement dans le navigateur et vous pouvez double-cliquer et peut-être moins 2.660. Très bien. Ok, il y avait tout. Donc maintenant, nous avons fini avec le jeu. Et dans la leçon suivante, je veux vraiment vous apprendre à rendre votre code plus structuré et tout commenter et ainsi de suite, qui est très, très important. Alors passons à la leçon suivante.
39. Nettoyer le code: Bonjour et bienvenue. Alors maintenant, nous avons fini le jeu et allons nettoyer le code. Et c'est très important car imaginez que si vous faites une pause et que vous revenez un mois plus tard, vous ne vous souviendrez pas de ce que vous avez fait à moins que vous ayez réellement commenté ce que vous avez fait. Et surtout si vous aussi un jour embaucher un nouveau programmeur pour votre jeu. Et il ou elle doit programmer le jeu pour vous ou vous aider. Il sera très difficile pour cette personne de savoir ce que vous avez fait si vous n'avez pas vraiment fait de commentaires ou quoi que ce soit ou ce que vous avez fait. Ok, alors passons en revue le code rapidement. Alors, sous Level Blueprints, jetons un coup d'oeil. Nous avons ce début florissant. Et ici, nous pouvons, par exemple, sélectionner ceci et appuyer sur C. Vous pouvez voir que nous pouvons maintenant commenter quelque chose. Donc ici, nous pouvons dire commencer la musique de jeu. Alors recommencez la musique. Et vous pouvez toujours changer la couleur si vous le souhaitez. Vous pouvez aussi, si vous partez, vous pouvez dire montrer la bulle ici quand vous êtes loin de lui. Ok, Donc maintenant vous avez ce son de démarrage et ici vous pouvez dire définir la variable de mode de jeu. Eh bien, c'est la deuxième chose que tu fais. Et vous voilà. Vous définissez ou vous ajoutez les points de contrôle. Donc nous allons en fait planer toutes ces choses. Et j'ai passé ces choses sans, sans celui-ci. Donc ici, je vais cliquer avec le bouton droit de la souris et cliquer sur uncollapsed pour fonctionner. Et je vais le nommer des points de contrôle. Maintenant, nous sommes en train de définir les points de contrôle. C' est la fonction. Vous pouvez double-cliquer dessus et vous pouvez voir qu'il s'est réduit à une fonction. Donc, cette fonction définit les points de contrôle. Mais c'est beaucoup plus propre maintenant. Et nous pouvons maintenant faire glisser ça un peu plus près dans ce bas. Et ce que j'aime faire, c'est juste faire condensé. Alors je fais ça. J' aime faire ça. Et nous pouvons en fait, nous pouvons l'éloigner un peu plus loin donc ce n'est pas trop compact, juste comme ça. Et ici, vous pouvez commenter et dire des variables de point de départ. Ok, donc maintenant vous avez ce réglage des variables de points de contrôle. Et la dernière chose que nous avons ici est de frayer la balle au poste de contrôle. Donc, je vais le rapprocher un peu. Et je vais mangler ça et dire des liens tout au premier point de contrôle. Ok, alors laisse-moi enlever. En fait, c'est très bien. Donc maintenant, nous avons ces domaines, nous le supprimons simplement. Il suffit de le déplacer un peu plus bas. Juste comme ça. D' accord ? Et celui-là, juste le bouger comme ça. Nous avons donc maintenant ces commentaires. Et celui-ci, c'est le chevauchement, donc je vais les regrouper ici. Et nous avons déjà fait cette macro pour qu'elle ait l'air propre. Et venons-y et disons couche de téléphone de
Ray en tombant sur la carte. Appelons ça et mets-le ici. Et nous pouvons toujours faire une autre couleur juste pour que nous le
sachions, nous savons que c'est le joueur commence. Ou en fait, on peut passer tout ça en cliquant sur C. Et je vais juste appeler ça commencer à jouer. J' aime avoir, comme savoir si commencer jouer est dans mes plans. Donc c'est ce que je fais d'habitude. Et vous pouvez toujours faire l'une et l'autre couleur juste pour que vous le sachiez. C' est la pièce de début. Et vous pouvez montrer la bulle où nous pouvons voir que c'est la pièce de début. Je ne sais pas si je veux montrer ça en fait, Cachons les bulles comme ça,
donc ce n'est pas déroutant. Eh bien, nous avons le début de la pièce. Compilons et sauvegardons. Et ici, nous avons qu'ils répondent logique. Donc, cela semble propre maintenant et la fonction, nous collaborons ceci à une fonction et il a l'air bien. Ok, alors passons à autre chose. Cliquons, fermez-le, allez dans BP ball. Et ici, nous n'avons rien. Nous avons tous cette fonction. Et ça a l'air bien. Alors fermons le ballon BP. Ouvrons le portail. Ici. A l'intérieur du portail, nous avons un peu de choses à faire. Et ici, je veux passer d'ici à ici, je pense que c'est,
c' est la logique de réponse. Donc, nous sommes en train de régler le remboursement de ce point de contrôle et nous
mettons le ballon à ce point de contrôle. Donc, je vais cliquer avec le bouton droit de la souris et le réduire en une fonction. Et je vais l'appeler. Répondre à la balle aux points de contrôle ou ne pas répondre en fait juste frayer balle à ce point parce que vous passez par le portail. Ok, donc répondre à la balle au point de contrôle, alors double-cliquez et déplacons ça un peu vers le bas. C' est plus propre. Et celui-ci peut le déplacer un peu vers le bas et double-cliquer pour créer un nœud ferroviaire. curseur sur ce clic sur la file d'attente. C' est bien. Juste comme ça. Et maintenant c'est propre aussi. Et voici, nous frayons la balle au point de contrôle. Et celui-ci, nous disons que si le nom est égal au troisième point de contrôle, nous allons à la cible View et ainsi de suite. Donc c'est bien, c'est bon. Ça a l'air bien. Et ce que nous voulons faire ici, c'est que nous pouvons vraiment comme ça et commenter. Et ici, nous pouvons écrire sur les liens de vérification de couche lors de l'entrée dans le portail. Quelque chose comme ça. Ok, donc maintenant ça a l'air bien. Compilons et sauvegardons. Et en passant, pour les variables, vous pouvez également nettoyer cela et vous pouvez cliquer sur la variable. Et ici, dans la catégorie, vous pouvez changer la catégorie ici. Et comme nous n'avons rien ici, ne
me dérange pas juste de faire une valeur par défaut, mais si vous changez le nom, nous allons lui donner une autre catégorie ici, tout comme les composants. Donc pour ça, laissons que ça soit comme ça. Nous n'avons pas plus que ça. Donc c'est bien d'aller dans l'étoile. Voyons ce qu'on a fait au début de la pièce. On joue ça ici. On peut juste dire jouer le mouvement initial des étoiles. Et c'est ce qu'il fait. Et ici, on peut dire ajouter 12 étoiles variable. Et ce sont de mauvais commentaires en ce moment. Je veux dire, je les fais juste vite comme je viens comme ils viennent dans ma tête. Et pour que cette vidéo ne soit pas trop longue. Et ici, dans l'étoile a fait allusion, voyons si nous pouvons changer quelque chose. Et c'est régler la rotation. Je pense que c'est bien. Et avec cela, vous pouvez commenter et dire jouer, jouer star, animation star. Ok, écoutez et n'avez pas à ajouter des loci placés étoile en boucle animation. Donc, quand vous le perdez, il va jouer une animation. Donc, ici, nous avons ce code compiler et enregistrer, et fermons cela, ouvrez le mode de jeu et le mode de jeu. On n'a rien d'autre que ça. Et celui-ci, nous pouvons dire en ajouter une à cette variable d'étoile lorsqu'il est chargé. Celle-ci ici. Et maintenant, je peux vous montrer cette catégorie par défaut parce que maintenant nous avons plusieurs variables. Et ici, nous pouvons, par exemple, appeler ici dans la catégorie que nous pouvons appeler ça points de contrôle. Et celui-ci aussi je peux appeler des points de contrôle ou vous pouvez le sélectionner à partir d'ici maintenant. Et voici les étoiles, je peux juste l'appeler la catégorie va être appelée monnaie. Et maintenant vous pouvez voir, maintenant c'est beaucoup plus propre parce que nous avons deux catégories, une monnaie et un point de contrôle. Mais cela est aussi nettoyé maintenant. Et puis compilons et sauvegardons. Retournons au contrôleur du labo. Maintenant, c'est le dernier. Ici, nous allons dire affichage, affichage interface utilisateur principale. Au démarrage de la partie. Et ici, on va dire, oui, celui-là va dire mouvement de balle. Juste, appelons-le juste un mouvement de balle. C' est très bien. Et ici, le dernier est l'affichage. Quand vous mentez, quand tous ceux affichent ou nouvelle IA, c'est très bien aussi. Donc maintenant, nous avons ceci et celui-ci a l'air bien et tout a l'air bien. Compilons et sauvegardons. Et c'est ainsi que vous nettoyez votre code. Il est très important d'effondrer deux fonctions partout où cela a du sens, suffit de faire attention à ne pas trop effondrer car il peut aussi devenir déroutant. Si vous effondrez ceci et à l'intérieur de cela, vous effondrez ceci et ainsi de suite. Il sera, il peut être plus nocif que, que utile. Et c'est juste, fais-le là où ça a du sens. Alors fermons ça et c'était tout pour le match. Allons de l'avant dans la leçon suivante et en fait
juste, juste dit le test, le jeu et juste jouer.
40. Emballer le jeu: Ok, donc maintenant on a fini avec le jeu. Félicitations, Cela a été très amusant à faire, et j'espère que vous avez eu du plaisir aussi bien et appris beaucoup. Alors maintenant avant de jouer au jeu, Emballons en fait pour que vous puissiez l'envoyer à des amis et à la famille ou à quelqu'un, vous savez, s'ils veulent y jouer. Et ce que nous voulons faire ici à l'intérieur des plates-formes ici, vous pouvez cliquer ici et aller dans les paramètres d'emballage. Ensuite, ici, vous pouvez changer cette configuration Build du développement à l'expédition. Et puis vous pouvez vérifier ce complet reconstruit. Donc, il va reconstruire le jeu quand il est expédié. Et c'est aussi pour la distribution. Et que faites-vous avec cela est maintenant toutes les choses que vous avez écrites à l'intérieur de votre jeu qui sont seulement pour le développement ne seront pas incluses dans le jeu. Et par cela, je veux dire, par
exemple, la fonction de chaîne d'impression. Et nous n'avons plus de chaîne d'impression. Mais si vous aviez une fonction de chaîne d'impression à l'intérieur du jeu, cette fonction de chaîne d'impression ne sera pas incluse, ce qui est une bonne chose. Et je suis également allé de l'avant et supprimé le dossier Blueprints super grille. Il me donnait beaucoup de problèmes quand je paquet que le jeu plus tôt. Donc, ici dans la super grille, ce n'est pas vraiment de notre faute, mais quelque chose ne va pas avec ce paquet qui nous donne des époques. A l'intérieur de ce niveau de tutoriel, j'ai supprimé le dossier appelé Blueprints. Et aussi dans les particules, j'ai supprimé toutes les particules à l'exception de l'étoile p que nous utilisons. Et à l'intérieur de l'utilitaire, je n'ai rien supprimé. L' exemple matériel, je n'ai rien fait non plus. J' ai donc supprimé le dossier du Blueprint et je n'ai que ces trois à l'intérieur du niveau du tutoriel. Maintenant, j'ai également supprimé la carte de vue d'ensemble et la carte du tutoriel. Donc ici j'ai supprimé toutes les cartes. Je pense qu'il y avait une carte ici et le pack de départ, je n'ai rien touché. Et ici, j'ai supprimé cette carte d'aperçu ici. Et j'ai aussi renommé le, le paquet en super grille aussi. Donc je clique juste que faire renommé, il est juste le mettre derrière elle. Ça me donnait beaucoup d'erreurs. Et quand vous renommez quelque chose, parfois le dossier ne disparaît pas. Il suffit de faire un clic droit ici dans le contenu, un navigateur et cliquez sur fixe directeurs de lecture dans le dossier. Parfois, il y a des fichiers invisibles qui feront disparaître les anciens et les nôtres. Et si vous avez un dossier qui ne disparaît pas, allez-y et cliquez sur le dossier, assurez-vous s'il y a quelque chose ou s'il est vide. Et si les anciens dossiers complètement vides, a essayé de cliquer sur Supprimer dessus et de le supprimer. Mais celui-ci, c'est le bon. J' ai juste changé de nom. Et si l'autre moteur vide, parfois Unreal Engine, les dossiers vides ne peuvent pas être supprimés même s'ils sont vides. Et je pense que c'est un insecte. Donc, ce que vous devez faire est que vous devez aller à l'intérieur des fichiers du projet, à l'intérieur des fenêtres ici dans l'Explorateur de fichiers. Et puis vous devez trouver votre projet. Donc la balle de vitesse et à l'intérieur du contenu et dans la super grille aussi. Donc c'est celui que j'utilise maintenant. Mais si vous avez une super grille, c'est l'ancien dossier, vous pouvez aller de l'avant et cliquer sur Supprimer. D' accord ? Mais ce sont les dossiers que nous utilisons maintenant. Donc, c'est correct. Et parfois, il peut être difficile de cuisiner un projet. Parfois, il dira beaucoup d'erreurs, certaines aléatoires et vous devez aller les réparer. Mais allons-y et essayons avec ça. Maintenant, je l'ai renommé. Et on ne devrait pas avoir d' eros parce qu'on
ne l'a pas fait. Je ne pense pas qu'on ait fait quelque chose de mal. Allons donc voir ce que dit le paquet. Non, maintenant nous avons fait tous les paramètres et aller de l'avant et cliquez sur Windows. Nous voulons paqueter pour Windows et choisir le projet de package. Et ici, vous devez choisir où vous voulez emballer leur projet. Donc, j'ai fait un dossier ici appelé Nouveau dossier 2. Et à l'intérieur de ce dossier, si je double-clique dessus ici, je peux sélectionner le dossier. C' est là que je veux l'empaqueter et peu importe où vous empaqueter, c'est à vous de le sélectionner et de cliquer sur ce journal de sortie show. Maintenant que son emballage. Et la chose la plus importante ici est de voir. Vous pouvez voir et voir si cela continue. Mais vous pouvez également supprimer les messages et voir les époques et les avertissements. ce moment, ce sont des avertissements. Ça va. Certains avertissements n'ont pas d'importance. Et quelques avertissements que vous devriez corriger. Et les eros que vous devriez avoir 0 de donc vous ne devriez pas avoir d'eros. Et ils seront en texte rouge si vous avez des époques. Donc, je vais laisser le paquet ici et attendre, et ici c'est terminé. Alors maintenant, voyons les flèches. Il s'agit de VR, donc de réalité virtuelle. Et ça n'a pas d'importance pour nous. Maintenant, en disant la ressource manquante du style Core, cela n'a pas d'importance. Ressource manquante dans le style de l'éditeur NEA gara. Et c'est le style du système de particules. Donc, il n'a pas d'importance pour nous incapable de trouver des informations sur la plate-forme pour lentille creuse. Ok, donc ça n'a pas vraiment d'importance. C' est n'importe quoi. Donc maintenant, nous avons emballé le projet et si je vais de l'avant à l'intérieur de mon bureau, si je viens de le tirer ici rapidement. Et certaines fenêtres, nous avons maintenant cette boule de vitesse. Et si on double-clique sur c'est, on a ce jeu s'ouvre sur mon second moniteur. Vous pouvez voir ici et effectivement fui à nouveau maintenant. Très bien, génial. Donc maintenant, nous pouvons jouer au jeu, et ce jeu est emballé et vous pouvez réellement l'envoyer à votre famille et vos amis. Donc, la façon dont vous le faites est juste d'envoyer ce fichier ou vous pouvez leur envoyer ceci. Donc, il suffit de sélectionner tous ceux et de les ajouter à un fichier zip et de faire comme ça et de l'appeler n'importe quoi. Et il suffit de le faire dans un fichier zip et de l'envoyer à vos amis et à votre famille. Et c'est en fait comme ça que tu le fais. Et c'est ce que nous faisons avec la table de ferme et la relâchons sur Steam. Nous l'emballons simplement comme ça et nous le glissons dans un fichier et nous le téléchargeons sur vapeur. Donc, cela a été très amusant de travailler sur ce premier jeu avec vous. Et j'espère que vous avez beaucoup appris. Et si vous avez des questions, s'il vous plaît, écrivez-moi. Je serai plus qu'heureux de vous répondre. Vous pouvez écrire ici dans les commentaires sont à l'intérieur de nos médias sociaux ou un des commentaires de la police à la discorde, même si vous voulez juste discuter et nous pouvons discuter avec vous ou vous aider avec ce cours. Donc j'espère que vous vous êtes bien amusé et que vous pouvez utiliser vos nouvelles compétences pour développer votre propre jeu de balle. Et dans la section suivante, nous allons développer un jeu. Qu' est-ce que tu as ? A, vous pouvez dire un vrai personnage avec les bras et les jambes. Et je vais vous montrer comment configurer ce personnage. On va faire un jeu de tireur. Et je vais, c'est un peu différent, un peu différent, un peu différent, mais toujours presque le même code, mais nous allons encore apprendre beaucoup de nouvelles choses. Alors allons de l'avant et la section suivante.
41. Introduction du jeu - CloneStrike: Bonjour et bienvenue à cette partie du cours. Nous allons donc créer un jeu appelé clone strike. Et ce que nous allons créer en tant que tireur de haut en bas. Ici, vous allez apprendre à créer une interface graphique plus avancée. Par exemple, une barre de santé dans le compteur ennemi. Et vous allez également créer une mécanique assez avancée, par
exemple, le tir et le rechargement et le comptage des munitions. Vous allez également apprendre à configurer un personnage qui court autour et comment ajouter des armes à ce personnage. Nous allons aussi travailler avec des PNJ. Donc, IA courir autour et en fait chasser le joueur et essayer de tuer le joueur. Et nous allons faire tout ce jeu comme dès le début où vous commencez avec le menu principal et vous jouez le jeu, vous entrez dans les vagues. Le jeu devient plus difficile que vous progressez à travers le jeu. Et à la fin, quand il devient trop difficile, le vous tuer. Et vous apprendrez à faire l'animation de la mort et le jeu sur l'écran.
42. Créer le projet: Bonjour et bienvenue dans cette section. Alors maintenant, nous allons créer notre jeu de tir top-down. Et nous allons apprendre beaucoup parce que nous allons faire le personnage. Et cette fois, nous utilisons un vrai personnage, qui est un peu différent du bol que nous avons utilisé dans le jeu précédent. Bien que. Allons de l'avant et créons le projet. Alors d'abord, allez à l'intérieur de la bibliothèque et lancez Unreal Engine. Ensuite, nous allons aller à l'intérieur des jeux. Et ici, nous choisissons un projet vierge en utilisant des Blueprints et c'est le bureau. Nous dévérifions le contenu du démarrage. Et appelons-le clone. Frappe. Et avec cela, créons le projet. Maintenant que je suis à l'intérieur du projet, avant de faire quoi que ce soit d'autre, je veux cliquer sur Mise à jour ici, en cliquant sur mise à jour, et je veux gérer les plugins. Et vous pouvez également accéder aux plugins en allant ici dans l'Edit, puis les plug-ins, c'est la même chose. suis venu ici dans mon second moniteur et je ne l'ai pas entendu de plugins. Je veux passer à la réalité virtuelle, comme nous l'avons fait dans le projet précédent. Et je coche l'Oculus VR et VR vapeur. Donc, il ne commence pas comme un jeu de réalité virtuelle lorsque nous sortons le jeu. Donc, en cliquant surRedémarrer et attendez qu'il s'ouvre à nouveau. Donc, tout cela était pour que maintenant le projet est prêt. Et allons de l'avant dans la leçon suivante et importons quelques actifs.
43. Importer des ressources: Importons maintenant quelques actifs que nous pouvons utiliser pour le projet. Donc, en ce moment, je suis à l'intérieur du lanceur Epic Games et à l'intérieur du marché. Et ici, je veux trouver des biens réels. Donc, aller ici à Bree et en cliquant sur, Nous allons cliquer sur la collection permanente gratuite. Et à l'intérieur d'ici, vous voyez quelque chose appelé mannequins de
style militaire regardant celui-ci. Et puis allez-y et téléchargez-le. Je l'ai déjà téléchargé. Et une fois que vous avez terminé de le télécharger, vous pouvez l'ajouter au projet. Donc, en cliquant sur Ajouter au projet. Et puis vous devez ajouter au projet. Vous avez le 0,5. Mais il ne s'affiche pas parce que vous pouvez voir ici qu'il
n'est pas pris en charge en ce moment, mais cela n'a pas d'importance. Il va fonctionner ou en cliquant sur Ajouter au projet, puis en prenant le spectacle tous les projets. Maintenant, vous pouvez voir les 500. Et là, je vais trouver ma frappe de clone là-bas. C' est mon projet. Et puis vous devez sélectionner la version qui est supportée pour ainsi 4.26, la dernière. Et en cliquant sur Ajouter au projet. Juste comme ça. Et il va l'ajouter à mon projet et c'est déjà fait que vous pouvez voir ici à l'intérieur de mon projet, je l'ai déjà ajouté maintenant. Donc, en revenant au lanceur Epic Games, je vais revenir en arrière et je pense que dans la dernière page,
oui, celui-là, nous avons besoin de la super grille de la dernière partie que nous avons ajoutée. Donc, en regardant ce super atout de grille ici à l'arrière,
on est monté sur celui-là et on l'a téléchargée. Et vous avez probablement déjà téléchargé si vous avez suivi le dernier match. Et puis il suffit d'aller de l'avant et de créer le projet. Celui-ci que vous ne pouvez pas ajouter directement à votre, à votre jeu. Vous devez créer un projet distinct. Donc, créez un projet et appelez-le n'importe quoi et créez-le. Et une fois que vous l'avez créé, je l'ai déjà créé. Donc, en allant à l'intérieur de la bibliothèque, vous pouvez trouver le projet que vous avez créé ici appelé super bon pack de démarrage. Donc, je vais double-cliquer et l'ouvrir. Maintenant que le projet est ouvert, je peux maintenant aller ici et cliquer avec le bouton droit de la souris sur ce dossier de super grille. Et ici, je peux aller de l'avant et cliquer sur le bouton Migrer. D' accord. Et puis allez-y et trouvez le dossier ou vous l'avez. Donc le mien est à l'intérieur des documents, des projets irréels. Il s'agit du dossier par défaut. Et aller, aller de l'avant et cliquer sur Clone Strike. C' est donc le projet que nous avons créé. Et en cliquant sur le contenu, il est très important que vous soyez à l'intérieur du dossier de contenu. Si tu es dehors ici et que tu essaies de le sauver,
ça ne marchera pas. Et si vous êtes spécifiquement dans un autre dossier à l'intérieur du contenu, cela ne fonctionnera pas non plus. Vous devez être, vous devez sélectionner le dossier de contenu spécifiquement, pas un autre endroit. Donc, juste ici à l'intérieur du dossier de contenu, sélectionnez ce dossier et il va copier les dossiers. Mais alors il va le copier avec succès. Et peu importe que certains contenus ne puissent pas être copiés avec succès. C' est bon. Et je vais aller de l'avant et clore ce projet. Ensuite, j'ai la super grille. Et la dernière chose avant d'en finir, je veux ouvrir le lanceur des Jeux épiques. Il a fermé pour une raison quelconque. Et pour revenir sur le marché, ici vous devez aller à un contenu gratuit, puis Epic Games. Et à l'intérieur d'ici et de la dernière page, il y a quelque chose qu'on appelle un pack de démarrage d'animation. Donc, en cliquant sur ce sac pour que nous puissions avoir quelques animations pour le personnage 0, en cliquant dessus, et en cliquant sur Ajouter au projet. Maintenant, nous allons cliquer à nouveau, afficher tous les projets et cliquer sur Clone grève et choisir la dernière version pour laquelle il est compatible. Et puis en cliquant sur Ajouter au projet. Maintenant, il l'a ajouté au projet. Et vous pouvez voir ici nous avons maintenant important les jeux d'animation, le mannequin, qui est le personnage que nous allons utiliser. Et voyez que c'est le personnage. Et nous avons aussi importé la super grille que nous avons utilisée dans le jeu précédent. Ok, donc la prochaine chose que nous devrions ajouter, c'est les armes, ce sont les armes. Donc ici, à l'intérieur du marché, vous pouvez chercher des armes. Et lorsque vous recherchez des armes, vous pouvez cliquer sur le filtre Libérez un ici afin que vous puissiez voir les actifs libres. Et ici, vous voudrez télécharger l'arme FPS fournie. Vous pouvez voir qu'il y a d'autres armes que vous pouvez utiliser pour le plaisir si vous êtes un confiant. Mais allons de l'avant pour ce tutoriel et utiliser le pack d'armes FPS. Donc, en cliquant dessus, et je l'ai déjà téléchargé pour que vous puissiez le télécharger. Et en cliquant sur le projet Agile un est téléchargé. Aller à montrer tous les projets en regardant Clone Strike et en sélectionnant la dernière version. Donc, en cliquant sur le projet Agile. Ok, donc la dernière chose qu'on peut ajouter pour l'instant, c'est les ennemis parce qu'on a besoin d'IA. Et ici, vous pouvez aller au contenu gratuit et Epic Games. Et ici, je pense que c'est à la page 5. Alors vérifions ça. H6. Et en entendant la page 6, nous avons quelque chose qui s'appelle les adversaires Infinity Blade. Alors, nous allons cliquer sur celui-là. Et ici, vous pouvez voir que nous avons beaucoup d'ennemis différents que nous pouvons utiliser pour le projet. Donc, en cliquant sur Ajouter au projet. Je l'ai déjà téléchargé, vous devez
donc le télécharger d'abord. Donc, en cliquant dessus et montrer tous les projets. Aller à clone frappe tue le dernier projet et à deux projets. Donc maintenant, cela va être ajouté au projet. Vous pouvez voir que nous avons maintenant tous ces cinq actifs. Et si nous avons besoin de plus d'ISS plus tard, Allons-y et importons-les. Si nous en avons besoin, de la musique, des effets sonores ou autre, je le regarderai plus tard et je le téléchargerai. Mais pour l'instant ce serait une amende et passons à la leçon suivante.
44. Créer le niveau: Allons maintenant et concevons le niveau. Et le niveau que je veux faire très simple. Alors allons-y et commençons. Tout d'abord, nous devons cliquer avec le bouton droit de la souris créer un nouveau dossier et appelons-le cartes. Et à l'intérieur d'ici, nous allons faire un clic droit et cliquer sur le niveau. Donc on va appeler cette carte, et appelons-la, appelons-la, appelons-la principale. C' est la carte principale, donc double-cliquez dessus. Évidemment, nous devons ajouter un peu d'éclairage. C' est très sombre maintenant. On va créer des lumières et des lumières directionnelles et s'éteindre. J' ai donc dû créer des lumières et créer un puits de lumière. Et la dernière chose que nous voulons faire est ici dans les paramètres. Ici, nous pouvons montrer le contenu du moteur. Et à l'intérieur du contenu du moteur ici, le dossier apparaîtra lorsque vous cliquez ici, fuyant dessus et cherchant ciel. Et l'importation de ce ciel. Vous pouvez voir que nous avons un ciel. Et si vous voyez sur le panneau Détails de cette sphère de ciel que nous avons ajoutée, vous pouvez également changer les hauteurs de fils et vous pouvez voir que vous pouvez changer le jour et la nuit comme ça. Ok, alors maintenant on a ça. Allons de l'avant et créons le niveau. Donc, supprimez ce mot de recherche afin que nous puissions voir le paquet ici. Et à l'intérieur d'ici, nous pouvons aller au pack de démarrage et aux maillages source. Et ici, nous avons différents outils que nous pouvons utiliser. Donc nous allons traîner dans ce super plan grille, a été laissé tomber sous terre. Et je vais cliquer sur notre gras ici sur la boîte blanche et le redimensionner, Est-ce que le sol sera créé. Et en ce moment, il fait très sombre parce que le soleil est très bizarre et vous pouvez voir qu'ils sont la lumière change lentement et nous ne voulons pas cela. Alors allons de l'avant et créons des effets visuels et post-processus. Et ce volume post-processus, nous allons supprimer l'exposition. Ça va, c'est un peu ennuyeux quand on fait des jeux. Mais c'est, je pense que c'est une bonne chose si vous faites comme des vues cinématographiques, mais quand vous faites des jeux, cette exposition est très ennuyeux. Donc, en cliquant sur la luminosité minimale et maximale à l'intérieur de
l' exposition et du post-processus et en définissant ces valeurs à un. Et pour affecter l'ensemble de la carte, vous devez descendre et cliquer sur cette étendue infinie, juste comme ça. Donc maintenant, l'exposition est comme elle devrait l'être. Et la raison pour laquelle on dirait que c'est parce que le soleil sort d'une mauvaise direction. Donc, en cliquant sur le World Outliner, vous pouvez cliquer sur la lumière directionnelle. Et là, c'est. Donc c'est sous le sol en ce moment. Vous pouvez essayer de le faire pivoter et voir dans quelle direction le soleil devrait être. Et une très bonne référence ici. On peut dire notre mannequin. Donc, dans le mannequin ODS, le mannequin ici, le maillage de caractère. Et nous pouvons dire que cette maille et le placer dans le niveau juste pour que je puisse voir le soleil. Ou en cliquant sur la lumière directionnelle. Je peux maintenant le faire tourner à mon goût. Selon le personnage. Je pense que quelque chose comme ça se passerait bien. Et en ce moment, le soleil est très, très fort. Alors montons ici et insensibles et mettons-le à trois. Maintenant, nous allons faire l'éclairage dans une autre leçon. Ne vous inquiétez pas pour l'instant. En ce moment, je veux juste faire un éclairage décent juste pour qu'on puisse travailler un peu. Et ici, pour la sphère du ciel, vous pouvez augmenter l'intensité. Et je vais l'augmenter à deux pour l'instant. Et pour celui-ci, je veux réduire les parties brillantes. Donc, en cliquant sur cet affichage ici, en cliquant sur la loupe pour la grille m super et en double-cliquant dessus. Et ici, nous pouvons définir le, vous pouvez voir si je minimise cela un peu, nous avons quelque chose appelé la rugosité maximale et la rugosité minimale. Donc, plus vous
l'augmentez, moins il sera brillant. Donc, si je le mets sur un, vous pouvez voir ces carrés devenir moins luisants et le discours aussi. Donc pour cela, je pense que je fais 0,75 ou la rugosité maximale et le minimum. Essayons 0,5 et je pense que c'est trop de dopamine 75 et 0,8 possible ou zéro point 9. Je pense que c'est bien pour nous. Maintenant, fermons et sauvegardons tout. Ok, donc maintenant que nous avons un éclairage correct, nous pouvons maintenant essayer de travailler avec le niveau. Alors allons de l'avant et créons-le. Et je veux le faire très simple double-clic de niveau sur celui-ci. Je veux définir l'emplacement de ses zéros 0000. Et juste le personnage aussi. Définissons le caractère 0, 0, 0. Et ici, nous pouvons les déplacer un peu vers le milieu. Donc, cet avion que nous voulons redimensionner en fonction de la taille que nous voulons. Et peu importe à quel point c'est précis, honnêtement, nous voulons juste un peu de place pour travailler. Et le moins de crédit 30 en fait ici, vous pouvez cliquer sur le verrou de sorte qu'il change toutes les valeurs à la fois. En cliquant sur une écriture 30 et il va créer ceci. Alors maintenant nous avons ceci et ajoutons quelques murs. Maintenant, je vais revenir pour me laisser le trouver, la super grille ici pour super grille et démarrer un PECC sources maillages et ici dans la boîte, et je clique sur cette boîte, en le plaçant. Et je vais le déplacer ici dans le coin comme ça. Et puis vous pouvez le mettre à l'échelle avec le, avec le mur ici sont le sol ici. Et vous pouvez le rendre plus grand pour le mur. Quelque chose comme ça. Et vous pouvez le faire pivoter. Et en passant, vous pouvez tenir Alt et en rotation, cela va dupliquer. Vous pouvez le faire glisser. Et faisons un niveau très simple. Laisse-moi en fait, je vais rendre celui-ci un peu plus grand, donc il couvre ici. Et je vais traîner ça. Je vais rendre l'accrochage un peu plus à 100 et
cliquer et faire glisser pour dupliquer ici, va rendre cela plus petit afin qu'ils ne se heurtent pas ici. Et je vais aussi tenir Alt et le faire glisser et le bouquet ici. Maintenant, nous avons un petit niveau et je pense que c'est bien. Ajoutons simplement pour le plaisir la boîte censurée ici. Ajoutons quelques obstacles. Et peut-être quelque chose comme ça. Donc, nous pouvons ajouter quelques obstacles juste pour que nous ayons quelque chose dans la carte qui bloque. Donc, je peux en ajouter un ici. Et ajoutez-en un ici. On peut en ajouter quatre au hasard. Peut également les faire dans différentes formes. C' est bon. J'aime ça. Et juste faire comme ça à la place. Ouais, je pense que c'est bon. C' est donc notre niveau très simple avec lequel nous pouvons travailler. Et ce que nous pouvons faire est d'avoir le jeu de tir ici et vous pouvez engendrer des ennemis et ainsi de suite. Et si vous voulez que le niveau soit un peu différent, vous pouvez toujours cliquer sur l'un d'eux, regardant cette loupe sur le matériau. Et vous pouvez voir comment différents matériaux que vous pouvez choisir parmi tout ce qu'il veut. Vous avez également quelques documents à l'intérieur du dossier du super groupe et du niveau du didacticiel. Et puis les instances matérielles que vous pouvez voir que vous avez différents motifs que vous pouvez sélectionner si vous souhaitez choisir autre chose. Nous avons même comme les couleurs inondables, celles-ci sont très brillantes comme ça, et vous pouvez les utiliser aussi bien. Donc, mais pour l'instant je vais à ce standard.
45. Éclairer l'environnement: Ok, donc avant de commencer la programmation, faisons la dernière chose. Faites l'éclairage rapidement pour ne pas faire quelque chose de vraiment brillant, mais rendons ça un peu mieux ici. Alors passons et tournons le soleil. Donc, en cliquant sur le feu de direction, a essayé de le faire pivoter à votre goût. Voyez ce que vous pensez avoir l'air bien. Et peut-être que je veux quelque chose comme ça, couvrant un peu les ombres ici et quelque chose comme ça. Donc j'aime ça ici. Les ombres craignent. Et je vais changer l'intensité en fonction du jour. Et je pense que 3.1. Bien pour moi. Je vais le rendre plus grand ici en appuyant sur FL1, maximiser la fenêtre d'affichage. Juste essayer de jeter un oeil et de voir si cela ressemble à la lumière du jour ou non. Parce que parfois, on peut l'abaisser trop et ça ressemble à la nuit. Et je pense que 3.133, c'est bien. Vous pouvez utiliser le yuan de température, ce qui rend le soleil plus froid ou plus chaud. Mais pour l'instant, je vais juste laisser ça être tel qu'il est. Et c'est bien pour la lumière du soleil. Allons à la lucarne. La lucarne, ce que vous pouvez faire ici, c'est que vous pouvez changer l'intensité en fonction de l'ombre. Donc, celui-ci affecte l'ombre. Donc, si vous voyez les ombres trop sombres, vous pouvez aller à l'intérieur de la lucarne et changer l'échelle d'intensité. Et vous pouvez voir ici, plus vous le monterez, moins
l'ombre aura de ténèbres. Et une autre chose cool est ici à l'intérieur de la lucarne, vous pouvez cliquer sur cette petite flèche. Et celui-ci est l'hémisphère inférieur. Celui-ci affecte cette partie inférieure du maillage. Et en ce moment, il fait très sombre. Donc, pour le rendre plus réaliste, nous devons goûter cette couleur ici. Donc parce que cette couleur n'est pas canard, donc cette couleur peut changer. Et ce que nous pouvons faire ici, pour choisir la bonne couleur. Vous ne pouvez pas, vous ne pouvez pas choisir une couleur comme celle-ci parce que ce sera faux. Ce que vous avez à faire est de mèche sur le, en fait avant de cliquer,
Allez, allez au ganglion lymphatique. À l'intérieur de la visualisation du tampon, vous pouvez choisir la couleur de base. Donc, ici maintenant, vous pouvez voir échantillon la vraie couleur de base. Donc, en cliquant sur les puits de lumière, maintenant vous pouvez descendre. Voici la bonne couleur maintenant. Alors choisissons cette couleur. Maintenant, c'est la couleur de collecte, la couleur correcte. Alors, en cliquant sur Ok, retournez à la lucarne. Et maintenant, vous pouvez cliquer sur recapture parce que recapturation signifie en revenant au mode lèvre ici. Recapturation signifie aussi qu'il capture vraiment la sphère du ciel ici. ce moment, c'est l'heure de la journée. Si vous le changez ce soir, vous devez reprendre la reprise d'Alice. Et ça va être correct, et la couleur est correcte aussi. Et il utilise l'hémisphère inférieur et ainsi de suite. Donc maintenant, c'est beaucoup plus correct. Alors maintenant, allons plus et augmenter l'échelle d'intensité rendra les ombres un peu plus belles à regarder. Je crois que je vais diminuer un peu la lumière du soleil. Aides en deux points. Peut-être que deux ira bien en fait, voyons deux. Oui, je pense que c'est très fort et que ça s'affiche ici. Essayons ça. Essayons deux. Et pour les ombres, revenons aux puits de lumière. A moins que les trois, faisons-le quatre. Donc maintenant, ça a l'air bien. Ok, donc ce qu'on peut faire ensuite, c'est ajouter du brouillard. Donc, en cliquant sur Créer et à l'intérieur des effets visuels, nous pouvons aller de l'avant et cliquer sur le brouillard de hauteur exponentielle. Et vous pouvez voir maintenant qu'il ajoute du brouillard. Donc, si nous augmentons la densité de brouillard, vous pouvez voir qu'elle augmente ici aussi. Et on peut ajouter du brouillard léger. Ça n'a pas besoin d'être fou. Mais c'est la chute est très bien, standard. Et il peut également changer la couleur de celui-ci. Je veux juste le voir. C'est bien. Et la densité. Allons au World Outliner. Hey, c'est sur et hors pour voir. Et je pense que c'est bien pour l'instant. Donc, que ce soit comme ça et nous pouvons toujours l'ajuster. Alors passons à ou nous avons
déjà créé un volume post-processus dans les dernières leçons. Donc, en cliquant sur le volume post-processus. Maintenant, le volume post-processus, nous pouvons changer l'apparence de l'image comme dans Photoshop ou modifier l'apparence du jeu ou de l'image. Ici, vous pouvez modifier l'apparence du jeu serait post-processus. Et avec le post-processus, par
exemple, nous avons ici la floraison. Vous pouvez augmenter ou diminuer dans la floraison. Et pour la floraison, je pense que 0,4. Donc un peu en dessous. Un peu en dessous de la norme, parce que la norme est 0.6. Et l'exposition nous nous
asseyons, nous pouvons maintenant ajouter des effets d'image en ce moment, point zéro pour ceci est la vignette. Donc vous pouvez voir si je l'augmente,
il devient une bordure noire autour des bords. Et je pense que je vais le mettre à 0,2. Maintenant, nous pouvons ajuster la balance des blancs. Ainsi, par exemple, la température peut être un peu froide. Vous pouvez le voir. Il fait chaud si je l'augmente et c'est appelé si je le diminue. C' est donc la norme et on peut la diminuer un peu, peut-être 5 800. Et en cliquant sur comprendre je peux l'augmenter pour le rendre un peu plus rouge et peut-être le rendre moins froid. Donc cinq mille neuf cent zéro point zéro neuf. Juste une légère différence ici. Ok, donc c'est notre niveau en ce moment. Et ce que nous pouvons faire dans le monde, nous pouvons changer toutes ces choses. Vous pouvez changer le gain s'il fait trop sombre et toujours le changer. Mais en ce moment, je pense que ça a l'air bien. Et nous n'avons pas besoin de ça. Vous pouvez jouer avec l'occlusion ambiante et le flou de mouvement et ainsi de suite. Donc je pense que c'est bien pour l'instant. Et voyons s'il est sous terre. Il regarde le boulot. Ça a l'air bien. Ok, donc c'est ce que nous avons jusqu'à présent. Ça a l'air super. Et on peut travailler avec ça. Et laissez-moi vérifier le brouillard et voir si nous en avons besoin ou si c'est trop fort ou pas avant de continuer. Soyons juste de petits zérocoins, juste un petit effet. Urine le VAB. Et maintenant, nous avons ce niveau avec cet éclairage jusqu'à présent. Je pense donc qu'avant de continuer, nous pouvons ajouter ou augmenter la saturation un peu avant de continuer. Voyons à quoi ça ressemble. Saturation et voir si je l'augmente un peu. Donc 1 à un ou 1,05. Et en diminuant le brouillard petit peu, le point zéro. Le point zéro un va comme ça. Ok, donc maintenant nous avons l'éclairage fait pour notre jeu. Et avant de terminer la vidéo, Allons-y et ajouter un volume d'importance de masse légère. Donc, ici et qui crée à l'intérieur des volumes, vous avez quelque chose appelé masse de lumière importance du volume. Et cela définit simplement ce qui est important pour le rendu de l'éclairage. Et nous voulons juste que ça couvre tout notre niveau. Donc, en cliquant sur celui-ci et vous pouvez modifier les paramètres de la brosse. Donc augmenter la taille juste pour qu'il s'adapte à toute la carte. Et ça n'a pas besoin d'être spécifique. Donc il a juste besoin de les couvrir. Je vais le rendre un peu plus grand, quelque chose comme ça. Alors maintenant, la masse de lumière va rendre ici. Et pour construire l'éclairage pour le rendre correct et le construire et plus propre. Vous pouvez aller de l'avant et cliquer sur construire et construire tous les niveaux en ce moment j'ai juste un niveau cependant, en cliquant dessus et il va commencer à construire, ok, Maintenant que le bâtiment est terminé, et c'est le look final de la niveau. Et si nous avons besoin d'ajuster quelque chose plus tard, par
exemple, nous n'aimons pas autant la saturation. Sommes-nous ? On veut le réchauffer ou autre chose ? Faisons-le à l'avenir. Mais pour l'instant je pense que c'est bien. Et passons à la leçon suivante.
46. Configuration du personnage: En ce moment, il est temps de mettre en place le personnage. Donc c'est le personnage que nous avons, nous avons importé dans les dernières leçons. Donc celui-ci s'appelait le mannequin ODS. Nous allons utiliser ce personnage et le mettre en place pour qu'il soit prêt pour notre jeu. Alors allons de l'avant et sur le côté du dossier de contenu et cliquez dessus avec le bouton droit, créez un nouveau dossier appelé Blueprints. En passant, vous pouvez déplacer tous ces dossiers du site de vente à l'intérieur d'un site de vente. Je vais juste faire un nouveau dossier appelé Marketplace. Et permettez-moi de sélectionner tous
ces dossiers de marché et de les mettre à l'intérieur du marché. Je vais probablement prendre un peu de temps. Donc, en regardant sur bouger ici. Ok, Maintenant, il a été déplacé vers tous les dossiers, vers le dossier Marketplace. Et vous pouvez voir que ces dossiers n'ont pas été supprimés eux-mêmes parce que je peux également les voir à l'intérieur du dossier Marketplace. C' est donc un livre parfois avec Unreal Engine et vous devez cliquer sur Supprimer. Et si elle ne le supprime pas, Voyons s'il le dilue. Avant de cliquer sur Supprimer Londres, faites
un clic droit sur ce dossier de contenu et cliquez sur les directeurs de lecture fixes. Et ça va arranger les directeurs de résumé. Et laissez-moi les sélectionner à nouveau en dehors du dossier Marketplace et cliquez sur Supprimer. Et maintenant, ils s'enlèvent eux-mêmes. Parfois, tu dois réparer, lire des réalisateurs. Il s'agit de dossiers ou de fichiers que vous ne pouvez pas voir. Et donc celui-là aussi. Et celui-ci que je ne peux pas supprimer. Donc, je devrais redémarrer le moteur et vous, si elle ne supprime jamais ici, vous pouvez également le supprimer de votre navigateur et navigateur de fichiers en dehors du moteur. Mais pour l'instant, que ce soit comme ça, c'est bon. Supprimons ces dossiers de contenu du moteur
en cliquant ici et en cliquant sur Afficher le contenu du moteur. Et maintenant ils disparaissent. Je ne m'embêterai pas avec ça pour l'instant. Maintenant, à l'intérieur des Blueprints, Faisons un clic droit et cliquez sur Blueprint Class. Et pour créer notre personnage, nous devons créer le personnage ici. Avant dans le jeu précédent, nous utilisons Po1. Et c'est parce que notre personnage n'était qu'une balle qui roulait autour. Mais maintenant, nous avons un vrai personnage, comme deux bras, deux aiment se promener. Et pour cela, nous avons besoin d'un vrai personnage, pas sur, nous ne pouvons pas le faire avec dessus. Donc, en créant un personnage et appelons-le BP. Bp, base de caractères BP. Donc maintenant c'est la classe de base du personnage. Et je vais te montrer quelque chose. Ici. Vous pouvez cliquer avec le bouton droit et cliquer sur Créer une classe de Blueprint enfant. Maintenant, à partir de cette classe principale de Blueprint, qui est la base de personnages, nous allons faire deux plans enfants, un appelé bp, base de joueurs. Et cliquez à nouveau avec le bouton droit de la souris sous
la base de caractères et faites la classe Créer un Blueprint enfant et appelez-la base ennemie BP. Et maintenant tu te demandes ce que ça va faire. A pourquoi ne pas simplement cliquer avec le bouton droit de la souris et créer une nouvelle classe de Blueprint et créer un personnage et simplement l'appeler base ennemie ou ennemi et créer un nouveau personnage appelé joueur. La raison pour laquelle nous le faisons comme ça, comme un clic droit et la création d'un enfant est parce que parfois vous voulez modifier quelque chose pour tout le monde. Par exemple, ici, si l'ennemi, il a besoin de modifications et la base de joueurs a besoin de modifications. Et ils ont tous les deux besoin de la même édition. Vous devez entrer ici, éditer quelque chose, puis vous devez aller à l'intérieur de la base du joueur et éditer quelque chose. Et au lieu de faire la même chose encore et encore, vous pouvez simplement aller à l'intérieur de la base de caractères et éditer quelque chose. Et quand vous l'éditez ici, il l'éditera sur tous les enfants. Donc maintenant ces deux, si vous maintenez la souris dessus, vous pouvez voir la classe parent comme base de caractères pour les deux d'entre eux. Donc, si j'ai ajouté quelque chose ici dans les paramètres, par exemple, si je décoche cela, il le décochera pour les deux. Vous pouvez voir ici maintenant qu'ils ont une étoile. Ça veut dire que quelque chose a changé. Donc c'est une chose assez cool. Si nous avons besoin de changer quelque chose pour tout, nous pouvons simplement entrer dans la classe de base. Si nous avons besoin de changer quelque chose spécifiquement pour le joueur, nous pouvons l'ajouter à l'intérieur de la base du joueur. Et la base ennemie ne sera pas affectée. Parce que la base ennemie est l'enfant du personnage, pas la base des joueurs. Ok, donc maintenant nous avons une base de personnages dans n'importe quelle rebase, une base de joueurs. Donc, à partir de la base de joueur, nous faisons un clic droit et créons des enfants Blueprint classe à partir de celui-ci Et celui-là, on va appeler la machine BP. Donc notre personnage est juste appelé machine, tout comme Terminator. Imaginez si c'est terminé ou si vous jouez. Et vous pouvez cliquer avec le bouton droit de la souris ici et créer un nouveau dossier. Je vais appeler celui-ci ennemis, et je vais faire un nouveau dossier appelé les joueurs sont juste Blair. Et vous pouvez aller de l'avant et déplacer la base du joueur et la machine à l'intérieur
du joueur et déplacer la base ennemie à l'intérieur des ennemis. Et nous nous concentrerons sur les ennemis plus tard. Et je vais juste laisser le personnage basé ici. Donc maintenant, au lieu du joueur, maintenant nous avons la base de joueur et nous avons le personnage. Vous auriez pu l'appeler joueur bp. Par exemple. Je voulais juste appeler ma machine de personnage comme si c'était un terminateur ou un terminateur BP. Mais si vous modifiez quelque chose à l'intérieur de la base du joueur maintenant, il sera également édité à l'intérieur de la machine parce que la machine est un enfant de la base du joueur. Donc c'est une chose assez cool. Si nous avons besoin de modifier quelque chose pour tout, nous pouvons simplement revenir en arrière et éditer quelque chose dans la base de caractères et cela affectera à la fois les ennemis et les joueurs. Et par exemple, quand nous faisons quelque chose qui est, eh bien, les joueurs, par
exemple, si je fais quelque chose ici à l'intérieur de la base des joueurs et que j'ai beaucoup de personnages. Disons que j'ai créé beaucoup d'enfants ici. J' ai beaucoup de personnages différents. Imaginez que si vous jouez Fortnite et que vous avez beaucoup de skins, cela, et fondamentalement vous avez beaucoup de compétences. Vous avez trois peaux ici. Mais je veux faire quelque chose qui est similaire pour tous. Par exemple, si vous entrez dans ce mur, vous mourrez. Alors vous n'allez pas programmer ce code à l'intérieur d'ici. Parce que je veux que ça arrive pour les trois classes de plans que j'ai faites, toutes ces peaux, toutes ces peaux de quinzaine. Et la façon dont vous le faites comme simplement le codage dans la base du joueur, parce que tous ce sont des enfants de cela. Et si vous codez dans une base solide, bonne joueur, cela fera la logique ou affectera tous ces trois autres, qui sont les enfants de cette base de joueur. Ok, alors supprimons ça. Et en fait, je ne voulais pas quitter cette machine BP. Donc juste comme ça. Et maintenant, je vais aller à l'intérieur de la base des joueurs. Et en fait laissez-moi aller à l'intérieur de la boucle fonctionne maintenant dans la base de caractères, je vais supprimer les démarrages avec tick activé. Et c'est juste pour la performance. Donc juste compiler l'enregistrement, c'est tout dans la base de caractères. A l'intérieur de la base du joueur ici dans le maillage. Je veux en fait ajouter une caméra parce que nous devons
voir le personnage à partir d'une vue de haut en bas. Donc, en cliquant sur ce maillage ici. C' est le personnage d'ailleurs. Et ici, vous pouvez voir que c'est presque comme l'acteur. Nous pouvons y ajouter des composants. Et comme le porno qu'on a
fait, on a ajouté une sphère. Et ici, dans le caractère, vous pouvez voir que vous obtenez en fait quelque chose appelé un maillage. Et ce maillage est en fait le personnage. Vous pouvez donc ajouter le caractère que vous utilisez. Vous pouvez donc ajouter ce caractère ici. Et vous avez aussi le mouvement des personnages. Et ici, vous pouvez éditer le mouvement général. Par exemple, l'accélération, la gravité. Vous pouvez modifier la marche, vous pouvez modifier le saut et la chute. Vous pouvez également éditer quelque chose avec le multijoueur ici, avec la natation, comment vous êtes, quelle vitesse vous nagez et ainsi de suite. Donc, vous avez beaucoup d'options de mouvement à l'intérieur de ce personnage. Et quand tu fais un jeu, tu dois aller ici et équilibrer toutes ces choses. Vous devez donc rendre votre personnage unique avec ce composant de mouvement. Et ici, à l'intérieur du maillage, nous ajoutons le personnage et nous pouvons également assigner un plan d'animation pour animer le personnage, ce que nous ferons également dans la leçon ultérieure. Et vous avez un composant de flèche. Il vous montre quoi, Quel est le devant de cette fenêtre. Donc, le personnage devrait être confronté de cette façon. C' est ce qu'il dit. Et puis nous avons une capsule et celle-ci est comme la boîte Trigger que nous avons faite avant. Nous pouvons faire que les événements de cet ON commencent à se chevaucher juste nous, tout comme ce que nous avons fait dans le match précédent. Et dans la base de joueurs, vous pouvez modifier beaucoup de paramètres. Vous avez les paramètres de classe et par défaut. Et ici, vous savez tous déjà ce que vous pouvez créer. Variables et macros, fonctions et ainsi de suite. Ok, alors commençons par ici. Au lieu de cliquer sur le maillage, Allons-y et ajoutez un ressort sur. Tout comme ce que nous avons fait avec la sphère avec une balle que nous avons faite précédemment. C' est comme le microphone à flèche que vous voyez dans les infos et à la télévision. Et puis vous ajoutez l'appareil photo. Donc cette flèche, bras de flèche ou bras de ressort tient la caméra. Et vous pouvez maintenant cliquer sur le printemps sur. Et vous pouvez cliquer et faire pivoter. Et je pense que je vais faire pivoter jusqu'à 70 degrés. Et maintenant, vous pouvez choisir la distance de la caméra par rapport à cette longueur cible. Essayons 600 et nous allons juste le changer. Si nous, si nous pensons qu'il est trop proche. Compilons et sauvegardons. Ok, et revenons en fait ici et fermons ça. Je vais au joueur et ici. Et c'est donc la base des joueurs. En fait, je vais juste voir si j'ai édité dans le mauvais maintenant. C' était exact. Oui. C' était sur le joueur Bassanio à la caméra. Je croyais que je l'avais fait dans le personnage. Et la raison pour laquelle vous ne voulez pas ajouter l'appareil photo dans la base de caractères est que si vous l'ajoutez à l'intérieur d'ici, il sera également disponible pour la classe ennemie. Et pourquoi auriez-vous besoin d'une caméra pour les ennemis ? Vous ne contrôlerez pas les ennemis. C' est pourquoi nous le faisons dans la base des joueurs à la place. Donc, au lieu d'une machine, si je vais ici. Rappelez-vous, la machine est un enfant de cette classe de Blueprint. Donc, si je vais ici, cliquez sur Ouvrir l'éditeur de Blueprint complet. Vous pouvez voir les caméras déjà ici. Et c'est parce que c'est un modèle enfant de la base des joueurs. Donc, tout ce que vous créez dans la base de joueur, même s'il s'agit de variables, vous serez en mesure d'y accéder dans la machine BP parce que c'est un enfant. Ok, donc ici dans le maillage, on doit ajouter le personnage. Alors allons de l'avant et trouvons le personnage à l'intérieur du marché. Mannequin Ods, maille de caractère mannequin. Et les personnages ici. Faites défiler un peu ici et trouvez ce maillage squelettique ici. Et ici, vous pouvez faire glisser le personnage. Donc, maximisons-le et visualisons-le. Donc c'est le personnage. Cliquez sur l'outil d'art ou sur E2 pour l'outil de rotation. Tournez-le de sorte que ce soit des phases vers cette flèche. Il est à l'avant et maintenant,
dans la vue de gauche ou de face, c'est à vous de décider. Je vais à gauche. Et puis ici vous pouvez faire glisser le personnage vers le bas, donc il est en fait dans le sol ici. Je vais désactiver l'accrochage. Je peux le déplacer en douceur et juste le déplacer du mieux que vous pouvez ici. Donc c'est celui-là, c'est le sol qui le déplace vers le bas. Juste comme ça. Je retourne en mode perspective. Alors maintenant, le personnage est au milieu. Et ne vous inquiétez pas pour l'instant. Compilons et sauvegardons. Et la dernière chose que nous voulons faire est de cliquer sur cette machine, la classe par défaut. Et à l'intérieur d'ici, Voyons si le mouvement est correct. Ils la rotation du contrôleur utilisateur, votre LEA peut décocher celui-ci. Et tous ces pas, lacet et et roulis. Ce sont les X, Y et Z. C'est ce qu'on appelle. Vous pouvez voir que la rotation, l'excès de rouleau à froid, la matrice est appelée tangage et DZ est appelé lacet. Et c'est ce qu'il va hériter du contrôleur. Donc, lorsque vous appuyez sur votre clavier et que vous vous déplacez, il va hériter du mouvement de ces lacet et roulis de tangage. Mais nous ne voulons hériter d'aucun mouvement. Lorsque nous nous déplacons dans le jeu de vue supérieure, nous voulons juste déplacer le personnage sans déplacer la caméra. Donc, cela a l'air correct, et je vais juste m'assurer que tout défilant ici c'est. Et allons dans le maillage ceci pour voir si quelque chose doit changer. Tout est bon. Donc, à l'intérieur du bras de ressort, vous pouvez les enlever, faire des tests de collision. Et quel test sexuel de collision est comme si vous regardez ici sur le personnage et que le personnage ou quelque chose entrave le chemin, la caméra sera effectivement poussé vers le bas à cause de cet objet qui le repousse. Mais nous voulons supprimer cela pour que la caméra ne soit affectée par rien dans le monde. Et supprimons les paramètres de la caméra, héritons du pas, du lacet et du roulis parce que nous ne voulons pas le déplacer. Donc ça devrait être comme ça tout le temps. Ouais, ça a l'air bien. Et à l'intérieur de la caméra, nous n'avons probablement pas besoin de changer quoi que ce soit. A l'intérieur du mouvement du personnage. Cependant, nous allons entendre dans les paramètres de rotation, vous pouvez prendre celui-ci, orienter la rotation vers le mouvement. Donc, lorsque vous vous déplacez autour du personnage, nous sommes, nous allons tourner en fonction de l'endroit où vous avez cliqué. Donc, en appuyant sur D, il fera face à droite. Et c'est ce que nous voulons du jeu de haut en bas. Ok, donc maintenant nous avons ce mouvement. Et si vous voulez tourner plus vite, donc quand vous marchez, vous pouvez augmenter ce nombre. Mettons-le donc sur 600 pour l'instant juste pour le faire tourner plus vite. Et tout le reste a l'air correct. Alors sauvegardons tout, compilons, sauvegardons. Et n'oubliez pas que vous pouvez toujours cliquer sur ces trois boutons. Allez à enregistrer sur la compilation et le succès uniquement. Et cela le fera si vous compilez et qu'il dit un succès comme celui-ci, vous n'avez pas à enregistrer car il enregistre automatiquement. Donc, il enregistre que vous voulez cliquer. Ok, alors maintenant, allons fermer celui-ci. Et maintenant nous avons, si nous revenons aux plans et au côté du joueur, maintenant nous avons cette base de joueurs. Nous pouvons faire du code qui affectera tous les joueurs si nous en avons beaucoup. Et puis nous avons quelque chose de spécifique. Par exemple, cette machine. Et imaginez que je peux avoir un autre personnage. Je peux avoir un personnage qui est une autre machine, juste un humanoïde normal. Et je peux aller à l'intérieur de ce personnage humain, capturer et ajouter mon maillage. Parce que maintenant nous avons ajouté ce maillage à l'intérieur de ce bleu enfants, Blueprint Class. Et donc, si nous pouvons créer un enfant maintenant ici, aussi, si nous voulons ajouter plus de joueurs, nous pouvons aller de l'avant et cliquer sur le maillage et ajouter un nouveau maillage si nous le voulons. Ok, alors supprimons celui-ci, et supprimons notre faux personnage que nous avons utilisé auparavant. Donc maintenant vous pouvez voir, maintenant vous avez réellement la caméra. Vous pouvez cliquer avec le bouton droit et cliquer sur pilote. Et il peut voir à quoi cela ressemble si vous appuyez sur F 11 pour maximiser la clôture et en cliquant sur g pour supprimer tous ces éléments, vous pouvez voir à quel point la caméra est proche et il est assez proche. Mais sans sortir de la caméra, je vais juste double-cliquer ici et cliquer sur. Laisse-moi le faire à partir de la base des joueurs. Je ne veux pas modifier les paramètres à partir d'ici. Je veux changer, parce que si je le change ici, cela n'affectera que ce plan. Si nous avions plusieurs joueurs, ils ressembleraient toujours à ça. Donc, je veux le faire dans la base du joueur, en cliquant sur le bras de ressort et le faire 900 et voir à quoi il ressemble. Ouais, ça a l'air beaucoup mieux. Donc 900 et la longueur du bras cible pour le bras à ressort. Sauvons tout. Et tout a l'air correct. Fermons ça. Sauvez tout. Et c'est tout ce que nous avions à faire pour le personnage. Alors maintenant dans la leçon suivante, nous allons aller de l'avant et faire le Démodage et le contrôleur du joueur avant de faire tout mouvement.
47. Mode et joueur: Laissez-nous créer le mode de jeu et sous contrôleur de joueur. Revenons dans les plans. Cliquez rapidement avec le bouton droit de la souris et cliquez sur Classe Blueprint. Allez-y et créez une manette de joueur. Et celui-ci s'appellera PC. Je peux appeler le contrôle non polaire. En fait, je l'appelais le nom du jeu. Donc celui-ci s'appelle clone strike. Un PC est pour contrôleur de joueur. Et laissez-moi à nouveau cliquer avec le bouton droit de la souris et créer un mode de jeu appelé GM clone strike. Et quatre. Pour le mode jeu, vous pouvez créer plusieurs modes de jeu. Donc, si vous avez un mode de jeu, disons que vous faites un jeu de société. Donc tu fais des dames ou des échecs, serpents et des échelles ou encore tu vois,
ou quoi que ce soit comme ça. Vous devez créer plusieurs modes de jeu pour ceux-ci. Donc, si vous avez un mode de jeu pour les échecs, vous avez un mode de jeu pour les dames. Vous aurez un mode de jeu pour les serpents et les échelles. Vous aurez un mode de jeu pour quand vous dessinez, je ne sais pas, quels que soient les jeux que vous avez, vous aurez plusieurs modes de jeu. Donc pour l'instant, nous avons juste ce jeu et nous n'avons que ce mode de jeu unique. Et il peut également avoir plusieurs contrôleurs. Ok, donc maintenant nous avons ceci et la prochaine chose
que nous voulons faire c'est que nous voulons vraiment le mettre en place. Donc, aller de l'avant et éditer à l'intérieur des paramètres du projet. Et ici, vous avez quelque chose appelé cartes et modes. Donc, en cliquant sur les cartes et les modes, vous pouvez, vous pouvez changer ce mode de jeu par défaut. Donc, votre mode de jeu personnalisé ici. Et à l'intérieur d'ici, vous pouvez également changer les valeurs par défaut ici. Donc, dans la classe de police par défaut ou une Alice change à la machine BP. C' est la couche que nous voulons réellement générer. Et ou le contrôleur, passons à la frappe du clone PC. Et pour les cartes ici, les cartes par défaut, nous avons fait la carte appelée main. Donc, je vais changer l'éditeur Startup Map 2 signifie. Et encore une fois, carte par défaut pour moi. Alors maintenant, quand vous ouvrez l'éditeur, vous n'allez pas commencer dans ce niveau vide tout le temps. Maintenant, tu vas vraiment commencer ici. Alors, sauvegardons tout. Et pour m'assurer que ça marche, je veux entrer dans le mode de jeu. Et ici à droite dans les valeurs par défaut de classe. Je veux vérifier que ma manette est un clone PC et qu'un joueur est une machine BP. Et c'est correct, et nous ne voulons rien faire ici. C' est très bien. À l'intérieur du contrôle de la vessie plus grand contrôle tout. Et ça a l'air bien aussi. On n'a pas besoin de faire quoi que ce soit à l'intérieur d'ici. Et puis la dernière chose ici, à l'intérieur du monde. Ici, vous avez aussi quelque chose appelé jeu mode override et vous avez, vous devez vous rappeler de changer cela d'autre,
ce mode de jeu ne fonctionnera pas à l'intérieur de ce niveau. Donc, en cliquant dessus et en le changeant en grève de clone GM, en cliquant sur ces flèches juste pour vous assurer que le clone PC des contrôleurs de flux frappe, et le pion par défaut qui apparaîtra est la machine BP. Et en passant,
la chose que nous avons créé un clic droit pur et créer une classe de Blueprint. Vous pouvez voir ici nous avons créé un personnage. Alors pourquoi ça s'appelle ici ? Pourquoi ça s'appelle un étang ? Parce que le point est ce que nous avons utilisé dans le dernier match, dans le dernier jeu sur lequel nous avons créé. Mais en ce moment, je suis en train d'imprimer un personnage et il y a un avantage ici. Un personnage est un type de porno. Donc c'est en fait aussi sur, donc c'est un type de lien. C'est le fil. Pourquoi il est appelé ici. Et le personnage fonctionnera ici parce que le personnage est en fait un type de cône. Ok, donc c'est ce qu'on a à faire avec le mode de jeu et le contrôleur de joueur pour l'instant. Donc très basique. Et passons à la leçon suivante.
48. Ajouter du mouvement des joueurs: Maintenant, nous pouvons faire le mouvement pour le personnage. Donc, pour faire le mouvement, abord, nous avons besoin de quelques entrées. Et comme nous l'avons fait avec le premier jeu, aller de l'avant à l'intérieur de l'édition et aller à l'intérieur des paramètres du projet. Et à l'intérieur de l'entrée, vous pouvez entendre créer des mappages d'accès. Donc je vais en créer un ou deux, en fait un appelé aller de l'avant. C' est alors que nous avançons et reculons. Donc c'est y, c'est comme ça que je l'appelle. Donc, en fait, c'est juste aller de l'avant en arrière. Et c'est déplacer les droits et se déplacer sexuellement à droite et à gauche. Alors regardons ces avantages. Et vous pouvez cliquer sur ce bouton, cliquer sur le W de votre clavier, ou vous pouvez le trouver ici. C' est à vous de décider en écrivant la clé S, par
exemple, ou S. Il ne peut pas trouver la clé, alors cliquez sur S et la trouver. Et ici, le moyen le plus simple, il suffit de cliquer sur ce clic sur le bouton D sur le clavier et de cliquer sur le bouton ici. Alors faisons-en celui-là minus1. Donc, aller de l'avant est un aller en arrière, minus1 aller à droite car un aller à gauche est minuscule 1. Il peut l'imaginer comme dans un graphique, plus et moins. mappages d'accès sont donc utilisés pour le mouvement ici. Ce sont les mappages d'accès et le mappage d'action que nous allons utiliser plus tard. C' est, par exemple, si vous cliquez sur un bouton, donc si vous cliquez sur E pour ouvrir les portes, si vous cliquez sur le bouton gauche de la souris pour tirer votre arme et ainsi de suite. Donc ce sont leurs clics de bouton, quelques-uns, un espace pour sauter. Il s'agit également d'un mappage d'actions. Alors maintenant, nous avons créé cela en avant et en droit, et créons d'autres mouvements plus tard. J' aime créer des choses quand j'en ai besoin. Donc, je ne vais pas juste de l'avant et de créer 10 mappages d'action différents. Et peut-être que je n'en utiliserai pas la moitié plus tard, donc je ne les crée que quand j'en ai besoin. Pour l'instant, nous les avons créés et j'aime faire le mouvement à l'intérieur du contrôleur du labo. Donc, en cliquant sur le contrôleur de lecteur ici, en cliquant sur l'éditeur complet ouvert, complet de Blueprint. Supprimons tout cela pour l'instant. Donc ici, nous pouvons cliquer avec le bouton droit de la souris et nous pouvons faire le pas en avant que nous l'appelons. Et voici l'événement dont nous avons besoin. C' est donc ce qui se passe lorsque nous cliquons sur W pour aller de l'avant ou estimer le déplacement vers l'arrière. Et l'autre s'appelait MOOC, non ? Ok, donc maintenant nous avons fait avancer et à droite, et ce qu'il faut faire ici. Rappelez-vous dans le jeu précédent, nous utilisons le couple est le couple, qui est un type de force que nous avons déplacé notre balle autour. Mais ici, nous allons effectivement dire
ajouter des entrées de mouvement et supprimer le contexte sensible. Et vous pouvez voir ici est quelque chose appelé une fonction appelée ajouter des entrées de mouvement. Et c'est ce que nous allons faire, c'est que je vais juste faire un clic droit ici et
cliquer sur le contextuel à nouveau avant que nous obtenions. Alors copions celui-ci aussi et faites-le ici. Laissez-nous maintenant connecter les valeurs de l'axe à l'intérieur de la valeur de l'échelle. Bien que, quand nous branchons w, celui-ci sera 11 avec de l'acide folique, celui-ci sera moins un, mais cela contrôlera le mouvement. Ok, donc maintenant on a besoin de cette cible. Et la cible est bien sûr le joueur. Nous voulons ajouter du mouvement au joueur. Et c'est aussi pourquoi parfois vous faites cela et droit aux entrées de mouvement et vous ne voyez rien. Et c'est parce que vous devez l'extraire de la cible. Par exemple, si nous avions le caractère et que nous faisons glisser et écrire à l'entrée du mouvement, il apparaîtra réellement. Mais si vous le faites comme ça sans la cible, ce sera juste une recherche générale. Et vous cherchez un contexte sensible. Donc quelque chose qui se rapporte à cet événement et rien n'est montré comme pourquoi je le supprime et l'ajoute. Mais si vous êtes traîné hors de la cible et recherchez ajouter une entrée de mouvement, il le connectera automatiquement à cela et le trouvera. Ok, donc j'ai besoin de la cible, qui est le personnage ici. Donc la cible est le personnage. Et c'est en fait, laissez-moi sauver. Et c'est la base de joueurs dont nous avons besoin. Donc nous avons besoin de la base de joueurs. Et il n'y a pas en tant que joueur, tous ces enfants sont éternels de la base des joueurs. Donc, si nous prenons juste celui-ci, tous ont la même entrée. Nous avons donc besoin d'une référence à cette base de joueurs. Et la façon dont nous faisons cela, rappelez-vous dans le jeu précédent, nous devons communiquer entre les plans à l'aide de Blueprint Interface. Donc c'est la même chose ici. Et continuons de créer une interface Blueprint. Alors faites un clic droit. Et faisons un nouveau dossier appelé interfaces. A l'intérieur d'ici, nous allons faire un clic droit de la souris sur les plans, Blueprint Interface. Et celui-là, je vais appeler la base du joueur int. Parce que c'est spécifique à la base de joueurs. Je vais double-cliquer et faire une fonction ici appelée obtient rep de base de couche. Ou il peut aussi simplement l'appeler. Je vais juste appeler ça get player, référence joueur. Juste pour ne pas le rendre trop long. Et ici, je vais faire une sortie. Et la sortie sera la pièce ou BP. Oups, base de joueur bp. Vous devez faire référence à la chose pour laquelle vous voulez avoir la référence. Et dans ce cas, c'est la base du joueur bp. Je vais juste l'appeler le joueur variable. Alors compilez et enregistrez. Et maintenant, nous devons ouvrir la base de joueurs pour éditer. Cliquez sur la base du joueur. Supprimons tout cela pour l'instant. À l'intérieur de la base des joueurs, vous devez aller dans les paramètres de la classe. Et n'oubliez pas que vous devez ajouter l'interface avant qu'elle ne fonctionne. Donc, en cherchant la base de couche int et en l'ajoutant, vous pouvez voir les interfaces apparaissent réellement ici. Alors compilez et enregistrez. Double-cliquez sur ce droit sans fin, faites glisser et écrivez vous-même. Maintenant, il se demande quelle est cette référence, cette référence de ligne elle-même, nous sommes à l'intérieur de la base de nuage. Et donc, maintenant il sait que le joueur auquel vous faites référence est en fait une base de joueur. C' est ce que signifie moi. Ça fait référence à la résolution. Donc, ce que nous pouvons faire maintenant à l'intérieur d'ici, rappelez-vous que la base de joueurs est un type de personnage. Ainsi, vous pouvez voir ou la base de caractères de classe parent. Et si nous allons à l'intérieur de la base de caractères, la classe parent est caractère. Donc ce que nous devons faire à l'intérieur d'ici, à l'intérieur du contrôleur du joueur. Faisons un sexuellement le faire au début de la pièce. Mais ce que nous pouvons faire ici, c'est dire obtenir du caractère ou obtenir un bon caractère de joueur. Et c'est ce que nous pouvons faire parce que la pièce, le personnage Bayes est le type de personnage comme le parent classe le personnage. Alors obtenez le personnage du joueur. Et maintenant, nous devons faire référence à ce joueur spécifique que nous voulons atteindre, et nous voulons arriver à la base de joueurs. C' est ce à quoi nous sommes formés. Et rappelez-vous que nous avons fait cette fonction à laquelle nous pouvons nous référer. Donc, aller ici et dire obtient graphique de
couche et c'est un message parce que c'est une interface Blueprint. Faisons ça. Commencez l'événement de jeu ici. Donc, quand nous commencerons à jouer le jeu, cela s'appellera. Et le joueur ici est maintenant ceci parce que rappelez-vous que nous avons écrit moi ici. C' est pourquoi il sait que ce bon joueur ref est en fait celui-ci. Ici, nous pouvons accéder à toutes les choses à l'intérieur du joueur. Maintenant, nous avons le caractère, nous avons le calque REF,
et créons, cliquez avec le bouton droit de la souris et dites Promouvoir à la variable. Et appelons ce joueur. Donc maintenant, nous avons une référence au point joueur, qui est celui-ci. Et avant de le faire, faisons réellement un nœud valide. Donc, dire obtenir le caractère du joueur, puis dire est valide. Donc, il va demander, connectons ça comme ça. Donc, il va maintenant demander, obtenir le personnage du joueur. Ce personnage de joueur est-il valide ? Si c'est le cas, alors allez-y et faites cette référence. Si ce n'est pas valide, retardez de 0,2 seconde. Et puis j'ai essayé de le tirer à nouveau et de voir si c'est valide. Pour qu'on puisse le déplacer ici. Et cela est fait parce que parfois le personnage n'est pas encore engendré. Par exemple, je fais beaucoup référence à Counter-Strike. Imaginez dans le cabinet grève à travers. Tu viens de rejoindre le serveur et tu es censé choisir une équipe, un contre-terroriste ou un terroriste. Et si vous n'avez pas encore sélectionné de personnage, vous n'êtes pas à l'intérieur du jeu, donc vous n'avez pas de personnage de joueur, vous êtes toujours en mode spectateur et vous sélectionnez un personnage. Donc, cela ne sera pas valide, donc il vous attendra. Il va aller de l'avant et retardé de 0,2 seconde. Et quand il sera terminé, quand il aura terminé ce délai, nous irons de l'avant et essaierons de tirer à nouveau et de voir si, si vous êtes valide. Et si vous n'avez toujours pas sélectionné un personnage, il ira à nouveau et retarder le terrain de l'Ontario. Vous sélectionnez un personnage et il va de l'avant et créer une référence à votre personnage. Ok, donc maintenant ce personnage que nous avons, nous pouvons maintenant dire traîner de ce stylo. Et ici, vous pouvez voir obtient rotation de contrôle. Donc on a la rotation du contrôle. Donc, quand vous cliquez sur w, il sait que votre rotation est de cette façon. Si vous cliquez sur D sur le clavier, il vous connaît. Le contrôle est de cette façon et ainsi de suite. Donc vous obtenez la rotation de ce contrôle. Et ici, nous disons aller de l'avant vecteur. C' est parce que nous voulons aller de l'avant. C' est la direction que nous faisons face, prenez le vecteur avant. Et l'autre est aller droit au vecteur. Et maintenant on peut le brancher ici. Et c'est comme ça que nous le faisons. Donc, si nous compilons et maintenant il a besoin d'une cible, bien sûr c'est moi pour obtenir. Donc, la cible est juste afficher ou vous pouvez simplement aller de l'avant et le connecter comme ceci, mais cela semble un peu désordonné, donc je veux créer quelque chose de nouveau. Mais avant de faire ça, traînons ça ici. Récupérez le point. Vous pouvez cliquer avec le bouton droit et cliquer sur Convertir pour obtenir validé. Et tout comme celui-ci, il va vérifier si le personnage est valide parce que vous ne l'êtes pas, vous ne voulez pas faire le mouvement si votre personnage n'a pas créé, n'a pas de sens. Donc, il va vérifier si le personnage est valide ? Si c'est le cas, allez-y et faites l'entrée de mouvement. La cible est juste un carré. Donc c'est la même chose que de connecter celui-ci ici. Donc c'est la même connexion ici. Et je vais faire la même chose ici va vérifier si
le personnage est valide avant qu'il ne fasse quoi que ce soit ici. Sinon, il va vous donner une erreur et dire, Hey, votre personnage n'est pas valide. Comment suis-je supposé faire ce mouvement ? Donc, c'est ce que nous évitons, éviter quelques erreurs. Et laissez-moi double-cliquer pour ajouter notre nœud de réacheminement juste pour le rendre un peu plus propre et les déplacer ici. Alors maintenant, compilons. Et j'ai oublié, désolé, j'oublie toujours la cible ici. Sauvegardez tout et cliquez sur Play. Et maintenant, ça va dire erreur. Et laissez-moi, Il y a BP personnage à la première personne pour une raison quelconque, annuler il peut effectivement voir ce que c'est. Allons-y et cliquez sur Parcourir. En fait, je voulais voir ce que c'est. Et c'est à l'intérieur du niveau du tutoriel, ce qui n'a pas de sens parce que nous n'en avons pas vraiment besoin. Mais laissez-moi cliquer sur suppressions ici. Et en fait, je vais supprimer tout ce dossier à la première personne. Supprimons ça. On n'en a pas vraiment besoin. Sauvegardons tout et cliquez sur jouer. Et nous sommes tombés à travers le sol. Et cela n'est pas censé arriver. C' est parce que nous ne sommes pas, nous n'avons pas ajouté un joueur démarre circuit solide à nouveau et cliquez sur Créer. Cliquez sur Démarrer le joueur. C' est ce qu'on a besoin de L, donc on va tomber par le haut. Donc celui-ci va dire de mauvaise taille si vous l'avez sous terre comme ça. Donc juste le déplacer légèrement vers le haut. Quelque chose comme ça. Et quand vous appuyez sur Play, vous pouvez vous voir, nous sommes en train de bouger. Donc c'est génial. Je clique sur f 11 pour le plein écran afin que vous puissiez voir que vous bougez. Et c'est sympa. Donc, la prochaine chose est que nous pouvons ajouter une animation pour cela, donc il est en train de tourner autour. Et pour l'instant, je veux juste te montrer une erreur. On l'a fait et je l'ai fait. En fait, ça n'a rien à voir avec toi. Donc, en cliquant sur la machine BP, vous pouvez voir ici nous avons effectivement ajouté le changement de ces paramètres en utilisant la rotation du contrôleur. Vous êtes à l'intérieur de la machine BP, mais nous sommes censés le faire à l'intérieur de la base des joueurs car il doit être appliqué à tous les personnages qui créent et pas seulement celui-ci. Donc, je vais entendre dans les valeurs par défaut de la classe, prendre celui-ci à nouveau. Hors de la maille. n'y a rien à l'intérieur du bras à ressort. Je vais reprendre tous ces trois. Et à l'intérieur du mouvement des personnages, je descends aux réglages de rotation. Et je reprends ça et je fais ce 360 comme avant. Ça. Faisons-le réellement à travers la base des joueurs. Donc c'est le bon. C' est mon erreur. Ils vont supprimer cela à l'intérieur des valeurs par défaut de classe, le, votre intérieur du bras de ressort a supprimé les tests de collision et ces héritages. Et dans le mouvement de la plante, Allons vers le bas et faisons la rotation, qui est ici. Cliquez dessus et faites ce 600. Mais juste une petite erreur. Le jeu de l'Alaska et assurez-vous qu'il fonctionne et il fait. Et passons à la leçon suivante.
49. Retargeting des animations: Ok, alors allons-y et voyons comment on a retardé les animations. Et avant cela, j'ai fait un dossier à l'intérieur des actifs, dossier métacaractères. Et à l'intérieur d'ici, j'ai traîné ce maillage ici. Donc ici, il était à l'intérieur du mannequin ODS et mannequin et le caractère et la maille. Et ceux-ci, j'ai fait glisser à l'intérieur de mes propres actifs Dossier de caractères et les ai appelés machine SK, ou celui-ci est le maillage squelettique. Et l'actif physique est k machine et le squelette de la machine pour le squelette. Donc j'ai ça ici juste pour qu'il soit plus organisé. Ok, alors maintenant, nous allons retarguer les animations. Et rappelez-vous que nous avons importé des animations à partir du marché et que nous avons importé ce pack de démarrage d'animation. Donc, en cliquant dessus, vous pouvez voir un tas d'animations. Et toutes ces animations, nous devons l'ajouter à notre propre personnage parce que celui-ci est juste le caractère par défaut Unreal Engine. La façon dont nous faisons cela, nous devons retarder l'animation. Donc, nous devons d'abord voir quelles sont nos animations allons-nous utiliser ? Donc ce dont nous avons besoin pour notre but, c'est la hanche du fusil au ralenti. Et vous pouvez également rechercher S4 ici. Donc c'est un fusil de baseball. Vous aurez de meilleures chances de le trouver. Et ici vous pouvez trouver la hanche du fusil aldol. Donc, vous faites un clic droit dessus et le retarget et dupliquer l'actif d'animation. Mais je veux juste vous expliquer rapidement ce que cela signifie. Donc toutes ces animations, elles sont liées à un squelette. Donc, comme ici dans le personnage, nous avons un squelette pour notre personnage. Toutes les animations sont liées à des squelettes. Ici, dans le mannequin ODS, notre dossier mannequin, nous avons aussi des animations qui l'accompagnent. Et en fait, aller les dupliquer juste vont vraiment voir, drôle. Je ne crois pas avoir besoin d'eux. Mais vous pouvez double-cliquer sur lui et vous pouvez voir à quoi il ressemble. Et c'est pour notre personnage. Ces animations sont donc liées pour notre personnage, pour notre squelette. Ils utilisent le squelette. Cependant, ce démarrage d'animation X, ils n'utilisent pas notre squelette. Ils utilisent ce squelette à l'intérieur de maille mannequin uniforme et ont ce squelette qui utilise ce maillage standard. Eh bien, donc c'est comme ça que vous, pourquoi vous devez atteindre la cible, parce que nous devons utiliser notre propre personnage. Et la façon dont vous le faites, allez-y et cherchons l'animation dont nous avons besoin. Et commençons avec cette hanche de fusil d'idole. Donc, le fusil au ralenti, cliquez dessus avec le bouton droit. Retarget animation asset et dupliquer les actifs d'animation et le reciget. Bien qu'en cliquant dessus, cette visionneuse apparaîtra. Et c'est le spectateur où vous sélectionnez le squelette que vous voulez cibler deux. Et en ce moment, vous pouvez voir que rien n'apparaît. C' est parce que vous devez parfois décocher ce dicton montrer seulement des squelettes compatibles. Et vous pouvez maintenant voir tous les squelettes de votre jeu. Et ce sont, par exemple, des armes. Ils ont aussi des squelettes. Nous avons les ennemis. Peu importe ce que nous avons téléchargé, c'est pour lui ou autre chose. Donc, nous avons beaucoup de squelettes pour des choses aléatoires, mais nous voulons recibler à ces machines SK, Donc notre propre squelette de personnages. Et puis vous pouvez simplement cliquer sur cibles RE. Et maintenant, il a retardé l'animation. Donc, si vous allez dans le dossier de contenu ici et le dossier de contenu de base, vous pouvez voir votre animation ici il l'a retargeted, et maintenant celui-ci est sur notre personnage. Ok, alors faisons-le pour le reste. Nous avons donc aussi besoin d'aller de l'avant. Donc à la recherche d'un fusil, et je vais prendre ce fusil de saut en avant. Donc, si vous double-cliquez dessus, vous pouvez voir est le jogging vers l'avant. C' est ce dont nous avons besoin. J' ai aussi besoin d'une animation de mort. Donc, si je retire ce fusil, donc maintenant j'ai la cruche en avant sélectionnée. Et si je maintiens Contrôle et peut également cliquer sur cela, que trois. Donc maintenant, j'ai à la fois sélectionné et je peux cliquer avec le bouton droit de la
souris, Cliquer et lire les cibles Supprimez la recherche de compatibilité pour la machine SK. On va s'asseoir et lire des cibles. Maintenant, si je reviens au contenu, vous pouvez voir que nous avons un tas d'animations maintenant que nous pouvons utiliser pour notre personnage. Et nous avons ici un ralenti, nous avons un saut en avant, mais nous avons aussi besoin d'un feu et de rechargement. Alors passons au pack de démarrage d'animation, le fusil droit. Et cherchons ici et rechargeons la hanche du fusil. Celui-ci, et l'autre est en train de tirer. Donc cette hanche de fusil à feu. Donc ces deux-là, cliquez avec le bouton droit, lisez les cibles. Retirez ceci, recherchez le squelette. Et allez-y et arrivez. Ok, donc maintenant tu peux voir que je vois tout. C' est parce que je cherche ici, c'est la recherche dans les anciens dossiers. Donc en le supprimant, vous pouvez voir que nous avons maintenant toutes ces animations que nous pouvons utiliser pour le personnage. Et je vais aller ici dans le dossier assets et les personnages avec
le bouton droit de la souris faire un nouveau dossier appelé animations. Et à l'intérieur d'ici, je vais faire glisser toutes ces animations à l'intérieur de ce dossier Animations. Et c'est plus organisé. Et ce que vous pouvez faire si vous voulez le rendre plus organisé ici dans le dossier Blueprints, vous pouvez définir une couleur et vous pouvez changer quelle que soit la couleur, peut-être le bleu pour les Blueprints. Juste comme ça. Et vous pouvez voir maintenant que nous avons un bleu, un bleu. Donc, si vous regardez ici, vous pouvez facilement le repérer. Et ça peut même les rendre tous, tous bleus comme ça si tu veux. Ok, donc maintenant nous avons les dites animations. Nous avons les animations prêtes et retargeted. Et c'était ça. Et si nous avons besoin de plus d'animations, nous pouvons toujours aller de l'avant et retarguer un peu plus. Donc c'est tout pour l'instant. Et allons de l'avant dans la prochaine leçon.
50. Créer un espace de mélange: Maintenant que nous avons l'animation est prête, continuons et créons un espace de fusion. Et l'espace de blaze and blend est simplement de rassembler les animations afin que nous puissions l'utiliser dans un plan d'animation, que nous créerons plus tard. Alors allons de l'avant à l'intérieur des plans et à l'intérieur du joueur, et nous allons l'imprimer ici parce que c'est spécifique au joueur. Cliquez avec le bouton droit ici, animation, puis choisissez le ou l'espace de fusion 1D. Ou en cliquant dessus, nous devons sélectionner le squelette que nous voulons utiliser, et nous voulons utiliser notre propre squelette appelé machine SK. Donc, en cliquant sur celui-ci, et appelons-le BS pour l'espace de fusion. Et je vais l'appeler jog parce que c'est juste que le travail dériverait chute. Donc, nous pouvons avoir des espaces de mélange du personnage jogging le personnage marche est un autre espace de mélange. Le personnage, laisse-moi réfléchir. Le sprint est un autre espace de mélange. Nous avons donc un espace de mélange pour chaque mouvement. Et par exemple, pour le jogging. façon réaliste, cela devrait être appelé carabine, parce que nous avons un fusil de jogging. Et vous pouvez aussi faire un jogging BS sans fusil. Alors j'appelle juste une blague. Mais en ce moment, on tient un fusil, alors on l'appelle fusil de jogging. En cliquant sur cet espace de fusion, vous pouvez voir que vous avez cette nouvelle visionneuse. Et ce qui rend cela un peu plus grand, vous pouvez voir que nous avons un axe horizontal et c'est la vitesse de déplacement. Donc, on l'appelle vitesse de mouvement. Et cette vitesse de déplacement, la valeur minimale est 0. C' est très bien. On peut, on a la vitesse de 0 et on reste immobile. Et la vitesse maximale, mettons 600 et nous pouvons toujours le changer plus tard si nous voulons l'augmenter. Tout le reste va bien. Donc ici, ici, vous pouvez voir que nous avons un graphique et c'est là que vous mettez vos animations. Et si vous mettez les animations, vous pouvez voir votre personnage bouger. Et à droite, vous avez toutes ces animations. Donc maintenant, ce que nous voulons utiliser, c'est la hanche inactive que nous avons retargeé. Vous pouvez également le trouver à l'intérieur des animations ici où vous le mettez, vous pouvez le faire glisser ou déchirer et un peu plus facile à trouver. Et ici, à la vitesse de mouvement, vous pouvez voir ici en bas dans cet axe est la vitesse de mouvement de 0 à 600. Donc maintenant à 0, nous avons besoin de l'inactivité parce que nous ne bougeons pas. Donc on traîne cette idole et on la met sur le dessus d'ici. Maintenant, vous pouvez voir les autocars tourner au ralenti à la vitesse 0. Donc, cela a du sens. À la vitesse de 600, on veut que le sang coule. Alors, Jacques, en avant, on va le mettre ici. Donc maintenant, lorsque vous maintenez Maj, vous pouvez déplacer ceci et vous pouvez voir, vous pouvez réellement prévisualiser l'animation si vous maintenez Maj et déplacez
ceci, ce pointeur, c'est à quoi ressemblera le personnage. Ok, donc c'est cool. C' est tout ce que nous devons faire. Très simple. Cliquez sur Enregistrer et cliquez sur Fermer. Maintenant, à l'intérieur du joueur de Brooklyn, un joueur, nous avons l'espace de mélange appelé fusil blague.
51. Plan d'animation: Maintenant, nous avons l'espace de mélange prêt. Donc, maintenant, nous sommes prêts à créer le Blueprint d'animation. Alors allons-y. A l'intérieur du dossier du lecteur, nous sommes déjà là, à l'intérieur du lecteur. Faites un clic droit. Accédez à l'animation et exécutez le Blueprint d'animation 0. En cliquant sur celui-ci, nous devons sélectionner le type de squelette que nous voulons utiliser et nous voulons utiliser notre propre machine appelée Escape. Donc, en sélectionnant ce squelette, en cliquant sur OK, et ici nous pouvons l'appeler et MVP pour le Blueprint d'animation. Et on peut appeler celui-là pour le joueur. Donc c'est pour notre joueur. Donc, double-cliquez sur ce plan d'animation, vous pouvez voir que nous entrons dans un graphique et cela semble complexe, mais en fait, c'est très facile. Vous pouvez voir ici à gauche, tout comme la classe Blueprint, nous avons les macros, variables, les fonctions, et tout cela. Donc, cette zone est de voir ça. Maintenant, nous avons cet aperçu et ici nous pouvons voir comment le personnage bouge. Et à l'intérieur d'ici, nous avons le graphique d'événement ou graphique d'animation. Désolé. Nous avons un graphique d'événements où nous allons coder comme nous le faisons dans les classes de Blueprint. Nous avons le graphique d'événements et avons également le graphique d'animation. Donc, ceci est un nouveau graphique de ce que les animations. Et à droite, vous pouvez voir différentes animations, comme lorsque nous avons créé l'espace de fusion. Ok, donc ce sont les aperçus de l'animation. Et tout ça est bon pour l'instant. Ok, donc c'est tout ce que vous devez savoir pour l'instant. Et puis pour créer notre première animation, nous devons créer une machine d'état. Donc, faites un clic droit sur la machine d'écriture Et vous pouvez voir ici nous pouvons ajouter une nouvelle machine d'état. Cette machine d'état, je vais l'appeler mouvement local, bonjour mouvement. Et nous pouvons collecter connecté celui-ci, pas recueillir celui-ci. On peut relier celui-ci. Et nous pouvons double-cliquer sur cette machine d'état que nous avons créée. Et à l'intérieur d'ici, nous allons faire le mouvement. Donc, ce que nous voulons faire, c'est que nous voulons faire le jogging. Alors ici, allez-y et faites glisser et vous pouvez soit ajouter un conduit et un état peut le faire est juste comme un connecteur que vous pouvez faire pour nettoyer le code. Ils vont aller de l'avant et ajouter un état. Et l'état que nous voulons ajouter est le jogs. Alors, écrivons une blague. Double-cliquez sur cet état. Et ici, vous devez insérer l'animation. Donc, revenez juste pour que vous sachiez ce qui se passe. Et le même avertissement parce qu'on n'a rien fait ici, juste comme ça. Compilons et sauvegardons. Donc on a créé une machine d'état, je l'ai connectée à cette pose. C' est le résultat. Et nous allons double-cliquer sur cette machine d'état et nous avons ajouté l'état. Et à l'intérieur de l'état, l'état dont nous avons besoin pour ajouter l'animation de la drogue. Bien qu'ici, nous avons fait un espace de mélange. Nous n'allons pas ajouter ce jog, ou bien, nous pourrions le faire et le joueur sauterait vers l'avant. Ce que nous voulons ajouter ce jargon spatial de mélange parce que nous ne voulons pas faire du jogging quand nous avons cette perle de 0. Donc nous allons tirer ça et a été connecté. Et vous pouvez voir que nous avons quelque chose appelé vitesse de mouvement. Et si je double-clique sur l'espace de fusion, rappelez-vous, la vitesse de déplacement est celle-ci. Donc, peu importe ce que vous appelez, il sera affiché ici dans cette variable. C' est donc la vitesse de déplacement que nous devons ajouter. Avec la vitesse de déplacement est 0. Le joueur va rester immobile. La vitesse de déplacement de 600 ou maximum, Il va se déplacer. Et nous devons brancher la vitesse de mouvement jusqu'à ce que le joueur vieux ou tilda animation ce que la vitesse de mouvement est actuellement. Ok, donc maintenant on l'a connectée. La vitesse de déplacement est 0. Et vous pouvez voir si j'écris 600 et que je compile va courir. Mais nous voulons calculer cela dynamiquement en fonction de la vitesse à laquelle vous courez. Donc, pour ce faire, vous devez aller dans le graphique d'événements et faire un peu de code. Et c'est simple. Ici, vous devez écrire initialize. Et vous avez un événement appelé Blueprint initialize animation. Et c'est comme la pièce de départ dans leurs acteurs de plan. Et c'est tout simplement un jeu de début. Lorsque l'animation commence à jouer, que voulez-vous faire ? Tout comme un jeu de début dans tous les auteurs Blueprint Classes. Prenons celui-là, essaye d'obtenir le propriétaire du pion. Prenons ça ici. Et ici, nous pouvons dire est valide. Ce pion est-il valide ici ? Donc, comme celui-ci valide, si le point est valide. Donc, si vous avez créé votre personnage et que le caractère existe réellement dans le niveau, faisons un clic droit à distance sur une variable et appelons-la couche sur. C' est si c'est valide. Donc, double-cliquez pour faire un nœud de réacheminement et le faire. Rends-le structuré. Donc, si la couche est réellement à l'intérieur du niveau, donc si c'est le cas, le caractère ici est valide. Si elle a engendré à l'intérieur du niveau, allez-y et créez une variable de ce lien. Si ce n'est pas valide, retardons de 0,2 seconde. Et quand il est terminé, Reconnectons-le ici et il est valide. Et ce que cela fait est si le personnage n'a pas encore été créé, il va aller de l'avant et retarder de 0,2 seconde. Et quand il est terminé, il va exécuter ceci comme valide encore et encore et encore et
encore jusqu'à ce que votre personnage soit réellement valide et qu'il créera la variable. Ok, donc maintenant nous avons une variable, maintenant nous avons ce pion joueur était de le faire glisser dehors. Et ici, nous devons écrire la vitesse parce que nous voulons obtenir la vitesse de mouvement. Rappelez-vous, nous devons obtenir la vitesse de déplacement du personnage que nous obtenons la vitesse. Et rappelez-vous dans la vitesse de déplacement, si nous revenons à l'état jock ici, nous en avons besoin dans une variable flottante. Donc, c'est un flotteur, la variable verte ici pour créer un nouveau, whoops, pas une fonction avec un leader là à nouveau, créer une nouvelle variable ici. Rappelez-vous que les verts sont les flotteurs. Donc, un flotteur est simplement un nombre. Une compilation ici est simplement un nombre avec des décimales. Maintenant, je vais supprimer celui-ci et je vais revenir au graphique van. Donc celui-ci est un vecteur en ce moment. Et pour l'amener à la vitesse d'un flotteur, il suffit d'écrire la longueur. Donc on obtient la longueur, longueur de ce vecteur. Donc, obtenir la longueur. Maintenant, c'est un flotteur et c'est la vitesse de mouvement. Donc, nous allons faire un clic droit promouvoir à variable et dire vitesses de mouvement. Maintenant, connectons-le. Et maintenant, il va calculer leur vitesse de déplacement. Maintenant, nous ne voulons pas, nous ne voulons pas exécuter ce code parce que ce code va exécuter untick et courir sur tick, qui signifie qu'il va exécuter chaque image. Et nous ne voulons pas l'exécuter à chaque image si leur personnage n'a pas encore engendré. Mais parce que, pourquoi serait-on, ce serait un gaspillage de, de mémoire. Alors allons-y et sortons un pion de joueur ici. Cliquez avec le bouton droit de la souris et dites Convertir en get validé. Emmenez-le ici. Donc maintenant, nous nous sommes connectés lorsque l'affichage de la pornographie du joueur ici est valide. Ensuite, allez-y et calculez la vitesse de déplacement. Cela signifie que si le joueur a engendré, allez-y et faites-le. Sinon, ne faites rien, et nous n'avons pas à connecter quoi que ce soit. Donc ça s'arrête ici. Il vérifie si cela est valide. Si c'est le cas, alors il ira de l'avant et le fera. Ok, alors compilez et sauvegardez. Et maintenant, allons de l'avant et du côté de l'état de la cruche, et nous avons maintenant leur vitesse de déplacement. Donc, traînons cette variable et mettons-la juste à l'intérieur d'ici. Et vous pouvez voir que la vitesse de déplacement est maintenant connectée. Compilons et sauvegardons. Et maintenant, ça devrait fonctionner. Mais maintenant, nous devons connecter ce plan d'animation au joueur. Alors fermons tout. Cliquons sur le joueur. Donc, la base de la couche, parce que nous voulons affecter tous ces joueurs. Imaginez si nous avions beaucoup de joueurs, beaucoup de personnages,
désolé, si nous avions beaucoup de personnages, nous voulons la même animation en cours d'exécution pour eux. Je vais cliquer sur la base du joueur et ajoutons effectivement à l'intérieur de la base du joueur. Donc, à l'intérieur de la base du joueur, vous pouvez cliquer sur Mesh. Et à l'intérieur du maillage, vous pouvez regarder ici en mode animation. Et en cliquant dessus,
utilisez le Blueprint d'animation. C' est exact. Et utilisez quels nuages d'animation voulez-vous utiliser ? Nous voulons utiliser les joueurs de la NBPA que nous venons de créer. Compilons et sauvegardons, et cela devrait fonctionner. Donc, si vous allez à l'intérieur de la machine BP, la fenêtre peut maintenant voir que votre joueur est en train de bouger. Et cela s'appelle maintenant, maintenant le joueur bouge. Et c'est plutôt cool. Alors allons de l'avant et cliquez sur Jouer et voir ce qui se passe si nous avons des bugs. Donc, en cliquant sur les mouvements. Vous pouvez voir que la planète bouge et que toutes les animations sont en train de jouer. Si on reste immobile, on ne fait rien. Si on bouge, on bouge. Et quand nous cliquons sur Échap ou ne pas obtenir d'erreurs. Donc c'est très cool. Maintenant, si vous voulez tourner plus vite ou plus lentement, vous pouvez aller de l'avant à l'intérieur de la base du calque et vous pouvez aller à l'intérieur du mouvement du personnage. Et ici, dans la rotation que nous avons changée plus tôt, si vous la diminuez, vous tournez plus lentement. Et si vous le faites, plus votre vue tournera plus vite. Et aussi à l'intérieur du Blueprint d'animation ou à l'intérieur de l'espace de fusion. Ici, vous pouvez modifier cette durée d'interpolation. Ce temps d'interpolation est la vitesse à laquelle il passe de l'état inactif à l'état en cours d'exécution. Donc, vous pouvez voir si je l'augmente incroyablement élevé, je clique sur Play. Quand je cours, vous pouvez voir qu'il glisse et qu'il va à l'état de marche. Quand je fuis, c'est bon. Parce que vous voulez arrêter, Il va revenir lentement à l'état inactif. Si je cours, ça va aller au stade de course. Si je m'arrête, ça reviendra lentement à l'état inactif. Donc tu peux jouer avec celui-là. Parfois, votre personnage glisse et vous pouvez aller de l'avant et ajouter seulement quelques valeurs. Vous pouvez ajuster la vitesse, en ajustant l'interpolation. Et maintenant je pense que 0, c'est bien. Donc tu as l'air bien, donc c'est bon. Ok, donc c'est notre personnage qui bouge. Et la prochaine chose que nous pouvons faire, nous avons toutes sortes de choses à faire. Nous devons attacher l'arme, nous devons tirer l'arme, nous devons faire les ennemis et ainsi de suite. Alors passons à autre chose.
52. Attacher l'arme: Bonjour tout le monde et bienvenue. Maintenant, nous avons mis en place notre personnage et nous pouvons maintenant nous déplacer. Et vous pouvez voir ici et bouger et ça a l'air bien, mais je veux juste faire un peu d'ajustement. Donc je veux tourner un peu Foster avant d'aller au sujet suivant. Cliquez donc sur la couche de Blueprints. Et dans la base des joueurs, descendons dans le mouvement des personnages et descendons à la rotation, et laissez-moi en faire 700 au lieu de 600. Et la prochaine chose, je pense que le personnage glisse un peu en marchant. Donc ici, dans l'animation de marche, si nous cliquons sur le jogging, vous pouvez voir ici c'est la marche que nous avons fait avant. Ici pour l'animation en cours d'exécution, si vous cliquez sur celui-ci appelé blague avant, vous pouvez augmenter l'échelle et vous pouvez voir qu'il court plus vite. Si vous augmentez l'échelle de celui-ci. Oups, pas le, pas le ralenti, désolé,
le, celui-ci, l'animation en cours d'exécution. Donc je veux augmenter les rétinoïdes un. Et je veux le rendre 1.1.2 juste un peu plus rapide qu'il ne l'était initialement. C' est ainsi que vous faites des animations plus rapides juste au cas où votre personnage glisse ou si votre personnage est un petit personnage et doit courir
plus vite qu'un personnage normal pour le rendre plus naturel. Donc maintenant la vitesse des normaux comme ça, et nous pouvons le rendre un peu plus rapide. Juste comme ça. Essayons avant de partir et de continuer. Ouais, je pense que juste regarder un peu mieux et qu'on peut aussi tourner plus vite. Ok, c'est beaucoup mieux. Alors allons de l'avant et attachons leur arme maintenant que nous avons le personnage. Et la façon dont nous faisons ça, c'est que vous allez à l'intérieur du maillage. Allons donc de la façon la plus simple. Vous pouvez soit aller ici dans le personnage. Et ouvrons ceci, ce maillage ici, le maillage de personnage que nous, nous avons ajouté ici. Et ici, vous pouvez aller à l'intérieur de ces Skeleton Tree. Ok, donc avec cet arbre à squelette, on veut attacher l'arme. Et avant de le faire, nous allons en fait prévisualiser une animation. Et nous voulons prévisualiser,
Avons un aperçu de la hanche du fusil au ralenti. Donc il est debout comme ça et on peut ajouter l'arme. Arrêtons cette chronologie pour qu'on ne veuille pas qu'elle s'anime. Et nous voulons attacher l'arme à la, à droite ici. Donc, vous pouvez voir ici quand vous cliquez sur un sur lui, vous êtes, vous choisissez quelques os. Donc ce sont des os. Et c'est ton squelette. Ainsi, vous pouvez voir ici lorsque vous prenez l'outil de rotation, vous pouvez faire pivoter le squelette. Et parfois, vous pouvez le faire réellement pour modifier des animations juste au cas où son animation ne semble pas. Vous pouvez voir ici maintenant il est ingéré animation DIBL. Mais maintenant, nous allons cliquer sur Control Z. Et la chose que nous voulons faire est de cliquer sur cet os ou de le sélectionner ici, la main juste ici nous voulons faire un clic droit et nous voulons ajouter une socket. Donc, une prise est juste un, un support que nous pouvons utiliser. Donc juste un support vide. Et cette socket, nous allons appuyer sur F2 pour le renommer et l'appeler S pour socket. Et je vais l'appeler arme. Donc ce sera celui qui tiendra l'arme. Et je vais cliquer avec le bouton droit de la souris et vous pouvez ajouter un élément d'aperçu. Et celui que nous allons prévisualiser s'appelle K. Et celui-ci, K est 74. Toi. Et je n'ai aucune idée de pourquoi. Ça s'appelle KA, je suis sûr qu'il s'appelle AK 70 pour toi et pas K pour une raison quelconque. Cliquons sur celui-ci. Et vous pouvez voir maintenant que je vais diminuer les caméras. Si vite. Vous pouvez voir maintenant nous avons ajouté l'arme. Donc, en cliquant sur cette socket, vous avez la socket sélectionnée. Je vais faire tourner ça d'une certaine façon, donc 90 degrés de cette façon. Et je vais le déplacer d'une manière qu'il tient réellement l'arme. Ça va comme ça et a essayé de le faire du mieux que vous pouvez pour le rendre crédible. Donc cette arme n'est pas faite pour ce personnage. Et ce que vous voulez faire lorsque vous créez votre propre jeu. Vous voulez que l'artiste
d'armes vous demande s'adapte à la distorsion dans votre personnage que vous avez. Tellement fait sur mesure. Donc nous essayons de faire notre meilleure année. Et ce n'est probablement pas visible de haut en bas, donc c'est OB Je serai bon pour quelque chose comme ça. Et il le tient un peu à gauche, peut-être. Quelque chose comme ça. Je pense que c'est un, c'est assez proche. Donc c'est ça, c'est bien. C' est ce qu'on peut faire de mieux. Donc maintenant l'arme est attachée et sa main est sur la gâchette et elle a l'air bien. Alors. haut en bas, tu ne vas pas le voir de toute façon. Tu vas le voir comme ça. D' accord. Maintenant, nous avons ajouté ces douilles d'armes. Vous pouvez aller de l'avant et fait un clic droit et faire va supprimer toutes les ressources attachées. Juste comme ça. Rappelez-vous que celui que vous avez ajouté n'est qu'un aperçu. Donc ce n'est pas l'arme. Vous venez de l'afficher juste pour que nous puissions déplacer cette socket pour qu'elle soit correctement connectée. Donc, ne sont pas connectés correctement, mais il est au bon endroit. Quand est-ce qu'on l'utilise ? Alors maintenant, c'est l'arme. On peut aller de l'avant et fermer ce squelette ou dans ce maillage. Et maintenant,
ce que nous pouvons faire est d'aller à l'intérieur de notre dossier de Blueprint et à l'intérieur d'ici, allant à l'intérieur du lecteur et en cliquant sur la base de la couche. Ok, donc à l'intérieur de la base des joueurs, on doit ajouter l'arme. Donc nous avons besoin d'un composant ici, comme nous l'avons, mesurer le personnage, nous allons avoir l'arme. Donc, en cliquant sur Ajouter et en cherchant maillage squelettique. Il y a donc deux types de mesures. Il y a un maillage statique et il y a un maillage squelettique. Et ce qu'est un maillage squelettique, c'est tout ce qui a une animation. Donc, vous pouvez, vous pouvez imaginer si vous avez un bâton dans un, le jeu de RPG, le personnel, si ce n'est pas un immédiat ou autre chose, c'est juste un bâton que vous tenez dans votre main et vous lancez des sorts. Ce sera un maillage statique. Cependant, si vous avez un pistolet et que vous auriez dû obtenir, par exemple, un AK-47, L'extrémité arrière de celui-ci va se déplacer et ainsi de suite. Donc si, si des parties des armes se déplacent animées, ce sera Skeletal Mesh, tout comme le personnage ici il est, c'est animé. Le personnage se promène et c'est donc un maillage squelettique et non un maillage statique. Ok, alors nous allons quadriller un maillage squelettique parce que l'arme est animée. Alors appelons ça une arme. Et celui-ci est à l'intérieur de maille. Donc, vous pouvez voir ici si je clique là ou il disparaîtra parce que c'est un enfant de maillage. Et la raison pour laquelle c'est, la raison pour laquelle nous avions besoin à l'intérieur d'ici est parce que ici à droite, nous pouvons sélectionner la prise à laquelle nous devons l'attacher. Si celui-ci était dehors ici. Et si elle n'était pas attachée à l'intérieur du maillage, nous ne pouvons pas trouver de socket et cela ne fonctionnera pas. Par conséquent, l'arme doit être à l'intérieur de l'année de maillage pour qu'elle fonctionne afin que nous puissions trouver la prise. Donc pour l'instant, nous ne pouvons pas trouver de socket parce que nous n'avons pas vraiment de personnage ici. Mais ajoutons un caractère pour l'aperçu. En cliquant sur ce maillage et en cherchant notre VP et machine ou machine d'échappement. Maintenant, ajoutons ce maillage juste pour examen et faisons pivoter rapidement, 90 degrés pour qu'il soit orienté vers l'avant. Je vais à l'intérieur de la vue de gauche. Et celui-ci n'a pas vraiment d'importance. Je veux juste prévisualiser mon arme ici. Donc, je fais que ça marche juste comme ça. Et ici, en cliquant sur l'arme maintenant, maintenant nous avons le maillage, et c'est un enfant du maillage ici. Et donc nous pouvons cliquer sur socket et nous pouvons trouver ce circuit ici. Maintenant, il est attaché à l'arme S. Disons que c'est tout ce qu'on avait à faire ici. Laisse-moi revenir en arrière et fermer ça. Et vous pouvez voir ici, si je double-clique sur cette machine BP et que j'ai ouvert l'éditeur de Blueprint complet. Vous pouvez voir maintenant que j'ai cet enfant appelé arme. Et la raison pour laquelle nous l'avons fait à l'intérieur de la base de joueur est parce que si nous faisons plus de personnages, comme avant avec l'exemple que j'ai utilisé précédemment, si vous avez plusieurs caractères, par exemple, skins de
quinze jours, vous en avez peut-être dix ici. Tous auront maintenant cet enfant appelé l'arme. Donc, si vous l'avez fait spécifiquement à l'intérieur d'ici, il n'apparaîtra pas pour tous les autres personnages qui se ressembleront. Et par conséquent, vous devriez coder le même code encore et encore dix fois, et nous n'avons pas besoin de cela. Par conséquent, c'est pourquoi nous créons des enfants de classes Blueprint. Donc, en allant à l'intérieur de la machine BP, en cliquant sur l'arme, nous pouvons maintenant attacher une arme à cela, à ce maillage ici. Donc, si je cherche k 47 nouveau, et je pense que nous utilisons celui-ci, le y. donc en cliquant dessus. Et vous pouvez voir ici maintenant les armes attachées à notre personnage la tiennent. Et elle est aussi animée et
elle est attachée au personnage. Ok, donc avant que je le dise, c'était un maillage squelettique. Vous pouvez imaginer parfois quand vous tirez sur une arme, cette gâchette ici sur le côté, nous allons reculer comme ça pour faire un problème. Et donc c'est Animé. Aussi quand vous rechargez l'arme. Donc, lorsque vous supprimez ce clip et en mettez un nouveau, c'est aussi une animation. Et donc, quand il s'agit d'une arme animée, il doit s'agir d'un maillage squelettique. Ok, donc maintenant on a cette arme attachée, et on va cliquer sur l'arme juste avant de jouer le jeu. Laisse-moi le faire dans la base des joueurs. Donc, il se met à jour pour tout. Cliquez sur l'arme et descendre et trouver a été trouvé collision. Assurez-vous juste qu'il n'a pas de collision d'autre. Il va entrer en collision avec notre personnage et causer des problèmes. Et aussi, désactivons la gravité. On n'a pas vraiment besoin de gravité pour cette arme. Bon, maintenant je peux aller de l'avant et cliquer sur Jouer. Et ici, quand je clique sur Jouer, je plein écran, vous pouvez maintenant voir que j'ai une arme et je peux me déplacer et elle est attachée à mon personnage. Bon, donc c'était tout pour attacher l'arme au personnage. Et nous devons aussi tirer les armes. Donc avant de faire ça, allons de l'avant et mettre en place un ennemi, que nous pourrons tirer avec le web plus tard.
53. Configuration de l'ennemi: D' accord. Avant de pouvoir continuer avec leur arme, mettons-nous en place une classe ennemie. Donc, ici dans les plans à l'intérieur des ennemis, rappelez-vous que nous avons créé et dossier Ennemis, et nous avons créé précédemment et classe de base ennemie. Donc celui-ci est un enfant d'un enfant de base de caractère. Nous avons donc créé basé sur le caractère, nous avons cliqué avec le bouton droit et créé l'enfant de celui-ci. Et voici une base d'amines, comme nous l'avons fait pour la base de joueurs. Donc, avec la base ennemie, imaginez si vous avez beaucoup d'ennemis et peut-être que beaucoup d'entre eux ont le même code. Vous ne voulez pas vraiment faire le même code pour tous, mais vous voulez le coder à l'intérieur de la base ennemie. Donc, c'est comme si c'était codé pour tous. Cela fonctionne pour tous. Ok, donc nous avons ça dans une base et le MPC que nous voulons faire ou l'ennemi que nous voulons faire. Nous avons téléchargé quelques ennemis à l'intérieur de la place de marché. Donc, en allant à l'intérieur du dossier du marché, nous avons téléchargé ces adversaires Infinity Blade à partir du moteur ou du marché, désolé, et à l'intérieur de l'ennemi, il y a beaucoup d'ennemis, mais le celui que je veux utiliser est appelé moi, voir si je peux le trouver celui-là. Subventions maîtresses. Donc je veux utiliser ce grognement de maître comme ennemi. Ça a l'air intimidant et effrayant et nous en avons besoin. Donc, en cliquant sur le dossier des ennemis, je vais faire un clic droit ici et créer un enfant de cette classe. Je vais appeler ça des subventions BP. Laisse-moi entrer dans la base ennemie, ouvrir l'éditeur de plan complet. On a un maillage squelettique ici. Et juste pour voir si nous devons éditer des trucs de base ici. Et pour l'instant, non, nous n'avons pas vraiment besoin de quelque chose, alors fermons ça. Allons dans Grant et installons l'ennemi. Donc, en cliquant sur le maillage, trouvons le grognement. Donc, à la recherche de Grunt. Et c'est celui qui s'appelle Master Grant est k Master Grant. Donc, en cliquant sur eux. Maintenant, faisons-le tourner pour qu'il fasse face vers l'avant comme ça. Vous pouvez toujours regarder cette flèche pour vous voir ce qui est en avant. Et déplaçons le vers le bas comme on l'a fait avant. De la vue de gauche, nous pouvons faire ceci ou la vue de droite, c'est à vous de décider. Et nous savions que cette capsule s'adapte à ce personnage parce que cette capsule est ce que nous allons tirer et il détectera que vous l'avez fermé. Je vais donc augmenter un peu les faits saillants. Donc, en descendant et en essayant de le faire en place ici. Juste un peu plus. Et ce n'est qu'un jeu de test, donc il ne doit pas être spécifique à cent pour cent. Et si vous vous demandez oui, vous pouvez faire la détection sur le maillage lui-même Comme lorsque vous tirez sur le maillage spécifiquement, il le détectera et pas cette capsule. Mais ce n'est qu'un démarreur ou tout simplement un projet simple. Nous ne voulons pas devenir trop complexes. Mais de façon réaliste quand vous faites un tireur à la première personne. Donc, ce n'est pas, ce n'est pas trop critique pour si tireur top-down, mais si vous faites un tireur à la première personne comme Counter-Strike et vous devez tirer sur cet ennemi. Je ne veux pas tirer ici et frapper l'ennemi. Donc cette capsule, si vous entendez, vous aviez tous leur ennemi. Mais puis un tireur à la première personne, vous ne voulez pas tirer ici à part le joueur et la pleurale se faire frapper. Vous voulez être très spécifique et même frapper quand vous frappez ici et ne pas frapper quand vous frappez ici à côté de lui. Ainsi, vous pouvez détecter les balles à travers le maillage lui-même. Mais il faudra beaucoup plus d'installation. Et ce n'est pas trop critique pour le top-down. Bien sûr, on va utiliser la capsule. Et à l'avenir, je vais faire un système de plus en plus complexe. Alors nous allons travailler avec ça pour l'instant. Et la hauteur, je ne veux pas ajuster la hauteur. Vous avez déjà de bonnes hauteurs. Donc, va ajuster la capsule ou le rayon juste un peu. Je pense que c'est bien, quelque chose comme ça. Donc, quand nous tirons sur la balle, elle va frapper cette zone, cette zone de capsule. Ok, alors compilons et sauvegardons. Et c'est tout ce que nous avions à faire pour mettre en place le personnage. Alors, dans la leçon suivante, allons de l'avant et faisons le Blueprint Animation.
54. Plan d'animation d'ennemis: Ok, Maintenant que nous avons le caractère de la configuration, allons de l'avant et faisons de l'animation pour ce grognement. Donc, un clic droit, tout comme le personnage qui va à animation et la création d'un Blueprint d'animation. Donc, en cliquant sur cela, et nous devons sélectionner le squelette. Je vais chercher des subventions. Et je vais sélectionner ce squelette appelé Masdar grognements en cliquant sur OK. Et je vais appeler l'Animation Blueprint et MVP grognements. Ok, donc maintenant nous avons ce grognement. Et au fait, si vous vous demandez ce qu'est un squelette, juste au cas où je voudrais être sûr. Le squelette est celui-ci et chaque personnage a un squelette. Ainsi, chaque personnage que vous importez dans Unreal Engine a un squelette. Et vous pouvez voir ici si je clique, si je peux frapper quelque chose, je ne peux pas, sauf si je les rend visibles. Mais vous pouvez voir ici maintenant nous avons ces squelettes. Donc c'est un squelette. Chaque personnage que vous importez a un squelette. Nous devons donc utiliser, il vous demande d'utiliser un squelette spécifique lorsque vous créez un Blueprint d'animation. Et cachons cela à nouveau à l'intérieur des os de caractère et sélectionné uniquement. Vous pouvez également sélectionner les os ici. Voilà ce qu'est un squelette. Il chaque personnage a un squelette qui, cela, qui doit être là pour que le personnage bouge et ainsi de suite. Donc, c'est ce que fait l'animateur, et l'animateur va personnage régulier et animer le personnage pour vous. Et revenons aux ennemis. Celui-ci, le plan d'animation que nous avons créé. Je vais double-cliquer dessus. Et ici, tout comme le personnage, nous allons faire une machine d'état. Et je vais cliquer sur F2 et l'appeler mouvement local, ce qui signifie simplement mouvement. Et je vais le connecter compiler. Ok, donc à l'intérieur d'ici, ce
moment, voyant un avertissement parce qu'il n'y a rien, je vais cliquer dessus et nous devons faire un nouvel état. Celle-là, on peut appeler jog, mais de façon réaliste, c'est inactif. Faire du jogging ou marcher au ralenti ou tout ce que vous voulez appeler ça. Donc c'est à vous de voir. Donc, en cliquant dessus, nous avons besoin, maintenant nous avons besoin d'une animation. Nous avons besoin de brancher une animation, et nous avons réellement besoin de créer un espace de fusion car ils garantissent
que le personnage passe du mode inactif au mode marche. Vous pouvez toujours faire glisser quelque chose ici. Par exemple, ce mode inactif ici et, et le connecter et compiler parce qu'il maintenant le caractère est inactif. Mais le problème avec cela, si vous ne créez pas d'espace de fusion, vous ne pouvez pas vraiment avoir plus d'une animation. Vous ne pouvez mettre qu'une seule animation. Et si on veut que le personnage soit inactif quand il se tient comme ça et qu'il bouge quand il te voit. Nous avons, alors cela signifie que nous avons besoin deux animations différentes avec ce qui signifie alors que nous avons besoin d'un espace de fusion. Alors allons de l'avant et cliquez avec le bouton droit et l'animation. Espace de fusion 1D. Et laissez-le, sélectionnons l'échelle. J' irai chercher des subventions, des bourses maîtrise en
SK, du squelette, celui-ci. Et appelons-le pour BS pour l'espace de fusion. Et appelons ça les grognements sont en fait, appelons-le, appelons-le George. Il fait du jogging ou de la marche. Donc ici, dans l'axe horizontal, c'est la vitesse. Donc vitesse de mouvement, je vais l'appeler. Et la valeur minimale est 0 quand il est immobile, je sais quand il déménage. Essayons 200. On doit tester ça. C' est comme il le fera vite, il marchera. Ok, donc c'est ça. Et c'était tout en fait. Donc ici et vitesse de 0, c'est le mouvement plus rapide ici, vitesse de 0. Nous voulons faire glisser cette animation inactive et la tirer ici. Alors maintenant la vitesse de 0, il sera au ralenti et à la vitesse de 200, il courra vers vous. Donc ici le gain de muscle supplémentaire, grognement marcher en avant. Donc il va aller de l'avant ici. Donc, si je maintiens Maj et que je déplace ma souris, vous pouvez voir que c'est comme ça qu'ils font la transition. Donc il va bouger et tu vas arrêter. Et il va bouger s'il court après toi. Ok, donc je veux rendre cette animation un peu plus rapide. Donc, ici dans l'animation monstre grognement marche avant, je vais augmenter l'échelle de taux de 1,2. Qui va marcher un peu plus vite. Alors l'émission est un peu plus rapide. Ok, alors gardons ceci et allons de l'avant et utilisons cet espace de fusion. Alors fermons ça. Et ici, nous pouvons maintenant prendre cet espace de fusion. Vous pouvez le prendre d'ici ou vous pouvez le prendre d'ici. Donc, en prenant cet espace de fusion, en le branchant et en le compilant, nous avons maintenant besoin d'une vitesse de déplacement. Donc, nous allons lui dire quels mouvements, mais il est, et c'est 100% comme le personnage. Revenons au graphique d'alors au cas où vous ne vous en souveniez pas. Écrivons, initialisons. Et en passant, hésitez pas à le faire vous-même et à regarder cela si vous voulez vous défier. Mais si, si vous ne vous souvenez pas trop bien, parce que c'est la toute première fois que nous essayons de faire avec Pas de soucis. Programmation. Après tout, parfois vous avez juste besoin de le faire encore et encore et encore. Et à la fin, vous vous souvenez juste que vous pouvez le faire dans votre sommeil. Donc, ici, nous allons utiliser l'événement Blueprint initialiser l'animation. C' est encore une fois comme le jeu de début dans les classes de Blueprint normales. Donc, quand vous démarrez l'animation, prenez ceci, essayez, obtenez le propriétaire du pion. Voici les Pons, C'est l'ennemi Po1. Et prends ça et dis que c'est valide. Donc l'ennemi, est-ce que ce grognement est à l'intérieur du niveau comme il est valide ? Il est là ? Si c'est le cas, faire quelque chose ? Si ce n'est pas le cas, nous y reviendrons plus tard. Donc, cliquez avec le bouton droit de la souris, essayez d'obtenir le propriétaire de pion et promu à une variable et appelez-le pod NME. Donc, si l'ennemi est valide, s'il est à l'intérieur de la carte, allez-y et créez-la en une variable appelée ennemi. S' il n'est pas valide, le V ne se trouve pas à l'intérieur de la carte, droite, pour retarder ce Blueprint d'animation et l'exécuter. J' ai essayé de l'exécuter à nouveau et de voir si son valide. Donc ça va aller à l'intérieur de cette boucle jusqu'à ce que l'ennemi soit à l'intérieur du niveau. Et puis il va créer une variable quand il est à l'intérieur du niveau. Bon, maintenant on a ce pion. Ici, on peut traîner ce lien. Et puis on porno. Et ici, nous pouvons dire, nous pouvons cliquer avec le bouton droit de la souris et convertir en un validé se connecter ici. Alors maintenant, nous disons, est-ce que ce porno ennemi est valide ? Il est là ? Il l'est. Il a créé. Si c'est le cas, allez-y et faites ce code. S' il ne l'est pas, ne faites rien parce qu'on ne veut pas vraiment faire ce code. Cela fonctionne sur tick, qui signifie qu'il fonctionne beaucoup de fois par seconde ou par image, désolé. Ainsi, par exemple, 60 images par seconde. Cela va courir beaucoup de fois. Et donc nous ne voulons pas vraiment exécuter ce code à moins que les ennemis réellement à l'intérieur du niveau, parce que cela n'a pas de sens de continuer à l'exécuter sans le joueur soit niveau insoluble ou l'ennemi, désolé, pas le joueur. Ce pion est valide ? Si c'est le cas, allez-y et faites quelque chose. Que voulons-nous faire ? Ce que nous, nous voulons simplement faire, c'est que nous essayons de nous souvenir d'obtenir la vitesse de déplacement. Donc je vais traîner et dire « obtenir de la vitesse ». Alors maintenant, nous avons la vitesse du peu important. Et pour que ce soit une variable flottante, nous devons faire comme la longueur du vecteur de caractère 0. Prendre la longueur du vecteur en fera une variable flottante, qui est simplement le nombre de décimales. Et celui-ci, nous pouvons faire un clic droit et promouvoir à une variable et dire vitesse de mouvement. Nous pouvons maintenant appeler, le connecter à aussi valide. Et maintenant, nous avons la vitesse de déplacement. Alors compilons et tout va bien. Revenons à l'état de ralenti ici, et ajoutons la vitesse de déplacement. Juste comme ça. Eh bien, compilons et si vous voulez le tester, vous pouvez toujours cliquer sur la variable de vitesse de déplacement et vous pouvez définir la valeur par défaut sur autre chose. Ainsi, par exemple, vous pouvez le définir sur 200, ce qui est notre valeur maximale. Et vous pouvez voir qu'il marche maintenant. Si leur vitesse de déplacement est 0 ne fonctionne plus. Donc maintenant ce plan d'animation
fonctionne et il peut marcher et nous avons la vitesse de déplacement. Et plus tard, nous allons y ajouter d'autres choses. Ainsi, par exemple, si le joueur meurt ou si l'ennemi dés, nous avons besoin d'une animation mourante. Mais pour l'instant, c'est bien. Ajoutons ça ensemble quand on fait l'arme et les dégâts et ainsi de suite. Alors, ok, alors revenons ici. Et ici, nous voulons maintenant appliquer notre plan d'animation. Donc double-cliquez sur la subvention BP. Ici, nous pouvons cliquer sur Mesh. Et à l'intérieur de ce maillage, nous pouvons aller de l'avant et dans la classe d'animation et d'animation, nous pouvons attribuer notre Blueprint Animation, Blueprint grognement que nous avons fait. Et si nous revenons à la fenêtre d'affichage et Compiler et enregistrer, vous pouvez voir ici que notre personnage se déplace maintenant l'aide du plan d'animation que nous venons de créer. Ok, donc ça a l'air super et c'est tout ce qu'on avait à faire. Nous pouvons faire glisser ce personnage et vous pouvez voir à quoi il ressemble. Si je clique sur Jouer, nous marchons autour et vous pouvez voir que c'est notre personnage qui se déplace autour. Ok, donc c'était ça pour cette conférence ou cette leçon. Et passons à autre chose.
55. Tirer l'arme: Bienvenue à cette leçon. Alors maintenant, allons de l'avant et faisons la logique de tir. Donc, quand on tire une arme, quelque chose se passe. Et pour ce faire, passons et cliquez sur le joueur. Un autre joueur, les plans et en cliquant sur la manette du joueur. Rappelez-vous que nous avons tous toutes nos entrées ou le mouvement à l'intérieur de la manette du joueur. Et je veux faire tout le mouvement ici. Donc, lorsque vous cliquez sur le bouton de la souris, vous lancerez leur arme. Donc cela va aussi être ici par tout comme ce que nous avons fait ici avec l'aller de l'avant et aller à droite ? Vous vous souvenez que nous les avons fait à l'intérieur des paramètres du projet. Et nous allons cliquer sur W pour aller de l'avant et ainsi de suite. On doit en faire un pour tirer l'arme. Cependant, en minimisant cela, je retourne à la Modifier les paramètres du projet. A l'intérieur de l'entrée. Je vais créer un mappage d'action. Et la différence entre les axes et l'action est l'axe est le, vous pouvez imaginer qu'il y a le mouvement qui est continu. L' action est, par
exemple, si votre feu leur arme, si vous sautez, si vous interagissez avec des choses comme le pillage d'armes ou de chargement d'objets et ainsi de suite. Donc, il suffit de cliquer sur un bouton. Ok, donc pour ça, appelons ça tirer une arme. Et pour tirer leur arme, vous pouvez simplement cliquer dessus et cliquer à nouveau sur le bouton gauche de la souris si vous voulez l'assigner. Et c'était ça en fait. Donc, si nous avons besoin de plus de choses, nous pouvons aller de l'avant et y aller. Nous avons probablement besoin d'un rechargement, mais faisons-le plus tard. Donc, ici à l'intérieur du contrôleur de joueur, nous pouvons maintenant écrire l'acheteur quel bin, et vous pouvez voir votre événement que vous venez de créer. Et ici, nous voulons tirer leur arme. Donc ce que je veux faire, c'est quand je clique, je voulais tirer leur arme. Et je veux faire le code à l'intérieur de la base des joueurs, parce que ce sera, ce sera disponible pour tous les joueurs que j'ai. Donc, si je fais dix joueurs, tous doivent pouvoir tirer une arme,
et donc, je ne le fais pas à l'intérieur de la machine BP. Je veux le faire en sorte de base de joueurs. Donc tous les joueurs ont ce code. Donc, je veux faire un événement appelé arme de feu ici, que je peux appeler ici quand j'appuie sur la souris, bouton gauche de la souris. Donc, je veux aller de l'avant et faire des événements personnalisés. Et pour ce faire, allons le faire à l'intérieur de l'interface, Blueprint Interface. Donc nous avons déjà, nous avons déjà fait un ici appelé la base des joueurs. L' interface Nous avons utilisé pour obtenir la référence à ce joueur, et nous l'avons utilisé à l'intérieur du contrôleur de joueur ici. Dans une leçon précédente, nous avons créé le contrôleur de joueur et nous avons obtenu le joueur et nous y avons fait référence. Et c'est ce que nous utilisons ici. Nous avons donc déjà cette interface. Allons de l'avant et cliquez sur Ajouter et fonction. Donc ici, en ajoutant la fonction, nous pouvons maintenant appeler cette fonction zone humide feu. Et il n'a pas à correspondre au nom de celui-ci. J' appelle ça n'importe quoi. Vous pouvez même l'appeler arme de tir ou les pare-feu sont juste tirer quoi que ce soit. Alors compilons et sauvegardons. Et ça va être un événement. N' oubliez pas que si vous êtes à l'intérieur d'une interface Blueprint, si vous n'avez aucune sortie, il
s'agit d'un événement. Cependant, si vous avez une sortie, donc si je double-clique sur celle-ci, si j'ai une sortie, ce ne sera pas un événement, ce sera une fonction. Donc, nous pouvons voir ici c'est une fonction maintenant parce qu'il a une sortie. Celui-ci, celui-ci n'a pas de sortie et c'est donc un événement qui est jaune. Ok, donc maintenant je peux utiliser ça comme un événement. Alors je vais écrire le feu d'une arme. Et vous pouvez choisir celui-ci appelé événement tir une arme. Et vous pouvez voir ici il s'agit d'une fonction Blueprint Interface à cause de cette icône. Alors maintenant je veux appeler, je veux faire le code ici quand vous tirez leur arme à l'intérieur de la base des joueurs. Donc ici à l'intérieur du contrôleur de joueur, je veux appeler cet événement. Je veux exécuter ce code lorsque j'appuie sur le bouton gauche de la souris. Donc ce que je vais faire, ce que vous voulez faire, comme communiquer avec des plans. C' est la base des joueurs. Tu regardes juste ici. C' est le portage de la base du personnage. Donc, la classe parent de base de caractères ici. Si je le recherche, si je clique sur la loupe et que je double-clique dessus. Rappelez-vous que la base de joueur est un enfant de base de personnage. Donc, à l'intérieur de la base de caractères, vous pouvez voir la classe parent est un caractère. Et donc à l'intérieur d'ici, ce que vous faites est que vous obtenez le personnage du joueur, vous obtenez le jeu sur et ainsi de suite. Mais nous l'avons déjà fait. Donc obtenir le personnage du joueur, obtenir la référence, et aussi obtenir le pion du joueur. Donc, c'est très facile pour nous parce que maintenant le joueur pointe en fait celui-ci. C' est très facile d'appeler cet événement maintenant. C' est pourquoi vous le faites comme ça dans la pièce de début. Et tu ne fais pas ça tout le temps partout. Tu le fais ici et le Begin Play. Et puis vous pouvez utiliser celui-ci comme nous l'avons fait ici, tous les endroits. Donc, en sortant de ce jeu, il peut maintenant dire arme de feu. Et je peux appeler celui-ci message appelé car il s'agit d'une fonction Blueprint Interface. Alors maintenant, je vais appeler ce code chaque fois que je vais cliquer sur l'arme de feu. Et vous pouvez le voir si je retourne à la base du joueur et je
dis juste imprimer la chaîne et dire bonjour. Vous pouvez voir ici si je clique sur jouer sur le jeu, je clique sur la souris un. Vous pouvez voir à gauche, en haut à gauche, il dit bas. Donc, ça marche. D' accord. Maintenant, faisons la logique de tir à l'intérieur de la base. Alors, c'est quoi le tir ? Donc, ce qui est un tir d'arme avait simplement aligné. Donc, si on fait glisser ici et écrire une trace de ligne par canal. Donc, c'est ce qui est utilisé pour créer ceci. Donc tirer est juste, juste une ligne. Vous tirez une ligne de votre personnage et dehors en plein air devant vous. Combien de temps tu veux le virer ? Donc juste pour mieux l'expliquer, je veux juste expliquer cette fonction ici. Donc vous avez besoin d'un point de départ. Alors, où commence cette ligne ? Et la ligne commence si je clique sur Jouer et que je clique sur huit. Et pour que je puisse sortir d'ici, bien que la ligne commence à l'arme ici. C' est donc l'emplacement de départ de cette trace, et l'emplacement final de cette trace est juste quelque part en plein air ici à l'avant. Donc il peut imaginer si vous tirez une balle et que vous la tirez ici à l'avant. C' est l'endroit final par ici. C' est donc ce que nous voulons faire. Nous voulons une ligne que si vous cliquez sur le bouton, il lira une ligne en face de vous le long d'un. Ok, alors allons-y et faisons-le. Alors laissez-moi arrêter le jeu et laissez-moi prendre ces cibles sont quel est le lieu de départ ? Je veux en fait faire un composant ici. Vous pouvez simplement entendre,
fondamentalement, vous pouvez simplement essayer d'obtenir l'emplacement exact. Et puis à partir de cet emplacement réel peut dire que c'est le début. Mais juste pour être un peu plus précis, nous pouvons cliquer sur ce maillage. Vous pouvez même cliquer sur l'arme en fait, nous allons cliquer sur l'arme. Et à l'intérieur d'ici, Allons-y et cliquez sur. Cliquez sur une annonce et faisons une scène. Donc, ce qui est vu est, est juste un composant vide qui a juste une traduction comme celle-ci. Donc celle-là, je vais l'appeler le générateur de balle. Donc, ce que j'ai vu est de voir le composant est juste un composant vide. Tu ne peux pas faire grand-chose avec ça. Vous pouvez voir que vous ne pouvez pas faire beaucoup, mais vous pouvez l'utiliser à l'intérieur du code et vous pouvez l'utiliser pour la traduction. Et c'est en fait ce que je vais faire. Donc, ces balles Bono que vous avez créé, nous allons retourner à la clôture. Déplaçons un peu pour qu'il soit en face de l'arme. Alors je le déplace un peu en avant, comme ça. Et si je vais à la vue de face, je vais juste la déplacer devant l'arme. J' imagine que l'arme n'a pas besoin d'être spécifique. Juste comme ça. Quelque chose comme ça. Et nous pouvons toujours l'ajuster si quelque chose ne va pas. Revenons donc à la vue en perspective. Maintenant, nous avons ce géniteur de balle. Compilons et sauvegardons. Et avec celui-ci, nous pouvons maintenant aller de l'avant et dire, peut maintenant enlever ces balles Warner. Et on peut dire « Obtenir la localisation du monde ». Maintenant, nous avons l'emplacement de ces balles Bonner. C'est le début. Donc la ligne commence à partir d'ici, à partir des balles Guano de la scène. Ici commence par une ligne. Et quand on tire leur arme, on peut dire qu'on doit trouver la fin. Et la façon dont tu fais ça, c'est de prendre la rotation de ça. Donc en écrivant la rotation, vous pouvez voir quelque chose appelé Get rotation du monde. Donc, en prenant la rotation et en prenant le vecteur avant. Donc, avant vecteur, aller vecteur avant. Donc maintenant, nous avons, nous avons la rotation et nous avons l'espace avant. Et à partir de là, nous devons dire multiplier. Et nous pouvons multiplier ce nombre. Faisons un clic droit ici sur ce vecteur ici nous voulons juste un nombre. Donc, faites un clic droit et dites Convertir la broche en float. Et nous pouvons multiplier ce vecteur avant. Donc on va l'envoyer dans l'espace comme devant nous, disons 5000. C' est une longue distance. Et maintenant, nous pouvons dire que la fin est le point de départ. Donc la fin de ceci est le point de départ où vous avez commencé à partir des balles étrangères ici. Et tu finis, tu dis plus ce numéro. Donc, vous commencez à partir d'ici, plus ce numéro. C' est la fin. Donc c'est comme ça que c' fait et je peux juste te montrer de voir ce que je veux dire. Donc, en cliquant. Sur ce type Draw Debug afin que vous puissiez voir la doublure dans le jeu et en cliquant sur persistant, cliquez sur compiler. Et nous allons cliquer sur Lire et voir si cela fonctionne. Donc, en cliquant sur la souris, vous pouvez voir qu'il dessine une ligne à l'ouverture. Mais en ce moment c'est, il tire sur le côté quand je clique. Et c'est parce que l'orientation du, eh bien, c'est lié ici est fausse. Donc je peux cliquer sur E pour le faire pivoter, et je vais le faire tourner à 90 degrés comme ça. Et il fait 90 degrés. Compilons et cliquez sur Lire. Et si je tire, maintenant, vous pouvez voir que je tire une balle du générateur de balle. Et cependant, même si nous l'avons multiplié par. Donc, il va tirer une ligne directe et se terminer quelque part ici dans le, à la fin ici. Ok, donc c'est ce que nous essayons de faire avec une trace de ligne par canal. Il suffit de dessiner une ligne. Et allons de l'avant et organisons ça. Donc, je vais double-cliquer ici. Il y a donc nous, donc ça n'a pas l'air trop déroutant. Et ce que nous pouvons faire au lieu de coder en dur, que
je n'aime pas trop ça. Donc, je peux cliquer avec le bouton droit sur celui-ci et promu à une variable. Et il l'appelle aussi juste une distance de balle, ou en tirant cette tension par exemple. Ainsi, chaque arme peut avoir une distance de tir différente. Donc juste comme ça. Et maintenant, nous avons cette arme à feu. Ok, alors ajoutons un peu de son. Et j'ai réalisé en regardant les armes qu'il n'y a pas de son à l'intérieur. Lemme voir ici. Et donc le pack d'armes FPS que nous avons téléchargé et certaines armes il n'y a pas de sons ou d'effets. Laisse-moi revenir ici au curseur du jeu épique. Et à l'intérieur du marché, il y a celui-là appelé armes militaires noires. Donc, si vous allez à l'intérieur du marché et que vous cherchez des armes. Et là, laisse-moi revenir en arrière et je peux te montrer juste au cas où. Donc ici à l'intérieur de l'arme ou à l'intérieur du marché du moteur, vous pouvez écrire arme, puis cliquez sur le coup gratuit ici. Et vous trouverez quelque chose qui s'appelle les armes militaires sombres. Donc, en cliquant sur celui-ci et en fait téléchargé et ajouté au projet. N' oubliez pas de cliquer sur Afficher tous les projets, puis de sélectionner votre projet. Et n'oubliez pas de sélectionner la dernière version ici et de cliquer sur Ajouter au projet. Donc, j'ai déjà fait, je n'ai pas ouais, supprimé à nouveau. Juste pour te montrer. Donc, en cliquant dessus, je vais aller de l'avant et sélectionner la dernière version. Cliquez sur Ajouter au projet, et il l'ajoutera à mon projet. Et celui-ci a en fait quelques effets pour ça ici. Voici l'arme militaire téléchargée, Doug. Et si je clique dessus, vous pouvez voir que nous avons des effets, donc certains effets visuels, et vous avez aussi du son. Laisse-moi entrer dans le son et te montrer comment ajouter des sons à l'arme. Donc, en cliquant sur rifled, c'est le meilleur que nous pouvons utiliser. Et celui-ci a appelé celui-ci rayé être feu q. Et laissez-moi en fait, avant de jouer le son, je pense que ce sera très grand pour vous. Je vais double-cliquer dessus. Et à l'intérieur d'ici, je vais cliquer sur cette sortie et baisser le volume ici. Donc, vous permettant de zéro point, je pense que le point zéro 3 était un bon point. Tu vois, on a un peu de son. Je veux réellement supprimer ce fondu enchaîné. Donc, si je maintiens Alt et juste cliquer dessus et maintenez Alt, je vais juste supprimer celui-ci. Et je vais seulement utiliser celui-ci entendu par le joueur. Je vais faire glisser ceci et à l'intérieur du modulateur et ce que le modulateur est. Donc, si vous faites glisser d'ici, tout comme des plans, en faisant glisser d'ici et en écrivant modulateur. Et tu peux faire celle-là. Et ce que cela fait est juste de changer la hauteur du son un peu pour qu'il sonne différent chaque fois que vous devriez. Regardez ici. Ce n'est pas le même son tout le temps. Donc, et vous pouvez l'entendre beaucoup si je le fais beaucoup plus haut ou plus bas. Mais maintenant, ça a l'air idiot. Donc je vais à Control Z et je m'en tiens à ça. Alors maintenant, c'est le son. Et nous voulons l'utiliser. Donc, si je retourne à mes plans à l'intérieur du joueur et de cette base de joueurs. C' est là que nous tirons leur arme. Et je veux le faire avant cette trace de ligne. On va dire,
oups, traînons ça un peu en arrière. Je peux l'utiliser. Je vais dire jouer du son. Donc, vous pouvez soit faire jouer le son 2D, qui va juste jouer le son et vous pouvez l'entendre tout. Ou il peut jouer du son à l'emplacement, ce qui est un peu plus ou beaucoup plus correct dans cette situation. Parce qu'imaginez si vous avez un joueur qui se tient loin de vous. Je ne veux pas qu'il fasse le son. On dirait que vous êtes debout à côté de lui quand vous êtes à 10 mille kilomètres, alors vous voulez juste jouer à cet endroit où est votre arme, où votre personnage est, le jeu du son à l'endroit et il vous demande dans quel endroit voulez -vous jouer le son ? Et joue-le là où se trouve l'acteur. Alors où se trouve ce joueur ? Alors, obtenez un emplacement précis. Et la cible est moi. Et moi signifie que cette base de joueur et juste le brancher ici et maintenant nous devons ajouter quelques sons. Alors, je vais le minimiser et revenir à carabine de son arme
militaire et traîner dans ce fusil, feu q et maintenant nous allons tirer un son chaque fois que vous le tirez. Donc, si je clique sur Jouer, et maintenant quand je me déplace déclic, je vais jouer un son. Ok, donc la prochaine chose que nous voulons faire, avant de finir, laissez-moi revenir au plan et ouvrir la base de joueurs. Maintenant, nous avons ces arbres de ligne et les lignes se lèvent en tirant une ligne. Si Brian du début à la fin de l'emplacement. Et que voulons-nous faire de cette ligne ? Donc il y a quelque chose qui s'appelle, frappe, OK ? Il y a quelque chose qui s'appelle ça. Et si vous dites pause, casser les résultats. Nous avons donc maintenant les résultats du SCID. Et si vous cliquez sur cette flèche, vous pouvez voir toutes les choses que vous pouvez faire avec cette ligne. Donc ce que nous voulons faire, c'est ici dans l'acteur principal parce que nous voulons frapper l'ennemi. Donc ici, on peut dire que l'acteur a marqué. Et celui-ci que nous avons utilisé dans le match précédent et le match de balle, nous avons dit joueur. Mais ici, dans ce cas, si l'acteur a tag ennemi, si c'est vrai, alors nous voulons faire quelque chose. Je vais cliquer sur cette flèche pour la rendre plus petite. Et nous devons donner à cet ennemi le tag ennemi parce que nous n'avons pas encore donné de tags. Laisse-moi le minimiser. Retournez à l'ennemi sur la base ennemie parce que nous voulons que tous les ennemis aient cette étiquette. Donc, en cliquant sur la base ennemie, ouvrez l'éditeur de Blueprint complet. Et ici, dans les valeurs par défaut de la classe, vous pouvez rechercher la balise. Et vous pouvez voir notre un tag cliquez sur le Plus. Et on lui a donné une étiquette et ça s'appelle l'ennemi. Donc maintenant dans la base de joueur, si l'acteur à succès, puis l'acteur qui a un ennemi tag, vous pouvez alors faire quelque chose avec cela. Et vous pouvez voir ici, si je vais de l'avant et cliquez sur Imprimer la chaîne ou écrire la chaîne d'impression, et maintenant je peux aller de l'avant et cliquer sur Play, mais rien ne se passera et je vais totalement un certain temps. Maintenant, si je vais à l'ennemi ici, je lui ai donné le tag ennemi. On va tirer dessus. Mais vous pouvez voir que la ligne est toujours rouge. C' est censé être vert comme celui-là, je devrais quelque chose qui est touché. Mais si ça ne frappe pas quelque chose, ça va toujours être lu. Par frappe quelque chose. Il va être vert, mais il n'y aura pas de vert. Et l'ennemi détecteur. Et c'est parce que cette trace de ligne, si nous revenons à la base du joueur, cette trace de ligne touche le canal Visibilité. Et ce que cela signifie, c'est que si je retourne à la base ennemie et que je clique sur cette capsule, j'ai enlevé cette étiquette pour que je puisse tout voir. Et je ne sais pas si vous pouvez tout développer ici, élargir toutes les catégories, juste comme ça. Et je peux descendre et ici dans la collision, pas de clic souligner cela et rappelez-vous que vous devez d'abord cliquer sur la capsule. C' est parce que cette capsule est ce qu'on veut frapper. Donc, en cliquant sur la capsule va à la collision, et ici vous pouvez le minimiser. Et ce préréglage de collision, vous pouvez voir qu'il y a quelque chose appelé visibilité
et c'est en ce moment qu'il ignore la visibilité, mais c'est ce que nous utilisons pour frapper le joueur ou l'ennemi. Nous voulons donc bloquer cette miscibilité ou la chevaucher. Donc, sur ce préréglage de collision de l'étang, nous pouvons aller de l'avant et cliquer sur Custom puis sur block pour la visibilité. Alors maintenant compilons et cliquez sur Lire. Et si je passe à l'ennemi, tu peux dire que ça dit bonjour. Et les lignes vertes aussi parce que je viens de frapper ce NME. Ok, donc maintenant ça marche, pour
retourner à la base des joueurs. Allons de l'avant et jouons un son quand vous avez l'ennemi. Donc je vais dire jouer le son à l'endroit. Alors quel est l'endroit où vous voulez jouer le son et je veux simplement jouer le son ou les ennemis frappés. Donc ici, en descendant, en cliquant sur la flèche, il y a quelque chose qui s'appelle l'emplacement et c'est là qu'il frappe ça. C' est là que la ligne frappe. Donc les loci, l'endroit où la ligne frappe, je veux jouer un son. Et rappelez-vous qu'il ne va que frapper l'ennemi. Donc, et que rien d'autre va de l'avant. Cliquer sur compiler et jouer peut voir ici, oups, je n'ai même pas ajouté de son. Je suis trop rapide. Alors allons de l'avant et ajoutons le son. Et ce que je peux faire, c'est retourner au fusil et il y a quelqu'un qui s'appelle, je pense que celui-là, soyez prudent, peut-être que ce sera trop fort. Celui-là, ouais, ça a l'air bien. Et je vais double-cliquer dessus et minimiser le son à 0.3, donc ce n'est pas trop fort pour vous. Et je retourne ici et j'attribue le son. Donc je vais traîner celui-ci à l'intérieur d'ici. Et maintenant, je peux l'essayer. Donc, en cliquant sur jouer. Vous pouvez entendre ces sons en train de jouer. Et ça ne joue pas quand j'ai dit autre chose. Mais c'est blâme quand je frappe alors en moi. Impressionnant. Alors maintenant on frappe l'ennemi, mais pour l'instant on ne fait pas de dégâts. Nous n'avons pas encore mis en place cette logique. Et comme la dernière chose avant que nous le finissions, ajoutons un peu d'effet aussi, donc il semble un peu mieux. Donc ici dans la base ennemie ou le déclarer une base, désolé, si je clique ici après le son, je veux faire un, un effet. Donc ce que je peux faire ici, c'est dire que les émetteurs Lay sont réellement générés que le jeu spawn émetteur attaché. Donc spawn émetteur attaché et connectant ceci. Donc l'émetteur n'est qu'un effet visuel que nous pouvons générer. Donc, ici ce qu'on peut faire naître, il est maintenant en train de dire, quoi, qu'est-ce que tu veux répondre ? Quel est l'effet ? Donc l'effet est que si nous revenons à l'arme militaire sombre à l'intérieur de leur fusil sont en fait là-haut et les effets, nous pouvons ajouter celui-ci, le flash de museau. Donc, si vous le faites glisser à l'intérieur d'ici et attachez deux composants, alors à quoi voulez-vous l'attacher ? On peut simplement l'attacher au générateur de balle. Donc je vais traîner ça et le mettre sur le dessus. Et joindre le nom du point. Ça n'a pas d'importance pour l'instant. Quel est l'emplacement ? Donc, l'emplacement est en fait juste le même que celui-ci. Et puisque nous devons utiliser ce code plus de fois, plus d'une fois, donc celui-ci va être copié ici et je vais le mettre ici. Mais au lieu de copier, faisons réellement une fonction afin qu'elle puisse en apprendre davantage sur les fonctions. Donc, si je passe la souris sur ces deux-là et que je clique avec le bouton droit de la souris et dis réduit à la fonction. Je vais l'effondrer en fonction et je vais l'appeler balles. On peut dire qu'il a une balle. Bonjour, voleur ou emplacement et rotation. Il n'y a rien comme ça. C' est le meilleur que j'ai pu trouver rapidement. Et nous pouvons double-cliquer, cliquer sur celui-ci et le déplacer vers le bas. C' est comme ça. Donc, c'est la fonction, et au lieu de les appeler valeur de retour, nous pouvons dire emplacement et rotation. Donc, c'est plus propre, plus propre nom. Bon, maintenant on a ça, mais on ne veut pas vraiment le connecter. On veut juste obtenir l'information. Mais en cliquant dessus, nous pouvons cliquer sur celui-ci. Et ici, nous pouvons voir purs. Donc, en cliquant sur pur, en cliquant sur composé Enregistrer, vous pouvez voir ici cela est devenu juste comme la fonction verte ici. Et c'est parce qu'on ne veut pas vraiment le connecter ici. Ça n'a pas de sens. Nous voulons juste obtenir l'emplacement et la rotation. Je ne veux pas passer par le code. Alors maintenant, c'est cool. Ce que je peux faire, c'est juste utiliser ceci encore et encore si je le trouve. Donc, c'est le même code maintenant. Et ce que je peux faire ici, c'est que je peux faire glisser cette fonction et l'utiliser comme ça. Donc c'est plutôt cool. Au lieu d'avoir à tout écrire, vous pouvez l'utiliser comme ceci. Et maintenant l'échelle de cet émetteur est juste 1, 1,
1 et l'emplacement, nous pourrions avoir besoin de le changer, garder la position tourbillonnante. Alors gardez bien position. Et ici, il va juste dire que je vais changer me détruire quand je finis le, l'émetteur et c'est bon et l'écoulement s'active. Ok, donc maintenant c'est ce que nous avons. Et si nous cliquons sur Jouer, vous pouvez voir que nous avons maintenant un effet. Et si vous n'aimez pas l'emplacement, si vous n'aimez pas l'emplacement des effets, vous pouvez aller de l'avant et à l'intérieur de la base du joueur et vous pouvez déplacer ce générateur de balle parce que c'est là qu'il génère donc vous pouvez déplacez-le un peu vers l'avant si vous voulez. Ouais, je pense que c'est bon. Donc, ça a l'air bien. Et ça regarde, ok, alors maintenant j'ai un effet, on a un son. Je sais que cette vidéo est un peu longue, mais j'espère que c'est excitant à y aller, le son fonctionne et l'effet. C' est un peu ennuyeux sans rien. Mais maintenant que nous avons la logique de tir de l'arme terminée, nous pouvons aller de l'avant et faire les dégâts à l'ennemi.
56. Enemie Damage et mort: Bonjour, et nous reviendrons bien que maintenant nous allons faire les dégâts sur l'ennemi. Donc, pour ce faire, allons de l'avant et entrer dans la base ennemie. Parce que nous voulons faire les dégâts à l'intérieur de la base ennemie. Parce que nous ne voulons pas le faire en sorte de grognement BP. Et la raison est que nous voulons que tous les ennemis que nous faisons reçoivent des dégâts. C' est pourquoi nous le faisons ici
dans la classe parent de ces ennemis. Donc, à l'intérieur d'ici, Supprimons tous ces pour l'instant, ces événements, composé save. Et ouvrons aussi la conférence, le joueur et cette base de joueurs. Et nous allons cliquer sur le graphique des événements ici. Alors maintenant et la dernière leçon, nous avons créé le feu d'arme et nous avons fait le son et aussi l'effet. Et on a tracé cette ligne, et on tire des lignes. Et ici, nous avons frappé l'ennemi. Ok, donc ce qu'on veut faire c'est avant, ça n'a pas d'importance, en fait Butler le fait. Donc, c'est logique avant de jouer le son, disons les dégâts appliqués. C' est ainsi que vous endommagez les classes de Blueprint. Donc, les ennemis dans ce cas. On a donc l'acteur endommagé. Alors, quel est l'acteur endommagé ? Il a endommagé l'acteur est juste cet acteur ici au Hit Actor. Donc c'est l'ennemi que nous dirigeons. Donc je vais le faire glisser et connecté ici. Alors, quels sont les dégâts que vous voulez faire ? Donc, le dommage que vous voulez faire est, par exemple, 25, bien que l'instigateur d'événement soit juste une référence au contrôleur. Donc le contrôleur qui contrôle tout ce qui a fermé l'arme, et celui qui tire sur l'arme est le joueur. On a donc besoin de la manette pour le joueur. Je vais juste dire contrôleur getline et c'est tout. Ça suffit. Laisse-moi le déplacer un peu ici. Alors allez contrôleur de nuage et les dommages causés, sorte que l'acteur qui a réellement causé les dommages. Et ici, je vais juste dire moi, le joueur a causé les dégâts, juste comme ça. Et vous n'avez pas besoin de faire plus. Maintenant, cliquez sur Enregistrer la compilation. Donc, il sait que l'extérieur endommagé est l'ennemi. Parce que nous avons connecté cet acteur à succès et cela seulement, il ne passe par cette branche que si la cible a l'acteur ou le tag ennemi. Ok, donc maintenant on applique des dégâts. Et la prochaine chose à l'intérieur de la base ennemie. Maintenant, dans la base ennemie, nous pouvons dire n'importe quel dommage et nous avons un événement appelé n'importe quel dommage. Et vous pouvez voir ici si j'imprime juste une chaîne, ça va dire bonjour si c'est frappé par ça. Alors cliquez sur Play. Je vais le frapper. Et ça dit bonjour en haut à gauche. Ok, donc ça marche. Maintenant, nous causons des dégâts. Donc, la chose que nous voulons faire est ici dans les variables. On veut dire de l'aide. Nous voulons donc faire une variable de santé. Et ce type va être un flottant parce que nous voulions être une, une valeur numérique avec des décimales. Donc, en cliquant sur Compiler et enregistrer. Et vous pouvez voir maintenant nous pouvons entrer dans l'aide. Donc, définissons la valeur de santé par défaut à 100 plus bouffée, compilez-les et enregistrez-les. Donc, ce qui est cool à ce sujet, c'est que vous êtes à l'intérieur de la base ennemie, donc vous êtes à l'intérieur de la classe parent pour ces ennemis. Donc si je vais ici à la base ennemie est la classe parent ou ce grognement. Et lorsque vous créez des variables à l'intérieur de la classe parent, et elles seront également utilisables par l'enfant. Donc, cette variable de santé que j'ai faite dans la base intime sera disponible ici pour les grognements BP. Si j'ai ouvert l'éditeur de Blueprint complet, vous pouvez voir ici à droite, j'ai en fait la santé. Donc, ici à droite, j'ai la variable Santé, qui est celle que nous venons de faire. Ok, donc c'est très cool. Chaque variable que vous créez ici apparaîtra ici. Et c'est cool car imaginez si nous avons plusieurs ennemis. Maintenant, nous pouvons modifier la santé de ces ennemis afin qu'ils puissent avoir une santé différente. C' est donc très cool et c'est ainsi que vous pouvez les éditer. Peut-être que nous avons un géant et le Géant ont 200 santé et dit 100. Ok, donc c'est comme ça que tu fais. C'est plutôt cool. Donc, chaque variable que vous créez apparaîtra pour ceux-ci, chaque enfant que vous créez pour cela à partir de cette classe de Blueprint. Ok, si utile, juste être 100 pour l'instant. Et dessinons cette santé. Et avec cela, ce que nous voulons faire est de dire moins, donc soustraire. Donc, cette santé moins les dommages. Donc, par exemple. La santé est de 100 et les dégâts pour une balle sont de 25 à l'heure actuelle. Donc ça va dire 100 moins 25, ça va être 75. Donc nous allons prendre cet enfer, et nous allons le mettre. C' est la nouvelle valeur pour l'aide. Alors maintenant, il est 75. Si vous tirez une fois, vous devriez 2 fois 2 sera 50 et ainsi de suite. Donc je vais connecter ces deux-là. Et puis juste pour le tester, disons imprimer la chaîne. Et avec cette chaîne d'impression, connectons cette valeur à l'intérieur de la chaîne afin que nous puissions imprimer la valeur à l'écran. Et nous allons mettre le jeu et devrait l'ennemi et voir ce qui se passe. Vous pouvez voir l'enfer tomber et maintenant c'est 0. D' accord ? Et disons cette base ennemie. Donc maintenant, nous devons faire une condition pour ce qui se passe quand cela devient 0. Donc maintenant, la santé compte correctement. Ce que je veux faire est de retirer ceci et de dire, si c'est inférieur ou égal à 0, alors faites quelque chose. Et ce que nous voulons faire, c'est que nous voulons dire au moteur ou au jeu. Nous voulons lui dire que cet ennemi est cela. Alors faisons un événement personnalisé ici. Et appelons-le comme ça. Et je n'aurais pas pu faire cet événement personnalisé. J' aurais pu le faire avec le juste entrer et faire une nouvelle interface Blueprint. Mais je ne pense pas qu'on aura besoin de plus que celui-ci. Je ne veux donc pas perdre de temps à créer une nouvelle interface Blueprint pour la base ennemie et ainsi de suite. Mais si on en avait besoin, faisons-le plus tard. Mais en ce moment, ce que vous pouvez faire est juste d'écrire personnalisé et faire un événement personnalisé et vous pouvez le nommer n'importe quoi ici. Alors maintenant ça qu'on peut l'appeler ici. Alors appelons-le et disons la Mort, appelée cette fonction. Alors maintenant, quand la santé est 0 ou moins, ça va appeler cette mort, cet événement. Et maintenant, nous devons coder quelque chose ici. Alors que se passe-t-il quand l'ennemi est en dés ? Je vais créer une nouvelle variable ici et l'appeler B est mort. Donc B pour Booléen et est mort. Et je vais le changer pour le type de booléen. Donc ce qu'est le booléen est juste quelque chose qui est vrai ou faux, comme ici. C' est aussi un booléen. Donc c'est quelque chose qui est vrai ou faux. Donc je vais enlever ça. Je vais tenir Alt et le laisser tomber pour qu'il se mette. Et je vais le connecter et je vais le prendre pour que c'est vrai. Donc, au départ, cette valeur, si nous compilons et sauvegardons, cette valeur est initialement fausse. Les ennemis vivants. Quoi, quand tu le tueras,
ça va le mettre à ça. Et on peut faire quelque chose avec ça. Et la prochaine chose que nous voulons faire est de jouer une animation que nous voulons jouer cette animation. Donc, disons que ce personnage ou ce maillage ici une seconde vers le bas. Et disons l'animation Lay. Et nous l'avons ici, comme dessus. Et maintenant, vous devez sélectionner une animation. Alors allons de l'avant et voyons quelles animations nous avons. Donc ici à l'intérieur d'un manquant votre marché, adversaires de lame
infini à l'intérieur de l'ennemi. Nous avons nos grognements de maître, puis nous avons les animations de grognement maître. Et à l'intérieur d'ici, nous avons ce jeu
supplémentaire, la mort de la glande maître. Donc c'est l'animation de la mort. C' est celui que nous voulons jouer sur les dés NMI. Bien que je vais minimiser ça un peu. Je vais juste faire glisser celui-ci ici ou vous pouvez le chercher. C'est à vous de voir. Alors je vais le laisser tomber ici. Et ça ne va pas boucler. On voulait juste jouer à un moment donné. Eh bien, juste une graine de l'île pour le plaisir. Maintenant va jouer cette animation. Cool. Maintenant, nous avons notre problème. Tu peux toujours tirer dessus. Vous pouvez le voir, sa place à nouveau. Ou vous pouvez également voir ici qu'il
bloque, vous avez besoin d'un plan pour marcher au-delà. Alors réparons ça. Mais la première chose qu'on veut réparer c'est que ça te bloque. Donc la chose qui vous bloque, c'est parce que prenons ce maillage. Et en fait, nous pouvons simplement utiliser ces mesures la même variable. Ici, on peut dire collision. Parce que rappelez-vous que la collision vous bloque une collision. Et vous pouvez voir quelque chose ici appelé, je vais voir où il est activé Définir Collision. Donc c'est le même que celui-ci. Donc, si vous cliquez sur Mesh, vous descendez ici, vous pouvez voir cette collision. Il s'agit du préréglage de collision que vous avez actuellement. C' est le bon. Et nous ne voulons pas le mettre en collision parce que nous ne voulons plus entrer en collision avec elle. Donc aucune collision n'est mise. Non. D' accord. Eh bien, créons un ici pour que ça paraisse mieux. Et la prochaine chose, rappelez-vous que nous avons aussi la capsule, et la capsule est celle sur laquelle nous sommes, nous tournons. Celle-là. Nous voulons également supprimer la collision car la collision est déclenchée initialement. Donc, en sortant cette capsule et également réglé se connectera activé. En cliquant dessus et en le définissant sur aucune collision. Donc, si je compile et joue et que je devrais l'ennemi, vous pouvez voir que je ne peux plus tirer dessus. Ceci est dû à la collision est désactivée. Ok, donc c'est très cool. Et juste pour être sûr. Donc c'est, parfois c'est inutile était juste pour être sûr que j'aime prendre ce composant de mouvement de personnage et désactiver les mouvements là pour que cela ne marche pas. Surtout cela se fait avec des personnages. Donc, les joueurs que si vous avez à nouveau un multiplicateur , par
exemple, ou votre joueur, celui avec lequel vous
jouez, seront d'avoir le mouvement désactivé juste pour être sûr que vous ne pouvez pas bouger pendant qu'ils étaient à cette paye. Alors la dernière chose, rappelez-vous à l'intérieur, laissez-moi retourner au dossier Blueprints et aux ennemis. Et voici le plan d'animation, sorte de graphique d'événements. Nous avons fait cette vitesse de mouvement. Et si l'ennemi est valide, nous allons calculer le mouvement. C' est ce que nous avons fait auparavant. Et ce que je veux faire est en fait aussi ajouter que si l'ennemi n'est pas cela, vous pouvez aller de l'avant et calculer. Parce qu'ici, maintenant nous avons le est mort que nous pouvons utiliser. Et nous pouvons dire, si l'ennemi n'est pas mort, allez-y et calculez cette vitesse de mouvement. Et maintenant je dois, je dois référencer cette base ennemie parce que maintenant la variable est à l'intérieur d'ici. Pour l'un ou l'autre je pourrais juste prendre ce porno ennemi parce que nous avons déjà une variable et dire demandé à la tâche 2, base ennemie. Et en faisant cela, nous pouvons y accéder parce qu'en ce moment, il ne fait que prendre les points généraux. Donc celui-ci s'appelle essayer Get Pion Propriétaire. Donc ça va avoir le porno de l'ennemi général et il sait à qui appartient ce lien. Maintenant, nous voulons, nous voulons, nous voulons accéder aux événements personnalisés à l'intérieur d'ici, à l'intérieur de cette base ennemie spécifiquement. C' est pourquoi nous prenons ça et disons les coûts à, oups, j'ai créé ça par erreur. C' est pourquoi nous disons les coûts pour, et vous lancez sur ce NMI basé spécifiquement. Et à partir d'ici, vous pouvez dire que par exemple, ici vous pouvez prendre cette variable. Nous pouvons le faire comme ça, ou nous pouvons le faire via une interface Blueprint. Et ceci, le problème avec ceci est qu'il crée références
Hart et c'est mauvais pour la performance. Il peut également augmenter le temps de chargement. Donc, je vais le supprimer et faisons-le simplement via
l' interface afin que vous puissiez obtenir de la pratique dans cela aussi. Donc c'est la dernière chose qu'on va faire. Donc, en allant à l'intérieur des interfaces, faites un clic droit, créez une nouvelle interface Blueprint et appelez-la dans n'importe quelle base. Et à l'intérieur de celui-ci, Faisons une nouvelle fonction appelée obtient ennemi ref. Si bon la référence de l'ennemi. Et nous allons cliquer sur Créer et sortir et trouver la base VP NME. Donc celui-ci, base ennemie BP. Appelons ça, appelons-ça l'ennemi. Compilons et sauvegardons. Donc, à l'intérieur de la base ennemie, à l'intérieur d'ici, nous allons cliquer sur Paramètres de classe, puis ajouter et rechercher des ints, base
ennemie, composé, enregistrer. Et vous pouvez voir que nous avons maintenant cette fonction que nous avons ajoutée à l'intérieur de nos plans dans les enquêtes. Donc, en cliquant dessus en double-cliquant. Et là, ça te demande quoi, qui est l'ennemi ? Et l'ennemi est moi ? L' ennemi est donc cette base ennemie. Ok, donc maintenant nous avons ceci et maintenant à l'intérieur du plan d'animation ici nous pouvons effectivement dire maintenant en S2 ce porno ennemi et dire obtient ME réf. Et à partir d'ici, repoussons ça. En fait, on peut le faire par ici. Laisse-moi l'éloigner. Donc maintenant, il dit, l'ennemi
est dans le niveau ? L' ennemi est-il valide, nous et l'ennemi ? L' ennemi existe dans le niveau ? Oui, c'est le cas. Donc après ça, vous êtes, nous voulons vous demander, l'ennemi
est mort ? Et pour ce faire, on peut soit tirer ça comme je l'ai fait avant, mais en fait on peut le faire par ici. C' est la même chose et beaucoup plus propre que je pense obtient ennemi, mon soutien, obtenir l'ennemi rude. Et connectez ça. Et à partir d'ici, on peut dire « obtient ». Et nous pouvons voir ici, en bas, il y a toujours les variables et celui que nous voulons obtenir est mort. Il est mort. Celui-ci est que c'est la variable que nous avons ici dans la base ennemie, c'est ça. Alors c'est celui-là. Et ici, nous pouvons dire, est l'ennemi mort. Donc si celui-ci est vrai, ne faites rien, mais si les ennemis sont vivants. Donc, si l'ennemi n'est pas mort, alors allez-y et calculez. Mais juste pour le rendre plus lisible, c'est un peu déroutant. Je vais dire traîner ça et dire non. Donc, si l'ennemi n'est pas,
n' a alors aller de l'avant et calculer la vitesse de mouvement. C' est un peu mieux sur la lecture. Donc, ce n'est pas trop déroutant. Je vais l'assembler d'abord, juste comme ça. Donc, si l'ennemi, l'ennemi existe et que le niveau est l'ennemi existe, l'ennemi est-il mort ? Ou voici demander, si l'ennemi n'est pas mort, alors allez-y et calculez la vitesse de déplacement. C' est ce que nous avons pour les dommages que nous avons créés, les dommages appliqués. Nous appliquons donc des dégâts et en ce moment nous en appliquons 25. Et c'est bien pour l'instant. Et aussi dans la subvention, nous avons une certaine santé que nous sommes donc soustraire de tout événement de dommage. Et quand vous êtes mort, vous allez jouer une animation et supprimer la collision. Ok, donc c'était tout pour cette leçon. Et si vous voulez que l'ennemi disparaisse quand les ennemis meurent, c'est à vous de décider. Je ne veux pas vraiment y arriver,
mais je peux vous montrer comment le faire juste,
juste au cas où vous vouliez supprimer l'ennemi. Donc ici, nous pouvons dire retard. Par exemple, nous voulons supprimer l'ennemi après cinq secondes. Donc, disons retarder avec cinq secondes, puis détruisez-le. Alors maintenant tu vas détruire l'acteur. Et c'est quoi, qui est l'acteur ? Quelle est la cible ? La cible elle-même, l'ennemi. Donc, en cliquant sur Play, vous pouvez voir jusqu'à cinq secondes. Il va supprimer l'ennemi ou détruit ou soit juste comme ça, C'est à vous si vous voulez votre jeu comme ça. Pour celui-là, laissons juste le faire pour que nous puissions voir les ennemis s'accumuler. C' est bien pour l'instant. Ok, donc c'était tout. Merci d'avoir regardé et passons à la leçon suivante.
57. Spawning: Ok, donc maintenant nous avons la mort dans la dernière leçon. Alors maintenant, concentrons-nous sur le frai de l'ennemi. Au lieu de simplement traîner l'ennemi comme ça, nous voulons dépenser l'ennemi dynamiquement. Donc supprimons celui-ci, et je vais supprimer celui-ci pour que le niveau entier soit vide et que ce soit seulement nous qui courons et nous pouvons tirer. Ok, donc maintenant on veut engendrer l'ennemi. Et je pense que je veux faire le frai à l'intérieur
du mode jeu pour qu'on puisse faire ce lien à l'intérieur d'ici. Donc double-cliquez sur le mode de jeu ici. On n'a encore rien fait. Et si vous avez des événements ici, vous pouvez aller de l'avant et les supprimer pour l'instant. Donc, pour faire cette liaison, Allons de l'avant et faisons un événement personnalisé. Mais avant de le faire, faisons une interface pour le mode jeu. Donc, à l'intérieur des interfaces dans le dossier Blueprints, cliquez avec le bouton droit. Accédez aux Blueprints et à l'Interface Blueprint et appelons-le Fin de jeu. Permet de double-cliquer dessus et d'obtenir le graphique Mode Jeu. C' est notre fonction avec laquelle nous commençons, donc cela en fait une référence au mode de jeu. Et ici, disons que nous appelons ça GM clone stretch. Et appelons ça le mode jeu. Ok, donc maintenant nous avons cette fonction, et nous l'avons fait beaucoup de fois maintenant. Donc, en entrant dans le mode Jeu, je vais à l'intérieur des paramètres de ma classe. J' ajoute mon interface Blueprint. Et ici double-cliquez sur l'interface et écrivez lui-même. Maintenant, nous avons une référence au mode de jeu si nous en avons besoin. Ok, et ici nous pouvons aussi faire des événements
personnalisés parce que maintenant nous avons le jeu ou l'interface. Donc, ici, dans l'interface Blueprint, faisons une nouvelle fonction et appelons-la sur l'ennemi. Et celui-ci, l'ennemi n'est qu'un événement. Alors compilons et sauvegardons. Et revenons ici en mode jeu et moins vrai ? Spawn une amine et vous pouvez voir l'événement appelé ennemi fraye. Ok, donc maintenant on a cet événement. Ce que nous voulons faire, c'est que nous voulons réellement utiliser une minuterie. Maintenant, je peux t'apprendre sur les minuteurs. Donc, si vous le faites glisser et écrire minuteur, vous pouvez voir quelque chose appelé set minuter par événement. Donc, en cliquant dessus. C' est juste une minuterie qui va fonctionner. On a besoin d'un événement ici. Donc, en faisant glisser à partir de cet événement appelé rouge, nous devons faire un événement personnalisé et écrire personnalisé et cliquez sur cet ajout événement personnalisé. Et appelons ça une faune ennemie. Ce qu'on appelle le géniteur ennemi. Et laissez-moi imprimer une chaîne pour que vous puissiez voir ce qu'elle fait. Donc, imprimez une chaîne, c'est à combien de fois la minuterie va fonctionner. Donc, si j'en écris un, cela fonctionnera toutes les secondes. Je vais mettre en boucle, donc il boucle cette minuterie. Donc, si je frappe maintenant, ça va dire qu'il baissera toutes les 1 secondes. Et avant qu'il puisse le faire, nous devons appeler cet événement. Sinon, il ne le fera pas. Donc ici, je veux juste l'appeler dans la pièce de début. Lorsque nous commençons à jouer le jeu, allez-y et faites cette action pour cet événement. Donc, nous allons engendrer l'ennemi. Donc c'est celui-là, c'est l'appel d'interface. Bon, maintenant on répond à l'ennemi. Si je clique sur Play maintenant, il va dire bonjour en haut à gauche et il disparaît. Vous ne pouvez pas vraiment le voir, mais il dit qu'il le fait toutes les secondes. Donc, si je retourne à mon mode de jeu ici et que je mets 0.2, ça va dire Bonjour toutes les 0.2 secondes. Donc ça va dire bonjour cinq fois par seconde. Vous pouvez voir ici à gauche, il est dit en bas. Ok, donc c'est comme ça qu'une minuterie fonctionne et c'est en boucle. Et nous devons nous arrêter à un moment donné si nous ne voulons plus le boucler. Ok, donc nous voulons faire ici avec ce délai d'attente. Nous voulons engendrer l'ennemi. Donc ici, vous pouvez le faire glisser et dire spawn précis de la classe. Donc nous voulons donner naissance à un acteur. Et l'acteur que nous voulons ce téléphone est notre ennemi. Donc si je cherche des grognements BP, c'est le gars qu'on veut frayer. Et maintenant, ça te demande, où tu fais naître ? Où veux-tu engendrer ce type ? Et d'abord, avant de pouvoir le faire, minimisons ici. Et nous devons dire au jeu où l'ennemi peut marcher, parce que l'ennemi ne devrait pas marcher au-dessus de cette boîte ou à l'intérieur des murs ou quoi que ce soit d'autre. Donc, ici, nous pouvons aller de l'avant et créer et créer en volumes. Nous avons un peu de brillance, quelque chose appelé Nav mesh rebond volume. Donc, un peu de navigation pour l'ennemi ou les MPC ou tout ce que vous avez dans votre jeu. Alors disons ça. Donc c'est sous terre. Et si vous cliquez sur P, Vous pouvez voir ce vert, boîte verte. Alors n'oubliez pas de cliquer sur P sur votre clavier. Donc maintenant nous avons cette boîte et c'est un ennemi digne peut marcher. Donc, je vais descendre ici et le rendre plus grand ici dans la forme de la boîte, notre forme de brosse, vous pouvez choisir le type de forme que vous voulez. La boîte 1 est parfaite pour cet exemple. Donc je vais l'agrandir et je vais couvrir toute cette zone. Juste comme ça. Alors maintenant, l'ennemi peut frayer dans cette zone verte. Donc l'ennemi ne peut pas apparaître ici. Si vous vouliez que l'ennemi apparaisse ici, vous deviez juste agrandir. Donc vous pouvez voir que cette boîte est grande maintenant et vous pouvez voir qu'ils peuvent apparaître sur le dessus d'ici. Et cela exagère un peu. Je peux voir si je peux voir cette boîte comme ça. Si vous vouliez apparaître ici, vous pourriez agrandir leurs livres. Mais pour nous, faisons 50 et c'est bien. Donc maintenant, nous pouvons dire au jeu que le MPC peut apparaître n'importe où ou que l'ennemi peut apparaître plus dans cette zone verte. Revenons donc à nos plans et au mode de jeu. Et ici, nous pouvons utiliser une fonction qui est appelée si vous, si vous écrivez navigable, vous verrez quelque chose appelé point getrandom dans le rayon navigable. Donc, il va obtenir un point aléatoire dans cette zone navigable, qui est la zone verte. Donc, il obtient un point aléatoire et vous pouvez générer à ces points aléatoires et l'origine. Où faites-vous, où est l'origine ? Où, où voulez-vous commencer le mot ? Et à partir de là, vous allez chercher des points. On veut juste commencer au milieu de la carte, donc on veut chercher à partir d'ici. Et pour obtenir cette zone spécifique, laissez-moi réellement déplacer ce joueur commencer que nous avons une réponse digne. Laisse-moi le déplacer au milieu de la zone comme ça. Et je vais aller à l'intérieur d'ici et dire obtient acteur de classe. Et je veux que le joueur commence. Ils auront l'acteur de la classe va obtenir n'importe quel acteur de celui-ci, le joueur commence à l'intérieur de la carte. Et nous n'avons que celle-là, nous n'avons que ce joueur de départ. Donc ça va faire démarrer ce joueur sur la carte. Et avec cette pièce en plastique, ce que nous pouvons faire, connectons-la ici. Ce qu'on peut faire, c'est trouver l'emplacement de l'acteur. Donc, c'est l'endroit que nous voulons, c'est l'origine à partir de laquelle nous voulons chercher. Et combien voulez-vous chercher ? Quel est le rayon recherchez-vous ? Laisse-moi écrire cent cinq cents. Donc c'est un grand rayon, il va chercher pour que l'ennemi puisse apparaître n'importe où à l'intérieur d'ici. Si vous le faites très petit, l'ennemi ne fraye que autour de cette fraye. Alors faisons-le grand. Ils peuvent apparaître sur toute la carte. Et maintenant, nous devons le brancher, mais cela doit être une transformation. Donc nous pouvons dire ceci ou nous pouvons dire transformer. Et il y a quelque chose qui s'appelle faire transformer. Je préférerais le faire et ensuite le brancher dans la transformation. Ensuite, nous pouvons contrôler la, la rotation et l'échelle. Ok, donc ça a l'air bon pour l'instant, compilons et sauvegardons. Et ici, dans le remplacement de la manipulation de collision, nous voulons dire au revoir pour ajuster l'emplacement. Ne fraye pas. S' il est encore en collision. Il y a pour répondre, disons les ennemis de San. Si l'un d'eux doit entrer en collision avec un autre, nous ne voulons pas engendrer un ennemi au-dessus d'un ennemi. Ce sera à nouveau les deux. Alors ne fraye pas si l'ennemi est au-dessus de l'autre ennemi. Alors ne fraye pas en cas de collision. Tu peux le montrer. Essayons ça. Essayons ce mode de collision et vous pouvez voir à quoi il ressemble. Essayez donc d'ajuster l'emplacement, mais toujours apparaître même s'ils entrent en collision. Alors essayons ça. Et cela va maintenant apparaître tous les 0,2. Et allons frapper Play et voir si nous avons tout réussi. Donc maintenant, nous répondons à cela, voyez, maintenant sont ennemis répondre. Et maintenant vous pouvez voir ici ces ennemis cognés est de trouver, gagner le sol, courir sur l'autre. Et on ne veut pas ça. Alors allons de l'avant et disons essayé d'ajuster l'emplacement, ne pas apparaître si toujours en collision. Donc, si vous êtes à l'intérieur du mur ou si vous êtes sous le sol, ou si un ennemi est au-dessus d'un autre ennemi, ne fraye pas. Donc, nous allons cliquer sur Lire et voir à quoi il ressemble. Et ils ne sont pas en collision les uns avec les autres. Ok, donc le système de frai fonctionne maintenant. Et allons de l'avant dans la leçon suivante et travailler sur l'animation pour quand l'ennemi frai.
58. Animation Enemy: Travaillons maintenant sur l'animation pour le frai ennemi 1D. Donc, au lieu de frayer comme ça à partir de rien, je voulais qu'ils sautent de la carte. Alors allons de l'avant et du côté des ennemis. Et à l'intérieur de ce plan d'animation que nous avons fait plus tôt, fuyant sur celui-ci. Et à l'intérieur d'ici, si nous allons à la motion locale ici, donc si je reviens pour que vous puissiez le voir. Voici donc notre, notre
graphique d'événement ou d'animation en cliquant sur le mouvement local que vous avez fait plus tôt. Et avant cela, nous voulons faire un autre état. Alors cliquez sur scène et je vais l'appeler « frai ». Et après cela, nous allons aller au globe oculaire et faire du jogging. Donc, nous voulons faire le frai et le double-clic et le frai. J' en ai trouvé une bonne. Quelqu' un est tombé, celui-là est tombé. Si vous pouvez sortir celui-ci et connecté. Et vous pouvez voir à quoi ça ressemble. En fait, il descend du ciel. Donc, si vous ne pouvez pas le trouver, alors ici vous pouvez aller et mettre en place un marché et vous pouvez le trouver dans les adversaires du sang de l'infini, l'ennemi, la subvention du maître, et les émissions. Et à l'intérieur d'ici, vous avez ce qu'on appelle la liste déroulante. Donc, c'est ça, c'est le bon. Ok, donc maintenant nous avons cette animation de frai et nous voulons aller à ce ralenti après que tu aies engendré, nous ne voulons pas qu'il saute tout le temps. Et la façon dont nous le faisons, c'est que nous avons une transition ici. C' est ce qu'on appelle la transition. Donc, si vous double-cliquez dessus, il vous demande, que suis-je, comment vais-je faire le transit, passer de la frai à l'inactivité ? Donc, de cet état à cet état, et je vais double-cliquer dessus et écrire le temps restant. Et vous pouvez voir celui-ci appelé rapport temps restant et double-cliquez dessus. Il va donc prendre le temps restant de cette animation, l'innovation déroulante. Et il va trouver automatiquement cette animation parce que nous nous sommes déjà connectés. Donc, il va chercher ce que vous avez branché ici. Donc, il sait que c'est cette animation. Donc, si leur temps restant est inférieur à, Essayons 0.5 et compilons et sauvegardons. Donc, si le temps restant de cela, si le rapport, rapport
temps restant est inférieur à 0,5 pour cette animation, allez-y et passez au ralenti et au jog. Donc, si nous cliquons sur Play et voyons à quoi ça ressemble, la transition est un peu trop rapide. Donc, si je retourne à mon Blueprint d'animation et un 0.2 droit à la place. Vous devez donc tester une valeur et voir à quoi elle ressemble. Ouais, donc maintenant ça a l'air beaucoup mieux. Donc maintenant, vous pouvez voir l'animation frai était beaucoup mieux et ils frottent,
frottant du ciel.
59. Vagues émanées: Bon, alors maintenant, créons quelques vagues. Maintenant, l'animation fonctionne et ils répondent. Mais créons quelques vagues et elles peuvent apparaître en vagues. Par exemple, vous avez le niveau un, niveau deux, le niveau trois, et de plus en plus d'ennemis apparaîtront chaque fois que vous les vaincurez. Donc, pour ce faire, allons de l'avant et allons à l'intérieur du mode jeu. Donc, cette conférence va être un peu plus complexe, mais j'espère pouvoir l'expliquer du mieux que je peux. Ok, Donc ici, faisons un clic droit sur cette minuterie que nous avons faite plus tôt, et nous allons la promouvoir en une variable et appelons ça le temps généré. Ok. Donc on peut l'utiliser plus tard pour arrêter la minuterie. Ensuite, nous avons, nous avons une variable à laquelle nous pouvons nous référer si nous voulons l'arrêter. Alors, par ici, qu'est-ce qu'on a engendré cet ennemi ? Ici, en mode jeu, nous avons engendré l'ennemi dans un point aléatoire dans le rayon navigable. Je vais cliquer avec le bouton droit de la souris sur cet ennemi et l'appeler point O. Maintenant, nous avons une référence à ce NME généré, et je veux l'ajouter à un tableau. Alors qu'est-ce qu'un tableau, laissez-moi créer une variable ici. Donc, je vais créer une variable. Et cette variable, je vais changer ici le type de celui-ci. Je vais chercher un acteur. Et vous pouvez choisir cet acteur et la référence de l'objet. Ok, et celui-là, je vais appeler Ons ennemis. Alors S, nous avons plusieurs étangs. Et je vais cliquer sur cet acteur ici, cette icône. Et je vais le changer en tableau. Et vous pouvez voir que ça devient, si je le fais sortir, ça devient ces boîtes au lieu d'un cercle ordinaire. Et ce qu'est un tableau, c'est juste un conteneur. Et il peut contenir beaucoup d'articles. Donc si vous répondez, disons 10 ennemis. Nous pouvons ajouter les 10 ennemis à l'intérieur de ce tableau. Donc c'est juste, il peut imaginer que c'est comme une boîte. Bien que cela, cette variable normale ne peut contenir que 11 référence. Celui-ci est comme une boîte et il contient, par
exemple, 10 d'entre eux à l'intérieur d'ici. Donc c'est comme une boîte et vous mettez tous les ennemis à l'intérieur de cette boîte et vous avez une référence à eux. Une fois que vous en avez besoin, vous pouvez parfois
essayer de faire quelque chose avec tous ces 10 ennemis à l'intérieur de cette boîte. Ok, donc, un tableau est juste comme un conteneur, juste comme une boîte. Et ça peut être n'importe quoi. Donc, par exemple ici, j'aurais pu le changer en
un, un tableau entier et entier. Et vous pouvez compiler et enregistrer. Et vous pouvez voir ici, je peux avoir beaucoup de chiffres ici. Donc c'est comme une boîte. Un entier ou un tableau est comme une boîte avec beaucoup d'éléments. Ainsi, par exemple, s'il s'agit d'un entier qui est une variable numérique, il peut contenir, par exemple, 10 nombres. C' est à vous de pouvoir ajouter même 100 numéros, c'est à vous de décider. Donc, c'est ce qu'un tableau. Le tableau est. C'est un conteneur d'objets. Et dans ce cas, nous voulons enregistrer tous ces points générés à l'intérieur de ce tableau. Et je peux te montrer plus tard
comment on peut l'utiliser. Donc, pour ajouter quelque chose à l'intérieur de ce tableau, nous pouvons aller de l'avant et dire, vous pouvez, bien sûr, cliquer dessus et cliquer sur le plus et vous pouvez sélectionner quelque chose, mais laissez-moi le supprimer. Nous allons les ajouter. Alors, aller ici et écrire AD. Et vous pouvez également voir si vous faites glisser vers le bas et descendre au tableau
utilitaire peut voir toutes ces fonctions que vous pouvez faire pour les tableaux. Vous pouvez ajouter, vous pouvez effacer le tableau afin le
vider juste au cas où vous auriez beaucoup d'éléments à l'intérieur. Vous pouvez voir s'il contient un élément spécifique. Vous pouvez trouver un objet. Vous pouvez voir s'il y a quelque chose d'identique à la chose que vous allez ajouter. Vous pouvez en voir la longueur,
ce que nous allons faire et ainsi de suite. Il y a donc beaucoup de fonctions pour les tableaux que vous pouvez utiliser. Et ici, nous allons cliquer sur Ajouter, parce que nous voulons ajouter quelque chose à cette boîte, à ce tableau. Donc la chose que nous allons ajouter, c'est ce téléphone ennemi. Donc, vous pouvez cliquer ici et connecté. Et maintenant, il va ajouter ce porno ennemi au tableau. Et vous pouvez imaginer ici, en ce
moment, il va boucler cette minuterie. Donc ça va engendrer un ennemi toutes les 0,2 secondes. Donc ça va engendrer cinq ennemis en deuxième. Et tous ces ennemis, chaque fois qu'il boucle, il va ajouter, ajouter, ajouter. Donc toutes les 0,2 secondes, nous allons ajouter un ennemi à ce tableau. Donc, par 1 seconde, nous avons cinq ennemis à l'intérieur d'ici. Ok, donc c'est le conteneur pour lequel nous ajoutons les ennemis. Et faisons une variable appelée wave parce que nous voulons faire des vagues, par
exemple, vague 1, vague 2. Ainsi, de plus en plus d'ennemis apparaîtront chaque vague. Faisons en un entier parce qu'une vague est juste un nombre, comme le niveau un, le niveau deux. Et allons-y, revenons à la variable entière ordinaire. Et vous pouvez voir que nous pouvons maintenant ajouter un nombre, par exemple, vague 23 ou niveau transitoire ou tout ce que vous voulez appeler. Et nous allons changer le nombre en ce moment c'est 0 par défaut. Laisse-moi le changer en un. Nous commençons donc par la vague 1. Et je vais sortir cette vague en tenant Contrôle et en laissant tomber. Et je vais dire la longueur ici. Donc ici, je vais vérifier la longueur. Et ici, je veux dire, la longueur
est-elle plus grande ou égale ? Oups, supérieur ou égal. J' ai piqué les clés. Donc, si la longueur de ce tableau est supérieure ou égale à cette vague,
donc si le nombre d'ennemis que nous venons de générer est supérieur ou égal à la vague, le nombre d'onde qui est actuellement un. Si c'est vrai, alors allez-y et arrêtez la minuterie. Ok, donc la minuterie, rappelez-vous que nous avons fait cette variable que nous pouvons utiliser. Et je vais le traîner et dire clair, clair, et invalider minuteur par poignée. C' est comme ça que vous arrêtez la minuterie. Donc, je vais démarrer la minuterie. Et donc si la vague est une, alors en ce moment la vague est une. Si les ennemis engendrés sont supérieurs ou égaux à celui-ci, arrêtez le minuteur. Donc pour l'instant, il ne va engendrer qu'un seul ennemi. Donc si je clique sur Jouer et que j'ai testé, et que j'ai cherché cet ennemi, alors on peut trouver n'importe où. Donc je n'ai qu'un ennemi et je n'en ai pas plus. Et si je mets celui-ci à cinq, je vais avoir cinq ennemis. Donc ils répondent 1, 2, 4 ou 5. Maintenant, j'ai cinq ennemis. Donc ça marche. Donc, si vous êtes une quantité d'ennemis à l'intérieur de ce tableau que vous venez de faire. S' il est au-dessus de ce numéro de vague, arrêtez le minuteur. C' est ainsi que nous pouvons contrôler combien de monstres sont des ennemis que nous pouvons engendrer. Et par exemple, si vous êtes à la vague 50 ou au niveau 50, vous générez 50 ennemis. Alors maintenant, ramenons-le à un. ce moment, ça marche. Et pour s'assurer que ce nombre de vagues augmente à chaque fois ici, allons-y et faisons un nouveau, je savais ce qu'on appelle un événement ici. Et pour faire un nouvel événement, Allons-y et, et les interfaces et l'interface de mode de jeu. Et ici, nous pouvons faire un nouvel événement. Donc, créez ici, cliquez sur la fonction, spawn, ou tout simplement compteur d'onde, compilez et enregistrez, revenez en mode jeu et écrivez compteur d'onde. Et cet événement appelé compteur d'ondes. Et donc je vais prendre cette vague et dire plus, plus. Et le plus, plus est qu'il ajoute un à la valeur spécifiée, puis le définir. Donc c'est la même chose que d'écrire comme ça. Donc, si vous prenez un et dites plus1, sorte que la vague plus 1, et puis vous le définissez. C' est donc la nouvelle valeur. Donc c'est la même chose si vous, si vous avez fait comme ça et que vous avez connecté, c'est la même chose. Donc, au lieu de faire tout cela, vous pouvez simplement dire plus, plus si vous voulez en ajouter un spécifiquement. Bon, maintenant on en ajoute une à la vague. Donc, chaque fois que vous arrêtez la minuterie, je veux en ajouter une à cette vague afin que je puisse l'utiliser plus tard. Parce que ça va être deux au lieu d'un. Et la prochaine fois que je déclenche cet événement, la vague est deux au lieu d'une. Donc ici, je vais dire compteur d'ondes. Et c'est cette interface appelée, ok, donc ça va dire plus 1 et la vague sera deux. Donc la prochaine fois que j'appellerai cet événement, ça sera deux. Mais pour l'instant, nous n'avons plus appelé cet événement. Donc, même si je joue, rien ne se passera, même si je tue l'ennemi qui est encore friand. Parce que nous n'avons pas vraiment dit au jeu d'exécuter ce code. Encore une fois. Nous n'avons pas dit d'exécuter ce code à nouveau. Donc, la prochaine chose que nous voulons faire est réellement exécuter ce code à nouveau. Après l'ennemi, tous les ennemis et le niveau a été, ont été tués. Donc, la chose que nous devons faire pour vérifier si tous les ennemis ont été tués est en fait passer par ce tableau et s'assurer qu'ils sont tous morts. Et la façon dont nous pouvons le faire est de différentes méthodes. Mais celui que je veux vous montrer est que chaque fois qu'on tue un ennemi, on veut retirer cet ennemi de ce tableau. Et une fois que ce tableau est vide parce que nous avons supprimé ou tué tous les ennemis, le code s'exécutera à nouveau. Et la prochaine fois, la vague sera deux. Parce que nous courons ici, la dernière fois que nous répondons à la vague. Donc la prochaine fois qu'il va exécuter le code, ce sera deux, et la prochaine fois sera trois et ainsi de suite. Ok, donc la façon dont on fait ça c'est de retourner chez LeBron dans leurs ennemis, et de rentrer dans la base ennemie. Et à l'intérieur de la base ennemie, nous voulons créer un nouvel événement. Et cet événement que nous voulons appeler enlever l'étang. Alors laissez-moi aller de l'avant et je pense que nous avons fait en interface pour cela, donc nous sommes la base ennemie. Allons à l'intérieur d'ici. Allons de l'avant et ajoutons une fonction. Et cet événement, nous appellerons supprimer la paume. Donc, nous allons le supprimer du tableau. Donc aller à l'intérieur de la base ennemie, appelant l'événement appelé retiré sur. Et celui-là. Et pour accéder au tableau, rappelez-vous qu'il est à l'intérieur du mode de jeu, les liens ennemis. Nous avons donc besoin d'une référence au mode schéma. Donc, dans le mode de jeu de références internes, et nous avons déjà fait cela obtenir la référence du mode de jeu. Donc, retourner à la base ennemie, et ici je veux dire que c'est le Mode Jeu. Et puis obtient graphique Mode Jeu. On dirait ça. Maintenant, nous avons le mode de jeu et nous faisons spécifiquement référence à notre propre mode de jeu. Et la façon dont nous faisons cela c'est que nous avons fait cette fonction, et rappelez-vous que nous avons écrit moi-même. Alors n'oubliez pas de faire cela autrement qui ne fonctionnera pas. Et ici, à l'intérieur de ce mode de jeu, nous voulons accéder au tableau des Ponts ennemis. Alors, Pons ennemis, bon celui-là. Et ici, nous voulons supprimer, donc glisser et dire Supprimer. Nous voulons supprimer un article. Et que voulons-nous supprimer ? Nous voulons enlever
l' ennemi qui vient d'être touché et tué. Donc nous voulons enlever l'ennemi mort. Et la façon dont nous pouvons le faire est juste d'aller de l'avant et de se sécher. Parce que rappelez-vous que nous sommes déjà à l'intérieur de la base ennemie. Donc, même si l'ennemi que vous avez touché est à l'intérieur d'ici et vous pouvez simplement dire vous-même parce que vous allez enlever cet ennemi qui vient d'être touché. Donc moi. Et puis nous, après cela, nous voulons vérifier si cette longueur. Allez-y et écrivez longueur. Donc, nous voulons vérifier si ce tableau est vide après que nous avons supprimé cela. Donc, aller à cela et dire égal o est la longueur égale à 0. Si c'est le cas. Alors cliquez sur branche. Si c'est 0. Puis allez-y et exécutez à nouveau ce code à l'intérieur du jeu. Donc, nous voulons exécuter ce code à nouveau. Et j'ai besoin d'exécuter à nouveau ce code. Et au lieu de l'exécuter tout le temps, je veux vraiment faire un début de jeu. Alors commencez à jouer. Ici. Je vais prendre cette référence Demode, obtenir l'adhésion que. Et je vais cliquer avec le bouton droit de la souris et promouvoir notre variable appelée Mode Jeu. Et j'ai une variable à, ou j'ai une référence au mode de jeu. Et je peux juste utiliser ceci pour me connecter à ceux-ci. Au lieu d'appeler tout cela encore et encore. Maintenant, j'ai une référence à cela. Et cette référence que je peux ensuite utiliser ici pour exécuter ce code à l'intérieur du collage du mode jeu, non ? Donc je peux maintenant exécuter ce code appelé ennemi juré. Nous retournerons à la base ennemie et écrivons le spawn, NME. Et c'est ce message parce que c'est une fonction d'interface. Ok, donc maintenant ça va engendrer l'ennemi une fois que ce tableau vide parce que vous supprimez ce qui a été tué sur. Et après avoir supprimé, il va vérifier, que ce tableau est maintenant 0, est-ce vide ? S' il est vide, allez-y et lancez la vague suivante. Donc, pour l'instant, nous n'avons pas encore appelé cet événement, donc retiré sur. On ne l'a nulle part dans le code. Donc nous voulions ici joueur 1D ou les ennemis 1D morts. Et laissez-moi en faire un événement d'interface à la place juste pour le rendre plus propre. Alors laissez-moi revenir au mode jeu et la mort séchée, Compiler et enregistrer. Et ici, je peux écrire de la profondeur et prendre ceci. En fait, laisse-moi, oh, je crois que je l'ai fait dans le mauvais. Oui, c'était en mode jeu. Laisse-moi aller de l'avant dans la base ennemie et faire la mort. Et laissez-moi supprimer celui-ci. Et juste là et en disant cet événement d'interface à la place, juste pour le rendre plus propre, j'aime nettoyer mécanique et enlever celui-ci et appeler le côlon de l'interface de mort à la place. Alors maintenant, nous avons cet événement. Et ici dans la profondeur, une fois que l'ennemi est en dés, je veux enlever cet ennemi. Alors l'ennemi meurt. Et puis vous allez appeler remove on. Et c'est un appel d'interface car c'est un événement d'interface. Donc, après la mort de l'ennemi, vous allez supprimer l'ennemi de ce tableau, Compiler et Enregistrer. Et puis il va vérifier si le tableau est 0. Et je ne sais pas si vous avez manqué quelque chose, jouons en fait et voyons s'il dit erreur ou quelque chose comme ça. Donc je vais appeler celui-là et une fois Bond pour répondre. Et laissez-moi voir si le point de maman. Maintenant, nous n'en avons que deux et si je les appelle ou si le son est trop fort. Maintenant 2s se lient ici. Et trois. Alors maintenant, ça marche. Maintenant, nous répondons aux ennemis. Et je veux faire tourner les ennemis pour qu'ils soient orientés vers la caméra. Je pense que ça va être beaucoup mieux. Donc, en cliquant sur le mode de jeu et la rotation ici, rappelez-vous répondre aux ennemis ici. Je veux faire la rotation pour la z 21 AD. Alors maintenant, il va faire face à la caméra. Alors maintenant, l'ennemi fait face à la caméra. Ok, donc c'était tout pour ces liens. Et avant d'en finir, je veux juste m'amuser aussi. Des explosions quand ils meurent. Parce que pourquoi pas ? On adore les explosions. Ici. Allons de l'avant et générons un émetteur. Donc, avant de retirer sur, disons, créer un miroir à l'endroit et l'intimé dans le miroir. Et la chose qu'on veut faire naître, je veux juste engendrer une explosion parce que, pourquoi pas ? Ça a beaucoup de sens. Aller dans l'arme militaire sombre à l'intérieur des effets. Il y a quelque chose qu'on appelle l'explosion de grenades. Donc c'est celui que je veux engendrer. Donc, si je retourne à ma base ennemie, donc à l'intérieur de ma base ennemie, je peux minimiser cela un peu et faire glisser cette explosion. Maintenant, nous allons explorer le moment où ils meurent. Et l'endroit où nous voulons engendrer cet effet est juste l'emplacement de l'ennemi en ce moment. Si bon emplacement de l'acteur. Et la rotation et l'échelle sont bien à détruire, et tout va bien. Je veux aussi jouer un son et le son que je veux jouer. Écrivons juste l'emplacement du son de lecture. Jouons un son et trouvons le son rapidement. Donc à l'intérieur des armes ici, on n'a pas un meilleur son, donc je veux juste improviser un peu. Alors, on va à l'intérieur du son et on va à l'intérieur du lance-grenades. Et je veux utiliser cette explosion, mais avant d'appuyer, je pense que c'est trop fort. Laisse-moi le mettre à 0,2 et j'espère que je ne te fais pas exploser les oreilles. Faisons juste peur que ce soit trop fort pour toi. Quand vous voyez cette vidéo, jaune, laissez-moi faire 0,1 de vous pouvez le rendre plus fort sur votre ordinateur. Laisse-moi retourner à la base ennemie. Je vais faire glisser ce son ici. Et un endroit où nous voulons jouer est de nouveau, juste obtenir l'emplacement réel. Nous pouvons copier le coller. Ou vous auriez pu vous connecter comme ça et vous pouvez le faire paraître un peu mieux avec la météo. Nous avons écrit des notes, donc c'est à vous de décider comment vous voulez le faire. Faisons-le comme ça pour l'instant. Maintenant, à chaque fois qu'on les appelle, ils vont exploser. Cela semble beaucoup plus intéressant. Ainsi, vous pouvez voir combien d'effets et de son pour le jeu. Mais c'est un petit bug et maintenant ce travail, nous pouvons corriger en
concevant le bit Merlot mieux afin que nous n'ayons pas ce problème. Et c'était ça. Et en fait, avant de terminer la vidéo, laissez-moi aller de l'avant et baisser le volume de la prise de vue. Et je pense qu'on a réussi à l'intérieur du joueur, de la base des joueurs. Et voici le fusil. Si je clique sur le navigateur. Et c'est l'impact, C'est le tir. Je vais faire le carénage et le bas. Je pense que c'est trop fort pour toi. C' est bien. Ok, donc maintenant on a tout en marche. Et puis il explose et ils fraient, et nous avons des vagues et ainsi de suite. Donc, la prochaine chose que nous voulons faire est en fait de faire l'interface utilisateur et il
vous dit de vous préparer à la vague 1 ou de vous préparer à la vague 2 et ainsi de suite.
60. Créer des UI en vœux: Maintenant que nous avons le travail de frai, Allons-y en fait et créons une interface utilisateur pour cela. Donc, pour ce faire, continuons et créons d'abord un dossier. Cliquez avec le bouton droit de la souris ici et votre dossier, et appelons-l' interface utilisateur. À l'intérieur de ce dossier, cliquez avec le bouton droit de la souris et faites une interface utilisateur et un Blueprint Widget. C' est ainsi que vous créez l'interface utilisateur. Il s'agit d'un plan d'interface utilisateur. Alors cliquez sur ceci. Et ici vous pouvez écrire WB comme nous l'avons fait avec le match de balle. Et ici, on peut l'appeler vague, numéro de
vague ou vague. Ouais, appelons ça des kits de vague et de double-clic. Et ici, nous voulons juste ajouter un texte disant que c'est là que vous avez deux, trois ou quatre. Donc, en allant de l'avant et en faisant glisser ce texte et en le déposant ici, je vais appeler cette réparation ou réparation pour peser un. Et celui-ci va changer dynamiquement afin que vous n'ayez pas vraiment à changer ce texte. Je veux juste le changer pour le prévisualiser parce que nous allons le faire encoder à la place. Mais je veux juste en prévisualiser ici. Et ce que je veux faire est d'écrire au milieu mais pour le faire au milieu ici dans la justification que vous pouvez voir que vous pouvez changer l'emplacement et je veux le faire au milieu ici. Et le point d'ancrage que je voulais être au milieu de l'écran. Donc je vais changer ce point d'ancrage au milieu ici. Et si vous écrivez cette position 0, 0, vous pouvez voir qu'elle est ancrée à cet aspect de point. Ensuite, ce que vous devez faire est de jouer avec l'alignement. Donc point zéro, cinq ans. Donc maintenant, il est au milieu et vous pouvez le déplacer vers le bas avec le Z ou la valeur y. Juste comme ça. Et je veux rendre la police un peu plus grande. Donc aller à l'intérieur du fonds, ce qui en fait 36, peut-être, position comme ça. Je vais changer la couleur comme ça. Préparez-vous à la vague 1. Et celui-là, nous pouvons en fait, allons voir le graphique. Et ce que nous voulons faire, c'est que celui-ci doit
afficher chaque fois que nous tuons tous les ennemis, il est dit, par exemple, moyen puissant de deux. Donc ici à l'intérieur du code, laissez-moi supprimer tout cela et le graphique ici. Et laissez-moi faire un événement personnalisé. Et celui-là va s'appeler vague. Affichage des vagues de texte. Nous pourrions afficher où détecter le texte d'onde d'affichage. Oui, faisons un test d'onde d'affichage. Et celui-ci, nous allons dire maintenant que nous avons besoin, nous avons besoin de la variable texte. Parce que revenons au designer. Et si je clique sur Play ici, nous n'avons pas encore édité dans la fenêtre d'affichage. Mais si je clique sur jouer ici, il dira préparer votre vigne tout le temps. Et je ne veux pas faire ça au début. Je veux cacher ce texte, donc je veux changer la visibilité à caché. Et avant que je fasse ça, je veux te montrer, te montrer ça. Donc si on retourne au fichier, je clique sur mes plans, le contrôleur du lecteur. Alors rappelez-vous que nous avons contrôlé
la, l'interface utilisateur par le contrôleur du joueur dans le dernier match. C' est comme ça que j'aime le faire d'habitude. J' aime faire l'interface utilisateur se termine à l'intérieur du contrôleur du joueur. Alors faisons-le aussi à l'intérieur d'ici. Donc, ici dans le début de la lecture, je veux créer cette interface utilisateur. Je vais faire glisser ici et dire créer des widgets. Et que voulez-vous créer ? Vous voulez créer cette vague. On vient de créer la vague WB. Et les joueurs propriétaires déclarent juste contrôleur. Et nous sommes déjà à l'intérieur du contrôleur de joueur, donc vous n'avez pas besoin de faire quoi que ce soit ici. Et je veux faire un clic droit, je promeut ceci à une variable donc j'en ai une référence, et je veux l'appeler WB wave. Donc maintenant, j'ai une référence à cette interface utilisateur. Je vais donc cliquer sur Enregistrer. Et ici au lieu de simplement faire Ajouter à la fenêtre, donc vous pouvez voir si je l'ajoute à une fenêtre, donc il ne suffit pas de le créer. Vous devez l'ajouter à la, à la clôture pour le voir. Et si je clique sur Jouer, vous pouvez voir qu'il dit préparer un bouton. Mais il va dire quand tout le temps et ne rien faire d'autre et ce n'est pas intéressant. Donc, ce que nous voulons faire, c'est que nous voulons supprimer cela à deux fenêtres. Donc, nous créons seulement
ceci, ce Blueprint Widget, et nous avons une référence à lui et nous ne l'ajoutons pas à la clôture. Et rappelez-vous, si vous ne l'ajoutez pas à la clôture, vous ne le voyez pas. Donc nous avons juste une référence pour cela. Et après ça, je vais entrer dans le mode jeu. Et maintenant, je veux l'afficher chaque fois que je commence une nouvelle vague. Et vous pouvez le faire ici avant cette minuterie, parce que vous allez exécuter ce code chaque fois que vous exécutez une nouvelle vague. Donc ici, j'ai besoin d'une référence au contrôleur du joueur, et je ne me souviens pas s'il a fait une interface pour cela. Maintenant, nous ne l'avons pas. Donc, faites un clic droit ici, créez une interface Blueprint et appelez-le termine contrôleur de joueur. Et double-cliquez dessus et dites qu'il devient rugueux contrôleur. Et cliquez sur et sorties. Recherchez le contrôleur de joueur et je pense que nous l'appelons la grève PC cologne là il est. Référence de l'objet. Et appelons ce contrôleur de couche variable. Ok, donc maintenant nous avons ce régulateur de débit. Allons-y et n'oublions pas d'aller à l'intérieur de la manette du joueur dans les paramètres de classe. Et ici, ajoutez-le, ajoutez le contrôleur du joueur. Et n'oubliez pas de double-cliquer sur l'intestin comme contrôler notre fonction ref et écrire soi-même. Donc maintenant, nous pouvons faire une référence à ce contrôleur de joueur. Revenons au mode jeu. En fait, laissez-moi fermer tout cela maintenant c'est trop ouvert et je pense que c'est trop déroutant pour certains. Alors ouvrons ce mode de jeu. Et ce mode de jeu ici, nous voulons obtenir une référence à la manette du joueur. Donc écrire un bon contrôleur de joueur. Et nous voulions utiliser spécifiquement notre propre contrôleur de joueur. Donc dire obtient contrôleur de joueur F. Alors rappelez-vous que ce n'est pas celui-ci, Il n'est pas obtenir Lera si c'est bon contrôleur de joueur ref. Donc, nous voulons obtenir une référence à cela. Et ici, dans le contrôleur de joueur, nous voulons utiliser, si je retourne au contrôleur de joueur, nous voulons obtenir cette variable parce que nous voulons l'afficher chaque vague
que nous sommes à chaque fois que nous exécutons ce code. Donc ici, je vais dire WB principal parce que c'est ce que nous appelons la variable. Et cliquez dessus. Et je vais, je vais faire clic droit et convertir en un get validé juste pour m'assurer qu'il existe. Donc ici, est-ce valide ? Si c'est le cas, allez-y et ajoutez-le aux fenêtres d'affichage. À deux fenêtres, je vais l'ajouter à la fenêtre chaque fois que je génère une nouvelle vague. Ok, donc maintenant vous pouvez voir ici si je joue le jeu et que je m'énerve, parce que je ne vois pas le texte en haut et que l'ennemi n'a pas non plus engendré. Et c'est parce que nous revenons au mode jeu. C' est parce que ce widget de grille est exécuté en même temps que ce mode de jeu étant, en cours d'exécution. Donc, il n'enregistre pas que cela existe réellement, et donc il ne sera pas valide. Ce que nous ne voulons pas, que nous voulons qu'il soit valide. Donc je vais retarder le frai, le retard d'écriture. Je veux retarder la colonne vertébrale de 0,2 seconde. Et allons de l'avant et compilons et sauvegardons et cliquez à nouveau sur Lire pour voir si cela fonctionne. Je vois maintenant qu'il est dit de préparer un. Et si j'appelle l'ennemi, ça va dire la même chose parce que nous n'avons pas vraiment changé le texte dynamiquement. Va dire préparez-vous pour votre. Et on ne veut pas ça. Et nous avons également reçu un avertissement disant que notre fenêtre d'affichage existe déjà. Donc parce qu'il a essayé de l'ajouter à la fenêtre quand il a généré une nouvelle vague. Et vous devez aussi réparer ça aussi. Donc, en ajoutant à la clôture, puis il crée cette minuterie. Et ici, nous voulons réellement afficher le texte. Alors allons de l'avant et à l'intérieur du plan, nous avons fait l'interface utilisateur. Et à l'intérieur de cette interface utilisateur, nous voulons changer cela dynamiquement. Donc, revenant au graphique et dans l'événement de texte d'affichage ici, nous voulons réellement entrer concepteur, j'ai oublié de le faire. Cliquez sur le texte et descendre et changer la visibilité à un caché parce que nous voulons, nous voulons qu'il soit caché au début. Et puis dans le graphique, nous pouvons prendre ce texte parce que ce que vous pouvez voir ici, nous n'avons pas le texte comme une variable. Donc, en revenant au concepteur, en cliquant sur ce texte, ici, vous pouvez cliquer sur cette variable. Nous pouvons compiler et enregistrer. Et si vous allez au graphique, vous pouvez voir que vous pouvez utiliser ce texte comme une variable maintenant. Et changeons le nom pour qu'on sache ce que c'est. Et je vais l'appeler texto. Wave va compiler et enregistrer. Et maintenant dans le graphique, nous pouvons prendre cette vague de texte et nous pouvons définir la visibilité sur visible. Donc, lorsque nous affichons le nouveau texte ou la nouvelle façon, nous voulons rendre cela visible. Et après cela, nous voulons dire Format texte. Parce que nous voulons faire le texte, nous voulons rendre ce texte dynamique. Et la façon dont nous le faisons est de changer le texte en quelque chose ici. Et après cela, nous allons prendre cette variable et dire définir le texte et le faire comme ça. Et puis nous allons définir ce texte. Vous pouvez le faire de deux façons. Donc tu peux le faire comme ça. Ou tout comme dans le jeu précédent, le jeu de balle, peut-être vous vous demandez pourquoi ne l'a pas fait, pourquoi n'avez-vous pas simplement cliqué sur la liaison ici et le texte ici, cliquez sur la liaison et créez une liaison et juste changer le texte et branchez-le ici et ça marche. Et laissez-moi le supprimer à nouveau. La raison en est que si vous créez une liaison, donc je vais supprimer cette liaison dès maintenant. Si vous créez une liaison, une liaison signifie qu'elle exécute chaque image. C' est donc ce qu'est une liaison. Il fonctionne tous les cadres. Il vérifie si le texte est réellement modifié ou non. Et nous ne voulons pas vraiment ça. Lorsque nous jouons au jeu, nous voulons seulement vérifier si la vague a changé une fois que nous commençons une nouvelle vague. Donc, ce n'est pas bon pour la performance. Si vous liez tout, si vous liez cela, vous liez ceci et vous avez dix groupes différents. Contrôle Z, si vous avez dix textes différents ici, vous les liez tous et de vérifier si le, Je ne sais pas, votre endurance est faible ou ce que vous voulez lier cette ombre ou la couleur du texte. Chaque fois que vous liez, il vérifiera chaque image. Et ce n'est pas bon pour la performance. Il est donc préférable de simplement définir le texte. C' est beaucoup meilleure performance et il ne le fera pas tous les cadres. C' est pourquoi je le fais comme ça. C' est beaucoup mieux pour la performance. Nous allons donc définir le texte sur visible, puis nous allons formater le texte et dire « préparer pour la vague ». Et puis nous allons écrire ces crochets bouclés et un 0 dans la fin des parenthèses. Et si vous cliquez sur Entrée, vous pouvez voir que nous avons un numéro ici. On peut se brancher. Et vous pouvez brancher le numéro de vague ici parce que c'est la seule chose qui change. C' est dire « Préparez-vous pour la vague ». Et puis ça va nous donner le numéro de la vague. Et nous avons déjà un certain nombre d'autres façons. Rappelez-vous Indie Game Mode, nous avons fait cette variable appelée vague. Donc, nous voulons utiliser ça. Par conséquent, nous allons avoir besoin d'avoir accès au mode Jeu. Donc, je vais écrire obtient mode jeu. Et puis c'est le graphique du mode jeu. Ensuite, nous allons dire vague que nous avons besoin de la variable d'onde. Et je vais brancher ce numéro à l'intérieur d'ici. Donc je vais organiser ça un peu. Et maintenant, nous définissons le texte à ce, ce nombre. Alors ça va dire « Préparez-vous à la vague », et ça va vous dire ce numéro. Et je veux cacher ce texte après un certain temps parce que je ne veux pas qu'il soit à l'écran tout le temps. Donc, je vais retarder de quelques secondes. Laisse-moi charger de trois secondes. Et après cela, je vais supprimer les textos. Donc, en prenant ce texte et je peux en fait simplement glisser hors de cela et dire définir la visibilité et ladite divisibilité à caché à nouveau. Double-cliquez donc pour faire un nœud de réacheminement et le rendre un peu meilleur. Juste comme ça. Compilons et sauvegardons, et sauvegardons ici aussi. Donc ici, lorsque vous générez l'ennemi, vous allez afficher ce texte dans la fenêtre d'affichage. Et je vais retarder ça. Donc, je vais afficher le texte. Donc, je vais retarder de cinq secondes avant de générer une nouvelle vague. Donc, voici sont retardés de cinq secondes, puis supprimez ce texte ou ce widget de la, de la fenêtre d'affichage. Donc, je vais traîner dehors de cela et dire enlever la paraffine si elle est retirée des parents. C' est ainsi que nous le retirons de la fenêtre d'affichage. Et maintenant, je peux double-cliquer pour rendre arrivé nœud réécrit. Donc ça n'a pas l'air bizarre comme ça. Et peut-être que nous devons réellement me laisser double-cliquer dessus pour faire le réacheminement, pour être organisé sinon vous pouvez le voir,
il devient désordonné très rapidement. Maintenant, compilons et sauvegardons, et testons réellement le code. Donc, si je clique sur jouer, et c'est juste moi d'être stupide, j'ai oublié de lancer cet événement appelé display wave text parce que nous ne l'avons jamais affiché ici. J' ai donc ajouté à la clôture. Et à partir d'ici, laissez-moi réellement déplacer tout ce code. Faisons de l'espace. Donc je vais aussi vers le bas, juste comme ça. Et ici, nous allons vraiment bouger ça un peu. Et nous allons appeler ça les événements. Donc, nous avons déjà une référence à cette vague WB, ce Blueprint Widget. Donc on peut appeler cet événement d'ici. Et ici, nous pouvons dire le texte de vague affiché. Donc, afficher avec du texte. Et maintenant, nous avons cet événement. Et laissez-moi créer un nouveau nœud de réacheminement ici. Je veux dire, double-cliquez et laissez-moi déconnecté, connecté ici. Juste comme ça. Alors maintenant, nous allons jouer à cet événement. Si bon. Cliquez sur jouer à leur dit préparer pour un. Je vais enlever et après deux secondes, il va apparaître. L' ennemi est quelque part sur la carte. Je ne sais pas où il aime. Je vais y aller. Les ennemis devraient dire qu'ils se préparent à. Maintenant dit Préparer pour les vagues 2 et 2, les ennemis apparaîtront. Donc si trois, ok, donc maintenant ça marche. Et nous allons en fait supprimer ce sont balles et une ligne de balle parce que nous savons déjà que ça marche maintenant. Donc, sous Blueprints,
joueur, base de joueur, et ça vient de la trace de ligne. Donc ici la ligne tracée par canal, le mode de débogage, Faisons en rien de compilation et moins de lecture. Et vous pouvez vous voir maintenant, nous n'avons pas d'aligne à regarder.
61. Importer des polices personnalisées: Maintenant que nous avons terminé notre interface utilisateur simple, nous avons
donc créé cette interface utilisateur Wave. Et la seule chose que nous avons fait pour cela, c'est ce texte. Et maintenant, c'est la seule chose dont nous avons besoin pour l'interface utilisateur Wave. Mais ce que nous pouvons faire est de le styliser avec des fonds
clients et vous pouvez le faire avec n'importe quelle interface utilisateur que vous avez dans votre jeu. Cependant, vous voulez généralement obtenir une interface utilisateur personnalisée ou des fonds personnalisés juste pour rendre votre jeu plus unique. Ici, vous pouvez voir que j'ai une réfutation, mais ce n'est pas Roboto en fait. Je n'ai rien. Ceci est de mon jeu précédent que j'ai créé. Alors allons de l'avant et téléchargeons un fonds personnalisé que nous pouvons utiliser ici. Et ce que vous pouvez faire est que je l'ai déjà ouvert à l'intérieur de Google, essayé de rechercher des fonds Google, et ici nous pouvons trouver trois fonds. Donc, sous les fonds Google, en cliquant sur cela. Et à l'intérieur de l'URI peut télécharger n'importe quelle police que
vous voulez pour vos jeux ou tous ces travaux. Et ce que je fais habituellement ici dans une sorte de catégories, c'est que je les supprime. J' aime juste le, les styles san-serif et serif et l'épaisseur. Je voulais qu'il soit très épais pour qu'il puisse être vu à l'intérieur du jeu. Et peut-être que je peux utiliser des cigarettes d'un mois. Ou peut-être que Tick 0 est cool ou Open Sans. Tu peux choisir ce que tu veux. Je vais juste utiliser celui-là. Et vous pouvez cliquer sur Télécharger la famille. Et quand vous le faites, il va télécharger cette police pour que vous puissiez regarder, donc c'est celle que j'ai téléchargée. Je vais l'extraire ici sur mon bureau. Et je vais juste utiliser cet audacieux et noir. Je ne pense pas aller aux autres. Je suis juste en train d'extraire ces deux-là. Et celui-ci, si vous ouvrez à nouveau le moteur et que vous le réduisez un peu. Et voici, nous allons en fait à l'intérieur du dossier de l'interface utilisateur, laissez-moi réellement faire un nouveau dossier ici. Donc, laissez-moi faire un, ou en fait au lieu de l'interface utilisateur, nous pouvons juste important hors du dossier de l'interface utilisateur. Mais si vous le souhaitez, vous pouvez créer un nouveau dossier appelé textes et vous pouvez y employer. Mais je vais juste les traîner à l'intérieur d'ici maintenant. Et puis il va dire, Aimeriez-vous créer un nouvel actif de fonds en utilisant ceux-ci ? Et je vais juste cliquer sur Oui Tout puis va créer
des actifs de fonds pour moi automatiquement va cliquer sur Enregistrer tout. Et c'est très facile, c'était tout. Donc maintenant, nous pouvons aller à l'intérieur de cette vague, cliquer sur ce fonds, et maintenant vous pouvez sélectionner ce que vous voulez utiliser. Donc, ce gras, par
exemple, vous pouvez voir à quoi il ressemble. Et c'est le noir qui est plus, plus chatoyant ici. Donc je vais utiliser ce noir et augmentons la taille à peut-être 60, ou peut-être que c'est trop à 50. Et c'est à ça que ça ressemblera. Donc, si je compile et clique sur Play, maintenant, c'est à ça que nous allons ressembler. Maintenant, il n'a toujours pas l'air bien parce qu'il n'est pas trop visible. Alors ce que je peux faire ici, alors cliquez sur ce texte. Et au fait, tu peux agrandir ça juste pour que ça n'ait pas l'air trop bizarre. Et dit la position de la x à 0, donc il est au milieu à nouveau. Et ce que vous pouvez faire pour celui-ci, c'est en fait que vous pouvez ajouter quelques ombres. Donc ici à l'intérieur de la couleur de l'ombre, vous pouvez mettre l'Alpha. Donc, c'est comme ça que l'opacité. Donc, en cliquant, en le mettant à un, alors vous êtes en fait avoir une navette. Si c'est 0, vous n'avez pas d'ombre. Donc, en cliquant sur un ou en écrivant un. Et puis le décalage de l'ombre, nous pouvons le définir sur 55. Vous pouvez voir ici que nous avons une ombre derrière ce sexe. Donc peut-être 66, et je ne veux pas qu'il soit aussi visible. Ou peut-être 0,5 ici sont 0.3 fonctionne aussi bien. Donc maintenant, je peux compiler et cliquer sur Play. Et vous pouvez voir qu'il est plus visible maintenant. Et peut-être 66 trop. Je peux cliquer sur le texte et les droits pour quatre. Et ça devrait être bien. Si vous le souhaitez, vous pouvez toujours aller de l'avant et ajouter un plan ici pour avoir quelques paramètres de plan et vous pouvez voir que vous pouvez ajouter un plan pour vos textes. Donc, si vous voulez un plan ici, vous pouvez aller de l'avant et appliquer cela. Mais allons-y sans tracé. Et ça n'a pas vraiment d'importance. Je ne suis pas trop inquiet au sujet de la conception de l'interface utilisateur. Vous pouvez le concevoir comme vous le souhaitez. Mais là, je sais que nous avons une interface utilisateur de base à l'intérieur du jeu. Et vous pouvez voir qu'il apparaît chaque fois qu'on a une nouvelle vague.
62. Faire des résultats de l'ennemi au joueur: Maintenant, nous sommes prêts à faire en sorte que l'ennemi poursuive le joueur. Donc, en ce moment, notre ennemi reste immobile et ne fait rien. Alors maintenant, je veux que l'ennemi poursuive le joueur. Donc, ce que nous voulons faire est à l'intérieur du dossier Blueprint, nous pouvons cliquer avec le bouton droit de la souris et créer une classe Blueprint. Arrivé maintenant, nous allons créer un, un contrôleur IA afin que l'IA puisse réellement sentir le joueur, puis passer à ce que le joueur. Maintenant, vous ne pouvez pas faire un contrôleur IA à l'intérieur d'ici, vous pouvez seulement le rendre contrôleur noir pour le joueur, mais vous pouvez cliquer sur toutes les classes. Et à l'intérieur d'ici, vous pouvez rechercher un contrôleur IA. Et vous pouvez voir ici nous avons un contrôleur IA. Vous allez choisir celui-ci. Detour foule contrôleur AI est en cours à adulte cliquez dessus sur ce flex la jambe. Appelons-le AIC pour contrôleur AI, puis clonons frappe. J' essaie de maintenir la même convention de dénomination que celle-ci. Ce que vous voulez faire ensuite est de rappeler, nous assignons effectivement contrôleur d'affichage à l'intérieur des paramètres du monde. Nous avons donc ajouté cette manette noire à notre propre joueur ou au personnage que nous utilisons. Nous devons donc faire la même chose pour l'ennemi qui va entrer dans le dossier de
l' année des ennemis et la base ennemie. Et à l'intérieur de la base ennemie, nous avons quelque chose qu'on appelle une classe de contrôleur PI. Et celui que nous allons sélectionner est nos propres frappes de clone AIC. C' est donc notre contrôleur AI qui sera utilisé. C' est tout ce que nous avions à faire. Donc maintenant, nous pouvons fermer ceci et allons à l'intérieur de notre contrôleur IA que nous avons créé. Allons à l'intérieur du graphique des événements et supprimons cela pour l'instant. Donc, au lieu d'ajouter certains des composants, nous devons ajouter quelque chose qu'on appelle la détection de palme. Ici, à la détection de celui-ci. Donc c'est, c'est celui qui va sentir notre caractère, va trouver notre personnage. Il, quand il trouve le personnage, il va se déplacer vers le personnage. Alors appelez ça des points et des points et chantez, c'est bon. Et ici, à l'intérieur des paramètres pour les points détectant toutes ces valeurs par défaut sont correctes. On n'a pas besoin de changer quoi que ce soit, sauf celui-là. Donc, l'angle de vision périphérique. Donc ici, nous pouvons écrire 180 et cela signifie essentiellement qu'il va regarder 360,
360 degrés pour voir s'il y a un joueur à l'intérieur de la carte. Et c'est tout ce qu'on avait à faire pour la détection de cet étang. Donc compiler, cliquez sur Enregistrer. Et ici, à l'intérieur des points de détection, vous pouvez voir ici que nous avons quelques événements que nous pouvons faire. Et celui qu'on veut faire, c'est plutôt cool. Vous pouvez également faire ici le bruit, sorte qu'il entend un bruit. Mais ce que nous voulons faire est invisible. Donc, quand cette IA, quand le, quand le grognement que nous avons à l'intérieur de la carte, quand il voit nos étangs. Donc, il caractère CSR. Que voulons-nous faire ? Ok, donc la chose que nous voulons faire est d'abord, nous voulons vérifier si
ça, Ce paan que le Grunt voit si c'est un personnage, ainsi que les joueurs, désolé. Donc, nous pourrions avoir beaucoup de points. Donc nous pourrions avoir beaucoup de points dans notre, dans notre scène. On pourrait avoir des MPC, on pourrait avoir n'importe quoi. La seule chose qui nous intéresse, c'est le joueur. Donc encore une fois, nous devons dire acteur a tag et dire joueur. Donc, si c'est le joueur que vous voyez, nous pouvons sur une branche et nous devons faire autre chose. Donc, je vais créer une nouvelle variable, et je vais l'appeler pion joueur. Et la chose que je veux faire est que je veux juste parce que cet étang détecte chaque fois qu'il regarde votre joueur, donc il regarde le personnage ici, le joueur. Il va créer cette variable tout le temps. Mais je ne veux pas définir cette variable tout le temps parce que imaginez que vous avez l'IA et que vous avez le joueur. Et l'IA regarde le joueur et le détecte. Ensuite, l'IA va définir ce caractère tout le temps. Et nous ne voulons pas le définir tout le temps car une fois que le personnage a été défini ou que le joueur a été vu une fois, il va le stocker à une variable afin que vous n'ayez pas à le définir tout le temps. Ce n'est pas bon pour la performance et aussi pour la mauvaise pratique de programmation. Donc, en créant cette variable Player Pawn. Et changeons ce type pour pion. Et aller sélectionner ce pion ici, une référence d'objet. Donc maintenant, nous avons ce jeu et nous pouvons le sortir ici. Cliquez sur Obtenir. Et nous allons faire un clic droit et cliquez sur favorise une variable ou désolé, convertir en intestin validé. Donc maintenant, nous pouvons connecter ceci et il va voir si le joueur à cette variable n'est pas valide. Ensuite, allez-y et définissons cette variable. Donc ce que je vais faire, c'est tenir Alt et faire glisser ça. Et ce que nous pouvons faire maintenant, c'est de le retirer et de le brancher à l'intérieur de cette variable. Et maintenant, si c'est vrai, branchez-le aussi. Et maintenant je peux faire un vrai noeud rock juste pour qu'il semble moins déroutant. Pour que je puisse le mettre ici. Ok, donc ce que ça veut dire, c'est juste pour l'expliquer rapidement pour que ce ne soit pas trop déroutant. Nous disons que si vous avez cette variable parce que nous venons de le faire ici, c'est une variable aléatoire. Si cette variable n'est pas valide, si elle n'est pas définie sur quoi que ce soit. Donc en ce moment, c'est vide pour commencer, quand l'IA n'a pas vu le joueur. Si ce n'est pas valide, si c'est vide, si c'est vrai, allez-y et définissez cette variable sur n'importe quel joueur que vous avez vu en ce moment. Donc c'est celui que l'ennemi vous voit pour la première fois. Il sait que vous êtes le joueur parce que vous avez la balise et il va vous mettre à l'intérieur de cette variable. Donc la prochaine fois, le zoo AIC, ça ne va pas faire tout ça parce qu'il est déjà réglé, donc ça va être valide. Et maintenant, il ne va pas déclencher tout ce code tout le temps. Ok, donc la prochaine chose que nous voulons faire est en fait changer le joueur. Alors maintenant, vous avez vu le joueur. Nous l'avons placé à l'intérieur d'une variable, et maintenant nous voulons chasser le joueur. Donc maintenant, nous devons faire un autre, un autre événement. Et celle-là, nous devons faire à l'intérieur de la base ennemie. Donc, si je minimise cela et je vais à l'intérieur des ennemis et de toute nouvelle base, je veux faire un événement ici appelé joueur Chase. Alors allons-y et faisons-le à l'intérieur de notre interface. L' interphase de la base ennemie. Et je vais cliquer sur Ajouter et la fonction, va l'appeler couche de chasse. Et compilons et sauvegardons. Et revenons ici et à la base ennemie. Faisons ces événements de couche. Donc, la sélection des événements. Et maintenant, nous poursuivons le joueur. Nous avons quelque chose appelé IA déplacé vers. Donc, si je fais glisser ceci et écrire ai move, alors nous avons celui-ci ai déménagé à. Donc, ici, nous devons sélectionner l'étang. Alors qu'est-ce qui bouge ? C' est l'ennemi. Donc cette base ennemie. Donc, fondamentalement décrivant moi ici. Et la destination vers laquelle il va, nous n'avons pas besoin d'écrire quoi que ce soit ici. L' acteur cible est le joueur. Mais comment on fait venir le joueur ici ? Parce que maintenant nous sommes à l'intérieur de l'ennemi. Et la façon dont nous faisons cela, je pense que c'est la première fois que nous ajoutons des variables aux événements. Donc, en revenant à l'interface, l'interface de base ennemie et à cet événement de joueur d'échecs, nous pouvons en fait ajouter une variable maintenant à l'intérieur de l'entrée. Et ici, nous pouvons rechercher sur et puis sélectionner référence d'objet de pion. Et je vais juste appeler ça des cibles. C' est le joueur, c'est la cible. Alors maintenant assez cool à l'intérieur de la base ennemie. Maintenant, cet événement que nous avons fait, vous pouvez vous voir, nous avons en fait ceci,
cette variable ici à l'intérieur de l'événement. Et je pense que c'est la première fois que nous ajoutons une variable à l'événement. Et c'est plutôt cool parce que maintenant vous pouvez réellement déplacer des informations à travers cet événement. Parce que maintenant vous pouvez brancher cette cible à l'intérieur de cette cible. Mais maintenant, nous devons spécifier la cible. Et rappelez-vous à l'intérieur du contrôleur IA échelle ou contrôleur IA ici, nous devons appeler cet événement appelé joueur d'échecs, car maintenant il a défini la variable pour le joueur. Maintenant, nous voulons changer le joueur, mais maintenant nous avons besoin, nous avons besoin d'une référence à cet ennemi obèse. Donc, ce que nous pouvons faire ici, c'est que nous avons quelque chose appelé événement sur possession, bien que des événements sur possession. Et l'événement sur possession est fondamentalement le jeu de début. Donc, c'est fondamentalement le jeu de début, mais c'est pour l'IA, c'est comme ça qu'ils le font. Donc, événement sur possède fondamentalement commencer lieu. Donc, quand cette IA est à l'intérieur de la carte, faisons, faisons juste du casting ici. Alors, lancez à la base ennemie BP. Et maintenant, nous pouvons juste faire un clic droit ici et promouvoir cela à une variable et l'appeler ennemi. Donc maintenant, nous avons une référence à cette base ennemie. Et fondamentalement, nous pouvons maintenant appeler, nous pouvons maintenant appeler cet événement ici. Laisse-moi descendre ici et traîner cette variable ennemie. Et maintenant, vous pouvez dire changer la splendeur. Et c'est un message parce que c'est une fonction interphase. Raccordons ça ici. Et maintenant, vous pouvez voir que nous avons quelque chose appelé cible maintenant. Donc, c'est peut-être un peu déroutant parce que celui-ci est aussi appelé cible. Mais celui-ci est celui qu'on a fait et on peut maintenant brancher ça. Donc la cible est le joueur que nous avons défini, donc l'ennemi vous voit. Il, il vous définit à l'intérieur de cette variable et maintenant vous êtes les cibles. Donc on doit brancher ça ici. Et cette information, la cible ici, est ensuite envoyée à cet événement, puis déplacée vers cette cible. Donc, nous avons maintenant une connexion. Maintenant, il sait quelle est la cible. Et c'est plutôt cool. C' est une façon plutôt cool de le faire. Ainsi, vous pouvez ajouter des entrées à des événements et vous pouvez déplacer des informations de la classe 11 Blueprint vers une autre. Maintenant, nous avons celui-ci appelé joueur d'échecs. Et maintenant, vous devez définir des radians d'acceptation. Le rayon et le rayon d'acceptation sont à quel point vous êtes loin avant qu'il ne vous voie. Donc, si elle est très faible, le joueur doit venir très près de la, à l'IA pour être vu. Mais peut-être essayons notre droit à une centaine et voyons à quoi ça ressemble. Donc je ne pense pas que nous manquions quelque chose à moins que
nous ayons un bug et que c'est toujours bon à tester. Alors, nous allons cliquer sur Play et il devrait vous poursuivre. Sinon, nous avons un bug et maintenant nous avons un bug. Et je crois savoir pourquoi. Donc si on sort, j'ai probablement oublié. Donc, en cliquant sur les ennemis. Et à l'intérieur de la base intérieure. A l'intérieur d'ici, nous pouvons cliquer sur les valeurs par défaut de classe. Et en entendant les valeurs par défaut de classe, nous devons changer celui-ci ici pour posséder l'IA. Donc le contrôleur d'air ne fonctionne pas. Et parce qu'ici, l'événement sur possession n'est jamais joué, parce qu'il est mis à une place dans le monde et nous ne le plaçons pas dans le monde. Donc, je vais sélectionner placé et monde ou frayé et nous sommes en fait le frai. Je vais juste cliquer sur cela,
cliquez sur, Compiler et enregistrer. Et maintenant ça devrait marcher. Ok, alors maintenant, quand je clique sur Jouer et que je cours, ça ne marche pas. Vous pouvez voir ici l'air ne
nous poursuit pas et ne veulent pas supprimer cela de la vidéo. Je veux vous montrer comment vous pouvez déboguer ces choses. Donc maintenant, nous avons cette erreur et d'où vient-elle ? Donc maintenant veulent vraiment vous montrer comment,
comment vous trouvez ces erreurs, parce qu'il est assez important, vous allez entrer dans ces assez souvent. Donc, en revenant au contrôleur IA ici, et à l'intérieur d'ici, nous devons trouver le bug. Donc nous pouvons commencer ici, un événement sur possession. Pour qu'on puisse écrire l'impression. Et maintenant, il va imprimer une chaîne. Donc, s'il possède correctement, il va imprimer cette chaîne ici. En cliquant sur jouer. Et la chaîne d'impression est si importante à utiliser lorsque vous déboguez pour voir où est l'erreur. N' oubliez pas d'utiliser la chaîne d'impression. Et vous pouvez voir ici en haut à gauche il est en fait dit bonjour, donc il possède correctement. Ok, Donc, cette partie du code fonctionne correctement, possède correctement. Maintenant, je ne commence jamais depuis le début du code parce que parfois c'est une perte de temps. Donc, vous pouvez réellement commencer à partir de la fin du code et voir si cela fonctionne réellement à la fin parce que vous allez perdre votre temps si vous commencez par le début. Alors maintenant, voyons si ça va vraiment nous envoyer. Donc si je me rapproche, ce n'est pas vraiment sentir le joueur. Donc quelque chose ne va pas avec ce code. Donc, si je reviens, quelque chose ne va pas dans ce code ici. Donc, vous pouvez toujours essayer d'imprimer la chaîne et voir si elle recensement réellement ici depuis le début. Maintenant qu'on sait que ça ne marche pas. Et attendons le, pour l'ennemi. Et quand c'est la police, vous pouvez voir qu'elle dit Bonjour une ou deux fois et qu'elle nous détecte réellement. Donc ça marche ici. Donc quelque chose ne va pas à l'intérieur de ce code. Et nous pouvons toujours essayer de faire une chaîne d'impression ici après que le joueur a tag et ça va dire vrai. Donc, en cliquant sur jouer et en attendant que l'ennemi apparaisse. Et ça devrait dire bonjour si ça marche. Et vous pouvez le voir. Ça n'a jamais dit bonjour. Donc quelque chose ne va pas ici à l'intérieur du réseau de code. Donc celui-ci, rien ne va mal avec ça, mais quelque chose ne va pas avec cette année. Donc cette partie du code, parce qu'elle nous détecte réellement. Donc rien ne va mal ici. Et nous aurions peut-être oublié d'ajouter le joueur de tag au joueur. Donc, il ne reconnaît jamais le joueur. Et peut-être que j'ai oublié. Laisse-moi voir. Donc, si je minimise cela et je vais à l'intérieur du joueur et le joueur base dans les valeurs par défaut de la classe si je recherche tag. Ouais, en fait, je n'ai pas de tag appelé joueur et peut-être que j'ai oublié que je n'ai pas fait ce cours depuis un à deux mois, donc je ne me souviens pas vraiment que c'est maintenant. Mais peut-être que j'ai supprimé par erreur, peut-être que je ne l'ai pas réellement fait. Donc, la recherche de balise à l'intérieur de la base du joueur, à l'intérieur des valeurs par défaut de la classe. Ici, dans les tags de l'acteur, vous pouvez cliquer sur le lecteur plus et écrire. Donc, comme le dernier match, et maintenant nous avons la couche de balises. Donc maintenant, il devrait réellement reconnaître le joueur. Et essayons de cliquer sur Enregistrer et cliquez sur Jouer et voir ce qui se passe. Donc, en attendant l'ennemi. Et maintenant ça devrait marcher. Il devrait se déplacer vers le joueur. Et vous pouvez voir ici qu'il se déplace en fait vers le joueur. Donc cet ennemi a déménagé vers moi pour qu'il fonctionne maintenant. Et la chose que nous avons à faire, vous pouvez voir quand l'ennemi atteint le joueur, il reste immobile. Et c'est là que nous devons attaquer, donc nous sommes prêts à attaquer. Vous pouvez voir que le NMI est en cours d'exécution après le joueur et quand il atteint le joueur est debout immobile et il est censé attaquer. Et après qu'il attaque, il a besoin de sentir à nouveau et de passer au joueur à nouveau. Donc je pense que ça marche un peu trop vite en ce moment. Donc, ce que nous pouvons faire est de réduire l'ennemi, en bougeant un peu la vitesse. Et la façon dont nous faisons cela à l'intérieur des ennemis, nous pouvons, nous pouvons le faire sur tout pour les ennemis. Mais pour l'instant ce mouvement, je ne pense pas que c'est, c'est je pense que c'est spécifique pour le terrain. Je ne pense pas que ce soit un mouvement global. Imaginez que vous avez des ennemis différents. Nous avons seulement besoin de ce mouvement discriminatoire pour être plus lent. Donc aller à l'intérieur du grognement BP, à l'intérieur du mouvement des personnages. Et ici, nous pouvons réduire la vitesse de marche maximale. Et peut-être qu'on veut le faire aussi. Essayons 400 et voyons ce que c'est. Nous ne voulons pas le rendre trop lent et pas trop rapide parce que c'est
peut-être trop facile ou trop difficile. Donc, en ce moment, l'ennemi fraye et il devrait changer le joueur. Et maintenant, vous pouvez voir que c'est la poursuite. Et je pense que cette vitesse va bien. C' est peut-être un peu trop rapide encore,
mais oui, je pense que c'est cool. En fait, vous réduisez la vitesse juste un peu parce que c'est censé être facile à commencer et ensuite ça devient plus difficile. Alors peut-être que vous le réduisez à 300 et c'est tout. N' oubliez pas de compiler et de sauvegarder et de le faire dans tous les autres. Et maintenant nous sommes prêts à attaquer.
63. Attaquer ennemis: Bon, alors maintenant nous avons le MPC pourchassant le joueur, et il est temps de faire quelques attaques pour le MPC. Et nous avons beaucoup à faire. Allons-y. Donc, pour commencer avec le logo à l'intérieur de BP, base ennemie. A l'intérieur d'ici, nous avons fait cet événement appelé joueur d'échecs événement. Donc, le MPC ou l'IA poursuit le joueur et quand il atteint le joueur, nous devons attaquer. Donc maintenant, nous voulons réellement un autre événement appelé attaque. Et rappelez-vous que nous avons fait et les interfaces que nous avons fait la base ennemie. Alors allons ici, cliquez sur Ajouter et ajouter une nouvelle fonction. Appelons ça le joueur d'attaque et Compiler et Enregistrer. Donc par ici, disons au joueur SAC et cliquez sur cet événement. Alors maintenant, on peut faire ce joueur de sac. Appelons l'événement ici. Donc, quand le PNJ se déplace aux urgences, l' IA
ne se déplace-t-elle pas vers le joueur ? Donc ici sur le succès quand vous atteignez le joueur. Donc disons joueur d'attaque. Et c'est un appel d'interface parce qu'il provient de l'interface Blueprint. Bon, maintenant on a ce joueur d'attaque. Et ici, dans le joueur d'attaque, nous devons faire du codage. Et ce que nous voulons faire, c'est jouer une animation. Parce que quand vous attaquez l'IA, l'IA attaque et il joue une animation. Je vais te montrer quelque chose dont on n'a pas encore appris. Et ça s'appelle le montage d'animation. Et si vous le faites glisser ici et écrivez le montage, vous pouvez voir celui-ci appelé Les Montage. Et c'est ce que nous voulons jouer. Et ça a l'air assez complexe, mais c'est en fait très, très simple. Je dois juste t'expliquer et tu es bon d'y aller. Donc, dans les composants de maillage squelettique, donc c'est ce qui joue ce bord du mois, et c'est, c'est l'Ennemi qui le fait. Et donc nous avons besoin de ce maillage squelettique. Et rappelez-vous qu'un maillage statique est juste un, un maillage. Par exemple, si je minimise cela, cette boîte ici est un maillage statique. Donc c'est juste, un maillage est tout simplement le modèle. C' est ce qu'un maillage. Maillage statique. Juste un maillage qui est statique, ne bouge pas du tout. Et puis nous avons notre maillage squelettique. Et le Skeletal Mesh est simplement un maillage, donc un modèle qui est animé et c'est le notre personnage. Donc, si vous maintenez la souris sur le personnage, vous pouvez voir qu'il est appelé un maillage squelettique composants. Donc c'est un maillage squelettique. C' est un maillage qui est animé. C' est pourquoi ça s'appelle un maillage squelettique. Donc, il doit connaître le maillage squelettique et c'est juste ce maillage ici pour que vous puissiez cliquer et faire glisser et juste ici, comme le déposer dessus d'ici. Ou vous pouvez simplement cliquer avec le bouton droit et dire mesh. Et vous pouvez voir ici obtenir maillage. Donc c'est notre maillage. Ensuite, vous devez jouer un certain montage, et nous devons faire un montage d'animation. Et laissez-moi vous montrer comment en faire un. Donc, à l'intérieur de la place de marché dans, Voyons ici à l'
infini, adversaires de lame infini, ennemi était aller
vers le bas pour les subventions de maître et inhere dans les animations. Donc celui que je veux choisir, celui-ci, le premier, le député attaque Malaya ici. Donc, je vais double-cliquer sur celui-ci. Et vous pouvez voir que c'est l'animation attaquante que nous voulons. Nous voulons donc en faire un montage d'animation. Et je peux cliquer avec le bouton droit ici. Et ici, en haut, vous pouvez voir Créer. Et puis vous pouvez créer un anime une touche. Et vous avez envie de voir que vous avez un montage ici. Et ce qu'on les appelle habituellement, c'est un M pour le montage d'animation. Et je vais juste l'appeler au SAC, juste comme ça. Maintenant, nous avons un montage d'animation et vous pouvez double-cliquer dessus. Et ici, dans le montage d'animation, vous pouvez voir que nous avons une sorte de graphique. Ici. Nous pouvons réellement coder ou simplement avertir l'animation lorsque vous faites des dégâts et lorsque vous ne le faites pas. Donc, par exemple, vous pouvez voir que c'est l'animation et je veux faire dégâts chaque fois que l'animation est à cet état ici. Donc quand il frappe le joueur ici, donc ici à gauche, vous pouvez voir que nous avons un montage et nous avons différents groupes. Et ici dans les notifications, c'est là que nous voulons être. Vous pouvez voir que vous pouvez cliquer sur cela et ajouter, insérer des pistes de notification. Vous pouvez ajouter d'autres pistes si vous en avez besoin. Mais en ce moment, je vais juste les enlever. J' ai juste besoin de ce numéro un. Et à l'intérieur de cette piste de notification numéro un, vous pouvez cliquer avec le bouton droit et à l'intérieur de ajouter l'état de notification. Vous pouvez sélectionner celle-ci appelée fenêtre de notification de montage. Donc nous créons cette fenêtre d'attaque. Et vous pouvez voir que vous avez, vous obtenez une sorte de fenêtre que vous pouvez faire glisser ici. C' est donc l'animation lors de la fenêtre de montage. Et allons à l'endroit où vous voulez faire des dégâts. Donc je veux faire des dégâts juste ici quand il attaque. Donc je vais bouger celui-là. Donc c'est le début ici. Et la fin quand tu finis l'attaque est quelque part par ici. Donc je vais traîner celui-là et le placer ici. Donc c'est cette fenêtre de sac et il attaque ici. Il fait des dégâts, et il met fin à l'attaque ici. Ok, donc maintenant nous avons créé ça et c'est tout ce dont nous avions besoin. Nous pouvons donc cliquer sur Enregistrer. Et nous pouvons lui donner un nom ici et des notes pour trouver le nom. On peut appeler ça une attaque si on veut. Et on peut lui donner une couleur si on le voulait, c'est à toi de décider. On peut voir qu'il change de couleur. Et laissons celui-ci donc je vais cliquer sur X pour le fermer. Et je vais revenir en arrière et des plans de la base ennemie, ennemie, ennemie. Et ici dans les notes de Phi. Donc ici, nous voulons ajouter notre montage. Donc, si vous cliquez sur ceci, vous pouvez voir que vous n'avez pas beaucoup à choisir, car c'est le seul montage d'animation que vous avez, et c'est celui que nous avons créé. Vous pouvez donc cliquer sur cette attaque de montage d'animation. Et puis vous devez choisir le dramaturge. Et c'est un qui va bien. Et 0 ici et section de départ et zéros. C' est bon. Donc, je veux en faire une variable et je vais vous dire pourquoi. Ainsi, vous pouvez cliquer avec le bouton droit de la souris et promouvoir à la variable et simplement l'appeler attaquer à lui. Je l'appelle juste animation d'attaque. Donc, cette variable est très, très important que vous les transformiez en variables parce que maintenant vous avez ce montage d'attaque. Et si je minimise, et j'ouvre migrant. Et si je clique sur Ouvrir l'éditeur de Blueprint complet. Maintenant, vous pouvez voir qu'il s'agit d'une variable. Rappelez-vous, toutes les variables que vous créez à
l'intérieur de la classe parent seront également héritées dans la classe enfants. Rappelez-vous que la subvention BP est un enfant de la base ennemie. Donc, cette variable sera également disponible ici, tout comme c'est que le, est que booléen et la santé est disponible ici aussi. Alors maintenant, quand vous avez différents ennemis ici, alors imaginez que vous avez la subvention, vous avez une araignée, vous avez un golem, vous avez un squelette. Chacun d'eux, vous pouvez réellement affecter une animation d'attaque différente. Alors n'oubliez pas de les transformer en variables, car si vous ne le faites pas en une variable, vous ne pouvez pas libérer des animations d'attaque de différence par ici. Mais si vous les avez en variables, vous pouvez définir, si vous avez dix ennemis différents, vous pouvez définir une animation d'attaque aléatoire pour chacun de ces ennemis différents. Donc très important de les faire en une variable. Ainsi, vous pouvez réellement le modifier et le rendre différent dans chaque ennemi. Ok, alors maintenant nous attaquons. Et maintenant ce que nous voulons faire est sur notification commencer. C' est si je vais de l'avant et je passe au dossier du marché. Et maintenant on peut en fait, au lieu d'entrer ici, on peut juste chercher et lui monter. Donc, tous les lundis quoi l'appeler et voir,
c' est assez cool d'écrire des préfixes afin que nous puissions chercher rapidement et je peux aller à l'intérieur d'ici. C' est donc la fenêtre de notification. C' est là que ça commence. Donc, c'est le début notifié. Et ici, nous voulons faire quelque chose. Ce que nous voulons faire, c'est ce qu'on appelle les acteurs du chevauchement des sphères. Nous, nous chevauchons donc avec les acteurs. C' est ainsi que nous détectons que nous frappons quelque chose. Nous avons une sphère qui chevauche notre personnage. Lorsque la sphère se chevauche, nous avons frappé le personnage. Et juste pour vous montrer le processus plus visuellement, je peux écrire Draw, Debug sphere. Et maintenant, cette sphère ne fait que dessiner que la peur. Et je peux te montrer quand on attaque. Donc, si je choisis juste une sphère ici, et l'emplacement que nous devons faire, nous devons faire quelque chose ici. Donc, en cliquant sur Ajouter et en cliquant sur, laissez-moi écrire sphère. Nous avons besoin que les déclencheurs craignent la sphère de collision ici. Nous allons sélectionner la sphère de collision, et appelons ça une sphère. Et ici, vous pouvez essayer de le déplacer devant. Comme où les bénéficiaires attaquent ? Donc, vous devez choisir où il attaque. Donc peut-être quelque part par ici. Et maintenant nous pouvons prendre cette sphère et dire obtient l'emplacement du monde. Et tu dois juste trouver l'endroit pour le mettre
ici pour qu'il sache où il attaque. C' est là que sera la sphère. Donc ici vous pouvez dire au lieu de, si vous ne savez pas comment ça s'appelle, ça s'appelle Get World Location. Mais si vous ne savez pas comment ça s'appelle, juste le bon emplacement parce que vous essayez de trouver un emplacement. C' est comme ça que j'ai commencé quand je viens de commencer à faire des plans, j'ai juste réécrit l'emplacement. Et vous pouvez le voir, c'est la seule option que vous avez. Obtenez World Location ici et l'ajouter ici. Et faisons-le aussi ici dans la sphère de débogage. Et la sphère de débogage. Vous pouvez voir ici que c'est seulement le développement. Donc, ce n'est là que pour nous aider. Nous allons supprimer cela dans une seconde, mais je voulais juste vous montrer parce qu'il dessine une sphère pour que vous puissiez voir où cette sphère attaque. Donc le rayon est de 100, c'est bon. Sont multiples va faire le rayon 100 ici. Et qu'est-ce que ça va se chevaucher ? C' est ce que signifient les types d'objets. Ainsi, vous pouvez faire glisser à partir d'ici et écrire un tableau de micro. Rappelez-vous quand c'est un carré comme celui-ci et pas un cercle, cela signifie que c'est un tableau et pas une variable normale. Donc je vais faire tableau et choisissons le porno. Parce que rappelez-vous notre personnage, le personnage de joueur que nous avons est un type d'étang. Donc, quand il interagit avec le pion, c'est
ce que nous voulons faire. Et c'est bien. Vous n'avez rien à faire ici et l'accès à ignorer, nous n'avons vraiment rien. Alors maintenant, définissons la durée de cette sphère Draw Debug afin que la sphère ne disparaisse pas instantanément. Alors laissez, mettons-le à cinq secondes pour l'instant, l'épaisseur que nous pouvons également définir. Alors laissez, nous pouvons le mettre à cinq et voir à quel point c'est épais. Donc, en cliquant sur compiler et en cliquant sur Enregistrer. Maintenant, c'est réglé. Et si vous cliquez sur Lire maintenant et essayez de voir l'animation, vous ne verrez probablement rien. Et je vais vous expliquer pourquoi. Donc le GRAV-D vient ici. Vous pouvez voir qu'il attaque en fait parce qu'il dessine la sphère. Qu' est-ce que vous ne pouvez pas voir l'animation et pourquoi est-ce ? Et c'est probablement à l'intérieur de notre plan d'animation parce que je ne me souviens pas que nous avons créé cette chose spécifique dont nous avons besoin. Donc, en cliquant sur ce Blueprint d'animation pour la subvention. Et en quelque sorte à l'intérieur du graphique d'animation. Donc, si vous cliquez sur le graphique Animation ici, et rappelez-vous si vous êtes à l'intérieur de quelque chose de spécifique, vous pouvez toujours cliquer sur Sauvegarder ici. Donc ici, dans la première, première fenêtre, nous devons ajouter quelque chose entre la locomotion et entre la sortie, pose de sortie. Donc, en faisant glisser ici et en écrivant par défaut, ou en fait tout simplement comme vous pouvez écrire fente. Et vous pouvez choisir cette fente, fente par défaut. Et celui-ci est nécessaire pour jouer des montages d'animation. Donc, si vous ne l'avez pas, si vous ne comprenez pas pourquoi vos montages d'animation ne sont pas lus même si le, il semble qu'ils fonctionnent. C' est parce que vous n'avez pas cette fente par défaut sur la diapositive. Alors n'oubliez pas de mettre ceci autrement, vous ne pourrez pas voir vos montages d'animation. Donc, si je clique sur Jouer maintenant et j'attends l'ennemi. Maintenant, voici une attaque devrait marcher. Je ne sais pas où il est là ? Vous pouvez voir que c'est du piratage et maintenant il est un peu en train de s'embêter. Donc vous pouvez voir qu'il a sauté Ed et on peut réparer ça. Mais il travaille en fin de compte. Donc, le montage d'animation fonctionne. Donc si on retourne à l'intérieur des plans, des amines et de la base ennemie ici, à l'intérieur d'ici, je veux que tu ailles à l'intérieur de la partie vue. Et vous pouvez toujours essayer d'ajuster ça, celui-là par rapport à l'endroit où il attaque réellement. Et ce que je veux faire au lieu de cliquer sur jouer et, et en attendant tout le temps, je veux réellement supprimer cela. Donc, si je vais sélectionner le Blueprint, et si je vais dans et le mode jeu, et nous allons simplement le supprimer temporairement. Je veux donc voir où j'ai créé cette logique. Et c'est en fait ici, à l'intérieur des ennemis. Et j'ai retardé de cinq secondes. Je vais juste l'enlever ici juste pour l'instant et connecté. Et ce que vous voulez faire
, c'est parfois vous avez peur d'oublier de le relier. Vous pouvez toujours le sélectionner et cliquer sur C pour ajouter un commentaire. Et parfois je fais ça et j'en fais un rouge. Alors je m'en souviens. Il y a quelque chose dont je devrais me souvenir. Vous pouvez même écrire un commentaire que cela devrait être reconnecté. plaintes oculaires, les liens sont comme instantanément donc je peux en fait juste plus vite et il attaque et la sphère est juste en face d'eux. Et je pense que pour nous, si nous revenons aux ennemis et à n'importe quelle base, je pense que 100, c'est bien, mais je veux juste aller un peu plus loin parce que je pense que c'est un peu trop proche. Donc peut-être comme ça. Et nous allons cliquer sur Play ancêtre pour la dernière fois. Donc, c'est juste au centre de notre personnage, et c'est vraiment parfait si vous voulez l'emplacement ici, est
ce qu'il est, mais vous pouvez essayer de vous déplacer et voir où il convient le mieux. Donc maintenant que nous savons que l'attaque est correcte, nous pouvons effectivement aller de l'avant et supprimer cette sphère qui attire au niveau parce que nous ne voulons pas vraiment la voir. Et nous pouvons aussi jouer un son quand il attaque. Pour que je puisse bouger ça un peu. Et je peux dire son tardif à l'endroit. Pour que nous puissions sélectionner le son. Je vais les traîner un peu vers le bas. Et quel est l'endroit où nous voulons jouer ? Choisissons juste l'emplacement de cette sphère aussi. Donc, en le connectant ici et en faisant un nœud de réacheminement qui va cliquer comme ça et le son que nous voulons choisir maintenant, nous n'avons pas beaucoup de sons et ce n'est pas vraiment un,
un cours de son ou quoi que ce soit, mais j'ai juste veulent vous montrer que vous pouvez, vous pouvez aller sur YouTube et trouver vos sons. Mais souviens-toi quand je fais parce que c'est tout le
droit d'auteur et je ne peux pas vraiment te le donner. Alors allez dans YouTube si vous voulez trouver un son à succès. Mais en fin de compte, nous allons juste utiliser le son du couteau ici. Il y en a un qui s'appelle le couteau inférieur Q et si vous pouviez jouer, vous pouvez entendre le son. Je vais baisser le lit. Peut-être que c'est trop fort. Peoria, je ne veux pas que ça paraisse ennuyeux dans ce cours. Et je retourne à la base ennemie. Ici, sélectionnons la nuit. Je crois que ça s'appelle plus bas, celui-là, couteau plus bas. Q. Donc déjà fait dans un son énorme comme agréable pour nous. Et maintenant, quand vous cliquez sur Play, maintenant nous rend cool. Une autre chose que je veux faire est, c'est que je veux vraiment rendre l'animation attaquante un peu plus rapide parce que je pense que c'est beaucoup trop lent. entrant dans le détail des actifs ici dans le montage, Enentrant dans le détail des actifs ici dans le montage,
vous pouvez modifier l'échelle des taux. C' est à quelle vitesse l'animation est en cours de lecture. C' est donc le taux normal. Et si j'écris trois, tu peux voir que ça joue trop vite. Et je veux juste écrire à, je pense que deux est un bon numéro. Cliquez à nouveau sur Lire et voir comment il place. Ouais, donc maintenant c'est un peu, un peu mieux donc il attaque, mais on a un dollar, saute et on doit réparer ça. Donc le problème que nous voyons ce que le saut quand il, après qu'il attaque est fondamentalement si nous revenons aux ennemis et le plan ici à l'intérieur de la motion locale, nous avons fait ce frai. Donc, la fraie est essentiellement là où il saute ici, sautant du ciel. Et ce qui se passe finalement, c'est quand il attaque, c'est en fait de rejouer ce plan d'animation. Donc on le fraye encore une fois. Donc, en jouant à nouveau cette animation. Et cela pourrait ne pas fonctionner pour cette affaire. Donc nous devons peut-être supprimer ce frai. Ainsi, vous pouvez cliquer sur Supprimer, vous pouvez supprimer ce pointage et simplement connecter l'idole. Et ce que nous voulons faire maintenant au lieu d'avoir le jeu de génération ici dans le Blueprint d'animation, nous pouvons simplement le jouer comme une animation séparée à l'intérieur de la classe Blueprint. Donc, si nous retournons à la base ennemie, et ici, faisons un jeu commencé. On en a déjà un. Donc ici, dans les événements commencent jouer. Ajoutons réellement cette animation. Donc, si nous prenons simplement ce maillage ou il peut simplement écrire Play Animation et il crée le maillage automatiquement pour vous. Donc, si vous écrivez Play Animation et que vous pouvez sélectionner celui-ci, vous pouvez voir qu'il crée cette variable de maillage pour vous. Donc, en prenant cette animation de jeu et vous devez sélectionner l'animation que vous voulez jouer. Et je crois que ça s'appelle quelque chose avec menu déroulant. Donc par serif pour la liste déroulante, c'est celui-là appelé Exogamy Master Grant abandonné. Donc, en cliquant sur celui-ci et maintenant vous pouvez compiler et voir ce qui se passe. Donc, si je clique sur jouer et que vous savez, ce que je veux faire en fait est à l'intérieur du mode jeu, je vais augmenter le, le nombre de vagues. Alors cliquez sur vague, donc nous en avons généré beaucoup pour voir ce qui se passe. Quand j'ai essayé de me développer, je fais comme ça pour ne pas avoir à attendre tout le temps et perdre du temps. Alors cliquez sur Play. Vous pouvez voir ce qui se passe. Le frottement du ciel. Mais ils bougent instantanément. Et maintenant, vous pouvez voir qu'il y a des animations boguées. Et c'est parce que si nous revenons aux ennemis ici, la base ennemie, si nous retournons à la base ennemie, elle fait maintenant cette animation de chute, mais nous ne voulons pas qu'il bouge tout de suite. Donc, nous allons ajouter un délai. Et j'ai découvert, j'ai découvert que 1,3 seconde est un bon nombre ici. Vous pouvez toujours tester et voir ce qui est un bon nombre. Et après avoir joué l'animation, rappelez-vous que ce maillage est actuellement en cours d'exécution sur un Blueprint d'animation. Donc, si je vais au grognement et dans le maillage, vous pouvez voir qu'il est en cours d'exécution sur ce Blueprint d'animation d'utilisation. C' est le plan sur lequel nous menons. Donc, vous devez vous rappeler de l'assigner à nouveau. Donc en ce moment est seulement jouer dans l'animation. Et puis vous devez sortir d'ici et dire Définir le mode d'animation. Comme ça. Parce que si vous revenez à la mesure, celui-ci est appelé mode d'animation. Nous voulons donc définir ce mode d'animation pour utiliser le Blueprint d'animation. C' est ce que nous voulons en fin de compte. Et maintenant ça devrait marcher. Mais encore une fois, nous devons aimer maintenant qu'il chasse le joueur tout de suite et nous ne voulons pas ça. Donc vous pouvez voir que ça tombe bien. Et puis c'est marcher est correct. Mais ils tombent et ils font face à ce joueur tout de suite. Mais nous voulons, nous voulons qu'ils tombent en premier pour qu'ils ne glissent pas sur le sol. N' oubliez pas que nous avons créé le lecteur de goût à l'intérieur du contrôleur IA. Alors cliquez sur celui-là. Vous pouvez voir celui-ci appelé joueur d'échecs. Donc c'est ce que nous avons fait ici avec la détection de l'étang. Et nous ne voulons pas changer de joueur tout de suite. Retardons un peu. Donc, en le retardant de 1,3 à nouveau, vous allez poser 1,3 seconde, juste comme ça. Et maintenant ça devrait marcher. Donc, si on clique sur Play, et maintenant ils bougent. Donc, vous pouvez voir la goutte d'abord avant qu' ils
ne se déplacent vers nous et attaquent. Maintenant, nous avons un petit insecte. Vous pouvez voir qu'ils se déchaînent comme quand on tournait. Une tonne de génération. Et un autre bug est quand ils attaquent, ils ne bougent plus. Donc, ils sont immobile. Alors réparons d'abord qu'ils n'attaquent pas à nouveau. En cliquant sur la base ennemie de l'ennemi, on a fait l'attaque ici. Donc le montage de jeu. Nous devons faire quelque chose quand le montage est terminé. Donc, nous devons poursuivre le joueur à nouveau. Donc, traîner ici et dire joueur de Chase. Donc c'est celui-là. Et sélectionnons le joueur d'échecs. Écoutez comme l'appel d'interface ici. Nous allons donc poursuivre le joueur une fois l'animation terminée. Et n'oubliez pas de sélectionner le joueur à poursuivre à nouveau sinon cela sera très confus parce que la prochaine fois il va attaquer. Si vous laissez ça, si vous n'avez rien ici connecté, il ne saura pas quoi attaquer. Alors n'oubliez pas de le connecter à nouveau. Donc, il peut vraiment casser d'ici. Et vous pouvez le connecter ici. Ou une autre chose si vous voulez le rendre plus propre, ce joueur d'attaque, vous pouvez réellement ajouter une entrée de pion ici. Donc si vous revenez à l'interface, si je l'ai ouverte, je ne le fais pas. Donc, si je vais aux interfaces de Blueprint et à la base EMI, et je clique sur le joueur d'attaque ici, je peux faire une variable en cliquant ici sur l'entrée, en fait pas de sortie. Et l'entrée, je peux faire une référence d'objet pon, variable. Et je peux juste l'appeler cibles, Compiler et enregistrer. Et dans l'Embase, vous pouvez voir maintenant que nous avons cette cible et laissez-nous connecter cette cible ici. Alors maintenant, c'est un peu plus propre. Et je peux double-cliquer dessus pour le rendre un peu plus propre ici, juste comme ça. Donc, ce n'est pas trop déroutant comme ça. Et maintenant, je peux faire glisser cette cible jusqu'ici. Donc, je peux double-cliquer dessus et le mettre ici. Juste comme ça. Donc c'est, vous pouvez le faire comme ça ou il peut réellement le faire glisser jusqu'ici, c'est à vous de décider, mais cela pourrait être un peu plus propre à faire. Alors maintenant, les ennemis qui vont réellement attaquer à nouveau après, nous
avaient attaqués pour la première fois. Vous pouvez voir qu'ils attaquent et que ça nous poursuit encore. Ok, alors maintenant ça marche. Mais vous pouvez voir quand ils se
déplacent, ils sont agités, ils tremblent. L' ennemi tremble et ce n'est pas parce qu'ils ont peur, c'est parce qu'on a un insecte. Vous pouvez voir ici, ils s'embêtent quand ils déménagent. Et nous devons réparer ça. C' est à l'intérieur des ennemis et de la base ennemie. Et donc si ici dans les valeurs par défaut de classe, nous avons celui-ci appelé la rotation du contrôleur d'utilisation que vous êtes. Et ce qui se passe en fin de compte, c'est qu'il est en fait bougé ou contrôlé par deux choses différentes. Est contrôlé par le votre et il est parti se faire contrôler par ce que la rotation de l'ennemi est. Donc, si vous désactivez cette rotation, votre, si vous le désactivez, et vous compilez et enregistrez. Et revenons au mouvement des personnages. Et à l'intérieur du mouvement, Allons-y. Et ici, si je peux le trouver. Celle-ci appelait la rotation de l'Orient au mouvement. Donc, en sélectionnant cela, et cela devrait résoudre le problème. Donc, si nous cliquons sur Jouer maintenant, et maintenant, nous allons descendre ou marcher autour. Maintenant, vous pouvez voir qu'ils ne sont pas agités, ils n'ont plus peur, et ils bougent correctement. Et comment ça devrait être.
64. Appliquer des dommages au joueur: Ok, Donc maintenant, l'animation attaquante est terminée et la NBC ou l'IA attaque. Maintenant, il peut faire des dégâts sur le joueur. Donc, en retournant à la base ennemie, il s'ouvre sur ma seconde Mandchourie. Donc si je l'amène ici, c'est l'interface. Et on a fait ça un joueur de tag. Alors maintenant, nous voulons infliger des dégâts. Et tu l'as déjà fait avant. Donc, si vous, si vous voulez essayer vous-même, vous pouvez le faire. Et ici, nous voulons le faire ensemble. Donc ici sur la sphère des acteurs se chevauchent. Donc on a fait celui-là. Rappelez-vous que nous, nous chevauchons le Po1 et lorsque le point chevauche cette sphère, cela signifie que l'on a été touché par l'ennemi. Donc, ici, la valeur de retour, si vous maintenez votre souris dessus,
il est dit à travers s'il y avait un chevauchement qui a passé les filtres, false sinon. Donc, ce sera vrai si le NMI ou l'IA frappe le joueur. Donc, je peux réellement faire glisser hors de cela et cliquer sur B pour branche. Donc maintenant, nous pouvons dire si le, s'il y a un chevauchement avec la pornographie, donc si la couche a été touchée, nous pouvons faire quelque chose avec cela. Donc, nous pouvons appliquer ce bord. Donc, chaque fois que le joueur est touché, nous pouvons infliger des dégâts. On ne veut pas le faire comme ça. Donc, si je supprime ceci comme ça, nous ne voulons pas le faire comme ça parce que de cette façon, nous allons toujours endommager le joueur même si le joueur n'est pas touché. Et c'est pourquoi nous ajoutons réellement ce booléen pour le vérifier. S' il y a effectivement un chevauchement et s'il y a un chevauchement avec l'étang. Et il est dit qu'il y avait un chevauchement qui a passé les filtres. Et en ce moment, le filtre est cet étang. Donc, quand le joueur est touché, nous appliquons des dégâts. Et l'acteur endommagé est le joueur. Et nous avons en fait une référence au joueur ici. Rappelez-vous que nous avons fait cette cible ici. Donc, je peux faire glisser de cela et le mettre à l'intérieur de l'acteur endommagé. Et pour le rendre plus propre, je peux double-cliquer ici et faire le nœud de réacheminement des soins. Et nous l'avons fait, nous devons en faire un plus grand ici. Juste comme ça. Peut-être qu'on peut traîner ça plus loin comme ça. Donc c'est plus propre. Et ici, dans les dégâts de base, combien de dégâts voulez-vous faire ? Et celui-ci, vous pouvez régler un dommage ici, un nombre statique. Mais une meilleure chose à faire, nous pouvons en faire une variable. Parce que rappelez-vous, si nous avons beaucoup d'ennemis, si nous avons des ennemis différents, nous voulons faire des dégâts différents pour chaque ennemi. Donc nous ne voulons pas que l'araignée, la subvention, le squelette, et ainsi de suite fassent 25 dégâts. Peut-être que leur squelette est très faible et ne fait que cinq dégâts. Donc, nous pouvons cliquer avec le bouton droit ici et promouvoir cela à une variable et l'appeler. On peut appeler les dégâts ennemis ou les dégâts. Je vais juste appeler ça des dégâts. Et je peux le faire glisser ici. Donc maintenant cette variable de dommage, puisqu'elle est dans la classe parent, les classes enfants hériteront également de cette variable. Donc, si vous entrez dans les valeurs par défaut de la classe, nous pouvons réellement choisir combien de dégâts ce grognement fait maintenant. Donc peut-être que nous voulons que la marque fasse avec 25 dégâts. Et si nous faisons un nouvel ennemi, nous pouvons changer cela pour le nouvel ennemi. Alors maintenant, les bénéficiaires font 25 dégâts. Et, et rappelez-vous, n' oubliez pas de changer ce L Sue, vous aurez 0 endommagé par défaut. Donc, en le changeant à 25. Vous pouvez également choisir l'état de santé de la subvention si vous le souhaitez. Et maintenant, nous avons ce dommage appliqué. Alors, qu'est-ce que cela applique des dommages fait ? Il peut jouer un son que lorsque le joueur est touché. Alors, jouez le son à l'endroit. Et l'endroit où nous voulons jouer le son est essentiellement l'emplacement de la sphère ici. Donc nous allons faire glisser de ce nœud de re-wrap et je vais le connecter à une dislocation par ici. Et je vais bouger ça un peu vers le bas. Aussi, celui-là et celui-là. Donc c'est un peu plus propre. Je peux double-cliquer ici et faire comme ça. Et laissez-moi poser ça comme ça. Donc maintenant, nous allons jouer un son et ce qui est sous, nous voulons le jouer. Maintenant, j'improvise un peu sur les sons parce que nous n'en avons pas beaucoup. Donc je vais à l'intérieur de l'EPS et des armes et pas celui-ci en fait. À l'intérieur de l'arme militaire, sombre et à l'intérieur des sons. Je vais aller dans une sorte de fusil de chasse. Et à l'intérieur d'ici, je vais choisir ce qu'on appelle le corps d'impact de fusil de chasse. Et je vais réduire le son juste pour ce cours. Donc, ce n'est pas ennuyeux pour toi. Peut-être 0,25. Et donc ce son que je vais vraiment utiliser. Donc, si je retourne et ouvre mon, je pense que je ferme comme base. Donc, en allant ici, en ouvrant la base NMI NMI. Juste comme ça, je vais juste le chercher. impacts des fusils. Celle-ci, l'impact du fusil, le corps. Q Je crois que c'était celle-là, ouais. D' accord. Donc, nous jouons un son maintenant quand le joueur est touché, et je veux aussi générer des effets. Donc c'est un peu plus intéressant. Donc les effets de spawn jouent émetteur ou non, Laplace fraye en mètre, plutôt à l'emplacement. Donc engendrer un VFX, donc effet visuel à un endroit. Et maintenant, nous pouvons définir l'emplacement de cette sphère. Ainsi, le, le, le VFX, les effets visuels apparaîtront à cet emplacement de cette sphère ici. Mais parfois, le joueur peut être un peu loin de la sphère et il semble un peu trop bon marché. Et il est préférable de trouver l'emplacement du joueur et réellement jouer les effets du joueur. Donc, pour ce faire, nous n'avons pas de variable pour le joueur. Donc, nous allons dire obtient le personnage de joueur juste comme ça. Et nous avons déjà fait une fonction d'interface. Une fonction d'interface. Rappelez-vous que nous avons dit Get Player ref. C' est celui qu'on a fait. Et on peut le connecter. Et en tant que joueur, on peut dire trouver l'emplacement de l'acteur. Et maintenant, nous avons l'emplacement du joueur très facilement. Et maintenant, nous pouvons le connecter. Et maintenant, nous devons jouer un effet. Maintenant, l'effet que je veux jouer est un effet Grenade, et c'est juste un peu de fumée. Donc si je retourne ici et trouve à l'intérieur de l'arme militaire sombre dans les effets, et que je veux utiliser, Essayons ce flash de museau de grenade. Donc je peux faire glisser ce flash de grenade, et je peux le faire glisser à l'intérieur d'ici. Vous pouvez le rechercher ici. En fait, c'est par ici. C' est très facile à trouver, ou vous pouvez le faire glisser et le déposer dessus. Alors maintenant, c'est là. Et moi pour celui qui en fait l'échelle aussi petit, un peu plus grande. Donc, à, à l'effet de tonalité est double que la taille moyenne et tout le reste est bien. Maintenant, cliquez sur Jouer et voir à quoi, à quoi il ressemble. Alors en répondant, oui, alors maintenant ça fait un bruit frappant la fusée. La dernière chose que nous voulons faire est que nous voulons appliquer ce dommage à la couche supérieure. Donc, nous voulons aller à l'intérieur des plans, à l'intérieur du joueur et dans la base des joueurs. Maintenant, nous devons faire un nouvel événement appelé n'importe quel dommage. Evénement, tout dommage, parce que maintenant nous appliquons les dégâts. Ici. Nous appliquons des dégâts. Et maintenant, quand nous appliquerons les dégâts, il déclenchera cet événement ici. Donc, je peux écrire la chaîne d'impression pour que vous puissiez la voir. On va faire ça dans la prochaine leçon. Mais maintenant, vous pouvez voir que c'est dire bonjour chaque fois que je reçois le sien. D' accord, alors maintenant on a fait ça, et maintenant on s'en remet et et on fait la santé pour le joueur.
65. Santé des joueurs: Ajoutons maintenant un peu de santé pour le joueur. Maintenant, nous pouvons aller à l'intérieur de la base des joueurs. Et ici, nous avons fait cela et en cas de dommages. Alors maintenant, faisons un peu de santé. Donc, en créant une variable ici, regardant le Plus, en l'appelant santé. Et nous pouvons changer le type pour flotter parce que c'est une valeur numérique que nous voulons. Et cette santé, nous pouvons définir la santé par défaut pour le joueur est 100. Et maintenant on peut le traîner ici et obtenir de l'aide. Et on peut dire moins. Et nous pouvons moins la santé qui est 100, serait, les dommages du grognement ? Et tu te souviens des dégâts pour le grognement ? Si je retourne ici et que les ennemis grognent, les dégâts pour le sol sont de 25. Donc si, si le joueur est frappé par le grognement, ça va dire 100 moins 25. Et puis nous devons le régler. Donc, en maintenant Alt et en le faisant glisser. Et maintenant, nous pouvons le définir, alors la nouvelle santé sera 75 parce que 100 moins 25 équivaut à 75. Et si le joueur est touché à cette deuxième fois, maintenant le, la santé est 75 moins 25, alors il va être 50. C' est ainsi que vous le faites. Donc, vous avez la variable de santé u moins les dommages de celui-ci, puis vous la définissez à nouveau à cette nouvelle valeur. Ok, donc maintenant on a la santé. Et si vous voulez le voir fonctionner correctement, nous pouvons simplement écrire et chaîne et nous
pouvons imprimer la valeur de cette aide afin que nous puissions voir la valeur de la baisse. Et vous pouvez cliquer sur jouer. Et si nous arrivons ici, vous pouvez voir qu'il est en baisse et qu'il est 0. Maintenant l'assistant va le faire, il va à moins de chiffres et peut-être que vous ne voulez pas vraiment ça. Parfois, il peut être bogué s'il le fait. Et c'est pourquoi nous pouvons utiliser un nœud appelé Clam. Donc, si je fais un clic droit ici et conduit pince, et vous devez sélectionner celui pour le flotteur. Et c'est parce que notre variable de santé est de type float, donc ce n'est pas un entier. Il serait donc plus logique de sélectionner celui-ci avec le flotteur. Et je peux déconnecter ça et le déplacer un peu ici. Donc maintenant, la Santé qui est 100 moins 25 sera 75. Et cette valeur peut réellement ici. Et la valeur minimale pour cela ici, pour cette valeur, valeur de santé, le minimum est 0. Nous ne voulons pas laisser tomber la santé en dessous de 0. Et le maximum que vous choisissez que peut-être votre jeu que vous êtes, vous êtes joueur peut avoir 200 et la santé ne sont que 100. Peut-être que tu peux en avoir 500, c'est à toi de décider. Mais en ce moment, notre joueur n'a que 100 au maximum, donc on peut juste le mettre à 100. Et maintenant, nous pouvons définir cette valeur ici. Donc, ce qui va se passer ici, c'est que le joueur est endommagé et est endommagé par 25 au fil du temps. Et quand le joueur a 0 santé et est endommagé, encore une fois, ne jamais descendre en dessous de 0. Donc ça va être 0 tout le temps. Alors maintenant, je peux compiler, cliquer, Enregistrer et cliquer sur jouer. Et en fait, je dois imprimer la valeur que j'ai oubliée. Donc imprimez comme ça. Et maintenant, nous pouvons imprimer cette valeur et voir ce qui se passe. Donc, en cliquant sur jouer. Et je suis abîmé. Et vous pouvez voir qu'il dit « 0 » tout le temps. Donc maintenant je ne peux pas tomber en dessous, dessous de 0 dans la santé. Ok, donc c'était tout pour la santé. La prochaine que nous pouvons faire est en fait de travailler sur la mort du joueur.
66. Death du joueur: Ok, donc maintenant on peut créer le joueur dans la mort. Donc maintenant ce que nous voulons aller à l'intérieur de la base de joueur et de joueur, et ici avec ça, tous les dégâts et nous avons fait l'enfer. Et maintenant disons ici 1D santé est 0. Donc, si c'est égal, maintenant je peux sélectionner cet égal. Si elle est égale à 0, vous pouvez cliquer sur B pour créer une branche. Et si cela équivaut à 0, nous voulons que le joueur meurt. Donc nous voulons faire un nouvel événement appelé la mort. Et passons à l'interface Blueprint pour la base de joueurs. Et ici, nous voulons faire une nouvelle fonction appelée couche qui compilons et sauvegardons. Et ici, appelons la couche et la mort. Et c'est un appel d'interface ici. Et maintenant, faisons l'événement ici. Donc la mort du joueur. Maintenant, nous faisons l'événement. Donc, quand la, quand la santé de 0, il va lancer à cet événement. Donc, on va coder la fonctionnalité de la mort, de la mort à l'intérieur d'ici. Donc d'abord, je veux le rendre booléen et faire ce booléen appelé B est mort. Donc, comme nous l'avons fait ici dans la base ennemie, si je retourne aux ennemis et à la base ennemie, rappelez-vous que nous avons fait que ce booléen est mort. Et c'est toujours agréable d'avoir un booléen comme ça. Donc, c'est pour le joueur et nous pouvons le faire glisser et connecté et le définir sur true. Donc, au départ, il est faux par défaut parce que le joueur est vivant et quand le joueur meurt, nous pouvons le définir sur true. C'est ça. Donc pour l'instant, nous ne l'utilisons pas pour rien, mais nous allons le faire dans un peu. Mais c'est toujours agréable d'avoir et vous pouvez contrôler les choses quand le joueur est que. Ok, Donc à partir d'ici, quand le joueur est que nous voulons vraiment jouer une animation. Donc, je vais dire glisser ici et dire Play Animation et choisir celui-ci pour le maillage. Maintenant, je peux faire glisser ça vers le bas et maintenant nous pouvons jouer une animation. Et rappelez-vous si je retourne au dossier Assets que j'ai et aux animations des personnages, nous avons ces animations retargeted que nous avons effectivement retargeted au début de ce cours. Et nous avons celui-là appelé la mort. Donc, nous pouvons réellement utiliser celui-ci. Et si je retourne à mon plan, peut minimiser cela un peu et vous pouvez réellement le rechercher. Mais vous pouvez également prendre cela et laisser tomber cela dessus et cela s'appliquera. Maintenant, nous jouons une animation de la mort. Et n'oubliez pas d'éteindre la collision parce que quand vous êtes mort, vous n'avez pas besoin d'entrer en collision avec quoi que ce soit. Vous voulez désactiver cette collision. Donc, en faisant glisser hors de ce maillage et en disant Collision Set. Donc, cette Collision Set Enabled, Je veux le mettre à aucune collision, en prenant ce composant Capsule. Et nous voulons aussi désactiver cette collision pour celle-ci. Donc maintenant, nous avons désactivé toutes les collisions. Et ensuite, je veux prendre le mouvement du personnage et je veux désactiver le mouvement de sorte que le joueur ne peut pas, ou le, le, le joueur peut télécharger, appuyez sur un, W, D, et S et se déplacer. Donc, nous désactivons tout mouvement. Et je vais double-cliquer ici pour faire un nœud de réacheminement. Donc maintenant, nous avons cette fonctionnalité vers le bas et laissez-nous cliquer sur Play et voir ce qui se passe. Donc je minimise ici et tu te fais frapper. Alors maintenant tu es en train de mourir. Il est toujours en train de te briser, même ton père, et tu meurs encore et encore parce qu'ils sont fatigués de voir. Oui, j'ai tiré sur eux tout le cours. Et maintenant ils vont te tuer plusieurs fois. Ok, donc maintenant c'est,
c'est fini et laissez-nous réparer le, l'ennemi vous tuant plusieurs fois. Et c'est parce que nous n'avons pas dit à l'ennemi que vous vouliez arrêter d'attaquer. Et maintenant, nous pouvons réellement utiliser ce booléen mort que nous avons fait. Donc, à l'intérieur de la base ennemie. Souviens-toi qu'on l'a fait appeler joueur d'échecs. Et leur IA se déplacera vers vous et quand ils seront proches de vous, ils vous attaqueront. Donc ici, nous voulons réellement dire à l', l'IA qu'il ne devrait attaquer que si le joueur est vivant. Vous pouvez l'utiliser. Nous pouvons utiliser ce booléen pour le faire. Donc nous, nous n'avons pas vraiment de variable pour le personnage. Nous n'avons pas de référence, mais je peux dire caractère de joueur git. Et nous avons fait une interface, obtient la colère du joueur pour celui-ci, nous avons fait une fonction d'interface. Et ici, nous pouvons dire que c'est ça. Donc maintenant, nous pouvons réellement utiliser ce booléen ici. Et maintenant juste pour la lisibilité, j'aime écrire des noix. Et puis faire cette branche ici. Juste comme ça. Donc maintenant, il est dit que si le joueur n'est pas mort, alors attaque. Mais si le joueur est, ne faites rien. C' est ce qu'il dit en ce moment. Si je l'organise un peu, et maintenant cela devrait fonctionner. Si nous disons alors cliquez sur Play. Tu peux voir quand ils t'attaquent maintenant. Maintenant, ils t'attaquent et ils vont s'arrêter quand tu seras mort.
67. Relief d'arme: D' accord. Il est maintenant temps de faire un vrai chargement pour l'arme que nous avons. Surette Maintenant, nous pouvons tirer munitions
illimitées et nous ne voulons pas vraiment tirer un temps illimité, alors faisons un peu de rechargement. Donc, c'est très simple parce que vous avez déjà fait la plupart des choses. Donc, si nous revenons aux plans à l'intérieur du joueur et de la base des joueurs. Et ici, dans la base de joueurs, nous avons fait cet événement d'armes de feu. Et ici, nous avons trouvé l'arme. Nous l'avons fait au début du cours. Et pour celui-ci, nous voulons vraiment vérifier si le joueur a assez de munitions pour tirer l'arme. Donc, vous pouvez essayer de le faire vous-même si vous le voulez. Je pense que vous pouvez le faire à partir de ce que nous avons appris jusqu'à présent. Si ce n'est pas le cas, faisons-le ensemble maintenant. Donc, pour commencer avec la fabrication des munitions et le rechargement, nous devons faire une nouvelle variable appelée munitions. Et cette fois, il doit être un entier parce que MO est une valeur numérique et nous n'avons pas vraiment besoin de décimales, donc des entiers, le bon. Et maintenant, nous pouvons prendre cette variable de munitions et nous pouvons dire moins moins. Donc, moins moins, il dit Un à partir de la valeur spécifiée, puis définissez-le. Donc, chaque fois qu'on a invité l'arme, ça va dire minus1 sur cette variable. Donc on va soustraire une balle à chaque fois. Et nous pouvons cliquer sur cette variable de munitions, compiler et enregistrer. Et disons moins que la valeur par défaut à 15. Donc, l'arme a 15 balles par défaut lorsque nous commençons le jeu. Donc maintenant, nous pouvons faire une chaîne d'impression, sorte que vous pouvez voir à quoi elle ressemble. Peut enregistrer la chaîne d'impression et connecter cette valeur ici afin que nous puissions l'imprimer à l'écran. Et il est toujours bon de faire une chaîne d'impression afin que vous puissiez réellement voir ce que vous faites pendant le développement. Donc je peux cliquer sur jouer. Et à chaque fois que
je tire, je descends en balles. Mais maintenant, vous pouvez voir que vous pouvez réellement aller en chiffres moins. Et nous ne voulons pas y aller et moins les chiffres. Donc nous devons réparer ça. Et la façon dont nous faisons ça, comme avant, nous devons utiliser une pince pour qu'elle puisse traîner dessus et chercher le labo et celui-ci. Et vous pouvez définir la valeur maximale à 15 car nous avons un maximum de 15 puces. Et vous pouvez définir le minimum à 0 afin qu'il ne passe jamais en dessous de 0. Maintenant, nous devons vérifier si le joueur a assez de balles pour tirer. Donc nous pouvons dire, si cette quantité est, si elle est supérieure à 0, alors allez-y et tirez comme ça. Donc vous devez le connecter ici. Donc, si le joueur a plus de balles que 1000, le joueur peut tirer. Mais si vous avez 0 ou moins, vous ne pouvez rien faire. Donc je peux essayer de jouer ici et je peux montrer 15 fois. Et maintenant, vous pouvez voir que je clique mais je ne peux pas les tirer. Et ça marche. Ok, donc ça marche maintenant et on doit faire le rechargement maintenant. Et pour faire le rechargement, vous pouvez aller de l'avant et écrire la hiérarchie. Mais c'est une mauvaise pratique. Encore une fois, rappelez-vous ce que j'ai dit depuis le début du cours ? C' est si vous avez codé en dur des valeurs comme celle-ci à partir du clavier, le joueur ne sera pas en mesure de modifier cette valeur dans le menu Paramètres pendant le jeu. Donc, tout comme si vous faites la touche W pour courir vers l'avant, le joueur ne peut pas changer cette touche W pour autre chose et le menu Paramètres. C' est donc une mauvaise pratique de coder en dur les touches du clavier comme ça. Il est préférable de le faire à travers les paramètres du projet, juste, comme ce que nous avons fait avec le mouvement. Je vais donc modifier et cliquer sur les paramètres du projet. A l'intérieur d'ici nous avons cette entrée et nous avons
fait ce mouvement ici aussi l'arme de feu ici. Alors faisons un nouveau et disons un rechargement. En cliquant sur ce bouton et en cliquant sur la touche R du clavier, nous l'affecterons automatiquement. Et maintenant on peut retourner à la base des joueurs. Et nous pouvons dire recharger et Osiris une action des clés d'événement qui ferait juste. Et c'est le rechargement. Maintenant, nous voulons recharger et recharger. On veut mettre les munitions mal 215. C' est donc très facile. Tu fais juste glisser ça et tu mets ça à 15. Juste comme ça. Donc, c'est en fait tout ce qui fait. Et aussi envie de jouer une animation. Ça va avoir l'air stupide si on ne joue rien. Nous devons donc jouer un montage d'animation. Donc je peux sortir ce maillage et dire, et M montage et jouer ce montage ici. Et je peux le mettre ici et connecté. Maintenant, nous devons jouer un montage d'animation. Et en fait, je veux la jouer quand elle sera terminée. Donc, quand tu auras fini de mettre le magazine à l'intérieur de l'arme, ça va mettre l'animal à 15, comme ça. Ok, donc on doit jouer un montage d'animation, donc on doit en faire un pour le rechargement. Et si je retourne aux animations,
aux actifs, aux animations des personnages, nous avons celui-ci appelé Reload fusil hip. Donc, je peux cliquer avec le bouton droit sur celui-ci et dire Créer, créer n'importe quel montage. Juste comme ça et on peut l'appeler un rechargement de démon. Maintenant, je peux retourner à mon plan ici et je peux le chercher. Et nous n'avons pas à chercher beaucoup parce que nous n'en avons pas beaucoup. Donc celui-ci, n'importe quel rechargement de montage. Et je peux cliquer sur Enregistrer ici. Et rappelez-vous comme pour le grognement, le montage d'animation ne va pas se montrer. Maintenant, je clique sur R et je suis en train de recharger. Mais ça ne se passe rien. Et rappelez-vous que c'est parce que nous devons aller à l'intérieur de la, le joueur ici et à l'intérieur des plans d'animation. Et à l'intérieur d'ici, allez à l'intérieur du graphique d'animation. Et dans le graphique d'animation, nous devons mettre cette fente ici. Inondations fente par défaut. Et si vous ne l'avez pas, vous ne verrez pas vos montages d'animation. Donc, vous devez connecter ceci. Et si vous cliquez sur Jouer maintenant, vous pouvez voir qu'il est rechargé. Le problème maintenant est que si je marche et recharge, Il va glisser. Nous voulons donc combiner l'animation en cours d'exécution et l'animation de prise de vue ensemble. Et la façon dont nous le faisons, c'est très simple. Donc ici dans le montage d'animation ou l'Inde et le Blueprint d'animation, désolé. Mais le joueur, nous voulons utiliser quelque chose qu'on appelle un pur mélange droit. Vous voyez quelque chose appelé mélange en couches par os. Donc, en cliquant sur celui-ci, vous pouvez mélanger deux poses ensemble. Donc si je déconnecte ça ici, je veux mélanger cette pose de base. C' est donc notre animation de course. C' est le mouvement local par défaut que nous avons. Et laissez-moi le connecter ici. Et la deuxième chose que nous voulons apprendre à mélanger est si je copie ceci et le colle ici et le connecte ici. Donc, je veux, je veux mélanger l'animation en cours d'exécution avec cette animation en cours d'exécution et de rechargement. Donc la façon dont on fait ça c'est qu'on se mélange par os. Donc tu dois choisir ici. Si je le fais glisser ici dans la configuration de la couche, vous cliquez sur cette flèche ici et vous cliquez sur cet index. Et maintenant, vous pouvez cliquer sur ce plus. Et ici, vous devez sélectionner un nom d'os. Alors d'où veux-tu te fondre ? Et peut-être que tu me demandes comment je connais le nom du bot ? Comment je le sais ? Et la façon dont vous savez que c'est si vous allez à l'intérieur des caractères d'actifs et que vous cliquez sur votre machine ischium. Donc c'est la machine que nous avons à l'intérieur d'ici. Vous pouvez voir ces os. Donc, si vous cliquez dessus, vous pouvez voir où vous êtes. Et c'est en fait là-haut. Si cela n'apparaît pas pour vous,
vous avez ici un panneau de détails des actifs et un squelette trois. Et dans cet arbre à squelette que vous montez, peut-être que je ne veux pas de ce squelette ici. Vous pourrez également le voir. Donc, en cliquant sur ces os, vous pouvez voir les os du personnage. Et vous voulez choisir un os où vous voulez fusionner cette animation. Et tu veux le mélanger. Vous pouvez voir ici celle-ci s'appelle la colonne vertébrale 1, et celle-ci s'appelle la colonne vertébrale 2. Et c'est en fait celui dont on veut le fondre. Ainsi vous pouvez, vous pouvez choisir votre propre colonne vertébrale que vous voulez mélanger partout où il semble bon. Mais fondamentalement, le haut du corps est
l'endroit où se produit le rechargement et le haut du corps est d'ici. Donc c'est peut-être trop haut. Donc, en dépit de, il va recharger la fin. Comme si ça allait être le meilleur ici, je crois. Alors. Nous pouvons toujours l'essayer et voir si elle a l'air bien ou non. Nous devons donc sélectionner cet os appelé colonne vertébrale 0, 2. Maintenant, si je retourne à l'Animation Blueprint et que je clique sur celui-ci. Maintenant, dans le nom du bot, nous pouvons écrire os, nos chirurgies de la colonne vertébrale achetant 0, 2, et la profondeur de mélange que nous voulons définir à un. Et la rotation de l'espace maillé se fond. Donc, la rotation, nous voulons mélanger cela aussi. Et ce verset en fait c'est, alors essayons-le en regardant sur Play. Et maintenant, quand je choisis, je peux cliquer sur Recharger. Et vous pouvez voir est recharger pendant que je suis en cours d'exécution et il est en fait assez décent. Ok, donc maintenant ça marche et la dernière chose que nous pouvons faire est en fait d'ajouter un effet sonore. Maintenant, si je retourne à joueur, base joueur, maintenant nous pouvons ajouter un son avec des bactéries pour le rechargement et pour l'effet solaire au lieu de faire chaque année. Ainsi, vous pouvez toujours entrer ici et dire jouer son à cet endroit, et vous pouvez faire le son de rechargement, mais vous pouvez également le rendre plus spécifique et vous pouvez le faire à travers le montage d'animation. Donc, si je retourne ici et cliquez sur les actifs, personnages, les animations, et en cliquant sur ce montage d'animation. Tout comme l'animation attaquante pour la subvention, nous pouvons réellement faire le son de rechargement à partir d'ici au lieu de jouer le son d'ici. Donc si on faisait ça à travers le code, le son, qu'est-ce qui jouerait d'ici en fait ? Et on ne veut pas ça. Nous voulons que le magazine soit entendu. Quand il le sort ici. Et ce que nous pouvons faire ici, c'est que nous pouvons toujours faire une fenêtre de notification. Donc nous pouvons dire sur 9, 25 commencer, vous pouvez jouer le son. Ce que nous pouvons aussi faire autre chose. Donc, nous pouvons cliquer avec le bouton droit ici, faire une notification ajouter, et puis nous pouvons dire jouer son. Donc maintenant, je peux effectivement cliquer dessus et jouer le son que nous voulons. Et si nous revenons pour minimiser cela, et nous revenons à l'arme militaire sombre et sonne. Nous avons le fusil que nous utilisons, et ici nous pouvons utiliser la somme. Donc ce que nous pouvons faire ici, c'est ce rechargement. Je vais donc cliquer dessus et minimiser ou abaisser le volume. Il y a comme ça. Et je vais utiliser ce rechargé, bien recharger, Insert. Et je suis minimum ou abaisse à nouveau le volume. Juste comme ça. Donc je vais utiliser ces deux-là et jouer le son en fait jaunissant. Utilisons les deux. Laisse-moi ouvrir mon montage d'animation. Donc, si je clique sur le son ici et que je minimise
juste un peu pour que je puisse voir ce que le son d'arrivée a été appelé. Donc si je retourne au fusil, je peux utiliser ce cube de rechargement pour l'
enlever du chargeur de l'arme. Donc je peux faire glisser ça et le mettre à l'intérieur du son ici. Maintenant peut entendre est en fait, vous pouvez effectivement l'entendre. Et maintenant, nous voulons jouer un autre son, celui qu'il met ce magazine à l'intérieur de l'arme ici pour que je puisse cliquer avec le bouton droit ici et cliquer sur Ajouter des notes ou le son de lecture de fichier. Et en cliquant sur cela à nouveau, maintenant je peux faire glisser ceci, recharger Insérer ici. Alors maintenant, écoutons ça. Ok, donc un autre vraiment les meilleurs sons qu'on ait, mais ça marche. Et peut-être qu'on veut le faire ici,
peut-être qu'il est trop tôt, juste comme ça. Juste comme ça. Donc c'est comme ça que vous pouvez le faire et que vous pouvez réellement faire de la marche. Les ennemis marchent, sonne comme lorsque vous frappez le sol, lorsque le joueur marche. Vous pouvez également le faire en ajoutant des sons. Donc, quand il est sur ses traces sont frapper le sol, vous pouvez ajouter une note et avertir et ajouter jouer un son pour qu'il frappe le sol. Donc nous pouvons le faire comme ça aussi. Mais je ne pense pas que nous allons ajouter du son ou mettre des pas pour ce jeu parce que nous ajoutons toujours de la musique et il ne sera pas entendu. Donc, c'est comme ça que vous faites le rechargement. Et nous pouvons essayer de cliquer sur le X ici et tout enregistrer. Et maintenant, nous pouvons essayer de cliquer sur Play. Si j'entends. Et je n'ai pas plus de balles et je peux cliquer sur notre OK, donc tout fonctionne maintenant et je peux tirer à nouveau. Et je ne peux plus le faire. Je peux cliquer sur R. Ok, donc ça marche. Et c'était tout ce qu'on avait à faire pour le rechargement.
68. Conception de l'UI: Ok, donc on a fini avec le jeu. Et plus tard, essayons de nettoyer le code et peut-être ajouter quelque chose pour le jeu qui nous manque. Ainsi, par exemple, de la musique dans le jeu. Mais pour l'instant, nous avons fini avec les bases du jeu. Et maintenant, faisons un peu d'interface utilisateur. Donc, la première interface utilisateur que nous allons faire est l'interface utilisateur principale. Donc, pour la santé du joueur des munitions et ainsi de suite. Donc, vous pouvez le voir à l'écran, parce que pour le moment nous avons seulement une chaîne d'impression. Et une chaîne d'impression. Vous ne pouvez pas vraiment voir comme pour le joueur lorsque vous relâchez le jeu, le joueur, la chaîne d'impression est seulement pour le développement de sorte que le joueur ne peut pas le voir. Donc maintenant, nous allons ajouter une interface utilisateur pour que vous puissiez réellement voir que vous êtes détenu, vous pouvez voir vos munitions et ainsi de suite. Ok, et pour ce faire, revenons au dossier de l'interface utilisateur que nous avons créé. Et ici, nous allons cliquer avec le bouton droit de la souris et aller à l'intérieur
de l' interface utilisateur et créer un Blueprint de widget. Et appelons-le WB fait. Donc, c'est l'interface utilisateur principale que nous aurons. Alors maintenant, allons le concevoir. Double-cliquez dessus, et ici dans le concepteur, vous pouvez. Maintenant, ce que nous voulons faire d'abord, c'est qu'il nous faut une bordure ou le joueur, donc un portrait. Et puis nous avons besoin du Health Bar, et nous avons besoin du nom du joueur. Maintenant, j'ai déjà téléchargé quelques ressources pour vous dans le et sous site Web afin que vous puissiez réellement télécharger ces ressources. Et ce que nous voulons faire est de minimiser ce Blueprint Widget. Et laissez-moi ouvrir mon dossier et laissez-nous tout importer. Alors cliquez sur ceci et tout le chemin jusqu'ici. Je pense que l'étoile que nous obtenons la star vient du match précédent, donc nous n'en avons pas vraiment besoin. Et faisons juste un nouveau dossier ici appelé assets. Laissons tout tomber à l'intérieur d'ici. Donc je vais les traîner et les déposer dans la salade ici. Juste comme ça. Donc ce que nous voulons faire à l'intérieur du Blueprint Widget que nous avons ouvert. Nous voulons utiliser cette image comme portrait ou celle-ci réellement pour les robots. Donc, ce que nous voulons faire est d'utiliser une image ici. Donc, en utilisant une image et celle-ci, nous pouvons changer. Mais rappelez-vous que vous devez penser à l'interface utilisateur, comme quoi, qu'essayez-vous de créer ? Donc nous essayons de créer cette frontière. Nous essayons de créer le nom du personnage. Et ci-dessous est la barre de santé. Et si vous avez besoin de ces éléments ensemble, vous ne pouvez pas vraiment venir ici et mettre l'image et ensuite vous avez le texte comme nom. Il y a maintenant, ils vont être des éléments séparés. Et imaginez plus tard si vous voulez changer votre interface utilisateur, vous allez changer le placement de ceux-ci. Donc, vous ne voulez pas changer le placement de ceci et ensuite vous devez changer le placement est et puis le placement de la barre de santé, cela va vous prendre beaucoup de temps. Tu vas perdre beaucoup de temps. C' est pourquoi nous pouvons réellement le mettre à l'intérieur de boîtes horizontales et de boîtes verticales. Donc si j'essaie avec la boîte horizontale, donc si je la place à l'intérieur d'ici. Donc maintenant, nous avons cette boîte horizontale que nous pouvons mettre des éléments à l'intérieur de. Donc nous pouvons commencer par l'image. Donc, si je cherche l'image et je la mets ici sur la boîte horizontale et voir maintenant nous avons l'image. Et puis je peux mettre, maintenant, vous pouvez, par exemple, mettre du texte et vous pouvez voir à quoi il ressemble. Maintenant, il est en fait de mettre le texte, par exemple, le nom du robot, ce côté du nom du joueur ici à côté du portrait. Donc maintenant, vous n'avez qu'à déplacer cette boîte horizontale pour tout déplacer ensemble au lieu de déplacer chaque élément lorsque vous essayez d'ajuster les choses. Maintenant, nous avons besoin d'un nom et d'une barre de santé juste sous l'autre. Et au lieu de simplement mettre une texture, nous devons d'abord mettre une boîte verticale. Donc mettre un bugs verticaux sur le dessus de la boîte horizontale. Donc maintenant, vous pouvez voir que c'est la boîte verticale en fait à l'intérieur de la boîte horizontale. Et maintenant, nous pouvons mettre un nom sur le dessus et la barre de santé en bas. Donc, en ajoutant un texte à cette verticale, bogues comme celui-ci, nous pouvons rechercher des progrès et ajouter cette barre de progression. Et nous pouvons le laisser tomber sur les bugs verticaux ici aussi. Donc maintenant vous pouvez voir que nous avons ces éléments, mais ce n'est pas beau parce que nous ne les avons pas vraiment conçus. Donc, si vous cliquez sur cette boîte verticale ici, vous pouvez effectivement cliquer sur Remplir. Donc maintenant, il va remplir toute la boîte verticale ici. Donc c'est la taille de celui-ci. Donc, si vous cliquez sur Auto, il va seulement remplir ceci ici pour cliquer sur Phil va
mettre ici la même chose que vous pouvez réellement faire avec l'image. Vous pouvez donc cliquer dessus et cliquer sur Remplir si vous voulez savoir qu'ils
vont diviser cette boîte horizontale en deux. Donc la moitié de l'image et la moitié est cette boîte verticale. Et vous pouvez l'essayer. Ceci, c'est assez difficile comme quand vous, quand vous n'êtes pas habitué à travailler avec l'interface utilisateur. Il est assez difficile parfois de réaliser que vous devez utiliser auto ici ou cliquer sur Remplir. Ou l'image devrait juste être aussi et ne pas remplir et ainsi de suite. Mais essayons d'insérer dans les images et nous pouvons effectivement obtenir, il sera plus facile. Puis ces blocs ici. Donc, en cliquant d'abord sur cette image, je vais cliquer sur ce pinceau. Et ici, nous pouvons réellement ajouter l'image. Donc si je clique dessus, ouais, on a trop de choses, donc il vaut mieux juste le faire glisser. Donc je vais faire glisser cette image de robot sur le dessus, juste comme ça. Et maintenant, nous avons ceci. Maintenant, vous pouvez voir que c'est la taille de l'image et non, et j'édite la taille. Ça ne change rien. Et c'est parce que nous utilisions le film. Si j'auto jeunesse, vous pouvez voir à quoi ça ressemble maintenant. Et maintenant, vous pouvez réellement changer la taille. Alors utilisons l'auto pour celui-là. Donc, en fin de compte, vous pouvez juste ajuster cette image ici et vous pouvez voir ici à partir de l'effet comme sur la boîte horizontale. Et si je l'échelle maintenant, ça va évoluer avec ça, avec cette année. Donc, il va mettre à l'échelle l'image. Et c'est parce que vous avez un alignement vertical. Si je clique sur le dessus ici et que je réduit réellement la taille, vous pouvez voir qu'il est en fait réduire la taille. Mais si vous avez cet alignement vertical sur le remplissage ici verticalement, peu importe la taille que vous changez ici. Alors rappelez-vous, ceux-ci sont très importants. La taille, si elle est remplie ou non, ou si elle est alignée verticalement ou horizontalement. C' est donc très important de jouer avec. Et je pense que c'est bon pour moi d'aligner verticalement ici. Donc, si je réinitialise cela et que je réduis juste cela à quelque chose, et laissez-moi juste réduire la taille de cette boîte horizontale. Donc, je vais le pousser ici et juste finalement essayé de jouer avec la taille que cela va être. Donc peut-être quelque chose comme ça. Et en conséquence, je peux effectivement cliquer sur l'image ici et réduire la taille x. Et je veux juste que ça ait l'air bien pour qu'il ne soit pas extensible ou quoi que ce soit. Donc juste comme ça. Ok, donc maintenant nous devons jouer avec le texte ici et appelons ça M. robot. Je ne sais pas, nom très créatif. Et nous pouvons changer cette police ici pour ce Montserrat que nous avons utilisé auparavant. Alors, monsieur. Robot. Et ce que nous pouvons faire avec cela maintenant, c'est que vous pouvez voir que c'est,
c'est, c'est très proche de cette image, donc nous voulons repousser un peu le texte. Donc, en cliquant sur cette vésicule bugs, vous avez quelque chose appelé rembourrage ici. Et ce rembourrage, vous pouvez penser, d' où voulez-vous le pousser ? Donc je veux le pousser, pousser de la gauche. Donc je vais ici à gauche et en écrivant dix par exemple, on peut voir qu'il est emporté. Et parfois j'aime voir des choses sans ces lignes pointillées pour mieux les voir. Donc, je vais cliquer sur ça ici. Cela active ou désactive les lignes pointillées. Donc tu peux le voir comme ça. Et je pense que je vais le repousser plus loin. Alors peut-être que c'est un onesie. 20, c'est mieux pour moi comme ça. Et je peux cliquer sur cette barre de progression. Maintenant, nous devons mettre cette barre de progression à quelque chose. Et en fait pour ce cas, ajoutons une ombre. Peut-être que ce n'est pas visible à l'intérieur du jeu. Donc je vais entendre dans l'ombre bouleverser. Nous pouvons en fait, avant de le
faire, appliquer l'ombre. Donc ici, dans la couleur de l'ombre, nous avons cet Alpha, et c'est à quel point il est visible et invisible. Donc 0 est invisible. Et si vous écrivez un, les ombres visibles. Et vous pouvez voir que c'est très, très léger. Et nous pouvons réellement rendre le, le rendre plus grand en changeant le décalage d'ombre à 33, par
exemple, vous pouvez voir maintenant que nous avons l'ombre. Donc maintenant j'ai Mr robot et vous pouvez toujours ajouter un alignement, donc un contour. Donc, ces paramètres de contour ici, vous pouvez changer la taille à un, par exemple. Maintenant, nous avons ce texte et vous pouvez cliquer sur cette barre de progression. Et faisons quelque chose avec ça. abord, nous devons cliquer sur le style ici, et ajoutons une image et une image d'arrière-plan. Et l'image de fond, je veux finalement que ce soit cette couleur sombre. Donc je vais faire glisser ça à l'intérieur du, celui-ci ici. Et maintenant, c'est correct. Maintenant peut voir la couleur est incorrecte même si vous avez configuré correctement. Et si vous descendez ici et la barre de progression, donc si vous faites défiler vers le bas, vous avez ce remplissage, couleur et opacité. Et je vais juste cliquer sur cette flèche, donc elle va être blanche à nouveau, je ne veux pas que ce soit, je ne veux pas qu'elle soit bleue. Alors pourquoi ça va pour moi ? Parce que si vous le coloriez avec des couleurs différentes, ça va mal paraître ici. Donc, l'ayant la couleur blanche par défaut ici. Et maintenant, nous pouvons définir l'image de remplissage et l'image de chapiteau. Donc, ce sont le chargement dans la barre de progression. Et fondamentalement, la santé pour moi est rouge. Donc, je vais faire glisser ceci à l'intérieur de cette image de remplissage ici et à l'intérieur de l'image de la tente de réception, juste comme ça. Et maintenant vous pouvez voir si je reviens à ce que nous trouvons ici, le pourcentage, si je l'augmente, vous pouvez maintenant voir que ça augmente et diminue la santé. Maintenant, c'est plutôt cool. Nous avons une barre de chargement maintenant sont notre barre de progression plutôt. Maintenant, vous pouvez voir que la couleur est encore un peu mal. C' est donc très sombre. Ce n'est pas la même couleur que celle-ci. Nous devons donc changer cela et c'est fondamentalement la couleur à nouveau. Donc, en cliquant sur cette teinte, vous pouvez voir ceci est l'image de fond que nous
avons et les offres noires et nous ne voulons pas cela,
nous voulons que ce soit des blancs par défaut. Donc je vais augmenter cette année et la rendre blanche. Et je peux vous voir maintenant, nous avons la bonne couleur en fait. Donc, ça a l'air un peu trop énorme. On ne veut pas que ce soit aussi grand ici. Donc, je vais cliquer sur cet alignement ici pour que vous puissiez voir si vous modifiez l'alignement, il va changer. Et fondamentalement aussi avoir à changer la taille de l'image. Donc ici dans le Y, peut-être que si vous êtes à 50 ans et que vous devez aussi le faire pour ceux-là. Et vous pouvez voir qu'il diminue. Nos 50, c'est 2, tu le ferais toujours ,
alors peut-être que je veux ,
si je retourne ici, peut-être retournons à 25. 25 serait bien. Donc je vais tout changer pour 25 ans, juste comme ça. Et quand je veux faire maintenant est de rendre celui-ci un peu plus grand parce que c'est très petit. Donc, en cliquant sur cette barre de progression, je peux cliquer sur cet alignement horizontal. Je peux le remplir dans toute cette zone comme ça. Et on peut la déplacer vers le bas si tu veux. Vous pouvez également le déplacer en bas ici si vous le souhaitez. Mais rappelez-vous que si vous le déplacez vers le bas, vous pouvez voir que rien ne se passe. C' est parce que vous devez cliquer sur Remplir. Donc très important de jouer avec la taille ici, le remplissage et ces alignements. Mettons le tout au milieu. Donc, en cliquant sur la boîte verticale, au lieu de cliquer sur cet alignement vertical, je vais cliquer sur le milieu ici, donc tout est au milieu. Et nous pouvons toujours repousser ces deux là l'un de l'autre pour que je puisse cliquer sur le texte. Et ici, dans le rembourrage en bas. Je voulais donc le souhaiter loin du fond. Je vais écrire 20 ou 10, 15. Ouais, ça a l'air beaucoup mieux. Donc nous allons utiliser cette année. Et maintenant, vous pouvez voir les pourcentages qui fonctionnent et cela semble bien. Très bien, donc c'était l'image des personnages principaux ici, et peut-être que c'est trop énorme. Nous devons le tester dans le jeu, mais c'est bien pour l'instant. Ensuite, nous devons faire l'interface utilisateur pour l'ennemi. Donc, encore une fois, vous pouvez utiliser une boîte horizontale, et c'est très simple. On n'a pas besoin d'un bar de santé. On va utiliser cette boîte horizontale. Et en passant, si vous voulez changer les noms ici, il est
donc plus visible ou plus organisé pour vous. Vous pouvez cliquer sur cette boîte horizontale et vous pouvez changer le nom ici, peut-être HB pour les bogues horizontaux, et vous pouvez simplement l'appeler joueur. Alors maintenant, vous pouvez voir ce que c'est. Et pour celui-ci, vous pouvez l'appeler ennemi HB. Et pour cette boîte horizontale ennemis, je veux le mettre ici de l'autre côté de l'écran ici. Et encore une fois, nous voulons ajouter une image pour les portraits. Et nous voulons ajouter du texte. Juste comme ça. Je veux les changer. Changez-les ici pour que l'image soit à droite et que le texte soit à gauche. Et encore une fois, nous voulons cliquer sur ce pinceau et ajouter cette image ici, l'image 4k. Et le suivant, celui-ci, ce texte va, ça va être dynamique. Donc, cela va vous dire combien d'ennemis vous avez sur la carte. Disons donc 15 par 4. Maintenant, cela va changer dynamiquement. Donc en ce moment, j'écris juste un numéro pour visualiser à quoi il ressemble en ce moment. Ok, donc ça a l'air un peu, un peu bizarre. Donc, nous allons en fait cliquer sur remplir ici. Alors cliquez sur Remplir et nous pouvons cliquer sur la boîte horizontale et réellement jouer avec elle. Donc quelque chose comme ça. Et je peux juste ajuster l'image ici comme ça. Et vous pouvez toujours le définir à côté des couches en âge et vous pouvez réellement essayer de les faire de la même taille ici. Donc si je l'augmente juste comme ça, et c'est comme ça, ok, ça va bien. Donc, nous voulons juste faire quelque chose de très, très simple. Donc quelque chose comme ça. Et je veux faire le texto. Donc, ce texte ici est très bien. C' est, c'est 2004 et la taille de celui-ci est aussi de 24. Nous pouvons le mettre au milieu ici et l'alignement central verticalement. Et nous pouvons changer le texte en gras Montserrat. On peut ajouter de l'ombre. Donc 33, juste comme avant de mettre l'Alpha à un. Et ici, nous pouvons un aperçu. Donc, le plan pourrait être un ici. Et maintenant, nous avons ce texte. Maintenant on peut changer, on peut le repousser ici pour que je puisse cliquer sur le texte. Et dans le rembourrage à droite, nous voulons le repousser des droits. Pour que je puisse écrire 20. Juste comme ça. Vous pouvez voir qu'il repousse cette image, c'est bon. En fait, je vais aussi changer la taille de celui-ci. Je pense que c'est trop petit. Peut-être 40, juste comme ça. Et nous pouvons essayer de nous éloigner juste comme ça à nouveau, juste redimensionner la boîte horizontale à nouveau. Donc quelque chose comme ça. Maintenant, nous avons le numéro et l'image. Ok, donc c'est bien pour l'instant. N' oubliez pas que nous allons ajouter la fonctionnalité dans la prochaine leçon. ce moment, nous sommes juste en train de concevoir. Et la dernière chose que nous voulons faire est en fait les munitions et le rechargement. Donc, en bas, je veux que les munitions s'affichent. Et ce que je veux fondamentalement une image de fond. Et je veux l'icône de la puce, et je veux la quantité de balles. Je veux chercher une superposition. Et c'est ainsi que vous traitez les images d'arrière-plan. Tu mets une superposition comme ça. Je vais faire glisser cette superposition d'ici et la faire glisser vers le bas ici pour que je puisse le voir comme ça. Vous mettez une superposition, puis vous mettez une image dessus. Et puis la superposition est fondamentalement, vous pouvez. Lei, images de lei et éléments sur l'autre. C' est exactement ce que ça veut dire. Et cette image, je veux remplir toute la superposition. Je vais donc cliquer sur cet alignement horizontal et l'alignement vertical. Maintenant, il remplit toute la superposition. Je peux changer cette image ici, l'image de fond à cette couleur noire ou ce bouton sombre. Mais en regardant quelque chose. Donc changer ici, mettre l'image au-dessus d'ici. Maintenant, vous pouvez voir que c'est le fond pour cela. Et ce que je peux faire avec ça, c'est si je le redimensionnais et le fais paraître un peu mieux. Maintenant, ce que je peux faire, c'est mettre l'icône sur le dessus d'ici. Nous voulons l'icône de puces et nous voulons la quantité de balles. Donc nous voulons une boîte horizontale. Donc, la recherche d'un horizontal, déposant sur le dessus de la superposition. Maintenant, nous pouvons rechercher l'image, déposant sur le dessus de la boîte horizontale. Et nous voulons aussi le texte au-dessus de la boîte horizontale, comme ça. Et encore une fois, pour la boîte horizontale, nous pouvons réellement faire l'alignement vertical et horizontal comme ça. Maintenant, nous pouvons faire, nous pouvons cliquer sur l'image et insérer l'icône ici. Les puces d'icône en haut de cette image ici. Et pour ce texte, nous pouvons le changer à nouveau. Deux mois sont arrivés en gras. Tout comme ça, peut réellement changer ce texte
pour dire, par exemple, huit sur 15. Et nous changerons cela dynamiquement plus tard. instant, je veux juste l'écrire pour que je puisse le voir visuellement. Et c'est la quantité de balles que vous avez et la quantité de balles qui est dans votre magazine au total, comme ce que vous avez commencé avec. Et cette icône. Maintenant, en ce moment, il se remplit horizontalement et verticalement, et je ne veux pas ça. Donc je vais cliquer sur ces deux-là. Et maintenant, nous pouvons ajuster ces tailles ici. Ainsi, vous pouvez ajuster la taille et voir ce qui vous semble bien. Et je ne veux pas quelque chose de trop grand. Donc quelque chose comme ça ici. Et celui-là aussi. Vous pouvez le mettre au milieu et vous pouvez ajouter un peu de rembourrage à gauche. Donc, en disant 15 par exemple. Donc, ce n'est pas trop près de l'icône ici. Et maintenant, vous pouvez cliquer sur cette boîte horizontale. Et en fait, au lieu de remplir horizontalement et verticalement, vous pouvez le mettre maintenant au milieu de cette année. Donc, nous le mettons au milieu de cette superposition. Maintenant, je peux redimensionner cette superposition et essayer de la rendre belle. Maintenant, ajoutons de l'ombre ici. Je pense que ça va être un peu mieux. Donc, dans la couleur de l'ombre en cours d'un ici, et je peux écrire 22, donc juste une légère couleur. Et aussi une superposition ou un contour. écrivant un ici. Donc quelque chose comme ça. Et vous pouvez voir que l'icône est un peu loin ici. C' est donc ce que vous devez faire dans Photoshop. Vous devez ajouter des ombres et ainsi de suite. Mais c'est bien pour l'instant pour nous. Et si vous voulez styliser votre interface utilisateur, par
exemple, je peux juste vous montrer un exemple. Si vous voulez le styliser un peu, peut-être que c'est un peu ennuyeux en arrière-plan. Et cette superposition, rappelez-vous que vous pouvez mettre des choses l'un sur l'autre pour que je puisse ajouter une autre image ici sur la superposition. Et au lieu de le mettre ici en bas, je peux en fait le mettre ici sur le dessus, juste en dessous ou juste au-dessus de la boîte horizontale. Et je peux le remplir horizontalement et l'aligner en bas ici. Et je peux y ajouter ce carré rouge. Et maintenant je peux réduire la taille dans le y, donc je peux le réduire. Et l'action fait juste une petite ligne ici. Donc, c'est juste une petite chose, cool, stylisée. Je peux juste l'avoir comme mon interface utilisateur juste comme ça. Et je peux déplacer cette superposition et essayer de la redimensionner. Et comme ça vous plaît, juste comme ça. Je pense que ça va bien maintenant. Donc c'est le menu que j'ai. Nous avons le joueur et l'enfer, nous avons la quantité d'ennemis qui sont à l'intérieur du niveau. Et nous avons la quantité de balles pour quand vous tirez.
69. Fonctionnalité principale UI: Bon, alors maintenant que nous avons fini avec l'interface utilisateur principale, allons de l'avant et coder la fonctionnalité à l'intérieur de celui-ci. Donc, ce que nous voulons faire, Revenons à l'interface utilisateur et que les actifs précis et l'interface utilisateur cliquera sur le principal WB. C' est donc l'interface utilisateur principale que nous concevons. Et à l'intérieur d'ici. Et commençons par le Health Bar. Donc nous allons coder cette barre de santé, et en fait je veux changer le nom de la barre afin que nous sachions ce que c'est. Donc je vais à je l'appelle habituellement Prague ou barres de progression, mais c'est juste ma convention de nommage. Vous pouvez le faire comme vous le souhaitez. Prague et moi allons juste appeler ça la santé ou la santé des joueurs est comme ça. Et je vais aller à l'intérieur du graphique. Donc, dans le graphique, c'est là que nous codons réellement la fonctionnalité. Donc c'est connu pour vous. C' est comme si le joueur contrôlait notre mode de
jeu ou n'importe quelle classe Blueprint que nous avons. C' est là que nous codons la fonctionnalité. Donc, je vais passer le curseur sur tous ces, sélectionnez-les et cliquez sur Supprimer juste pour les supprimer. Et vous pouvez voir que vous avez quelques variables pour les éléments que vous avez créés. Et fondamentalement ces images, nous ne les voulons pas vraiment en tant que variables parce que nous ne allons pas les utiliser. Donc, si vous voulez nettoyer votre code ou nettoyer, nettoyer votre projet, vous pouvez cliquer sur ces images et vous pouvez voir en haut qu'il dit est variable et ceux-ci ne changeront jamais dans le jeu. Donc, je vais supprimer ceci est variable et cet arrière-plan ici. Donc, vous avez un peu de travail de nettoyage lorsque vous faites le projet, je vais cliquer sur cette icône aussi bien. Et un composé sauver. Et tu peux y retourner et c'est un peu plus propre à regarder. Donc, ce que vous voulez fondamentalement faire est si vous sortez cette barre de progression et la mettez ici, la variable. La chose que vous voulez faire, si vous cliquez sur la barre de progression, vous voulez fondamentalement changer ce pourcentage. Nous voulons donc changer ce pourcentage en fonction de l'aide que le joueur a. Donc maintenant, je vais le mettre à 0 ou en fait à 100. Par défaut, bien que ce soit le parasol 1 et c'est le pourcentage. Donc, si je vais ici et dire que si je traîne loin de ça et que je dis pour cent, vous pouvez dire qu'il est écrit « Définir pour cent », c'est
ce que nous voulons faire fondamentalement. Et je veux faire un nouvel événement ici. Je ne pouvais pas créer une nouvelle interface Blueprint juste pour le menu principal, mais je ne veux pas, ce sera trop d'interfaces Blueprint et en fait jamais les faire pour les menus. Donc ici, je peux juste faire un événement personnalisé et nous pouvons l'appeler ensembles. santé des joueurs va comme ça. Et on peut le connecter. Et nous voulons essentiellement une contribution ici. Si je clique dessus, je veux ajouter une entrée. Et appelons ça aide. Et je veux être, je veux que ce soit un flotteur ici. Et je peux le connecter ici dans la Santé. Donc, il va afficher l'aide. Et ce que nous voulons faire maintenant, c'est que nous voulons définir la santé PLOS partout où le joueur est endommagé. Donc, si je minimise cela et je peux effectivement cliquer sur le joueur et la base du joueur. Rappelez-vous, dans l'espace
pleural, écrivons ceci. Cela a l'air un peu désordonné et nous avons besoin d'une leçon, en fait juste trop de nettoyage. Donc nous avons fait celle-là appelé n'importe quel dommage. Et ici, les joueurs obtiennent des coups et endommagés. C' est donc la nouvelle valeur de santé que nous définissons et voulons
réellement afficher cette santé sur la valeur dans le menu. Mais d'abord, ajoutons le menu à l'écran, sorte que l'interface principale, principale. J' aime donc ajouter mes menus via le contrôleur de lecteur ici. Donc, en cliquant sur le contrôleur de joueur, et à l'intérieur du graphique d'événements, nous avons ce début de jeu, et nous sommes tous vraiment ajouter cette interface utilisateur Wave. Donc, je veux également ajouter l'interface utilisateur principale. Donc, ici dire crée des widgets. Et à l'intérieur d'ici, nous pouvons sélectionner le WB principal. Et je peux cliquer avec le bouton droit de la souris et promouvoir à une variable, appeler WB main. Et je peux l'ajouter au port de vue tout de suite. Donc, je peux voir et faire glisser de cela et dire à la clôture. clôture comme ça. Et si je compile et enregistrer et cliquez sur Play, peut maintenant vous voir. Nous avons l'interface utilisateur principale à l'intérieur de l'écran, et maintenant nous avons quelques bugs. Vous pouvez voir qu'il ne s'aligne pas correctement et c'est toujours bon de l'ajouter à l'écran afin que nous puissions voir à quoi il ressemble. Et on peut arranger ça assez vite. Donc, si je retourne au dossier de l'interface utilisateur ici, en cliquant sur l'interface utilisateur principale, et je retourne au concepteur. Je peux cliquer sur cette boîte ennemie et horizontale. Et nous devons changer cette ancre. Donc c'est ce que j'ai oublié. Je dois changer cette ancre de ce côté de l'écran. Je peux vous montrer à quel point ces ancres sont importantes. Parce que c'est ici où l'interface utilisateur devrait être, comme lorsque vous minimisez l'écran et modifiez la taille. Et pour celui-ci, l'ancre devrait être en bas. Tout comme ça, je peux compiler et cliquer sur Play et vous pouvez réellement voir maintenant qu'ils s'alignent correctement. Donc très important de régler les ancres correctement. Maintenant, l'interface utilisateur s'affiche et tout va bien. Les tailles. D'accord ? Maintenant, ce que nous voulons faire est de retourner au joueur ici, base de joueurs. Maintenant, nous voulons définir le pourcentage ici dans le graphique. Nous voulons définir ce pourcentage, donc définir la santé du joueur à l'intérieur de la WB principale. Maintenant, nous avons une référence à cela. Maintenant, à l'intérieur de la manette du joueur, nous venons de créer ceci. Donc, ce que je dois faire à l'intérieur de la base de joueurs ici, je veux faire un début de jeu si nous n'en avons pas déjà et nous ne voulons pas sauver le jeu de début. Et ici, nous pouvons dire qu'il obtient contrôleur joueur. Et avec celui-ci, nous pouvons dire obtient contrôleur joueur href. Nous avons déjà fait de cette interface Blueprint quelques leçons il y a. Et on peut le connecter. Et à partir de là, nous pouvons réellement avoir accès à ce WB principal. Donc ici, je peux juste cliquer avec le bouton droit sur cette loi de contrôle de la plaque et promouvoir cela à une variable. Et je peux l'appeler contrôleur de joueur, comme ça. Et maintenant, nous avons une référence à ce contrôleur. Donc, c'est maintenant très facile. On peut descendre ici, prendre ce régulateur de flux, et on peut maintenant utiliser le WB principal, obtenir ce WB principal. Et à partir de là, nous pouvons réellement appeler cet événement de la santé des colons de l'euro. Donc, nous pouvons dire définit la santé des joueurs juste comme ça. Et laissez-moi enlever ou non, mais déplacez ça ici. Et nous devons d'abord le connecter à travers le code. Et nous pouvons également relier cette valeur de santé à l'intérieur d'ici. Donc quelque chose comme ça. Et je peux le mettre ici pour le rendre meilleur et essayer de l'organiser le mieux possible. Donc quelque chose comme ça. Donc maintenant, nous sommes en train de définir cette valeur de santé. Maintenant rappelez-vous si vous revenez à la WB principale ici, et vous descendez à la barre de progression ici. Et tu descends au pourcentage. Rappelez-vous que le pourcentage va de 0 à un, Il ne va pas de 0 à 100. Donc c'est quelque chose que vous devez penser parce que maintenant votre santé est de 100. Et ça veut dire que c'est un ici, sur le bar. Nous devons donc diviser le nombre détenu par 100 parce que quand vous en avez 100, la santé est en fait 1 et non 100. Revenons au graphique ici. Et dans le domaine de la santé, je veux le diviser par 100 avant de le mettre à l'intérieur du pourcentage ici, juste comme ça. Et maintenant, si je sauve ici et que je clique sur jouer et je vois ce qui se passe. Vous pouvez vous voir quand on se faisait frapper, maintenant on perd 25 points de santé, perdant à nouveau. Et maintenant je suis mort. Donc maintenant, il fonctionne comme il est censé le faire. Ensuite, nous voulons compter le nombre d'ennemis dans le niveau. Et rappelez-vous, je peux vraiment aller à l'intérieur des plans et à l'intérieur du mode jeu. A l'intérieur d'ici, nous avons créé cette variable appelée poètes NME, et c'est en fait ajouter tous les ennemis. On l'a fait il y a quelque temps. Vous pouvez vous référer si vous ne vous en souvenez pas. Mais nous avons essentiellement fait un tableau qui rassemble toute la quantité d'ennemis que nous avons dans le niveau. Donc, fondamentalement, nous avons besoin de la longueur de cette variable. Donc, si je retourne à mon interface utilisateur et à l'interface principale ici, je peux cliquer sur ce numéro. Et celui-ci, vous pouvez simplement l'appeler TXT, montants NME. Et n'oubliez pas de prendre ceci est variable car ce n'est pas une variable par défaut. Donc, cliquez sur ce composant Enregistrer, et ici dans le graphique et maintenant le voir comme une variable. Faisons un nouvel événement et un événement personnalisé. Appelons ça définir des montants NME. Et ici, nous voulons utiliser cette variable de texte qu'il peut prendre ici. Et si vous écrivez du texte, vous pouvez voir quelques choses que vous pouvez faire. Et fondamentalement, nous voulons définir le texte, donc setText comme ça et connecté. Et nous voulons fondamentalement le mettre à la quantité d'ennemis. Ce que nous pouvons faire ici, c'est que nous pouvons fondamentalement ajouter une nouvelle entrée, tout comme ce que nous avons fait ici. Une autre chose cool que vous pouvez faire est que vous pouvez réellement glisser ceci et le mettre sur le dessus de l'événement. Et vous pouvez vraiment le voir. Ultimate crée automatiquement une variable pour vous. Et appelons ses montants ennemis. Si je peux épeler comme ça. Et nous voulons appeler cet événement à travers la base ennemie. Donc, si je retourne à l'ennemi et n'importe quelle base ici, nous avons celui-ci appelé retiré, parce que chaque fois que vous tuez sur le nombre d'ennemis ici, il va diminuer d'un et nous voulons le mettre à l'intérieur du bouton Supprimer. Donc à l'intérieur d'ici, nous avons besoin d'une référence au contrôleur du joueur. Donc je vais juste l'ajouter ici, en fait, juste après, après les modes de jeu, je vais bouger ça un peu. Et au lieu d'ici dire obtient contrôleur de couche, puis obtient couche. Réf du contrôleur, comme ça. Et ici, nous voulons faire un clic droit favorise une variable, appeler labo sur polaire. Et maintenant, nous avons une référence au contrôleur du joueur. Et je peux le rapprocher un peu. Et ce que nous pouvons faire maintenant que nous avons une référence à ce que je peux faire maintenant, c'est de passer à l'obligation de suppression. Et ici, je peux prendre le contrôleur du joueur et je peux prendre la référence à l'interface utilisateur principale. Et à partir d'ici, je peux maintenant appeler l'événement appelé définir le montant ME. Donc, par ici, je vais dire mis en montant MOI. Je vais tout déplacer vers le bas pour qu'on ait plus d'espace pour travailler. Juste comme ça, tout bouger vers le bas. Et je peux déplacer ça ici. Et maintenant, nous avons plus d'espace pour travailler. Et je peux pousser ça, mais plus loin. Et maintenant, nous pouvons définir le montant de l'ennemi et ce qui est alors le montant ? C' est essentiellement la longueur de cette variable ici, ce tableau. Donc je peux prendre cette longueur et la mettre à l'intérieur d'ici. Et il va automatiquement convertir l'entier texte et le mettre
à travers cette information. Maintenant, je peux essayer de cliquer sur Play et voir ce qui se passe. Pour qu'on puisse jouer. Maintenant, je dis en gros 15. Et je pense que Tololwa. Maintenant, ça dit 14. 13 et sur la dette parce qu'ils m'ont écrasé. Et je crois que c'est un peu bogue depuis le début. Modifiez, modifiez le nombre ici. Donc, si je vais à main et que je change ce numéro ici, je change à, disons 12. Ok, voir maintenant dire 12. Et si je devais socialiser 14 maintenant, et ce n'est pas correct parce que rappelez-vous dès le début que nous
ne fixons pas la quantité de pons ici,
les étangs ennemis, parce que nous ne le fixons que quand nous en tuons un. Nous devons donc le faire dès le début aussi. Donc, à l'intérieur du mode de jeu, quand nous avons créé ces ennemis, nous voulons vraiment, nous voulons l'ajouter ici où nous ajoutons les ennemis. N' oubliez pas de le faire ici aussi. Donc, je peux aller ici et commencer à jouer et faire la même chose, obtenir contrôleur joueur. Donc vous pouvez voir qu'on fait la même chose encore et encore. Et nous devons le faire pour mettre en place le code. Mais une fois qu'il est mis en place, nous pouvons en fait l'utiliser beaucoup plus rapidement qu'avant. Donc, en disant contrôleur de joueur ici, ayant cette variable, maintenant nous pouvons utiliser cette variable ici, en prenant ce contrôleur noir, ayant une référence à l'interface utilisateur principale. Et à partir de là, nous pouvons dire le montant de l'ennemi fixé. Définit donc les montants NME. Je peux faire glisser ça ici et je peux le mettre ici. Je peux éloigner ça un peu plus loin. Donc juste comme ça, et encore une fois, nous utilisons la longueur de celui-ci et nous pouvons faire glisser cette longueur et la mettre à l'intérieur de cette quantité. Et nous devons déplacer cela un peu plus loin pour qu'il ne soit pas empilé l'un sur l'autre. Juste comme ça. Organisons-nous un peu quand vous dites que c'est correct. Alors cliquez sur compiler et nous pouvons cliquer sur Play. Voyez qu'il ajoute maintenant la quantité d'ennemis. Et un bug que je peux voir est que si je clique sur Play, vous pouvez réellement le voir dire 0 et je clique sur jouer, en fait pas 0. C' est dire 12, le montant que nous avons réellement fixé, si je clique sur Play, on peut voir ça dit 12 avant que ça ne compte. Donc c'est un petit bug que nous avons et nous pouvons juste aller à l'intérieur de la principale ici et en cliquant sur ce nombre et en écrivant 0 pour commencer. Mais maintenant un autre bug que nous avons, vous pouvez voir que l'image est en quelque sorte poussé lorsque le compteur est en cours. Donc, ce qui se passe finalement, c'est si nous revenons à la WB principale et cliquez sur ce nombre, C'est en fait parce que ça change ce nombre et qu'il pousse cette image tout le temps, qu'elle change, juste comme ça. Et nous ne voulons pas vraiment faire ça. Et nous pouvons aligner ceci, cette image ici, l'alignement horizontal vers la droite. Et maintenant, nous pouvons cliquer sur ce remplissage. Et ici vous pouvez voir maintenant si nous redimensionnons cela ne va pas pousser l'image
à moins qu'elle soit très proche à laquelle est, nous pouvons juste le redimensionner un peu plus loin, juste comme ça. Et vous pouvez réellement mettre ce droit à 0 et hors. Donc le texte, le remplissage du texte. Donc maintenant, vous pouvez voir que nous pouvons réellement juste changer le nombre et cela n'affectera pas cette image. Et revenons à 0. Mettons-le peut-être un peu plus près. Et si nous compilons et cliquez sur jouer ici, vous pouvez voir que maintenant il est compté sans boguer l'image ici. Ok, donc la dernière chose qu'il nous manque, c'est la quantité de munitions ici. Donc, en cliquant sur ce texte, je peux changer le nom en TXT et bas, juste comme ça, et Compiler et Enregistrer. Et comme avant, revenons au graphique. Faisons un événement personnalisé et appelons-le dit munitions. Et ici, nous pouvons prendre ces variables afin que nous ne l'ayons pas fait en variable. Donc, si je clique dessus et clique sur la variable S, je peux cliquer sur le graphique, vérifier cette munitions ici. Et je peux dire définir le texte comme avant. Donc setText. Et ici, nous voulons définir le nombre de balles que vous avez en ce moment et le nombre de balles que vous avez au total. Et pour ce faire, nous devons utiliser quelque chose appelé texte de format. Formater le texte parce que nous voulons que le texte change dynamiquement. Nous ne voulons pas que ce soit statique comme cette année. Et nous ne pouvons pas vraiment le faire comme celui-ci parce que c'est un seul numéro et c'est, c'est très facile à travailler avec. Mais maintenant, nous avons deux chiffres. Nous avons celui-ci et celui-ci à changer dynamiquement. Nous devons donc utiliser un texte de format. Et dans celui-ci, pour la chose qui change dynamiquement, vous devez écrire un crochets bouclés en écrivant
0, puis en écrivant le support bouclé en le fermant. Et puis vous devez écrire le texte pour ce que vous voulez écrire. Et maintenant je veux juste cette barre oblique ici parce que je veux, je veux cette tranche ici. Et puis je veux à nouveau le texte dynamique ici. Parce que je peux, je peux juste y aller à droite 15, comme un texte statique. Mais peut-être qu'il aurait une autre arme et qu'on peut la rendre dynamique. Donc, en faisant cette couleur parenthèses à nouveau, je peux en écrire un ici au lieu de 0. Et maintenant, nous pouvons voir que nous avons maintenant deux variables que nous pouvons ajouter. Donc, si quelle que soit la variable que j'ajoute ici sera affichée ici, et quelle que soit la variable que j'ajoute ici sera affichée ici. Maintenant, je peux connecter ceci au texte comme ceci. Et maintenant, nous pouvons réellement les ajouter à l'événement. Donc, pour l'événement, le MO est fondamentalement un entier. Donc, je vais créer de nouvelles variables ici. Et l'une s'appellera les munitions actuelles, et l'autre s'appellera Max AML. Et nous devrons les changer en un entier. Donc, si je connecte ceci au M0 actuel et que je peux lier ceci au max m, je juste comme ça. Donc, les MoS actuels vont être affichés ici et le maximum va être, à afficher ici. Donc, ce que je peux faire maintenant, c'est que je dois appeler ce max à cet ensemble MO quelque part. Et je dois le faire dans la base du joueur parce que dans la base de la couche IP, rappelez-vous que nous avons fait cette variable de munitions. Et si je vais ici, nous avons cette variable qu'on a faite appelée munitions. Et en fait appelons celui-ci M0 courant. Donc je vais changer le nom de celui-ci. Appelons ça M0 courant. Et nous avons aussi besoin d'un appelé max M0 va comme ça. Et nous pouvons changer à un entier et le MO max est 15, et le M0 actuel, nous pouvons également commencer par 15 pour commencer. Donc, le maximum ici, nous pouvons réellement faire glisser cet entier maintenant et le mettre ici. Donc, l'appelant max munitions et le minimum est 0. Donc, ce que nous pouvons faire maintenant, c'est que nous pouvons faire glisser ça ici. Avant de faire cette vérification ici, nous pouvons faire glisser ceci et nous devons appeler cet événement de munitions ensemble à partir de l'interface utilisateur principale. Maintenant, nous avons déjà une référence au contrôleur du joueur. On a fait ça. Donc, nous pouvons réellement faire glisser ceci et dire principal. Et maintenant, on peut dire mettre des munitions, les déclencher. Et nous pouvons vraiment l'utiliser. Et connectons-le par ici. Donc, le connecter. Et maintenant, nous pouvons dire quelle est la LMA actuelle ? Les munitions actuelles Est-ce que ce protocole d'entente a juste ici. Et le maximum de munitions est juste ce MR que nous avons ici. Donc maintenant, ça a l'air correct. Et laissez-moi l'organiser un peu pour que ce ne soit pas trop désordonné ici. Juste comme ça. Donc, si je compile, sauvegarde et je peux cliquer sur Play, vous pouvez voir en ce moment qu'il dit 815 parce que nous n'avons pas réglé les munitions initiales. Mais si je clique, tu peux dire sexuelle correcte. C' est correct maintenant. Et je peux frapper 0 et maintenant je peux cliquer sur Arch reload. Et maintenant je peux voir quand je recharge, Il ne montre rien, mais quand j'ai rempli, il montre donc nous devons réparer ça. Donc si je retourne au
joueur, la base des joueurs ici, l'Inde, commence à jouer. Nous devons également définir l'AML. Donc ici, je peux prendre ceci, copier ceci, et le coller ici. Et je peux le connecter comme ça. Mettez le maximum de munitions et la démo actuelle. Donc nous devons vérifier ça, juste quand nous commençons à jouer. Et nous devons aussi le faire quand nous rechargeons. Donc, à l'intérieur du rechargement, nous avons dit ceci, cet animal ici. Donc on peut copier ça ici et le coller ici. Et ce que nous pouvons faire est connecté et dans le MO actuel, vous pouvez le connecter ici et dans le maximum anaérobie et connecté ici. Alors maintenant, ça devrait fonctionner comme prévu. Donc, si je clique sur Enregistrer et que je clique sur jouer, il est écrit 15 sur 15 comme il est censé le faire. Et maintenant j'ai 0 et si je recharge, ça remonte à 15. Alors maintenant, ça marche comme il est censé le faire.
70. Conception du jeu sur l'UI: Pour l'instant, nous sommes prêts à créer le jeu sur l'interface utilisateur. Et pour celui-ci, allez de l'avant dans le dossier
de l'interface utilisateur et faisons un nouveau Blueprint Widget. Appelons ça w, soyez le jeu terminé. Et maintenant, je peux double-cliquer dessus. Et ce que je veux fondamentalement faire pour l'interface utilisateur GameOver est fondamentalement avoir un texte disant que vous êtes mort à la vague 13, par
exemple, et ensuite avoir un bouton en dessous disant revenir au menu principal. Des trucs très simples. Maintenant, comme nous avons besoin d'un texte et d'un bouton en dessous, nous avons essentiellement besoin d'un bugs verticaux. Donc, en cherchant la boîte verticale, je peux l'ajouter ici. Et maintenant, nous pouvons trouver un texte. Et maintenant nous pouvons, nous sommes tentés de mettre un bouton ici, parce que si je le fais glisser pour que vous puissiez le voir mieux visuellement. Donc si je fais glisser cette vésicule enfoncée ici, et maintenant nous avons besoin d'un bouton en bas sous les textes, mais ce bouton a aussi du texte dessus. Donc, en fait, nous avons besoin d'une superposition avant d'ajouter le bouton. Donc maintenant que nous avons la superposition, nous pouvons ajouter le bouton comme celui-ci au-dessus de la superposition, puis nous pouvons mettre le texte au-dessus de la sphère. Maintenant, nous avons un bouton et un texte sur l'autre. Et ce bouton, on peut cliquer dessus. Vous pouvez voir qu'il est très petit en ce moment. Et c'est parce que nous devons le remplir horizontalement et verticalement. Et maintenant, quand je supprime ces lignes pointillées pour
que nous puissions mieux le voir parce que vous avez un bouton et nous avons un texte dessus. Ok, Donc le design sur lequel nous pouvons nous concentrer dans un peu, mais maintenant commençons par ce texte ici. Par exemple, vous êtes mort à la vague 13. Et ce sera un texte dynamique en fonction de la vague que vous avez atteinte. Donc pour l'instant, c'est juste là pour nous visuellement. Et nous pouvons changer le texte en gras Montserrat. On peut changer la taille à 13 au lieu de 24. Et on peut ajouter une ombre. Donc ici, dans la couleur de l'ombre, on peut mettre l'Alpha à un. Et dans le y ici, décalage d'
ombre x et y, nous pouvons les mettre à trois pour que l'ombre soit plus visible. Et nous pouvons mettre la taille du contour ici. On peut en mettre un, juste comme ça. Nous avons donc maintenant ce texte. Ensuite, nous avons besoin de ce bouton ici. Pour que je puisse agrandir ça, juste comme ça. Et pour ce bouton, si je clique dessus maintenant, vous pouvez voir ici maintenant nous pouvons ajouter le style du bouton. Donc, le style normal du bouton, je veux réellement revenir à l'interface utilisateur et les actifs. Et je veux utiliser ce bouton bleu ici. Donc bleu, bouton carré bleu. Pour que je puisse le mettre sur le dessus d'ici. Et maintenant vous pouvez voir que c'est, c'est un peu d'une couleur différente et cela se passe, nous est arrivé avant la barre de progression. Et c'est parce que la couleur ici est fausse. Donc la teinte ici, je veux qu'elle soit entièrement, entièrement blanche ici. Et une autre chose que vous pouvez voir, ça a l'air très bizarre ici encore. Et c'est parce qu'il le dessine comme une boîte arrondie. Vous pouvez essayer de choisir la case à la place ou choisir une bordure ou une image. Mais maintenant, choisissons une boîte et définissons la marge à 0,2. Maintenant, nous pouvons voir qu'il a l'air plus correctement maintenant. Et c'est encore très énorme. Et c'est parce que c'est en fait remplir à la fois horizontalement et verticalement. Vous pouvez essayer de le mettre au milieu si vous le vouliez. Et vous pouvez redimensionner ceci, ce bouton ici. Donc à quelque chose que vous en êtes satisfait. Donc peut-être quelque chose comme ça. Et si vous voulez faire ce bouton, ombre de
bouton moins, vous pouvez essentiellement augmenter et diminuer cette marge. Et plus vous le diminuez, moins ce sera. Donc quelque chose comme ça a l'air bien. Donc, c'est le bouton et nous pouvons effectivement aligner ce texte au milieu aussi bien. Je peux donc l'aligner horizontalement au milieu. Et pour ce texte, je peux aussi le mettre au milieu, verticalement et horizontalement. Donc c'est au milieu de ce bouton. Alors maintenant, vous pouvez essayer de jouer avec la taille que vous voulez que ce bouton soit. Et quelque chose comme ça se passerait bien. Mais voyons à quel point ce texte sera grand. Donc, si nous sommes là, retournez au menu principal, quelque chose comme ça. Et nous pouvons changer ça à Montserrat audacieux. On peut peut-être réduire la taille de ça à 18. Ouais, 18, c'est bien. Et je veux mettre une ombre comme avant de mettre ça à 22, peut-être pas 33 ou 34 ans. Essayons ça. Maintenant, c'est trop. Donc 22 et le décalage de l'ombre et le contour peuvent être un juste comme avant. Et en fait, nous pouvons changer l'ombre pour être 0,5 à la place. 0.81 est le seul à travailler. Ok, donc c'est bien pour l'instant. Et ce que nous pouvons faire maintenant, c'est que je veux redimensionner le bouton juste un peu plus, quelque chose comme ça. Maintenant, nous avons ce bouton et nous pouvons repousser cette superposition de ce texte. Donc, ici dans le rembourrage du haut, nous pouvons le pousser du haut, peut-être 20 pixels comme ça. Juste comme ça. Et maintenant, nous avons cette boîte et vous pouvez voir une autre chose que vous pouvez faire si vous voulez qu'elle soit plus dynamique. Donc, vous pouvez voir que c'est dynamique de cette façon. Donc, lorsque vous le redimensionnez de cette façon est dynamique, mais lorsque vous le redimensionnez de cette façon, ce n'est pas dynamique. Pour que vous puissiez vraiment faire ça. Et je l'aime encore plus que, que d'être seulement décider. Donc, j'essaie généralement de rendre toute mon interface utilisateur dynamique. Et c'est parce que vous devez l'aligner ici verticalement en bas. Donc, cette superposition, et puis vous devez cliquer sur Remplir. Donc maintenant, vous pouvez voir qu'il est en fait dynamique ici aussi bien qu'ici. Et ce que je fais habituellement au lieu de deux, je clique sur cette superposition et je supprime effectivement ce rembourrage. Donc, je n'aime pas utiliser ce rembourrage si je peux vraiment m'en sortir avec. Vous pouvez donc essayer de redimensionner cette boîte maintenant. Et vous pouvez voir, vous pouvez réellement le faire sans le rembourrage maintenant. Donc j'aime le faire comme ça. Et comment le placer au milieu de l'écran ? Nous devons donc placer cette ancre en cliquant sur cette ancre en cliquant au milieu. Et si c'est le cas, si vous êtes ici à la position 0, 0. Maintenant, vous pouvez voir qu'il est en fait ancrage à
ceci, ce point de pivot ici. Et c'est parce que l'alignement ici, vous devez jouer avec les alignements. Donc, c'est l'axe des x et il doit être 0,5 et l'y doit être 0,5 aussi bien. Donc maintenant, cela va l'aligner au milieu de cette boîte. Alors maintenant, c'est au milieu de l'écran. Si vous voulez, vous pouvez toujours cliquer sur le texte et lui donner une petite couleur si vous voulez le faire un peu plus à cela, à la chaussure, j'aime juste cela peut-être. Et je clique sur OK, et maintenant nous avons ce bouton. Et une autre chose est que vous pouvez cliquer sur ce texte ici et peut-être que vous pouvez le rendre un peu plus rougeâtre. Et maintenant, nous avons notre jeu sur l'interface utilisateur.
71. Jeu sur la fonctionnalité UI: Maintenant, nous sommes prêts à ajouter des fonctionnalités à cette interface utilisateur que nous avons créée. Et fondamentalement, passons au graphique. Et avant de le faire, nous allons effectivement cliquer sur ce texte ici, et appelons-le vague de texte. Et celui-ci, cliquez sur le bouton et appelez-le le menu principal du bouton. Et celui-ci, nous pouvons appeler le menu principal du texte. Donc, maintenant, nous avons un peu d'organisation ici. Donc compiler, enregistrer et cliquer dessus, vous êtes mort texte de l'interface utilisateur et cliquer dessus est variable parce que nous voulons que ce soit une variable. Ici, dans le graphique, sont dans les urgences, dans le graphique. Nous pouvons effectivement supprimer ces, ces événements. Et nous pouvons prendre notre interface utilisateur Wave et cliquer sur SetText. Et encore une fois, nous devons utiliser un texte de format pour celui-ci. Alors faisons un événement personnalisé et appelons-le jeu sur vague par exemple. Et nous pouvons définir ce texte. Et ce que nous pouvons faire avec cela, c'est que nous pouvons écrire le texte de format. Nous pouvons connecter ce texte ici. Et maintenant, ce que nous voulons dire, c'est que je veux essentiellement copier mon texte ici et le coller ici. Vous êtes donc mort à la vague 13. Et au lieu d'écrire 13, nous pouvons écrire les crochets bouclés, écrivant 0 et en écrivant cette fin, crochets
bouclés, en cliquant sur l'intérieur. Vous pouvez voir ça maintenant. Et celui-ci est fondamentalement le texte. Donc, si je clique sur cet événement personnalisé et je clique sur Créer des entrées et le définir en texte. Et je l'appelle onde de variance. Juste comme ça. Et je peux le déposer ici. Et rappelez-vous que nous
n'avons pas un certain nombre de la vague actuelle et je vais vraiment vous montrer, Travaillons d'abord pour que vous puissiez voir ce qui se passe. Donc maintenant nous avons, nous avons ceci ici et nous devons mettre ce jeu sur vague quelque part dans le code. Maintenant, nous pourrions aller de l'avant et revenir à notre mode de jeu. Rappelez-vous dans le mode de jeu, nous avons, c'est en fait le contrôleur de joueur et le mode de jeu. Donc, en entrant dans le mode jeu, nous avons ce compteur de vagues ici. Donc, nous pouvons utiliser celui-ci pour réellement accéder à l'information. Et on pourrait juste le mettre ici, le compteur d'ondes, et on pourrait définir le code ici. Mais c'est aussi une mauvaise pratique parce que nous ne voulons pas vraiment définir du texte. Nous voulons, nous ne voulons pas définir ce texte chaque fois que vous avez une nouvelle vague, nous avons seulement besoin de le voir quand vous êtes mort. C' est pourquoi je veux vraiment le faire quand le joueur est mort. Donc ici, quand nous avons la mort du joueur, ici, il est plus logique de le faire ici parce que ce code n'est exécuté qu'une seule fois lorsque le joueur est que nous ne voulons pas exécuter ce code tout le temps et le définir même si vous n'allez pas en avoir besoin. Il est donc préférable de le faire ici quand le joueur va mourir. Ok, alors faisons-le ici. Et d'abord, passons à la manette du joueur et ajoutons ceci ici. Donc crée des widgets. Et créons le GameOver est venu ici. Et nous allons le promouvoir à une variable et l'appeler jeu WB sur. Et nous n'avons pas vraiment besoin de l'ajouter à la fenêtre, car nous n'avons besoin de l'ajouter que lorsque le joueur est mort. Alors passons à la base des joueurs. Et ici, nous avons déjà une référence de contrôleur de joueur. Donc ici à la fin, je veux vraiment le prendre et dire jeu WB terminé. Et maintenant nous pouvons accéder à notre, nous retournons ici. Maintenant, nous pouvons accéder au jeu sur vague. Par ici. Je vais dire jeu sur vague, juste comme ça. Et fondamentalement, nous avons aussi besoin d'une référence
au mode jeu parce que nous avons réellement besoin de compteur de vagues ici. Donc, si je vais en mode jeu, nous avons besoin de cette variable de compteur d'ondes. Donc, en fait, je veux le créer ici. Donc, après le contrôleur de joueur et, et avant les munitions, je veux dire obtenir le mode de jeu et obtenir graphique de mode de jeu. Et ici, nous pouvons le connecter et ensuite promouvoir ceci à une variable et l'appeler. Mode de jeu. Ça va comme ça. Maintenant, je peux connecter le code et maintenant nous avons une référence au mode de jeu. Donc, fondamentalement fait ici, ce que nous voulons faire est de dire, obtient le mode jeu. Celui-ci, c'est la variable, ou il aurait pu simplement la traîner à partir d'ici. Et ici, vous pouvez dire vague. Nous voulons donc la variable d'onde et la variable d'onde. Vous pouvez le brancher ici, mais ça va être là. Il y aura un petit bug, nous devons dire moins un. Parce que rappelez-vous ici dans la vague, en mode jeu, ici chaque fois qu'on a engendré une amine. Donc c'est la vague actuelle que nous frayons des ennemis. Nous allons dire ici, à la fin, nous allons dire le compteur de vagues. Et le compteur d'ondes va dire plus, plus. Donc, même si nous sommes à la vague 1, nous sommes en train de compter cela et de le mettre à la deuxième vague. Donc, dans la première vague, nous frayons des ennemis. Et à la fin de ce géniteur ennemi, nous voyons plus 1. Donc, cette vague va en fait être deux parce qu'un examen que nous avons généré, nous sommes prêts à générer des vagues pour le niveau 2 et lundi sur ce lien est terminé pour la vague 2. Il va en fait définir cette variable sur Vague 3 et juste la stocker là jusqu'à ce que nous ayons tué tous les ennemis. Et puis ça va engendrer des ennemis pour la troisième semaine. Donc, fondamentalement, c'est en fait dire Vague 2. Donc, nous devons dire moin1 si cela doit être correct ici. Donc je vais en soustraire un ici. Et c'est ce que je veux faire. Et connectez-le ici. Et cela va en faire un texte au lieu d'un entier. Et maintenant, nous avons cela, dit ceci correctement. Et puis nous devons ajouter ceci à la fenêtre d'affichage. Donc, en faisant glisser de cela et dire Ajouter à la clôture, parce que maintenant nous allons réellement vouloir l'afficher. Mais avant d'afficher, nous devons également supprimer l'interface utilisateur principale de la fenêtre parce que nous ne voulons pas générer cette interface utilisateur GameOver et l'interface utilisateur principale. Donc ce que je peux faire, c'est que je peux essayer de faire ça comme ça. Tais-toi un peu. Et ici, je peux aussi dire cette interface utilisateur principale, cigarettes interface utilisateur principale et dire supprimer des parents, retiré des parents. Et nous pouvons supprimer cette interface utilisateur principale avant d'ajouter ce jeu sur l'interface utilisateur, ressemble à ceci. Donc, ce n'est pas trop déroutant. Donc, nous supprimons l'interface utilisateur principale avant de mettre le jeu sur l'interface utilisateur sur le dessus ici. Et nous pouvons essentiellement cliquer sur Play et voir ce qui se passe. Donc jouer ici, et je joue au meurtre, je vais mourir. Je peux voir maintenant nous avons réellement l'interface utilisateur GameOver. Mais maintenant, vous vous rendrez compte que vous ne pouvez pas, vous n'avez pas de souris pour cliquer sur quoi que ce soit et vous pouvez corriger cela. Donc, en revenant à l'UR, le code ici, la base des joueurs, ici nous voulons, du contrôleur du joueur, il y a quelque chose. Si je retourne au contrôleur de lecteur dans les valeurs par défaut de
la classe et que je vois quelque chose appelé show mouse curseur. Et c'est en fait ce que nous voulons faire. Donc si je vérifie de ce contrôleur de joueur, ou en fait, je vais le reprendre ici, donc ça ne devient pas trop désordonné. Je prends le contrôle de la plaque ou la référence. Je dis de montrer ma souris. Donc, cet ensemble montre le curseur de la souris. Et je veux montrer le curseur de la souris comme ça. Et c'est en fait tout ce que nous avions à faire. Et on a aussi une autre boîte. Donc, si je clique sur Play, je peux voir que c'est moi qui courir. Je suis écrasé à mort. Et maintenant vous pouvez voir, je peux vraiment voir ma souris et je peux cliquer ici. Vous pouvez voir que le bouton est un peu encombrant. Et en fait, je peux aussi le montrer en C et secouer mon arme quand je suis mort jusqu'à ce que je n'ai pas MR peut probablement recharger ça et je peux tirer. On doit aussi vérifier que tu ne peux pas tirer quand tu es mort. Et l'autre chose, c'est ce bouton qui s'arrête. Alors passons et réparons d'abord le bouton. Donc, dans l'interface utilisateur et le GameOver et le concepteur, Donc ce bouton ici, nous devons appliquer la même chose à la survolée impressionnée, c'est le problème ici. Alors allez, aller sur les actifs et juste glisser dans et l'image Hoover et dans l'image déprimée. Je peux me fondre comme ça. Et je peux enlever la teinte comme avant, la
fois le Hubbard et opprimé clic sur l'appel d'offres, l'enlever. Et en gros, quand vous passez la souris dessus, je veux la rendre un peu plus sombre pour que vous puissiez voir que vous planez. Et quand tu seras pressé ici, je veux le rendre un peu plus sombre. Ils ont eu cela plus et cliquez effet. Ok, donc c'est tout ce que nous avions à faire et nous devons également ajuster cette taille d'image. Je peux fusil copie de soins, et je peux cliquer avec le bouton droit de la souris et le coller sur le dessus de ce plané. Et c'est pressé comme ça. Donc un autre bug ici avec le bouton. Donc si je clique sur le jeu et qu'ils me tuent, je vais essayer de t'apprendre quelque chose de nouveau ici. Pour qu'on puisse voir, je peux passer la souris sur ce bouton. Mais quand je survole le texte, il ne réagit pas réellement. Ce n'est qu'autour de ce texte. Et c'est un autre travail. On peut juste le réparer dans un peu. Donc, en cliquant sur le jeu ici. Donc, le bug ici n'est pas détecté. Donc, pour vous cliquez sur le texte et vous descendez ici. C' est à cause de cette visibilité, on l'appelle visible. Si vous cliquez sur celui-ci, aucune touche testable. Donc ça veut dire que ça n'aime pas ça. Le sexe n'a pas vraiment d'importance. Nous n'avons pas vraiment besoin de cliquer sur ce texte. Ce texte est juste là, sont asthmatiques. C' est ce que personne ne frappe testable signifie. Donc vous pouvez voir que je peux en fait au-dessus de ce texte ici, juste comme ça. Maintenant c'est, ça marche correctement. Maintenant, il est en train de dire que ce jeu sur widget que nous ajoutons à la fenêtre est déjà sur l'écran. La dernière chose que nous voulons réparer comme en fait le joueur de tir. Alors faisons ça ici avant qu'on l'oublie. Et c'est en gros ici, dans le feu. Donc si je monte ici et qu'on a cet incendie, et ce qu'on veut faire c'est juste vérifier si le joueur est mort ou pas. Donc, nous avons déjà eu cette dette booléenne et nous pouvons dire branche. Donc, si le joueur est que si c'est vrai, ne faites rien, mais juste pour la lisibilité, j'aime écrire des noix. Donc si le joueur n'est pas mort, on peut aller de l'avant et tirer. Juste comme ça. Tout devrait fonctionner si je clique sur Play. Et maintenant me tuer. Vous voyez que je ne peux pas tirer sur l'arme. Et une autre chose que je réalise, quand tu pointes cette boîte, il y a une bordure noire minimale autour, et je ne veux pas ça. Et nous devons changer ces deux boîtes comme la normale ici. Donc, je vais changer ces bogues ronds en une boîte et ces bogues ronds et Toolbox, et c'est pour l'état plané et pressé. Donc je vais changer cette marge. Je peux juste le copier correctement avec le copier et le coller au-dessus de ces marges, juste comme ça. Et maintenant, il devrait être réparé et tout devrait fonctionner comme il est censé le faire. Alors maintenant, quand on se fait tuer, on voit que tout fonctionne et que les boutons vont bien. Et peut-être que je dois le faire en plein écran pour que vous puissiez voir ce qui se passe. Donc, quand je travaillais et nous pouvons cliquer sur retourner au menu principal, mais en ce moment nous n'avons pas de menu principal et allons fondamentalement ajouter ce bouton MainMenu. Une fois que nous avons créé un menu principal.
72. Créer l'arrière-plan du menu principal: Très bien, donc c'est une leçon plus intéressante. Ici, nous allons réellement concevoir le menu principal. Donc, je veux faire un fond 3D avant d'ajouter des boutons. Et juste pour le faire un peu plus vite, passons aux cartes. Et fondamentalement, le menu principal est sa propre carte. Nous sommes donc en train de faire le menu principal en dehors de cette carte. C' est comme ça qu'on fait habituellement. Donc, nous pouvons cliquer avec le bouton droit de la souris sur cette carte On peut juste le dupliquer parce que je veux cet environnement ici. Ainsi, vous pouvez cliquer avec le bouton droit de la souris et l'appeler Map menu principal. Et fondamentalement, nous avons ce menu principal, peut double-cliquer dessus, vous pouvez enregistrer sélectionné. Et à partir de ce menu principal, nous n'avons pas vraiment besoin de cette navigation. Donc, cliquez sur ce volume de navigation limite, nous pouvons supprimer cela. Et fondamentalement, tout va bien. Donc celui-là refondre le maillage Nav. Nous pouvons également supprimer cela. Et fondamentalement, tout le reste va bien. Et ce que nous voulons faire, c'est juste une petite scène cinématographique. Donc, nous voulons le personnage. Alors prenons ce joueur ici, cette machine. Donc je peux placer ce type ici et le niveau. Et je peux, au lieu d'utiliser le Blueprint Animation, je peux réellement utiliser un actif d'animation. Nous pouvons donc choisir notre propre animation pour ce que nous voulons faire avec eux. Et fondamentalement ce que je veux faire avec lui est dans les actifs ici dans les animations de personnage et dans leur fusil de rechargement comme et le mettre ici à l'intérieur de cette animation. Et vous pouvez voir ici c'est alors la position initiale. Et cela peut fondamentalement changer cette position initiale. Donc vous pouvez voir, vous pouvez en faire une sorte de scène cinématographique à partir de ça. Et en gros, je veux juste qu'il ressemble à ça. Donc, l'air assez cool et le fond. Et voici, essayons de créer une caméra cinématographique. Donc, fondamentalement, je peux aller ici dans la création, dans le cinéma. Et nous pouvons créer ce qu'on appelle l'acteur de la caméra de signe. Donc, nous voulons créer ceci. Je ne sais pas où c'est, c'est en bas. Donc on peut traîner, c'est juste le déplacer pour qu'on puisse l'avoir ici. Et on peut le faire tourner à 90 degrés comme ça. Et en fait ce que vous pouvez faire, ou essayons d'abord d'ajuster comme ça. Et ce que vous pouvez faire est de faire un clic droit dessus et de cliquer sur pilote. Donc, piloter signifie que vous allez à l'intérieur de la caméra. Je peux en fait juste le contrôler comme ça afin que vous puissiez écrire pour bien le déplacer votre clavier. Et si vous voulez que quelque chose soit très spécifique, peut réellement changer les valeurs ici. Vous pouvez donc le voir, vous pouvez également faire glisser et modifier les valeurs ici. Donc, fondamentalement, je veux que les boutons soient ici à gauche. Donc, je veux que le personnage soit surtout à droite ici. Donc quelque chose comme ça. Et nous voulons qu'ils soient de près ici. Et ce que vous pouvez faire en fait, je veux changer ce film numérique en un reflex numérique parce qu'un reflex fait un meilleur effet de flou lié pour continuer à ajuster jusqu'à ce que je sois satisfait. Et je pense à quelque chose comme ça. On n'a pas à le rendre super hardcore. On peut juste faire comme ça. Et maintenant, je suis satisfait. Et fondamentalement, ce que vous pouvez faire est que vous pouvez cliquer sur ceci ici, la mise au point manuelle. Vous pouvez essayer de le changer et voir où vous, où vous voulez vous concentrer. Mais avant de faire cela, vous pouvez réellement cliquer sur ce Draw Debug, car lorsque vous le réduisez, vous pouvez voir réellement où il se concentre. Et vous voulez essentiellement vous concentrer sur ce personnage ici. Donc, traîner ça ici juste comme ça. Et maintenant, je peux supprimer ce débogage. Et vous pouvez voir qu'il se concentre sur ce personnage maintenant. Donc, si je clique sur G pour supprimer toutes ces icônes et lignes et voir ceci est à quoi il ressemble en ce moment et il a l'air assez cool. Et vous pouvez cliquer sur F 11 pour voir à quoi il ressemble en plein écran. C' est donc notre expérience. Et vous pouvez fondamentalement, si vous voulez, vous pouvez ajouter quelque chose aussi en arrière-plan afin que vous puissiez cliquer sur le joueur à lui ici et l'arrière-plan. Juste comme ça. Et encore une fois, vous pouvez utiliser une animation personnalisée et vous pouvez cliquer sur les animations de caractères actifs. Et tu pourrais cliquer sur cette cruche. Donc il court quelque part. Juste comme ça. Et fondamentalement, vous pouvez l'utiliser comme écran principal de l'interface utilisateur. Donc, c'est le menu principal et fondamentalement, nous voulons juste que les boutons soient affichés ici. Ok, donc maintenant on peut injecter cette caméra. Et si vous avez peur de déplacer cette caméra, parce que maintenant c'est correct et parfait. Vous pouvez cliquer avec le bouton droit sur cette caméra dans la transformation. Vous pouvez cliquer sur Verrouiller le mouvement de l'acteur. Donc maintenant, vous ne pouvez pas vraiment le traîner par erreur. Vous ne pouvez pas le déplacer par erreur ici. Donc c'est plutôt cool. Et fondamentalement dans l'édition, dans les paramètres du projet, nous pouvons maintenant aller à l'intérieur des cartes et des modes. Et dans l'éditeur Startup Map, vous pouvez démarrer dans la carte principale comme ceci est la carte de combat, c'est la carte du jeu. Mais le jeu Carte par défaut. Vous voulez que le joueur démarre dans le menu principal. Vous devez donc sélectionner le menu principal de la carte pour le jeu par défaut.
73. Conception du menu principal: Oui, maintenant nous sommes prêts à créer les boutons pour
le menu principal et ici nous pouvons cliquer avec le bouton droit de
la souris à l'intérieur du dossier et créer dans les interfaces utilisateur qu'il Blueprint, appelons-le menu principal. Maintenant, allons ici et celui-ci va être assez rapide. Au lieu d'ici, nous voulons essentiellement des boutons, nous voulons un bouton pour démarrer le jeu et nous voulons un bouton pour quitter le jeu. Donc, en gros, nous avons d'abord besoin d'une boîte verticale pour placer ces boutons et ensuite nous avons besoin d'une superposition car les boutons ont du texte dessus. Nous avons donc besoin d'un bouton et d'un texte. Donc cette superposition ici, je peux prendre cette boîte verticale, la agrandir, la faire glisser vers le bas et nous laisser mettre un bouton dessus et nous laisser mettre un texte au-dessus de ce bouton. Donc, en gros, je peux copier cela, mais nous allons le coiffer comme un seul bouton et ensuite nous pouvons copier ce bouton. Maintenant, nous pouvons changer le point d'ancrage de cette boîte verticale parce que je voulais être au milieu ici, à gauche, comme ceci et nous pouvons ajuster la position plus tard. Donc, tout d'abord, je clique sur ce bouton ici et je le
remplis verticalement et horizontalement. Je peux donc voir tout le bouton ici et comme ce que nous avons fait auparavant. Passons aux atouts ici et pour le bouton Démarrer le jeu, je voulais être bleu comme ça. Je peux donc le faire glisser à l'intérieur de l'état normal ici. L'état de Harvard et l'état pressé. Maintenant, nous avons ce bouton et je vais changer toutes ces couleurs ici. Les teintes blanches et blanches comme celle-ci et le blanc comme cette année, comme ça. Et pour l'État de Hobart, je vais le rendre un peu plus sombre. Donc, quand on passe la souris au-dessus de la souris,
il sera plus sombre. Et quand vous appuyez dessus, il sera encore plus sombre ici. Donc, nous avons cela et appuyez sur l'effet Maintenant encore, je vais changer la boîte arrondie par une boîte et écrire 0.4 ici, je vais copier cette marge et la coller au-dessus de la marge ici. Changeons donc celui-ci par une boîte. Celle-ci aussi. Et voyons la marge ici aussi pour cela. 0,4 et 0,4. Ok, donc maintenant nous pouvons régler la taille de ce bouton, je ne pense pas qu'il soit aussi grand. Donc, en gros, ce que nous pouvons faire, c'est que nous pouvons ajuster les X. R D, Y. Désolé, nous pouvons donc ajuster le Y. ici. Et pour ce texte, je peux aussi le placer au milieu,
donc en cliquant sur le texte, je peux le centrer verticalement et horizontalement et je peux le modifier deux mois, est-ce que c'est gras ? Et celui-là ? Je pense que nous pouvons réduire la taille 2 18. Et essayons de l'écrire en majuscules. Je vais donc dire commencer le jeu comme ça. Et fondamentalement, nous pouvons changer le décalage de l'ombre sur deux et deux et un droit dans l'alpha. Nous pouvons donc voir l'ombre ici et pour les paramètres de contour, je vais juste en écrire une. Donc maintenant, nous pouvons l'obtenir un peu mieux et vous pouvez toujours changer la couleur ici juste pour qu'elle corresponde un peu mieux qu'avant et juste comme avant de cliquer sur le texte et de descendre, n'oubliez pas de changer la visibilité sur non frappe testable. Nous pouvons donc cliquer sur ce texte et maintenant vous pouvez cliquer sur ce bouton et essayer d'ajuster la taille comme vous le souhaitez. Donc, cette taille de bouton ici et je pense que celui-ci va bien. Donc, ce que vous pouvez faire, c'est cliquer avec le bouton droit de la souris et copier ceci, le
coller sur le dessus du Harvard et le coller au-dessus de cet état de poitrine. Maintenant, ce que vous pouvez faire au lieu de recréer ce bouton en premier, renommons cela. Je vais donc appeler ça le gain de point du bouton et le texte, je vais appeler du texte, commencer le jeu et vous pouvez maintenant cliquer avec le bouton droit et dupliquer cela trop. Donc maintenant, vous avez deux boutons et pour ce deuxième bouton, je peux l'appeler le bouton quitte. Et celui-là, c'est le texte qui quitte. Et maintenant, vous pouvez cliquer sur ce texte et le modifier ici en haut, vous pouvez modifier le texte pour quitter exactement comme ça, quitter le jeu ou quitter le jeu. C'est à vous de choisir. veux peut-être écrire un jeu,
c' est plus explicatif et ce que vous voulez faire ici, je veux en fait changer la couleur, alors je voulais être rouge. Je peux donc glisser-déposer ici au-dessus de cette image rouge. Il suffit donc de faire un soutien un peu plus grand en faisant tomber ceci sur cette image ici, sur tous les États comme celui-ci. Ensuite, je dois ajuster la taille et je peux cliquer sur le deuxième bouton ici et je peux en copier la taille. Je veux qu'il soit exactement de la même taille. Donc, en cliquant sur ce bouton, je peux coller cette taille au-dessus de tous ces états, comme ça. Maintenant, j'ai deux boutons et ce que vous pouvez faire ici, c'est encore une fois que nous voulons le faire dynamiquement pour que nous puissions entrer ici et
cliquer sur le caresseux en haut et écrire peut-être 40. Et vous pouvez voir que c'est une partie comme celle-ci et que ça va bien. Mais rappelez-vous que j'aime bien que mon interface utilisateur soit dynamique. Donc, en retirant ce petit petit, je veux juste attacher ce bouton ici. Je veux
l'aligner verticalement ici en bas et cliquer sur Phil, donc maintenant c'est en bas et ce que vous pouvez faire est de cliquer sur la case verticale et maintenant vous pouvez simplement ajuster le dimensionnement à travers cette boîte verticale. Maintenant, je fais juste un zoom arrière et j'essaie de voir à quoi ça ressemble et quelque chose comme ça aurait l'air cool. Maintenant, nous voulons que ce bouton soit au milieu ici, donc en écrivant 00 dans cette position, vous pouvez le voir ici. Donc, fondamentalement, dans l'axe Y, nous voulons que ce soit 0,5 et maintenant il se trouve parfaitement au milieu de l'écran. Maintenant, repoussons-le un peu loin de cette frontière ici. Je vais donc déplacer l'exposition ici et la déplacer sur le côté, donc c'est assez ici et maintenant c'est tout ce que nous avons à faire pour le menu principal.
74. Fonctionnalité du Menu principal: Laissez-nous maintenant créer la fonctionnalité de l'interface utilisateur principale. Et maintenant, si nous allons dans les plans, fondamentalement ici dans les cartes, nous avons créé une nouvelle carte pour le menu principal. Et fondamentalement, ce que nous devons faire, nous avons réellement besoin d'un mode de jeu séparé et d'un contrôleur de couche séparé. Parce que lorsque vous faites un menu principal, il a en fait son propre jeu, mode
jeu et contrôleur de joueur. Alors écrivons, faites un clic droit ici et allez à Blueprint Class. Cliquez sur Layer Controller. Et appelons-le PC MainMenu. Nous allons également cliquer avec le bouton droit de la souris sur Blueprint Class et cliquer sur le mode jeu et appeler un menu principal GM. Maintenant ce qu'on doit faire, sauvegardons ici. Et si nous allons dans les paramètres du projet ici et nous allons à l'intérieur des cartes et des modes. Fondamentalement, nous devons changer ce mode de jeu par défaut. Maintenant, c'est en fait le menu principal et pas cette grève GM ici. Donc, si je clique sur le menu principal et le menu principal GM, et ici nous devons changer le contrôleur du lecteur ainsi que menu principal du
PC et le pion par défaut que vous voulez avoir. En fait, on ne veut pas d'étang. Donc, je vais cliquer sur none parce que nous n'avons pas de caractère dans le menu principal. Ok, donc maintenant c'est fini. Je vais sauver. Et aussi vous voulez vous assurer que vous êtes à l'intérieur du musée et à l'intérieur des cartes. Et vous double-cliquez sur ce menu principal. Donc tu es à l'intérieur d'ici. Assurez-vous juste que vous n'êtes pas à l'intérieur de la carte. Signifie parfois, vous pouvez faire une erreur et penser que c'est le menu principal. Mais double-cliquez sur ce menu principal pour que vous soyez à l'intérieur d'ici, et c'est ce que nous avons conçu précédemment. Donc, à l'intérieur de ce menu principal, vous pouvez cliquer sur les paramètres du monde. Et ici, vous pouvez changer le mode de jeu ici. Donc, nous pouvons le changer pour le menu principal GM. Et assurez-vous simplement que le contrôleur de joueur est le menu principal du PC et le porno par défaut est nul. Et ce que vous voulez faire maintenant est fondamentalement quand nous cliquons sur Jouer, vous pouvez voir maintenant que nous sommes à l'intérieur du néant. Mais si nous cliquons sur Play et que nous pouvons corriger cela plus tard ici, quand nous cliquons sur Play, je vais juste déplacer la vitesse de la caméra juste un peu vers le haut afin que je puisse avancer rapidement dans ce niveau. Donc, ce que nous voulons ici quand nous cliquons sur Play, nous voulons réellement voir cet appareil photo. Donc, nous voulons voir à travers cette caméra afin que nous puissions voir l'arrière-plan de notre menu. Et la façon dont nous faisons cela, rappelez-vous, si vous voulez quelque chose de spécifique pour un niveau, vous pouvez réellement coder au lieu de créer une classe de Blueprint, vous pouvez le coder à l'intérieur du Blueprint de niveau. Alors je vais ouvrir ça. Et à l'intérieur d'ici, nous pouvons supprimer cet événement malade, et nous allons utiliser cet événement commencer lieu. Que se passe-t-il quand vous commencez à jouer ce niveau ici ? Donc, ce que nous voulons utiliser ici est définir la cible de vue avec Blend. Et vous pouvez cliquer avec le bouton droit et dire définit les cibles de vue. Et maintenant, tu ne peux pas le voir ici. Ce que vous devez supprimer ce contextuel. Et quand vous faites cela, vous pouvez voir cette fonction ici. Donc, en cliquant sur cette fonction, je vais cliquer avec le bouton droit de la souris et mettre à nouveau sensible au contexte juste au cas où j'oublierais. Et que voulez-vous faire ensuite, c'est que vous voulez cliquer sur cette caméra ici sur le niveau. Parce que rappelez-vous où vous êtes, lorsque vous êtes à l'intérieur du Blueprint de niveau, vous pouvez créer des références à des éléments à l'intérieur du niveau si vous cliquez dessus. Donc, en cliquant sur cette caméra, je peux aller à l'intérieur de la boucle Level Blueprint à nouveau. Je peux cliquer avec le bouton droit de la souris et pendant que j'ai ce contextuel activé, je peux créer une référence à mon appareil photo. Donc, je peux maintenant connecter ceci ici. Et je peux connecter mon appareil photo en tant que nouvelles cibles. Et cette cible ici est essentiellement la perte de contrôle du joueur. Je peux faire glisser et dire obtient contrôleur de couche, juste comme ça. Et maintenant, il va,
pour regarder dans la caméra quand j'ai commencé à jouer au jeu. Donc, si je clique sur Jouer maintenant, vous pouvez voir qu'il est en fait à la recherche de cet appareil photo. Et maintenant, nous devons réparer ça. Et vous pouvez voir quand je m'arrête, ça me donne des erreurs. Et la raison pour laquelle c'est donner, me
donner Eros, c'est parce que j'utilise réellement la machine d'évacuation ici. Si je vais aux plans et au joueur, j'ai essentiellement placé ces derniers ici et le niveau et nous les utilisons. Et rappelez-vous, ceux-ci sont en fait des enfants de la base de joueurs. Et il essaie d'exécuter ce code ici. Il essaie d'exécuter ce code et la même erreur, je n'ai pas dit AML. Et cela est devenu, parce que nous utilisons un contrôleur de joueur différent. Ce contrôleur n'est pas celui que nous utilisons le menu principal. Donc, ce que nous devons faire maintenant, c'est que nous pouvons entrer dans un joueur ici et nous pouvons légitimement cette base de joueurs bp. Et dupliquons celui-ci. Et laissez-moi l'appeler EPA, joueur bp. En fait, j'appelle dans le menu principal de la machine VNP. Donc celui-ci, nous ne l'utilisons que dans le but du menu principal. Donc je peux le faire glisser et le placer dans le niveau et quelque chose de cool pour que vous n'ayez pas à refaire le travail. Vous pouvez cliquer sur ce personnage. Vous pouvez copier cet emplacement. Donc, faites un clic droit sur Copier Vous pouvez cliquer sur le deuxième caractère et vous pouvez cliquer avec le bouton droit et. Et collez ce caractère sur le dessus et en cliquant à nouveau sur cet ancien caractère, vous pouvez même copier leur rotation. Vous pouvez cliquer sur ce nouveau personnage, coller dans la rotation et vous pouvez voir qu'ils sont debout au même endroit. Donc maintenant, dans le World Outliner, je peux cliquer sur cette machine pour que je puisse la sélectionner rapidement. Et je peux juste cliquer sur Supprimer, et c'est tout. Donc maintenant, nous avons ceci, ce joueur ici ou cette machine ici. Nous pouvons à nouveau, comme avant, utiliser le Blueprint non pas un Blueprint d'animation, mais un assets d'animation. Et je peux aller sur mes animations et mettre cette animation de rechargement comme ça. Et je crois que cette position initiale était de 0,5. Et nous pouvons supprimer cette ligne ici. Donc maintenant, vous pouvez voir qu'il n'a pas d'armes et nous devons lui ajouter une arme. Donc, si je retourne au joueur et ce menu principal de la machine BP que nous venons de faire, je vais supprimer tout ce code. On n'a pas vraiment besoin de code pour celui-là. Mais en tête du code, vous pouvez supprimer toutes ces variables. C' est très bien. Tout comme ça, supprimez même cette fonction ici. Et vous pouvez également dans les paramètres de classe, vous pouvez réellement supprimer cette interface. Alors cliquez sur Oui, Nous ne voulons pas d'interface. Et juste comme ça, alors compiler et enregistrer. Et maintenant, ça te donne une erreur. Je veux voir ce que c'est. Il est en fait à l'intérieur de cette bonne fonction joueur f. Je peux supprimer celui-là aussi, Compiler et enregistrer. Et maintenant, c'est propre. Donc ce que nous voulons faire ici est à l'intérieur de cette arme ici je peux cliquer dessus et je peux sélectionner mon, Je pense que ce qu'on appelle KA pour une raison quelconque, k 47 nouveau y. Donc maintenant, il a l'arme et nous pouvons compiler et enregistrer plus près vers le bas. Et maintenant ça marche comme avant. Donc on doit faire la même chose pour ce type ici. Je peux le supprimer et je peux simplement coller dans ce personnage de menu principal tourné de 90 degrés et changer cela à un actif d'animation à la place. Et maintenant, je peux aller dans mes animations et sélectionner cette animation de jog. Et juste lui faire un petit jogging ici. Et il suffit de les déplacer. Cliquez sur cet appareil photo pour voir à quoi il ressemble. Et je veux les faire avancer un peu comme ça. Ainsi, vous pouvez même cliquer sur ce personnage ici. Donc, en revenant au lecteur et au menu principal ici, vous pouvez même retirer cet appareil photo si vous le souhaitez parce que vous n'avez pas vraiment besoin de cet appareil photo, sorte que vous pouvez supprimer cela aussi. On déplace cette caméra et l'arme dont on a besoin pour que tout se passe bien. Donc, quand vous cliquez sur Jouer maintenant, vous pouvez voir en fait cela est en train de jouer, donc je dois cliquer dessus et supprimer cet avion ici. Maintenant, lorsque vous cliquez sur lecteur, cela fonctionne réellement. La caméra fonctionne aussi bien. Et aussi, surtout, nous ne recevons aucune erreur que ce soit si nous cliquons sur escape et quittons ceci ici. Donc tout fonctionne avec ce menu principal. Alors ajoutons à l'écran. Et fondamentalement, pour ce menu principal, nous avons fait ces, ces modes de jeu et contrôleur de joueur. Alors rappelez-vous que je veux faire le menu à l'intérieur de la manette du joueur. Donc double-cliquez sur celui-ci. Et dans le graphique d'événements, nous pouvons supprimer l'événement malade et ils commencent à jouer. Nous pouvons dire créer des widgets. Et je veux juste créer le menu principal. Donc, en sélectionnant le menu principal WB. Et à partir de là, nous pouvons le promouvoir à une variable voyant le menu principal WB. Et ici, nous pouvons dire Ajouter à la clôture parce que nous
voulons juste l'ajouter à la clôture tout de suite lorsque nous entrons dans le menu principal. Donc, quand je clique sur Jouer maintenant, vous pouvez voir que nous avons réellement le menu principal et notre feu faire en plein écran donc il est correct. Maintenant, nous avons ce menu principal. Maintenant, nous devons leur montrer le curseur de la souris. Et je peux retourner au contrôleur du labo ici. Et fondamentalement ce que nous pouvons faire, au lieu de le mettre dans le code, vous pouvez en fait simplement entrer dans les paramètres de classe, en fait les valeurs par défaut de classe. Et ici, vous pouvez prendre le pointeur de la souris, juste comme ça. Donc maintenant, si nous cliquons sur Play, vous pouvez voir, vous pouvez réellement voir le curseur ici et je peux sélectionner des boutons. Okay, alors laissez-nous coder des fonctionnalités dans ces boutons. Et, et c'est très simple. On n'a pas grand-chose à faire ici. Donc, si je retourne à l'interface utilisateur et que je double-clique sur mon menu principal que j'ai créé. Je peux cliquer sur ce bouton Quitter. Et si je fais défiler tout le chemin ici, je peux cliquer sur ce non cliqué, en cliquant sur le plus, ça fait un événement pour vous. Je peux même les supprimer. On n'en a pas vraiment besoin pour l'instant. Alors décliquez, que voulez-vous faire lorsque vous cliquez sur le bouton ? Donc, je peux en fait simplement écrire quitte et il y a en fait quelque chose appelé Quit jeu. Ensuite, je veux faire quand je clique sur ce jeu Démarrer ici, je veux ouvrir le niveau de jeu. Donc, ce que je peux faire est de descendre à nouveau, en cliquant sur ce non cliqué. Et ce que vous voulez faire ici est fondamentalement dire niveau ouvert. Et il peut ouvrir le niveau par son nom. Donc, voici comment vous, comment vous passez au niveau suivant afin que vous puissiez ouvrir un niveau. Et le niveau que nous voulons ouvrir, si vous allez dans les cartes, nous voulons ouvrir ce appelé Map main. Donc, ici, dans le nom du niveau, vous pouvez écrire Map main. Et maintenant, si je compile et sauvegarde et je clique sur Play, cliquez sur ce bouton. Vous pouvez voir que nous sommes en fait à l'intérieur de la carte principale et nous jouons au jeu. Ok, alors rappelez-vous que nous avons fait l'interface utilisateur GameOver. Nous avons donc fait ce skim sur u i, mais nous n'avons jamais terminé ce retour au menu principal parce que nous n'avions pas de menu principal. Et fondamentalement ce que nous voulons faire avec celui-ci, si vous cliquez dessus et vous faites défiler vers le bas et cliquez sur le plus pour le non cliqué. Ici, nous voulons réellement dire Niveau ouvert. Et vous voulez essentiellement ouvrir le menu principal. Tellement fou, menu principal, je pense que c'est ce qu'on appelle ça. Donc si je reviens et que tu dois appeler ça cette chose spécifique ici. Donc, tout ce que vous avez en majuscules, vous devez écrire cap, donc vous devez écrire tous les symboles et ainsi de suite. Donc, l'appeler exactement comme ça s'appelle ici. Donc sauver, et maintenant ça devrait fonctionner. Donc, si je clique sur jouer, je commence le jeu. Et je suis à l'intérieur d'ici, et allons nous faire tuer et voir ce qui se passe. Maintenant, je peux cliquer sur le retour au menu principal. Et maintenant, nous sommes de retour à notre menu principal. Donc maintenant, nous avons un très petit bug qui dit que le jeu est terminé. C' est le Blueprint Widget a déjà été ajouté à l'écran. Donc, nous ajoutons ceci à la fenêtre, mais nous ne l'avons jamais supprimé. Et c'est alors dire, je l'ai déjà ajouté à l'écran. Pourquoi dois-je le refaire ? Donc cela, vous pouvez réellement réparer. Rappelez-vous que nous avons fait cela à l'intérieur du joueur et dans la base des joueurs. Donc fondamentalement ici quand le joueur meurt, nous ajoutons ce jeu plus. Donc, dans celui-ci, nous l'ajoutons à la fenêtre, mais ne l'avons jamais supprimée. Et fondamentalement, on peut vraiment enlever ça ici. Donc, en fait, dans le graphique ,
quand j'ouvre ce niveau,
juste avant de l'ouvrir, je peux réellement le supprimer des fenêtres. Et ce que je peux voir ici est traîné et dire Supprimer de la vue, retiré des parents, pas de la fenêtre, retiré des parents. Et ce que je veux enlever, c'est essentiellement la cellule. Donc je n'ai pas besoin d'une cible parce qu'on est déjà à l'intérieur de l'arrivée. Donc, je veux fondamentalement le supprimer du parent, puis ouvrir ce niveau ici. Donc, si je clique sur Jouer maintenant, et fermons cela, je clique sur jouer, et je clique sur ce Start Game. Et jouons et laissons-le mourir. Et je suis mort. Et je peux cliquer sur ce retour au menu principal. Et maintenant, si je clique sur l'évasion, vous pouvez voir qu'on n'aura plus ce bug.
75. Effets sonores UI: Ok, alors ajoutons maintenant des effets sonores pour les boutons de l'interface utilisateur. Revenons donc ici à l'interface utilisateur, et commençons ici depuis le début. Donc le jeu sur un ici. Souviens-toi qu'on a un bouton ici. Donc, en cliquant sur ce bouton, vous pouvez en fait, si vous faites défiler maintenant, vous pouvez aller dans le graphique et dire que lorsque vous cliquez sur ce bouton, vous pouvez jouer un son. Alors jouez du son. Et jusqu'à présent, nous avons utilisé le son de lecture sur place. Et c'est à ce moment que vous voulez générer un son à un certain endroit. Par exemple, si un ennemi vous attaque, vous voulez générer ce son comme les joueurs qui sont les ennemis attaquant. Mais si vous voulez simplement un son, comme un son de cette interface utilisateur, il suffit de dire jouer un son et vous jouez un son 2D. Donc c'est pour l'interface utilisateur, mais nous ne pouvions pas en faire un ici et placer le son ici. Mais ce que nous pouvons réellement faire, Unreal Engine a déjà codé dans la fonctionnalité ici. Donc, si vous cliquez sur le bouton et vous pouvez, vous pouvez descendre ici, peut réellement voir quelque chose appelé son pressé et sons Harvard. Donc, nous pouvons réellement ajouter des sons ici au lieu de le mettre à l'intérieur du code. Donc vous pouvez le mettre à l'intérieur du code, mais je ne pense pas que ce soit une bonne pratique. Je veux dire, pourquoi le ferais-tu quand ils l'ont littéralement placé ici, gros, j'ai importé quelques sons ici. Donc, dans le matériel de cours, vous trouverez tout, trouver tous ces sons. Maintenant, ici, nous pouvons fondamentalement minimiser ces. Et je ne crois pas que nous ayons un dossier audio ou audio ici, et je ne pense pas. Donc, ce que vous pouvez faire est de cliquer avec le bouton droit sur ce dossier de contenu, cliquez sur Nouveau, et je l'appelle simplement audio. Et à l'intérieur de ce dossier audio, je peux ouvrir mon dossier de matériel de cours. Et voici, voyons ce que nous allons utiliser. Donc nous allons utiliser cette musique clone grève,
la musique du menu principal. Celle-ci est une musique de speed ball qu'on utilisait auparavant. Et le bouton de clic sur la profondeur, nous allons l'ajouter plus tard. La nouvelle vague, l'hôtel n'est pas quelque chose que nous utilisons ici. C' était le vieux jeu, le match de balle. Et l'étoile est pour le match de balle. Donc, ceux qui vont utiliser et vous pouvez les faire glisser vers le bas à l'intérieur de l'audio. Et en ce moment pour le menu principal où nous voulons essentiellement faire ou non le menu principal. Donc, fondamentalement, l'interface utilisateur, nous voulons cliquer sur ce bouton hover, faites un clic droit dessus. Et ici, vous pouvez créer un signal sonore. Donc, créez une file d'attente et appelez-le SC pour signal sonore. Et vous pouvez l'appeler dossier bouton. Et faisons un autre signal sonore. Donc, ce bouton a cliqué sur le bouton clic,
vous pouvez cliquer avec le bouton droit de la souris créer la file d'attente et l'appeler bouton clic. Ça va comme ça. Donc nous allons l'utiliser pour entendre ce qu'ils ressemblent. Et vous pouvez cliquer sur l'interface utilisateur, ouvrez le jeu sur l'interface utilisateur à nouveau. Et maintenant ce que vous pouvez faire est de cliquer sur ce bouton et vous pouvez descendre pour appuyer sur le son Hoover et mettre fin à un son Hoover. Tu peux écrire Wilbur, et on devrait voir le signal sonore qu'on vient de faire. Et il peut faire la même chose ici. Si vous dites cliquer, vous pouvez choisir ce bouton clic que nous venons de faire. Maintenant, ça marche. Fondamentalement, vous devez le faire avec toute l'interface utilisateur. Donc, dans le menu principal, nous n'avons pas de boutons. Donc, en sortant de cela, en
allant dans le menu principal, cliquez sur ce bouton. Et la même chose ici. Si vous cliquez avec le bouton droit de la souris, juste au-dessus, en sélectionnant ceci et en faisant la même chose, peut-être que vous pouvez les copier réellement, vous pouvez effectivement le copier ici. Athée. Et avec celui-ci, nous pouvons juste chercher Alice, sélectionner ceci. Ok, donc ça marche aussi bien maintenant. Et dans la vague, nous n'avons vraiment rien ici. Donc, c'était en fait tous les boutons d'interface utilisateur que nous pourrions ajouter parce que nous n'avons pas vraiment plus de boutons qui, qui font du son ici.
76. Musique de jeu: Alors ajoutons maintenant de la musique au jeu. Et pour commencer, j'ai quelque chose qui s'appelle. Donc, si nous passons à l'audio que nous avons importé,
en fait, avoir celui-ci appelé musique MainMenu et il pourrait être trop fort. Soyez prudent. Ouais, Donc cette musique du menu principal que je veux
utiliser afin qu'il puisse cliquer avec le bouton droit de la souris et créer une file d'attente à nouveau. Et celui-ci s'appelait Sun Q menu principal. Et on peut juste l'appeler souligner la musique. Je veux juste savoir que c'est en fait de la musique et pas une conduite d'effet sonore comme celle-ci. Et pour ce cours, je veux juste baisser le volume afin qu'il ne soit pas trop fort. Ou tu aimes ça, c'est, ça sonne bien. Et ce que vous pouvez faire ici, j'ai fait une bulle bleue. Maintenant, ce n'était pas bulle de boucle au départ, je viens de télécharger de la musique libre de droit à partir de YouTube. Et ce que vous pouvez faire,
c'est que vous pouvez cliquer dessus et que vous pouvez réellement sélectionner celui-ci appelé boucle. Donc maintenant, il est en train de boucler pour toujours. Et je l'ai fait fonctionner dans Premiere Pro. Je l'ai juste fait boucler. Donc maintenant, vous pouvez réellement entendre ça pour toujours. Donc la prochaine chose est celle-ci, m clone frappe. Donc c'est la musique de piste de clone. Celui-ci ici, je peux cliquer avec le bouton droit de la souris créer un signal sonore
et SC, et nous pouvons appeler ça une musique clone grève. Oui, comme le cessionnaire peut double-cliquer. Et pour le bien de ce cours, encore une fois, je vais baisser le volume. Donc ton oreille ne se fait pas exploser. Peut-être 0,3. Et vous pouvez même, vous pouvez, vous pouvez augmenter le volume sur votre ordinateur, c'est très bien. Et encore une fois, vous pouvez cliquer sur la bulle de boucle parce que c'est en fait, je l'ai fait boucler pour toujours, juste comme ça. Et maintenant, on peut jouer le son ici. Donc, vous pouvez le faire dans le mode de jeu ou le contrôleur de joueur, ou l'open et le Level Blueprint et le faire à partir d'ici. Donc fondamentalement, puisque c'est spécifique pour ce niveau, je peux simplement ouvrir ce plan de niveau. Ou ce n'est pas mal si vous voulez entrer dans
le mode de jeu ici et en fait juste jouer depuis le début, commencer ici, mais c'est à vous de décider. C' est, rien ne va mal ici. Donc, en entrant dans le plan de niveau, je vais juste le jouer à partir d'ici. Donc je vais dire jouer son 2D. Et d'ici, je peux simplement sélectionner mon, Je peux dire de la musique et je peux sélectionner ma musique de menu principal. Maintenant, cela fonctionne si vous cliquez sur jouer. Et la prochaine chose que je veux faire est que je veux aller dans Maps, ouvrir la carte principale ici. Et encore une fois, dans les plans Level Blueprints, je peux dire jouer du son 2D, et je peux chercher de la musique et jouer mon cologne, frapper de la musique. Donc si je joue à partir d'ici, celui-ci fonctionne aussi.
77. Finalisation du jeu: Bon, donc maintenant nous sommes presque finis et nous sommes presque à la ligne d'arrivée, mais nous devons encore faire de très petites choses qui rendront le jeu encore plus génial. Et ce sont toujours ces petits détails que vous faites à la fin qui rendront votre jeu encore meilleur et meilleur. Alors ajoutons ces dernières choses. Et ce que je pense que nous devrions faire, c'est ajouter un effet sonore d'onde. Donc, quand vous changez la vague, il y a un effet sonore. Et fondamentalement, c'est à l'intérieur du mode de jeu. Donc, si nous allons dans le mode jeu ici, plan et à l'intérieur du mode de jeu pour la frappe clone. Donc, en gros, nous avons ce géniteur ennemi, l'ennemi frayeur. Et nous pouvons toujours, vous pouvez voir ici que nous affichons réellement l'interface utilisateur Wave. On peut toujours jouer ce son ici. Donc avant de pouvoir le jouer, il faut
évidemment aller à l'intérieur de l'audio. Et celui que nous allons utiliser s'appelle New Wave. Donc on peut faire un clic droit et créer un signal sonore, l'
appeler New Wave, et je peux le jouer. Donc ce son, nous allons placer un son d'hélicoptère et nous allons le jouer. Voyons où cela a le plus de sens. Et on peut jouer ici. Donc ici, nous pouvons dire jouer le son à D Juste comme ça parce
que nous ne voulons pas vraiment le jouer à un certain endroit et c'est juste un son 2D. Et nous pouvons chercher une nouvelle vague et nous pouvons la sélectionner d'ici. Ensuite, nous voulons remettre notre retard ici. Alors rappelez-vous que nous avons déconnecté ce délai parce que nous voulions vraiment essayer le jeu sans délai. On n'a pas attendu cinq secondes chaque fois qu'on a essayé un nouveau mécanicien. Donc, je vais le reconnecter et supprimer celui-ci ici et mettre le code, mettre ce moche,
ce nœud auxiliaire ou AV, c'est comme ça. Ensuite, nous voulons cliquer sur cette vague et la remettre à la vague numéro un ici. Donc, la prochaine chose que nous pouvons faire est de jouer un effet sonore quand le joueur meurt. Et j'ai quelque chose de drôle si tu ne l'as pas déjà compris. J' ai téléchargé le son de la mort de Metal Gear. Je pense qu'on peut faire quelque chose de amusant avec ça. Donc, faisons un clic droit et créons un signal sonore de ceci et appelons-le sc depth. Je vais baisser le volume. Je crois que c'est très élevé, donc je vais le réduire à zéro point 3. Donc ce muscle, ton son. On peut le rendre plus fort. Juste comme ça. Et je veux jouer ce son chaque fois que notre joueur est en dés. Donc, je peux aller dans les plans, cliquer sur le joueur et ouvrir cette base de joueur ici. Et si nous descendons à cette mort ici, nous le pouvons après avoir désactivé la collision et le mouvement. Et ici, nous avons ce jeu sur l'interface utilisateur. Avant de vouloir afficher cette interface utilisateur, je veux vraiment jouer le son ici, donc je vais le déplacer un peu. Et ici, je vais dire jouer son 2D. Donc fondamentalement la même chose que nous faisons encore et encore. Et je vais chercher la mort. Et maintenant ce son def va jouer. Mais fondamentalement ce que je veux faire ici, je veux vraiment retarder cette interface utilisateur parce que je veux jouer l'effet sonore. Et après cela, nous pouvons montrer l'interface utilisateur. Et je crois que si nous essayons de le retarder de cinq secondes et que C six secondes et voir si c'est naturel parce que je veux que le son de la mort joue avant de montrer l'interface utilisateur. Et la dernière chose que nous voulons faire, nous avons en fait un bug lors du rechargement dans le jeu parce que rappelez-vous, nous avons vérifié que le joueur n'est pas cela quand nous tournons. Donc quand on est morts, on ne peut pas tirer sur l'arme. Et nous devons faire la même chose ici. Ou quand nous rechargeons parce qu'en fait, nous pouvons recharger pendant que nous sommes morts. Donc je vais copier ceci et je peux vous montrer comment nous le nettoyons dans la prochaine leçon ici. Donc maintenant, maintenant ça dit que si vous n'êtes pas mort, vous pouvez réellement recharger. Donc, si vous êtes une note que vous ne pouvez pas recharger. Un autre livre que nous avons ici est sauvage. Vous êtes en train de recharger. Tu peux vraiment tirer leur arme. Pour qu'on puisse tirer leur arme. Vous pouvez cliquer sur la souris une arme trop loin sauvagement que vous rechargez, et nous ne voulons pas faire cela. Ça a l'air un peu bête. Alors allons par ici et faisons un nouveau booléen. Et appelons-le B se recharge. Maintenant, nous pouvons prendre ce rechargement au début, ce sera faux. Et maintenant, quand nous cliquons sur le rechargement et il regarde ici, il vérifie, est le PLR mort, savoir que le joueur n'est pas mort. Donc, après cette vérification ici, on peut mettre ce rechargement ici, juste comme ça. Et maintenant, le joueur est en train de se recharger. Donc, dans le joueur n'est pas rechargement. On peut monter ici et dire, on peut prendre ça ici et dire des dingues. Donc la couche 1D n'est pas cela. Et nous pouvons traîner hors de cela et dire, et quand le joueur n'est pas mort et que le joueur ne se recharge pas, alors nous pouvons tirer. Donc nous avons deux chèques à faire avant de tirer. Et fondamentalement, nous pouvons maintenant déconnecter ceci et nous pouvons connecter ceci et à la place. Et ici, nous avons, à un moment donné, nous devrons définir ce faux parce qu'une fois que vous avez terminé le rechargement, vous ne rechargez plus. Donc c'est après cette pièce, ce montage est terminé, vous avez dit DMO, vous avez mis ces munitions. Et puis à la fin, je vais prendre ceci et définir le rechargement sur false. Et fondamentalement ce que nous voulons faire aussi ici, un autre livre que vous pouvez voir ici est que le joueur peut réellement spamper le rechargement. Et nous ne voulons pas que le joueur étende le rechargement. Donc fondamentalement, nous voulons prendre cette année comme ça, pour qu'il puisse réellement copier tout ça. Et supprimons ceci ici, et mettons-le ici. Alors étonnant PLR n'est pas mort et le joueur ne se recharge pas déjà. Ensuite, nous pouvons aller de l'avant et cliquer sur Recharger. De cette façon, le joueur n'a pas le potentiel de simplement cliquer sur notre ancien temps et juste continuer spamming que recharger l'animation. Alors maintenant celui-ci le répare. Ok, donc le dernier bug que nous avons, je crois que c'est le dernier. J' ai essayé le jeu quelques fois pendant environ 15, 30 minutes. Et l'un des insectes est un bug bizarre. Et ici, si nous retournons aux ennemis et dans la base ennemie. Donc fondamentalement ici dans la base, nous avons ce joueur d'attaque et fondamentalement cette boîte de sortie. Donc, si cela est joué juste avant, si le grognement, l'IA et l'IA vous attaquent en même temps que vous tuez le SE II. Celui-ci va jouer et il va en fait frapper U, même si l'IA qui a enseigné que vous voulez faire est juste de prendre celui-ci et dire, si le runt n'est pas mort, alors il peut vous attaquer. Donc, en prenant ceci et en écrivant B et en vérifiant si la subvention n'est pas morte. Donc, si le sol n'est pas mort, vous pouvez aller de l'avant et vous attaquer. Donc je vais tester le jeu. Donc, si nous cliquons sur Play, maintenant, nous jouons cette musique et je peux cliquer sur Démarrer. Et nous avons cet effet sonore d'onde. On joue de la musique, on a l'IA et ça compte une. Et si je lui dis, on va à la deuxième semaine, accord, donc je vais les laisser me tuer ici. Maintenant, il va me tuer. Et les mots qui
étaient aussi les serpents et le fait et vous avez guidé avec deux. Et c'est en fait avec deux et nous pouvons revenir au menu principal. Et nous y voilà. Et nous pouvons quitter le jeu si vous voulez y jouer à nouveau. Si vous le souhaitez.
78. Nettoyer le code: Ok, donc maintenant nous avons fini avec le jeu et il est très important de nettoyer votre code parce que vous pouvez imaginer si vous ne nettoyez pas votre code après, disons un mois, deux mois, trois mois, vous ne saurez pas ce que vous avez fait. Si tu ne commences rien. Aussi, si vous engagez un autre programmeur et qu'il a besoin de travailler à côté de vous, ne saura
probablement pas ce que vous avez fait si vous ne commentez rien. Et aussi si votre, si votre code n'est pas propre, c'est très difficile à lire et aussi pour vous-même. Donc très, très important, même si nous avons fini à nouveau, très important que vous nettoyiez votre code. Commençons donc par eux, dès le début. Commençons par le mode de jeu pour la frappe du clone. Donc, je vais double-cliquer dessus ici. Et d'habitude, je commence juste par le haut. Donc, nous avons ce début jouer. Nous avons le retard, et nous avons les ennemis apparaissent et le contrôleur de joueur ici référence. Donc, ce que je voudrais faire est en fait déplacer ce contrôleur de joueur dans cette partie ici depuis le début, parce que je ne veux pas retarder avant de créer cette référence, cela n'a pas de sens. Il est logique de retarder ou de répondre, mais pas de faire cette référence. Ça n'a aucun sens. Et ce que je fais habituellement est que je commente mon code afin que vous puissiez sur tout le sélectionner tout cela, cliquez sur C pour faire un commentaire. Alors n'oubliez pas de cliquer sur C. Et ici, vous pouvez, par exemple, n'est-ce pas ? Mais nous pouvons jouer, j'écris, j'aime écrire commencer jouer. Oui, voulant, je vais juste dire ennemi frayant. Juste comme ça. Vous pouvez l'appeler créer un lecteur, une référence de
contrôleur ou créer des références. Ce que j'utilise habituellement le jeu de début est de créer des références à des choses comme le contrôleur de joueur. Maintenant, vous avez créé un commentaire et maintenant il est également facile de se déplacer si vous le souhaitez. Et ça a l'air bien propre maintenant. Et il peut aussi, si vous cliquez ici, vous pouvez changer la couleur ici. Donc, si vous voulez commencer à jouer pour être une couleur spécifique, vous pouvez le faire. Et vous avez entendu ça appelé « show bubble » quand on a zoomé. Donc il peut prendre un billet ici. Ainsi, vous pouvez voir cette bulle lorsque vous faites un zoom arrière. Et puis vous pouvez le décocher si vous ne voulez pas le voir comme ça. Maintenant, je vais juste le laisser et je vais juste laisser le ballon être là. Le suivant est l'ennemi de frayage. Et rejouant un son ici, on parle de la manette du joueur. Et ce contrôleur de joueur, nous n'avons pas vraiment besoin d'y faire référence maintenant parce que nous avons déjà ce contrôleur de joueur de jeu. Donc, je vais supprimer ceci. Et nous pouvons simplement utiliser cette référence ici. Donc je vais tenir le contrôle, faire glisser et juste connecté ici. Et c'est en fait tout ce qu'on avait à faire. Pour que je puisse me rapprocher de ça maintenant. Juste comme ça. Maintenant, nous ajoutons ceci à la fenêtre d'affichage. Nous affichons le texte de la vague, en retardant et en supprimant. Ouais, donc c'est bon. Et je vais y entrer et dire frayer ennemis,
minuteur, affichage Wave, interface utilisateur. Juste comme ça. Et tu peux l'appeler comme tu veux. Donc maintenant, je suis juste en train d'improviser la chose la plus rapide à laquelle je puisse penser. Et ici, nous avons les géniteurs des Ennemis. Donc, les géniteurs ennemis liant les ennemis à travers cette minuterie ici. Et ce que nous voulons faire ici, ce code ici d'obtenir acteur de classe, vous répondez, répondre à ces grognements ici, c'est la logique de l'ennemi de l'apparition. Et ce que je veux faire, c'est que je vais juste sélectionner tout ça ici. Je vais cliquer avec le bouton droit de la souris. Et ici, vous pouvez dire effondrement pour fonctionner. Donc tu vas faire une fonction. Donc Calypso fonction et vous pouvez voir qu'ils sont à l'intérieur d'une fonction. Et celui-ci, vous pouvez simplement appeler, par
exemple, fraye, ennemi sur. Quelque chose comme ça sont des grognements engendrés, c'est à vous de décider. Et cette seule valeur ici. Si vous cliquez dessus, vous pouvez double-cliquer sur cette fonction maintenant et vous pouvez voir tous ceux-ci se trouvent dans une fonction. Donc si je déplace cette note de retour pour qu'on puisse voir à quoi ça ressemble. Et je m'éloigne de celui-ci. C' est à l'intérieur d'une fonction maintenant. C' est donc le nœud d'entrée. C' est là que la fonction démarre et que vous avez votre code et c'est le nœud retourné. Donc, c'est le début et c'est la fin, c'est le nœud retourné. Donc maintenant vous avez une fonction et sexuellement l'air propre. Maintenant, vous n'avez pas besoin de ce long code à l'intérieur de votre graphique principal. Si vous le faites simplement en fonction, il apparaît également ici à gauche. Et si vous voulez créer une nouvelle fonction, vous pouvez simplement cliquer sur ce signe plus ici et vous pouvez créer votre propre fonction. Et quand vous voulez le mettre fin, vous pouvez écrire un retour et vous pouvez ajouter ce nœud de retour. Et vous pouvez avoir votre code entre ici. Maintenant, en cliquant sur ce nœud de retour et votre entrée ici, vous pouvez faire différentes variables pour eux et vous pouvez créer des choses politiques. Donc je vais laisser cette fonction ici. Donc maintenant nous avons ceci à l'intérieur d'une fonction et nous appelons l'étang ennemi spawn, et le nœud retourné, je ne veux pas qu'il soit appelé. La valeur de retour n'a aucun sens pour nous. Ça ne nous donne aucune valeur. Celle-là, je vais juste appeler ennemi, ennemi. Peut-être qu'il y a comme ça. Et si c'est sur, et il est plus logique d'avoir ce nom. Une valeur de retour. Donc c'est le porno ennemi que nous avons ici. Et à la fin de Upon, on le met à une variable appelée « Porn ennemi ». Donc si je me rapproche de tout ça maintenant, juste comme ça. Et ici, nous ajoutons les pons au tableau. Donc je vais bouger ça va vraiment bouger ça ici, Lls. Laissez-moi les déplacer et voir ce qui se passe. Donc, je vais les déplacer, celui-là. Je peux revenir en arrière. Maintenant je peux, je peux juste prendre ces deux-là. Maintenant, je peux cliquer sur voir et dire ajouter NME sur le tableau. Et celui-ci, nous pouvons juste venir ici et dire affichage ou un ensemble,
ensemble, allocation ennemie, ou l'interface utilisateur par exemple. Et c'était un mauvais nom, mais tu peux l'appeler n'importe quoi. Mais nous définissons essentiellement le, le nombre dans l'interface utilisateur combien d'ennemis vous avez engendrés. Et nous pouvons déplacer cette logique ici. Donc, ces deux-là, ils n'ont pas leur place ici. Pour qu'on puisse les déplacer. Je peux tenir Contrôle et les sélectionner. Et on peut les faire sortir d'ici. Et celui-ci, je peux juste le mettre ici parce qu'il n'y a pas beaucoup d'espace. Et celui-ci est en fait juste de vérifier combien vous avez engendré. Juste comme ça, parce qu'on a ce compteur d'ondes. Donc nous arrêtons le contraire. Vous ne frayez plus. On a ça maintenant. Et ici, vous pouvez dire, ajouter un à la façon dont la variable. Et je vais juste cliquer dessus. Cliquez donc sur Contrôle en sélectionnant tous ces commentaires. Je vais enlever les bulles et en fait je vais sélectionner tout. Maintenant, cliquez sur C et dire spawn, logique
NME, juste comme ça. Alors maintenant, ils sont tous dans ce maître, commentaires de
maître, voyant le frai dans la logique immunitaire. Et je peux même lui donner une couleur, quelque chose comme ça si je veux. Et maintenant ça a l'air beaucoup plus propre que ce qu'on avait avant. Maintenant ce que nous pouvons fermer cela, mais vous pouvez aussi, vous pouvez le nettoyer plus loin. En fait, ce que vous pouvez faire est ici à gauche vous avez ces, ces variables que vous avez créées. Si vous cliquez sur une variable, vous pouvez voir ici à là, à là, non ? Vous avez des catégories et ici vous pouvez réellement le donner, donnez-lui une. Donc, ici, en ce moment est juste appelé par défaut. Vous pouvez faire le vôtre si vous double-cliquez ici et vous pouvez simplement écrire des références par exemple. Et vous pouvez voir qu'il fait une catégorie ici voir des références. Donc maintenant, nous pouvons réellement ajouter toutes les références ensemble. Et c'est ainsi que vous nettoyez vos variables aussi. Exemple, vous pouvez cliquer sur l'étang ennemi et je peux simplement
l'appeler propriétés NME par exemple. Et il peut juste prendre cet ennemi aussi, faire glisser vers le haut et le mettre à l'intérieur des propriétés ennemies. Maintenant, nous pouvons voir les propriétés ennemies et à l'intérieur d'ici. Et vous avez toutes vos autres variables. Ainsi, vous pouvez les mettre dans, dans des catégories aussi bien. Maintenant, compilons et sauvegardons celui-ci et fermons. Et passons au contrôleur du joueur. Nous y voilà. Nous faisons une référence au pion du joueur. Ensuite, nous créons tous ces widgets. Je vais en fait sélectionner tous ces widgets ici. Et je vais cliquer avec le bouton droit de la souris et cliquer sur réduire pour fonctionner. Et je vais juste l'appeler créer des widgets, juste comme ça. Et maintenant nous avons celui-là. Et ici, je vais juste dire Begin Play, créer sur référence, et créer des widgets comme ça. Maintenant, c'est propre aussi. Et ici, nous avons les mouvements des joueurs. Donc, je vais faire un commentaire et dire, Oui, vous pouvez lui donner un meilleur nom, mais je lui donne juste un rapidement pour ne pas faire la vidéo durer éternellement. Et ici, vous pouvez simplement dire arme de feu en appuyant sur la touche de la souris. Ça fait comme ça. Donc maintenant, cela a l'air propre aussi. Et encore une fois, vous pouvez les nettoyer ici. Par exemple, je clique sur celui-ci, vous pouvez simplement l'appeler interface utilisateur ou widget Blueprint ou widget d'interface utilisateur ou où vous voulez l'appeler. Et vous pouvez les faire glisser à l'intérieur comme ça. Et ça a l'air propre. Et maintenant on peut mettre celui-ci en couche. Robert cheese, ou en fait c'est une référence, donc c'est une caserne qui appelle ça des références. Et tu peux le mettre à l'intérieur d'ici, comme ça. Donc maintenant, c'est très propre aussi, donc je peux compiler et enregistrer ici et à l'intérieur de la base de joueurs, je vais juste regarder rapidement si nous avons quelque chose de critique que nous devons changer. Et sinon je ne veux pas rendre cette vidéo trop longue, mais je vois juste si on peut apprendre quelque chose de nouveau ici. Et ici, par exemple, cette arme de feu, nous vérifions si le joueur est mort et si le joueur est en train de se recharger. Et sinon, vous pouvez aller de l'avant et tirer sur l'arme. Donc, fondamentalement, vous pouvez rendre cela un peu plus petit et pas le plus grand changement, mais vous pouvez le rendre plus petit et peut-être plus propre. Par celui-ci est mort, n'est pas mort. Vous pouvez cliquer avec le bouton droit de la souris et le réduire en une fonction. Et vous pouvez l'appeler est vivant ou exemple. Parce que si vous n'êtes pas mort, vous êtes en vie. Donc c'est vivant et tu n'as pas besoin de ça car cette fonction ici, je vais t'apprendre quelque chose de nouveau appelé pur. Donc, si vous cliquez, si vous cliquez sur la fonction et vous cliquez sur ce sens pur, pur, ce qui signifie que vous ne voulez pas vraiment le connecter à travers ces broches ici. Et pourquoi ne veux-tu pas le connecter à travers ces broches ? C' est parce que vous ne définissez rien, aucune nouvelle information. Maintenant, si vous définissez de nouvelles informations comme nous le faisons ici, il
s'agit de définir de nouvelles informations. Nous ne définissons pas vraiment d'informations dans cette fonction. Si vous allez à l'intérieur de cette fonction maintenant que nous nous sommes effondrés, nous vérifions simplement si le joueur est mort ou pas. Donc nous prenons ce booléen si c'est vrai ou faux. Donc, nous ne le définissons pas vraiment sur true ou ne le définissons pas sur false. Donc nous n'avons pas vraiment besoin de le connecter par ici. Et si vous avez des fonctions comme ça, vous pouvez cliquer sur un sens pur et pur si vous compilez et enregistrez maintenant, cela fonctionne. Et pure signifie juste que vous n'avez pas vraiment besoin de ces épingles. Vous voulez juste l'information ici et vous pouvez l'utiliser. Donc, c'est ce que signifie pur et vous devriez rendre vos fonctions pures afin qu'elles ne se connectent pas par ici. Si tu ne mets rien. Donc, si vous voulez juste des informations, vous pouvez aller de l'avant et le faire. Maintenant, par exemple, avec celui-ci, si je devais définir ceci sur pur, je ne pouvais pas parce que vous définissez réellement des informations ici. Mais ici, vous n'êtes pas vraiment en train de définir des informations. Tu prends juste quelques informations et tu veux vérifier quelque chose. Tout comme avec celui-ci est le rechargement. Je peux juste collectionner des labos. Ceci à une fonction et l'appeler ne se recharge pas. Et je peux cliquer sur Votre ici. Et juste comme ça. Une autre chose est que vous avez quelque chose appelé const. Donc, si vous cliquez sur cette flèche ici, vous pouvez cliquer sur cette const et fondamentalement cette constante, ce que cela signifie. Cela signifie que cette information ici que nous avons à l'intérieur d'ici, elle peut provenir d'une autre source. Donc, par exemple, disons,
disons que c'était à l'intérieur du contrôleur du joueur. Donc j'ai dû prendre le contrôleur de débit et je peux réellement me connecter par ici. Et c'est la fonction qui, qu'il l'avait. Donc, nous ne voulons pas vraiment faire
cela parce que c'est juste une fonction qui appartient à cela ici, donc cela n'a aucun sens. Donc, je vais supprimer ces inconvénients,
mais juste pour que vous le sachiez, vous pouvez ajouter des cibles à ces fonctions pures sont des fonctions RREF pures. Vous pouvez ajouter des cibles essentiellement si elles proviennent d'autres plans, comme ce que nous faisons ici. On prend ça et on appelle ça d'autres plans. Alors, retirez-le. Ça n'a pas de sens dans ce cas. Donc maintenant, le code est tout. Il est plus petit et il est un peu mieux de comprendre l'auto-assemblage. Et le parent est vivant et le téléchargement ne se recharge pas. Tu peux y aller et tirer leur arme. Donc, vous pouvez le faire et vous pouvez réellement aller de l'avant et remplacer ce site. Vous pouvez les supprimer réellement. Et la raison pour laquelle je n'ai pas simplement pris tout cela et
en faire une fonction est parce que parfois vous avez besoin de cela n'est pas mort seul. Et je ne veux pas faire plus de fonctions que nécessaire. Je vais supprimer ceci et juste me connecter. Ceci est vivant et ne se recharge pas. C' était comme ça. Donc, vous pouvez le rendre beaucoup plus propre comme ça et vous pouvez le remplacer par le bas. Ici. Je pense qu'on a fait l'été oui, je pense que c'était dans les ennemis, donc ce n'était pas une larme. Ou j'ai vu avant de terminer cette leçon, je veux vraiment vous montrer que c'est un projet sur lequel j'ai travaillé juste pour le plaisir. Vous pouvez voir ce sont toutes les animations que j'ai. Et c'est juste essentiellement un jeu FPS multijoueur. Et ce n'est pas Unreal Engine 4 parce que le multiplicateur
n'est pas encore implémenté dans Unreal Engine cinq en ce moment, j'enregistre cette vidéo. Donc, je ne voulais pas vous montrer comment vous nettoyez votre code aussi. Ainsi, vous pouvez voir à partir d'un projet plus grand à quel point c'est agréable si vous avez nettoyé votre code. Donc vous pouvez voir si je vais à l'intérieur de la base des joueurs, à l'intérieur d'ici, comme ce qu'on a fait. Je suis, je fais référence à ce mode de jeu. Je le mets comme une référence. Je crée une manette de joueur. Et nous avons ce mouvement de couche. Donc, vous pouvez voir que j'ai commenté toutes ces choses là-bas. Des choses que je n'ai pas commentées ici. Et vous pouvez voir que je travaille sur une fente à grenade et libérer la lumière et ainsi de suite. Et ceux-là, je n'ai pas encore fini, donc je n'ai rien commenté. Je travaille toujours ici. Mais fondamentalement toutes les choses qui sont terminées, par
exemple, le mouvement du joueur. Vous pouvez voir que j'ai tout commenté et c'est si agréable. Je ne suis pas dans ce projet depuis six mois ou neuf mois parce que j'
ai eu tant de choses à faire et que je voulais faire des cours et ma vraie vie. Donc je ne suis pas ici depuis presque un an et c'est si facile de comprendre ce que j'ai ici, leurs propres yeux, c'est la marche ici, donc je peux aller voir la marche et voir ce que j'ai fait. Et je peux aller ici et voir que ce sont les arbres de ligne comme nous, nous tournons. Mais dans ce cas, nous l'utilisons dans le tournage pour le tir à l'intérieur de notre, notre exemple. Mais vous pouvez également utiliser des traces de ligne pour ramasser des éléments. Donc, en fait, c'est fait. Par exemple, si je clique sur jouer ici, je donne essentiellement une trace de ligne pour détecter quelle arme est souterraine. Et tu peux vraiment le faire. On va aligner des traces, donc c'est plutôt cool. Donc quand il frappe l'arme, il va faire des trucs. Mais n'oubliez pas, n'oubliez pas de commenter votre code, faites tout ce que vous pouvez pour le nettoyer. Vous pouvez voir ici que j'ai mis dedans, j'ai même mis les fonctions à l'intérieur de, à l'intérieur de ces catégories. Donc, en cliquant sur les fonctions, vous pouvez effectivement les ajouter deux catégories ainsi de ces fonctions. Et celui-ci est sur frobs ce multijoueur, je ne peux pas vraiment les ajouter dans les catégories. C' est pour ça qu'ils sont là. Et fondamentalement, ce sont toutes les variables. Et vous pouvez voir à quel point cela peut être désordonné si vous avez toutes ces variables et ceci, je n'ai même pas commencé le jeu. Je suis toujours très buggé et je suis encore au début du développement. Donc vous pouvez voir ici, nous avons tellement de composants ici et ce n'est que le début. Et vous pouvez imaginer si vous développez un an, quel point cela va être désordonné. Donc fondamentalement, nettoyez simplement votre code et ça va devenir très désordonné si vous ne le faites pas.