Prototypage rapide Unreal Engine 5 : jeu de machine à sous (plan pour les débutants) | Ian Bradley | Skillshare
Recherche

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Prototypage rapide Unreal Engine 5 : jeu de machine à sous (plan pour les débutants)

teacher avatar Ian Bradley, Technical Designer

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction du cours

      1:27

    • 2.

      Slot Car : introduction

      1:30

    • 3.

      Voiture à sous : montage du projet

      1:34

    • 4.

      Slot Car : créer le morceau

    • 5.

      Voiture à sous : entrée

      7:45

    • 6.

      Voiture à sous : créer la voiture

      13:49

    • 7.

      Voiture à sous : roder

      3:09

    • 8.

      Voiture à sous : momentum

      7:29

    • 9.

      Voiture à sous : prendre le large !

      10:51

    • 10.

      Voiture à sous : ajouter le multijoueur

      2:32

    • 11.

      Voiture à sous : créer des matériaux

      7:47

    • 12.

      Voiture à sous : ajouter une interface utilisateur

    • 13.

      Voiture à sous : état gagnant

      11:39

    • 14.

      Emballage du projet et partage sur Skillshare pour obtenir vos commentaires !

      1:30

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

16

apprenants

--

projet

À propos de ce cours

Créez vos propres jeux à partir de zéro avec UE5 ! Créer un jeu de puzzle Breakout dans un moteur 3D grâce au script simple

Mis à jour pour Unreal Engine 5.4 !

Apprenez Unreal Engine 5 à partir de zéro en créant trois prototypes différents.

Cette série rapide vous fera passer du débutant au débutant au débutant de manière interactive et amusante ! Tous les conseils de ce cours ont été adaptés de mon enseignement enseigné dans des universités primées en Angleterre, destiné à prendre en charge tous ceux qui ont utilisé un ordinateur pour les préparer, les enseigner et les pousser dans le monde du développement de jeux. Ce cours rapide a été divisé en trois prototypes répartis en trois cours qui vous enseigneront les bases et les principes de base de la création de jeux et des scripts.

Rencontrez votre enseignant·e

Teacher Profile Image

Ian Bradley

Technical Designer

Enseignant·e

Hello, I'm Ian. A Technical Game Designers living in england. Currently working in a AAA studio and have spent time teaching Unreal Engine 5 all over Europe.

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction du cours: Bienvenue sur le site de prototypage rapide d'Unreal Engine Five, Slochar. Si vous êtes prêt à apprendre le développement de jeux en créant de vrais projets, vous êtes au bon endroit. Dans ce cours, nous allons créer un jeu Sloccar classique de A à Z en utilisant le système Blueprint d' Unreel Engine Five Ce projet fait partie de la deuxième partie de ma série de prototypage rapide publiée ici sur Skillshare , dans laquelle nous nous plongeons dans des projets du monde réel tout en acquérant des compétences de base en matière de développement de jeux vidéo Au fur et à mesure que nous développons, vous acquerrez une expérience pratique des domaines tels que les splines, la gestion des entrées, les événements, les fonctions et les compétences en logique de jeu, qui sont non seulement fondamentales pour le développement de jeux mais également pour le prototypage rapide Ce cours s'adresse à tous les niveaux, mais si vous débutez avec Unreal Engine, je vous recommande de commencer par ma classe fondamentale Unreal Engine Five Blueprints Ce cours couvre tous les éléments essentiels, vous vous sentirez donc comme chez vous alors que nous nous pencherons sur ce projet. Et peut-être que pendant que vous y êtes, vous voudriez suivre la première partie de ma série de prototypage rapide où nous créons un jeu original Mais ne vous inquiétez pas, si vous ne voulez pas créer ce jeu, vous vous sentirez également comme chez vous ici. À la fin de ce cours, vous aurez un jeu de cartes à sous entièrement fonctionnel auquel vous et un ami pourrez jouer même temps, et une meilleure compréhension du prototypage rapide et du moteur Unreal pendant que vous Donc, si vous avez hâte de créer vos propres jeux dans Unreal Engine Five et d'acquérir de l'expérience pratique, inscrivez-vous dès aujourd'hui, et je vous verrai en classe 2. Slot Car : introduction: Bienvenue sur un deuxième prototype. Nous allons en fait créer quelque chose vraiment différent de ce que vous pourriez voir normalement dans les cours irréels modernes Nous allons créer un jeu de type carte à sous. La raison en est que cela vous apprend beaucoup de choses différentes, notamment en ce qui concerne le fonctionnement des entrées, le fonctionnement événements dans Unreal et la manière de les déléguer correctement, ainsi que la façon dont acteurs travaillent dans le monde du jeu Maintenant, ce que je vous recommande, c'est de suivre le lien dans la description ci-dessous et de jouer à l'un de ces jeux de machines à sous. Je recommande également de désactiver le son et, vous savez, de sélectionner deux joueurs, puis vous pourrez voir tout droit et essayer de le jouer principalement par vous-même ou par quelqu'un d'autre si vous avez quelqu'un à côté de vous. Mais vous pouvez voir ici que vous avez deux touches dans le clavier. Nous avons le contrôle et la touche T va contrôler les deux voitures différentes. Donc, ce que vous voyez ici c'est que le clavier contrôle deux entrées différentes, et c'est ce que nous allons essayer de faire dans notre prototype. Donc, avant de commencer celui-ci, prenez le temps de jouer à ce jeu ou un jeu similaire et notez simplement quelques points que vous pouvez remarquer à ce sujet, ce que vous pourriez penser que nous devrions faire pour créer un prototype comme celui-ci. Je te verrai dans le prochain. 3. Voiture à sous : montage du projet: Comment ça va ? Nous allons simplement mettre en place ce projet. Celui-ci va être beaucoup plus facile. Nous voulons simplement mettre en place un projet et créer un niveau. Donc, comme la dernière fois, nous allons créer un blanc. Je vais le configurer comme je vais l'appeler. Beaucoup de soulignements de voitures. Moi, donc je sais ce que c'est. Je n'ai pas besoin de contenu vedette, et je veux m'assurer qu'il est conforme au plan. Nous allons donc simplement le créer Cela peut prendre un peu à la fois juste à cause de l'initialisation, mais encore une fois, c'est un projet vide, donc tout devrait bien OK, comme la dernière fois, l'Unreal Engine Five l'a chargé et il est chargé avec le niveau par défaut Nous pouvons attendre qu'Abacily soit victime de discrimination. Cela ne devrait pas prendre longtemps. Il devrait y avoir des moyens de changer cela, mais pour moi, cela me convient parfaitement. J'ai un bon ordinateur pour faire face à ça. Arrête. Ce que nous allons faire, c'est simplement créer un nouveau niveau. Donc, comme la dernière fois, je vais passer au contenu. Je vais juste créer un nouveau dossier appelé levels. Et pendant que je suis ici, je vais simplement cliquer sur Niveau. Appelons celui-ci, car nous pourrions créer d'autres pistes pour ce jeu. Nous allons l'ouvrir. Nous vous demanderons de faire des économies. Je vais trouver du noir. Comme la dernière fois, je veux juste que vous vous rendiez dans les paramètres du projet. Chaque fois que les paramètres du projet se chargent, nous choisissons les cartes et les modes. Je vais les définir par défaut. part cela, nous devrions être des moyens simples et gentils de passer à la leçon suivante, donc je vous verrai dans la prochaine. 4. Slot Car : créer le morceau: Bon retour. Nous allons donc créer une piste. La première chose que vous voudrez probablement faire serait soit de fabriquer une voiture capable de bouger, soit de créer une piste. Maintenant que nous ne créons pas un jeu de course normal dans lequel nous contrôlons une voiture, comme vous le feriez pour la vitesse, nous recherchons un jeu de gaetrics classique ou de style Slo Cars Ty Nous voulons probablement d'abord créer la piste, car nous voulons en fait créer ce que l' on appelle une colonne vertébrale pour faire le tour de la piste afin que les chariots puissent faire le tour de la piste d'une certaine manière Nous allons donc avoir besoin d'un morceau pour en quelque sorte construire notre shaper. Donc, je vais d'abord faire un clic droit sur mon contenu. Je vais également créer un nouveau dossier appelé Assets. Et dans ce dossier, je vais prendre une photo d'une piste de course automobile. Maintenant que j'en ai téléchargé un sur Internet, vous pouvez accéder à n'importe quel type de piste que vous voulez. Tant qu'il s'agit d'un fichier PNG, cela devrait probablement fonctionner. Mais j'ai créé le lien et vous pouvez télécharger le morceau de Silverson, que j'ai obtenu sur le site de F one et convertir en PNG dans les notes Lasser ci-dessous Et ce que je vais faire, c'est simplement le glisser ici. Il va importer, je vais faire certaines choses, puis il va importer là-bas. Nous l'avons récupéré maintenant. Nous devons faire quelque chose avec ça maintenant. Donc, ce que je vais faire, c'est rétablir le panel d'acteurs que nous avions auparavant. Je vais juste me débarrasser de ce journal de sortie et je n'en ai pas besoin pour le moment. Et je vais faire venir ce qu'on appelle un avion. Et ce qu'est un avion, c'est en quelque sorte une forme en deux D. Je passe à zéro. Écoute, F, le focus. Tu ne le savais pas avant, F, ça mettra toujours tout en évidence. Pour le moment, il est allumé, donc nous ne pouvons pas le voir. Mais comme je l'ai dit, un plan est une forme en deux D qui n'a pas d'axe Z. Il a donc juste une forme en X et en Y. Ce n'est pas le cas, nous pouvons évoluer en Z et rien ne se passe. Je vais le remettre à zéro, à nouveau à un. Maintenant, nous devons ajouter une sorte de lumière à cela. Nous pouvons simplement l'éteindre, et vous pouvez voir qu'il joue ici, mais j' aimerais avoir une sorte de lumière Je vais donc placer le panneau des acteurs, ce petit bouton ici. Je vais faire une lampe directionnelle, et je vais probablement la placer face vers le bas pour que vous puissiez voir. Tant que cette partie est allumée, je devrais être plus qu'heureuse ici. J'accepte cela comme zéro, zéro, zéro, puis cela en baisse de 90 degrés, ce qui devrait être bien. Nous pourrions l'avoir, peut-être pour le faire pivoter légèrement sur le côté, puis en avoir un deuxième. Cela ajoute donc une ombre. Mais dans le second cas, nous baissons l'intensité. Il a donc un éclairage un peu plus uniforme. C'est une technique d'éclairage vraiment très peu coûteuse et rapide. Je ne recommanderais pas toujours de le faire. Je suis sûr que vous, les artistes de l' éclairage pourriez peut-être vous assassiner pour cela, mais c'est une méthode très simple et agréable pour le prototypage Maintenant, j'ai cette image dedans, par exemple, mais je veux en quelque sorte mettre dans ce plan. Nous pouvons facilement le faire glisser dans notre avion Et ce que vous verrez, c'est cela finira par créer un matériau, puis nous faire une carte, ce qui est très beau, en fait. C'est très pratique. Le problème c' est qu'il est assez petit pour le moment, et qu'il est également carré. Nous allons donc réellement agrandir cet avion. Comme nous l'utilisons en fait comme toile de fond, cela ne devrait pas vraiment avoir d'importance quant à nos collisions à ce sujet. Mais comme il s'agit déjà d'une image assez texturée et de haute qualité, moment où nous la modifierons ne devrait pas avoir trop d'importance Donc, ce que nous allons faire, c'est sur mon axe X, je vais en faire 180 et en y, je vais en faire 100, puis nous allons au zoo maintenant. Et nous allons voir un bon Matt, nous pouvons vraiment nous aider. Je vais prendre du recul, cliquer sur le haut et passer sur les lèvres et vous le verrez. En fait, je pourrais travailler juste pour être en mode lèvre, juste pour que ça aide un peu. C'est un peu plus rapide pour moi de le faire. Nous pourrions jouer un peu avec le matériel. Donc, si nous ouvrons ce sujet, nous n'avons pas vraiment travaillé avec matériaux utilisés dans aucun de ces domaines. Mais nous pouvons travailler là-dessus. Une solution serait peut-être simplement d' ajouter une valeur à la rugosité. Si vous cliquez sur l'un d'entre eux. Cela le rendra brillant ou nous avons dit de le rendre très rugueux Alors maintenant, sauvegardez ça. Voyons comment cela fonctionne à nouveau. Vous pouvez voir que c'est un peu plus. Il capte un peu plus la lumière. Si on le met à zéro, il sera très brillant, et vous allez le voir. Soyez très, très dynamique, très réfléchissant. Vous pouvez voir, mais vous pouvez voir d'où vient la lumière . Mais c'est bon. Nous allons laisser ce déchargement. Nous examinerons peut-être matériel une autre fois ou dans le cours plus avancé par la suite Nous devons donc maintenant nous lancer sur la piste. Nous avons parlé de ce qu'on appelle une colonne vertébrale. Nous avons en quelque sorte besoin de nous embrasser. Donc, la façon dont nous allons procéder est de créer un nouvel acteur, un nouveau dossier appelé Blueprints Tirages. Ensuite, nous allons cliquer avec le bouton droit sur Blueprint class Actor. Et cela s' appellera BP Underscore. Ça s'appelle Track. Soulignez l'acteur. Cet acteur de piste est en fait très simple. Il ne s'agira que d'un seul composant. Ce composant, on l' ouvre et on le désactive, va juste être ce qu' on appelle une colonne vertébrale. Nous cherchons une colonne vertébrale. Maintenant, vous pouvez même passer le curseur sur une spline , et elle nous le dira, mais une composante splénique est essentiellement un ensemble de points, puis des équations mathématiques pour montrer une trace quelconque Par exemple, dans Unreal ou si d'autres éléments peuvent être utilisés pour définir le comportement de l'IA, il peut également être configuré pour définir les trajectoires de la caméra afin de voir comment la caméra peut pivoter Ce sont des choses vraiment, vraiment, vraiment puissantes. Comme vous pouvez le voir ici, il s'agit en grande partie de visionner des objets animés, mais en fait, pour nous, nous allons nous en servir pour avoir la piste que les voitures vont emprunter. Donc, tout ce que je veux faire, c'est configurer cela, définir la spline et je vais définir la colonne vertébrale comme valeur par défaut Je vais appeler ça colonne vertébrale. Imaginons Track Spine pour savoir ce que c'est. Vous pouvez les renommer en cliquant simplement sur FTP ou en cliquant avec le bouton droit de la souris, puis en renommant. Compilez sauvegardé. Et ce que nous voulons faire maintenant, c'est faire glisser cela sous forme de spline ici Nous allons le faire là où il commence. Mettons-le donc ici. Et vous pouvez maintenant voir que je vais essayer de le déplacer. Je l'ai déplacé, donc il est parfaitement là. Ce que vous allez voir maintenant je vais savoir que ce que je vais faire , c'est pour notre propre sécurité, nous allons faire ce qu'on appelle un panneau d'affichage Ce qu'est un panneau d'affichage est essentiellement une petite texture en deux D, qui sera toujours une caméra Facemo Nous allons nous assurer qu'il est caché dans le jeu, mais visible, afin que nous ne puissions voir qu'un éditeur. Alors maintenant, nous pouvons participer si nous voulons le faire. Nous pouvons simplement cliquer dessus et il le sélectionnera. Nous avons un ou deux points. En fait, il nous faut bien plus de points que deux. Et ce que nous allons finalement faire, c'est couvrir l'intégralité du morceau avec ces splines C'est donc ce que nous allons faire maintenant. Cela prendra un certain temps, et plus vous ajouterez de points, plus vous obtiendrez d'informations et plus elles seront affinées. Pour ce faire, il faut donc cliquer sur le point suivant. Nous pouvons nous balader. Ils vous rapporteront deux points supplémentaires. Chaque fois que vous sélectionnez un nouveau point, ils créent les points tangents. Ces points tangents modifieront la dureté du virage Car cela changera la façon dont vous souhaitez le tourner. Donc, si vous les agrandissez, nous pouvons les fabriquer. En fait, si nous cliquons sur celui-ci ici, nous voulons passer du local au mondial. Nous pouvons faire en sorte que ce soit à très long terme ou à très court terme. le moment, en fait, je ne veux pas qu' aucun songer Control soit verrouillé. Je vais y retourner. Donc, en cliquant sur ce petit point ici, je vais faire glisser cette partie jusqu'à la fin de la courbe. Nous voyons que nous en sommes arrivés là. Ensuite, en utilisant la touche Alt pour dupliquer, je peux ensuite faire glisser un autre point vers l'extérieur, et le placer là où nous voulons qu'il se trouve. Mettons-y un point, et passons à un autre. Cela peut aider à le ramener aux coordonnées mondiales. Et je vais l'étendre encore une fois pour le faire ressortir ici, et ensuite nous voudrons probablement y revenir. Maintenant, vous voyez que c'est un comportement vraiment étrange ici. Qu'est-ce qui se passe ? Déconnectez-vous de la colonne vertébrale. Cliquez à nouveau pour déconnecter. Ce que nous pouvons voir ici, c'est que lorsque nous cliquons dessus, vous pouvez voir que c'est une très longue tangente, donc je vais la faire glisser et l'introduire Vous pouvez donc voir que c'est un peu plus d'eptine. Je pourrais même allonger cette tangente parce que nous voulons un petit tour, ou nous pourrions aborder cette question parce que nous voulons que les joueurs s' enfoncent profondément dans Comme vous pouvez le voir maintenant, c'est ainsi que nous allons créer un morceau. Nous allons faire le tour du monde. Donc. Pour le reste de cette leçon, je veux que tu sortes et que tu fasses le reste de ce morceau. Je vais le faire avec toi. Il se peut que j' augmente le micro pour que vous ne m'entendiez pas me concentrer, mais ça ira. Le non. OK, oui, nous sommes juste arrivés au bout de tout ça. Donc, une chose que nous pouvons facilement faire maintenant pour terminer cela, que si vous cliquez sur la colonne vertébrale ici, nous pouvons en quelque sorte descendre et faire une boucle fermée, et cela se terminera en boucle. Vous pouvez voir qu'il y a quelque chose de louche ici. Nous pouvons résoudre ce problème en trouvant la tangente ici. Tangente de courbe personnalisée. Il suffit de faire un linéaire dessus. Voilà. C'est sympa et facile. Faites une tangente linéaire ici. Oh, non, est-ce que vous obtenez la courbe complète, ce qui est vraiment agréable et pratique. Alors maintenant, vous avez une piste complète à emporter. Vous pouvez même cacher l'avion, et vous verrez que la piste est prête à être parcourue. Nous examinerons encore la leçon suivante, la leçon suivante, nous examinerons le mode de jeu et entrées, puis nous finirons par faire monter la voiture en grue. Fantastique Nous vous verrons dans le prochain. 5. Voiture à sous : entrée: Bon retour. Vous devriez maintenant avoir une piste complète et complète, et il est temps de commencer à faire le gros du travail de ce prototype. Nous devons donc configurer nos entrées, et nous devons également configurer nos classes, c'est-à-dire notre mode de jeu, notre manette de jeu, et je jouerai un pion Je veux commencer par faire quelques entrées. Nous allons donc faire la même chose que la dernière fois. Ce que nous allons faire, c'est passer au contenu, cliquer avec le bouton droit de la souris dans un tiroir Mil, créer un nouveau dossier, et nous allons extraire les entrées. Et puis nous aurons tout ce que j'aimerais vraiment faire , c'est une IA. Nous avons juste besoin d'un IA. Je sais que nous avons besoin de deux IA, en fait, un pour le premier joueur et un pour le deuxième joueur. Nous allons donc avoir cette bouteille appelée IA underscore. P. 1. Eh bien, allons-y, P one, oui. Euh, oui, donc ce que nous voulons juste faire, c'est ouvrir notre fichier IA. Encore une fois, assurez-vous qu'il s'agit d'Access Wandi. C'est parce que nous allons réellement imiter la force avec laquelle les fichiers sont impressionnés Même si nous utilisons un clavier, qui n'est qu'une sorte d'entrée binaire, activé ou désactivé. Vous voudrez peut-être l' implémenter dans un contrôleur ou nous pourrions le faire plus tard, car il utilise un Access Wandi, cela nous permettra peut-être de faire quelque chose comme l'accélération également Nous pouvons en faire une très belle et facile maintenant, en contrôlant C ou en copiant ou en dupliquant. Et comme avons un à la fin, cela ajoutera automatiquement le chiffre deux à la fin, ce qui est agréable et facile pour nous sauver. Créons donc un IMC. Donc, dans le contexte du mappage des entrées, nous allons l'appeler IMC, underscore, SlackR, car encore une fois, nous pourrions Nous devrions probablement commencer à appeler la valeur par défaut, mais c'est juste un bon moyen pour nous savoir lesquelles nous faisons. Et nous allons ajouter deux mappages. Donc, le premier aura 41 ans, il y aura le W et le second , l'automne 2. Et ça va avoir une planche. Mais c'est ce que j'ai demandé. Juste un petit rappel pour obtenir facilement la clé dont vous avez besoin en utilisant ce petit bouton ici. Nous allons le configurer. Même au revoir. Sauvegardez ça. Ces entrées sont plutôt agréables et faciles à faire maintenant. Nous avons donc un trek, agréable facile à faire, et nous avons apporté quelques contributions. Il ne nous reste plus qu'à créer tous les cours. Maintenant, nous allons procéder un peu différemment, comme je viens de vous le dire lorsque nous effectuons les entrées. Mais normalement, dans les jeux multijoueurs, vous aurez des pions à deux joueurs, personnages à deux joueurs, manettes à deux joueurs parce que vous avez deux méthodes de saisie différentes, ce qui signifie que nous aurions peut-être deux manettes pour contrôler chaque voiture Maintenant, dans ce jeu, nous utilisons le clavier pour les deux manettes, ce qui signifie que nous devons essentiellement déléguer ces entrées à deux acteurs différents via une salle de classe elle-même. Nous pourrions donc utiliser une manette de jeu, et je vais régler tout cela de cette façon. Mais en fait, nous allons créer un pion joueur, qui contrôle ensuite deux acteurs C'est peut-être une façon alambiquée de voir les choses, mais c'est vraiment une bonne façon d'apprendre des choses comme attachement et la gestion d'événements par le biais Je vais donc faire trois choses. Tout d'abord, je vais créer un mode de jeu, que je vais appeler le mode de jeu BP Race, lequel je vais automatiquement dans lequel je vais automatiquement accéder aux paramètres du projet et au set. Donc oui, le mode de jeu BP Race est bien joué. Je vais ensuite créer un pion, qui s'appellera BP Montroller. Maintenant, ça va être un peu confus, mais encore une fois, cela aura beaucoup plus de sens une fois que nous y serons Et nous allons en créer un dernier, qui est juste un acteur parce que nous ne le possédons pas vraiment Cela ne reçoit aucune entrée. C'est le pan, puis les pions vont déléguer la saisie. Nous allons créer un acteur appelé BP Car mais sympa et facile, ces fans gratuits. Ce que nous pouvons faire instantanément, c'est ouvrir notre manette car nous devons faire quelques petites choses. Nous devons également ouvrir notre mode de jeu pendant que nous sommes en mode jeu Assurez-vous de définir notre classe de pion par défaut comme étant notre pion de manette BP Nous allons nous assurer qu' il hérite du niveau, mais juste au cas où il serait toujours pratique de l'avoir Donc, dans notre pion, nous avons vraiment installé une caméra. Parce que c'est ainsi que nous allons voir. Nous allons avoir une caméra parce que c'est réaliste, nous créons en quelque sorte un jeu solo, mais nous avons contrôle de deux choses différentes pour deux personnages différents Donc j'ai besoin que tu ouvres notre contrôleur de voiture, notre pion de contrôleur BP Ensuite, nous allons ajouter, et nous allons ajouter une caméra. Et nous pouvons facilement régler le problème maintenant. Maintenant, nous pouvons mettre notre pion manette dedans, et vous pouvez voir qu'il est bien éclairé Si je fais pivoter cette caméra pour qu'elle regarde vers le bas, puis qu'elle la fasse ressortir. Je me rends compte pourquoi il n'y a pas de feux directionnels ? Oh, il est dans l' avion. Voilà. Vous pouvez le voir ici, il est également très lumineux, et si nous le faisons simplement pivoter, pour qu'il s'intègre parfaitement. Correctement, c'est à l'envers. Ce n'est pas un Tg 108, là. Vous pouvez voir qu'il fait très clair. Et cela est normalement dû à l' exposition de l'appareil photo. Nous pouvons donc résoudre ce problème en entrant dans notre appareil photo, puis en cliquant sur Exposition. Vous verrez tous ces paramètres ici, qui sont certains éléments. Ce que vous allez regarder, ce sont les EB 100 minimum et maximum. Est-ce vraiment intéressant, car il s'agit de trouver le bon niveau de lumière entre ces deux valeurs massives. Et il s'agit de la valeur la plus basse possible et de la valeur la plus élevée possible. Donc, ce que nous voulons faire, c'est les mettre à une valeur par défaut. Je vais donc les régler tous les deux pour deux. C'est donc un peu limité à l'exposition de deux. Et puis vous voyez que cela devient un peu plus vivant et moins lumineux. Nous pouvons même si vous vouliez le réduire à nouveau, certaines personnes voudront peut-être le réduire à un. Je pense que plus il est bas, plus il devient brillant, que nous pouvons même le libérer, et cela pourrait parfaitement fonctionner. C'est sympa et facile. Bien que nous devions contrôler ou mettre en gage, ce que nous voulons vraiment faire, une fois que nous nous assurons de l'avoir ici, c'est regarder en bas, comme nous l'avons fait avec notre dernier prototype, nous voulons nous assurer que ce soit un désastre Et nous devons nous assurer de cliquer sur la racine de l'ego. Ou pour posséder, nous allons avoir le joueur zéro, sympa et facile. Maintenant, nous devrions être assez bons pour continuer et puis maintenant, recteur automobile commence à diviser tous nos événements et à les préparer pour le départ 6. Voiture à sous : créer la voiture: Fantastique. Bon retour. Nos acteurs sont maintenant tous prêts, et nous avons également notre piste d'athlétisme à parcourir. Nous pouvons maintenant commencer à fabriquer notre voiture, ce qui va être vraiment très agréable et facile, en fait, parce que nous avons cette colonne vertébrale, et tout ce que nous voulons, c'est faire rouler la voiture le long de la colonne vertébrale. Cela ne devrait pas être aussi difficile que nous le souhaitons. Maintenant, c'est ce que je dis, et je touche de l'eau en disant cela. Donc, la première chose que je fais, c'est ouvrir notre voiture pornographique. Pour le moment, nous n'avons pas vraiment grand-chose pour notre voiture. Nous n'avons pas de moustiquaire pour voitures. Peut-être tard ou plus tard, ou nous pouvons organiser une session d'extension, qui indiquera où nous pouvons trouver des actifs à placer ici. Il ne s'agit pas d'un cours de création d'actifs. Nous n'allons pas nous libérer là-dessus. Nous ne faisons pas ce genre de choses. Nous sommes juste là pour créer des jeux avec ce que nous avons. Je vais donc juste utiliser un tube cube. Les tubes s'en sortent avec plein de choses, et c'est très facile à utiliser. Et voici notre cube. Nous pouvons appeler cela. Appelons cela un filet de voiture. C'est notre coût. Vous pouvez utiliser un peu d'imagination ici. Nous pourrions même y ajouter une flèche, mais en fait, ajoutons-y une flèche. Les flèches sont de petites choses vraiment très puissantes qui nous aident à stimuler le regard des voitures , parce que c'est pareil Tout est symétrique. Nous devons nous assurer de savoir dans quelle direction se trouve le front. Nous avons donc mis cette petite flèche ici, et nous pouvons cliquer un tout petit peu sur Se cacher dans le jeu sur la flèche, afin de pouvoir même voir où la flèche est dirigée lorsque nous jouons . Par coffre-fort. Ouvrons notre graphe d'événements. Nous avons deux ou trois choses ici. En fait, ce que nous aimerions faire ici c'est d'abord suivre la trajectoire d'une voiture afin de savoir où elle se trouve, puis nous assurer de vouloir déplacer la voiture le long de la Je dois donc créer une nouvelle variable. Je vais appeler ça. En fait, nous n' allons pas créer une variable nous allons le faire un peu différemment. Ce que je vais faire, c'est non, non, oui. Nous allons en créer un nouveau. Je vais donc créer une nouvelle variable. Je vais l'appeler track actor ou track actor, appelons-le track actor. Acteur de piste. Et ce sera une piste de soulignement BP de type variable piste de soulignement BP de type Comédien. Maintenant, c'est une leçon vraiment amusante où n'importe quel acteur que nous avons créé ou n'importe quelle classe de plan que nous avons créée, nous pouvons le définir comme variable Nous pouvons définir une référence d'objet, qui signifie que cela obtiendra une référence à quelque chose dans le monde. Si nous voulions une référence de classe, nous pourrions obtenir du suf. Nous pourrions peut-être accéder à du contenu provenant de cette classe, mais cela ne nous permettra pas d'accéder à tout ce qui se trouve déjà dans le monde du jeu Nous voulons donc obtenir cette référence d'objet. Nous allons exposer l'instance lors du spawn parce que nous voulons vraiment le définir dans le monde du jeu ou dans l'éditeur, le rendre facile et agréable Donc, ce que je vais faire dans le cadre de notre événement, commencez à jouer. vais chercher notre acteur, et je vais chercher notre spline Get Track. Je ne me rappelle pas encore comment je l'ai appelé. Obtenez Track Spline. Et nous allons déterminer la longueur de la colonne vertébrale. Obtenez la longueur de la colonne vertébrale. Cet allongement de la colonne vertébrale va juste nous indiquer la longueur de cette piste Nous devons connaître la longueur de la piste. Mais la première consiste à voir jusqu'où nous en sommes sur la piste et à savoir quand nous arrivons à la fin d'une piste afin de pouvoir la parcourir plus tard dans ce parcours. Nous voulons donc nous assurer que cela est défini en tant que variable. Cliquez avec le bouton droit pour promouvoir une variable. Nous allons appeler cette piste. C'est sympa et facile. Maintenant, ce que nous allons faire, c'est peut-être la première fois que nous le faisons, mais nous avons déjà utilisé de nombreux événements prédéfinis. Nous allons en fait créer un événement personnalisé. Maintenant, ce qu'est un événement personnalisé est réaliste, c'est un événement que vous pouvez appeler quand vous Il n'a aucune logique préexistante, qui sera automatiquement appelée. Tu dois l'appeler toi-même. Ce que nous allons faire, c'est ajouter de la personnalisation. Et nous allons appeler ce déménagement parce que c'est ce qu'il va faire. Et tout ce que nous voulons pour le moment, c'est que cette voiture soit déplacée ? Nous avons donc cet événement de déménagement de voitures. Et ce que nous allons faire, c'est ajouter , et nous allons le récupérer ? Nous allons ajouter une entrée. Maintenant, l'ajout d'entrées fait c'est que chaque fois que nous appelons cet événement, nous appelons désormais move car, il nous sera demandé de saisir une entrée. Maintenant, ce que cela va faire , c'est l' appeler accélérateur, et nous allons appeler l' avoir sous forme de flotteur Ce sera probablement de ce côté. Nous allons modifier quelques entrées dans un petit moment pour régler le problème également. Nous allons ensuite nous en sortir. Et je vais faire mieux, zéro. Nous allons faire un brunch. Nous voulons qu'il se passe quelque chose. La raison pour laquelle nous allons le faire est que si cet accélérateur est supérieur à zéro, nous voulons que la voiture bouge Je vais donc ajouter une nouvelle variable qui s' appellera vitesse. Et ce sera un char. Et nous allons ajouter une deuxième variable qui s' appellera distance. Et ce sera également un flux. C'est la distance que cela va prendre. Et tout ce que nous voulons faire maintenant, en fait, c'est prendre la manette des gaz Nous allons faire un plus, et nous allons faire plus de rapidité. Ensuite, nous allons résoudre ce problème parce que nous voulons une vitesse maximale. Fixez ce flotteur. Disons que nous allons le libérer. Nous pourrions même l'avoir comme vitesse maximale. Définissons cela comme vitesse maximale, comme nous l'avons fait pour notre dernière instance, nous allons définir cette instance comme celle nous allons définir que j'expose et que j'étale, et qui sera définie par défaut sur free. Ensuite, nous allons régler la vitesse, régler la vitesse. Donc, si la manette des gaz démarre, nous allons augmenter notre vitesse Si nos accélérateurs ne fonctionnent pas, nous allons régler notre vitesse à zéro Cela va diminuer la vitesse. Ensuite, ce que nous voulons faire, c'est la façon dont nous conduisons réellement, c' déplacer la voiture le long la colonne vertébrale en fonction de sa rapidité. Je vais donc prendre de la distance, et je vais le faire en plus. Je vais m'y prendre tout de suite. Cela va obtenir le nouveau numéro de vitesse et me permettre de le saisir ensuite dans autre chose. Ensuite, ce que nous pouvons faire, c'est réduire la distance. Donc, ce que nous avons fait ici, c'est que nous avons en quelque sorte accéléré, puis nous allons déterminer le chemin parcouru. Ensuite, nous devons réellement déplacer l'acteur. Comme nous nous déplaçons avec Spline, la façon dont je vais procéder est de traîner Je vais m'occuper du set, de l'acteur, du lieu et de la rotation. Nous pourrions définir une transformation supplémentaire, mais nous n'avons en fait pas besoin de modifier l'échelle de la voiture. Nous ne voulons pas le faire, nous pouvons donc simplement le définir comme suit. Nous allons le déplacer comme nous, et nous devons trouver deux nouveaux sites. Ce que je vais faire maintenant, c'est utiliser le nœud. Pourtant, transformez-vous à distance le long de la colonne vertébrale. Donc je vais le faire. Pourtant, transformez à distance le long de Splat. Et nous devons cliquer sur le bouton « Contact non sensible  » pour que cela apparaisse. Et qu'est-ce que je vais faire au fur et à mesure ? Je vais simplement cliquer avec le bouton droit sur celui-ci, puis le diviser et ensuite nous allons obtenir notre spline pulmonaire à distance Ce que je dois m' assurer, c'est que c'est réglé le monde parce que nous voulons vraiment obtenir l'emplacement de la colonne vertébrale du monde, et non celui de la colonne vertébrale, lorsque nous l'attachons au joueur. Donc oui, nous avons donc cette fonction incroyable ici. Nous devons maintenant propager cela. C'est sympa et facile. C'est un peu explicite. Notre site va y participer et notre rotation va également s'y intéresser. Cela permettra de déplacer la voiture vers un nouvel emplacement et de s'assurer qu'elle tourne de la même manière que la piste, afin que la voiture ait l'impression de rouler sur la piste. Encore une fois, nous n'avons pas besoin d'échelle , car nous n'allons pas modifier l'échelle. Nous voulons nous assurer que c'est réglé le monde, car nous voulons le lieu dépend de l'endroit où se trouve le morceau dans le monde, non de l'endroit où le morceau dépend de l'acteur. Cela poserait un énorme problème. Maintenant, nous devons obtenir un composant de la colonne vertébrale. Heureusement, nous avons ici une référence à l'acteur de la chanson. Nous devons maintenant faire le suivi. Et je trouve que c'est facile et agréable à suivre. Et nous voulons prendre de la distance. Heureusement, nous avons déjà une belle variable que nous avons appelée distance que nous avons créée qui se compile en toute sécurité. Et c'est en fait presque terminé. Avant de partir, nous voulons nous assurer de tout mettre en commun. Donc, celui-ci ici, je vais juste définir la longueur. Au début. Cela sera très utile dans un petit moment. Et puis, comme il se passe vraiment beaucoup de choses, je vais m'occuper de tout ça. Je vais faire du mouvement. Mouvement, je l'ai mal orthographié. Mouvement, mouvement, mouvement, logique. Ensuite, si vous cliquez avec le bouton droit sur des éléments, vous verrez que nous pouvons commencer à utiliser les commentaires des nœuds. Je dois dire que je ne fais pas tout. Et vous pouvez commencer à les voir chargés. Celui-ci, par exemple, nous assurer que la vitesse de la voiture ne monte pas trop haut, rendre à un nouvel endroit sur cette ligne. J'en ai écrit certains dans le corps et je les fais très fréquemment. Sur la colonne vertébrale. C'est sympa et facile. Et cela va juste nous aider un peu plus, surtout quand on y repense un Maintenant, nous devons retourner dans notre pion manette. Alors maintenant, pour ajouter un peu de logique au jeu, mettez le pion manette en pion Maintenant, ce que nous voulons réellement faire ici, c'est que nous devons en quelque sorte configurer une variable. Et en fait, je vais configurer deux variables ici. Oui, mettons-nous en place. Configurons, configurons une seule variable. Ce sera la barre du joueur 1. Et ce sera un point fort de BP. Comédien. Nous allons nous assurer que c'est une valeur insensible, exposée et étendue, et nous allons définir cette catégorie comme obligatoire Nous fabriquons celui-ci. C'est sympa et facile en lettres majuscules, donc nous savons quoi faire Maintenant, ce que nous devons faire, c'est définir nos entrées. Nous ne l'avons peut-être pas fait auparavant, nous devons donc organiser un événement. Commencez l'assiette. Et ce que je dois faire, c'est me procurer une manette de joueur. Même s'il s'agit d'une manette à câble, ce n'est pas la manette du lecteur. C'est une autre classe au-dessus. Et nous allons obtenir un sous-système de lecteur local d'entrée amélioré, exactement comme nous l'avons fait dans le précédent Et puis, pendant que nous sommes ici, nous le faisons simplement ajoutant du contexte de mappage. Et nous allons ajouter le contexte de mappage que nous avons créé lors de notre session précédente. Joli et simple. Nous pouvons donc maintenant accéder à tous ces contextes de mappage pour deux actions de saisie. Je vais le faire, je crois que cela s'appelait IA underscore B's all P one Et il va également proposer une valeur flottante. Donc, ce que je peux faire maintenant , c'est m'éloigner de mon joueur O car c'est l'accélérateur P. Je vais déménager. Et comme nous modifions notre saisie, et que nous allons définir notre référence à ce joueur. Un panier ici, je vais obtenir la valeur de notre action. Donc, vous savez, c'est la valeur de l'action et ajoutez-la dedans. Je vais cliquer sur Play Save. Nous avons veillé à ce que notre bus fonctionne. Maintenant, nous devons nous assurer que notre joueur possède une voiture. Je vais donc cliquer. Nous ne pouvons réellement accéder à rien pour le moment. Je viens de me rendre compte que c'est écrit Track. Ça ne devrait pas dire «   track ». Joueur 1 voiture. Piste. Il n'y a pas encore d'acteur à associer à ça. Intéressant. Oh, c'est parce que nous n'avons pas encore ajouté de voiture. C'est tellement stupide. Faisons entrer une voiture. Vous pouvez voir qu'en fait, nous devons définir un acteur de la piste ici, donc je vais y définir l'acteur de la piste. Nous allons récupérer notre manette de jeu. Nous allons nous assurer que c'est l'acteur automobile. Maintenant, si vous cliquez sur Play, il devrait se charger. Et vous pouvez voir que notre voiture roule lentement le long de la voiture. C'est assez lent à ce moment-là, n'est-ce pas ? Nous trouverons comment l'accélérer. Nous pouvons facilement accélérer car dans notre voiture, nous définissons notre vitesse maximale. Disons que c'est peut-être dix. Voyons comment cela se passe maintenant. Cela augmente beaucoup plus vite maintenant. Nous pouvons voir jusqu'où cela coûte. Peut-être que tu l'as dit, nous avons dit que c'était 25. Voyez à quel point ça va vite maintenant. Et vous verrez cela se poursuivre tout au long de la piste. D'une manière ou d'une autre, nous avons fabriqué une voiture qui parcourt tout le long de la piste. Bon travail jusqu'ici. À présent, je vous verrai lors de la prochaine séance. 7. Voiture à sous : roder: Bon retour. C'est une petite leçon agréable et facile. C'est surtout pour s'assurer que nous pouvons faire pivoter la voiture. Une fois que la voiture arrive au bout, vous vous rendrez peut-être compte qu'elle colle en quelque sorte au bout. Nous devrions aussi probablement revenir pour la caméra. En fait, si nous l' ajoutions en tant que nouvelle fenêtre d'affichage, cela nous permettrait de voir le tout dans son intégralité Mais en fait, lorsque vous le ferez, nous voudrons peut-être le reculer un peu plus. Donc pour le moment, vendons-le à 9 000 z, puis nous pouvons cliquer Vendons-le à 9 000 Mz. On joue et on passe en plein écran maintenant. Si vous voulez que le jeu apparaisse comme dans une fenêtre comme celle-ci, cliquez sur les trois petits points ici, utilisez PIE, nouvelle fenêtre de l'éditeur. Donc, comme je l'ai dit, si nous jouons à la voiture maintenant, elle roule jusqu'au bout. Faites conduire cette voiture cool. Et puis-je rester bloqué à la fin ? Donc, ce que nous voulons vraiment faire, c'est nous avons déjà la longueur de la piste. Donc, à la fin, nous voulons prendre de la distance. La distance I est supérieure ou égale à la longueur de la piste. Donc, si la distance le long de la piste est supérieure à la longueur réelle de la piste, nous voulons faire un embranchement, et nous voulons remettre notre distance à zéro, ce qui la ramènera jusqu'au point de départ. Je vais donc mettre un commentaire ici une fois le tour terminé . Une fois le tour terminé, nous continuons à rouler. Maintenant, si nous voulions ajouter une certaine logique de jeu, nous savons maintenant quand la voiture a terminé un tour. Peut-être pourrions-nous avoir quelque chose en mode jeu pour le savoir. Nous compilons, sauvegardons. Voyons si cela fonctionne. Nous allons donc cliquer sur Play, faire le tour de la voiture. Nous devrions également donner la priorité à l' ombrage du tableau. Nous pouvons le faire ensuite pour supprimer ce message d'erreur. Et nous sommes arrivés au bout, et ça a continué à faire des tours. Bon travail. Pendant que nous sommes ici, réglons simplement ce message louche et cliquons sur les feux directionnels En avant, ombrage et nous dirons celui-ci, gentiment et facilement. C'est la fin de cette petite leçon. prochaine séance, nous allons essayer de faire en sorte que la voiture accélère, ralentisse, prenne de l'élan parce qu' au moment où nous lâchons notre voiture, nous nous arrêtons simplement. 8. Voiture à sous : momentum: Nous venons donc de terminer faire en sorte que la voiture continue à faire des tours après avoir terminé son premier tour. Maintenant, revenons à la voiture et essayons de l'améliorer un peu, en lui donnant peut-être un peu de gameplay, en appuyant simplement sur un bouton. Donc pour le moment, si je clique sur la plaque, la voiture part et elle s'arrête dès que je la lâche. Bien que cela puisse vous plaire, j'aime bien l'idée que si je lâche un peu la voiture, je devrais peut-être la lâcher au coin de la rue. Donc, il se déplace un peu plus lentement. Et pour ce faire, nous devons agir dès maintenant pour que la voiture décélère lorsque nous relâchons le bouton Nous allons donc procéder un peu différemment, simplement parce qu'avec la nouvelle mise à jour d'UE 5, en particulier les versions 5.2 et 5.3, et le nouveau système de saisie amélioré, nous avons utilisé, par exemple, les actions de saisie et les IMC La façon dont cela fonctionnait lorsque nous faisions ce projet avec nos étudiants Four, c'est que nous pouvions utiliser ce type de projet pour tout. Chaque fois qu'un mappage d'accès était utilisé, il exécutait constamment toutes les cases. Maintenant, il ne fonctionne que lorsqu' il est déclenché, ce qui signifie que nous devons faire quelques différences ici. Par exemple, nous allons devoir nous débarrasser de cette pièce, et je vais également la déplacer rapidement et utiliser cette vitesse. La raison en est que nous allons réellement modifier la vitesse dans une fonction différente, et nous ne voulons pas utiliser cette vitesse définie lorsque nous y revenons. Nous voulons donc réellement avoir une toute nouvelle variable. Cette nouvelle variable va s'appeler throttle, et nous allons la définir comme flottante Ce que je vais faire, c'est que dès que nous le déplacerons, nous le définirons et nous allons ensuite, pendant que nous sommes ici, simplement le changer. Donc, la seule chose qui se passe, c' est que cela est réglé instantanément, puis qu'il est utilisé ici et ici. C'est sympa et facile. Maintenant, la raison pour laquelle nous le faisons est en fait parce que nous voulons vérifier si cet accélérateur est utilisé Et si ce chiffre est autre que zéro, il augmente ou diminue. Nous pourrions en fait nous en débarrasser car nous n'avons plus besoin de faire cette vérification ici car nous la ferons en 1 seconde. Je le supprime simplement, et je n'aurais pas dû. Oui, on peut juste déplacer ça. Ce que je vais faire, c'est ouvrir le contrôle de ma tension artérielle. Nous allons donc prendre une voiture pour notre joueur. Nous allons faire le set brottle et je vais le faire glisser dans la valeur complète et le mettre à zéro, ce qui signifie que chaque fois que nous lâchons prise, c'est ce que fait l'onglet terminé ici, il le met à zéro Donc, pour revenir en arrière, nous voulons vérifier si cette valeur ici est toujours nulle. Donc, ce que nous pouvons faire, c'est que je peux simplement faire des égaux, et nous allons faire égal à zéro. Et si c'est le cas, je veux faire des maths. Donc, ce que je vais faire, c'est prendre de la vitesse, et je vais la multiplier par deux. Par le taux de déaccélération que nous voulons atteindre. Maintenant, ce taux de désaccélération sera exponentiel. Ce ne sera donc pas linéaire. Il ne le réduira pas de moins un. Comme vous pouvez le constater, cela accélère de façon assez linéaire. Il en ajoute un à chaque fois , alors que nous allons en fait déaccélérer de façon exponentielle, qui signifie que cette valeur ralentira plus rapidement au niveau de l'étoile , puis diminuera vers la fin Je vais donc saisir et créer une nouvelle variable. Je vais donc promouvoir une variable. Je vais appeler cela une déaccélération, non ? Non, c'est la vitesse. Comment allons-nous définir ce paramètre comme D Appelons D rate. D, on l'a déjà reçu ? Nous l'avons peut-être déjà. Nous en avons déjà un. C'est parce que je l'ai déjà fait. Je vais juste supprimer celui-ci. Donc je vais appeler ça le taux D. Et si vous n'avez pas organisé vos catégories, je vais créer une catégorie appelée statistiques, je la mettrais dedans, je la définirais en satis instantané Ensuite, nous allons régler la vitesse. Donc, si c'est vrai, nous voulons atteindre la vitesse, puis nous allons immédiatement revenir ici. Donc, je vais juste passer cela un peu ici, je vais le déplacer. Ce qui se passe ici, c'est que dans une seconde , nous allons ajouter un événement, mais si l'accélérateur est nul, par exemple, si nous relâchons l'accélérateur, il va se régler pour ralentir la vitesse Ce sera donc multiplié par le taux D, qui sera de 0,95 Réglons le taux D à zéro. Nous l'avons fixé à 0,95 Disons donc que 15 fois 0,95, ce sera un calcul très rapide, probablement une baisse d'environ 13 Et puis 13 fois 0,95 ça fera 11 et yada yada yada baisse Les calculs ne sont pas tout à fait exacts, mais l'idée a du sens. Ensuite, ça va continuer avec le restaurant. Il va continuer à bouger. Il va continuer à bouger. Et nous voulons vérifier cela en utilisant un nœud ou en utilisant un événement appelé event tick. Normalement, à l' âge de quatre ans, nous n'avions jamais besoin d' utiliser un eventk et nous essayions de nous en tenir à l'écart lorsque nous le Mais cet événement est en fait un événement très courant que l'on retrouve dans de nombreuses émissions. Et il s'agit d'un événement qui se déclenche à chaque image par partie. Maintenant, cela peut sembler : Oh, c'est un moyen très simple de faire avancer les choses en continu, quelque chose qui vérifie tout le temps. Vous ne voulez pas mettre beaucoup de choses sur vos événements. Vous ne voulez y mettre que vos objets les plus importants et pas grand-chose. Ne mettez rien qui n'ait pas besoin d' être vérifié à chaque image, car si vous commencez à ajouter beaucoup de contrôles et de logique à chaque image, cela ne fera que ralentir votre jeu. Je vais donc faire Eventic. Je vais enregistrer la compilation. Il va avoir ce rôle. Je m'en vais maintenant. Ensuite, si nous cliquons sur la plaque, vous verrez qu'elle bouge, puis lorsque nous lâcherons prise, elle descend lentement. Si nous changeons ce taux, il est donc de 0,99 ici, mais je vais mettre 0,9 ici Il va se déaccélérer plus rapidement. Ainsi, plus le chiffre est bas, plus le taux de déaccélération est rapide Donc si je conduis, lâchez prise, vous pouvez le voir s' accélérer beaucoup plus vite. C'est fantastique. Maintenant, nous allons passer à la leçon suivante, nous allons ajouter un peu de gameplay à cela. Nous allons donc nous assurer que si vous prenez un virage trop vite, cela risque de vous donner le coup d' envoi ou de vous empêcher de conduire, car pour le moment, il n'y a aucune raison de simplement maintenir la manette des gaz enfoncée Tu fais le tour d'un coin de rue à 160 km/h. Ce n'est pas une bonne chose. Je vous verrai donc à la prochaine leçon. 9. Voiture à sous : prendre le large !: Alors, bienvenue à la leçon de Mini. Nous allons maintenant vérifier ou créer un contrôle pour nous assurer que si vous vous rendez à Fast Man dans un virage, cela vous punit en quelque sorte. Vous pourriez arrêter la voiture pendant une seconde et vous avertir de partir Donc, la façon dont nous allons procéder est en fait dans le plan de la voiture Donc, si nous ouvrons le plan de la voiture et que nous voulons réellement créer quelque chose de nouveau ici, nous allons créer ce que l'on appelle une fonction Maintenant, ce qu'est une fonction n'est pas un graphe appartenant à un plan spécifique qui puisse être appelé à partir d'un autre graphe du plan Maintenant, quelle est la différence entre une fonction et un événement ? Une grande différence entre les événements et les fonctions, je vais les utiliser pour une fonction, elle renvoie normalement quelque chose. Donc, lors d'un événement, il fait quelque chose, et les choses se terminent. Avec une fonction, elle peut faire quelque chose, elle peut exécuter une sous-tâche, mais elle sort normalement avec une réponse ou un nœud de retour. Vous n'êtes pas obligé de l'utiliser de cette façon, et bien souvent les gens utilisent des fonctions ou des événements de manière interchangeable. Je recommanderais d' essayer de séparer cela. Comme je l'ai dit, j'aime utiliser les fonctions pour répondre à une question ou modifier certaines données, ce qui peut être fait encore et encore, et cela donne une réponse. Donc, par exemple, cette fonction, comme je l'ai dit, nous sommes une fonction crinière, vous allez l'appeler vérification des coins. Et ce que cela va rapporter, c'est de savoir s'il y a un virage à venir et si nous allons à la bonne vitesse pour le prendre. Arrête. Qu'est-ce que nous voulons faire ? C'est vraiment sympa et facile. Je vais chercher notre acteur. Vous savez, nous sommes dans notre fonction. Les fonctions ressemblent exactement à des événements. La seule différence, c'est que vous ne pouvez pas y faire des choses basées sur le temps, comme des chronologies, et je vais prendre le suivre la colonne vertébrale Nous avons donc obtenu la spline, et ce que nous voulons faire, c'est nous rendre là où nous nous trouvons actuellement ou obtenir la rotation de notre voiture maintenant et obtenir la rotation de ce que seront les voitures dans 100 unités de temps ou dix unités de temps Donc, ce que nous faisons, c'est regarder devant une voiture pour voir s'il y a un virage ou non. Et pour ce faire, nous pouvons le faire glisser vers l'extérieur et obtenir la rotation à distance le long de la spline Et nous allons le faire deux fois. Nous allons le faire pour la distance actuelle, afin que cela puisse faire varier la distance dans Potlsin Et nous allons le faire pour la distance plus, disons, 100 unités. Plus 100. Nous voulons nous assurer que les deux sont prêts à être soudés, car l'attelle se trouve dans le monde, et non chez nous Alors maintenant, nous sommes arrivés ici. Nous avons ici une rotation actuelle d' une voiture et quelle sera la rotation dans 100 unités de temps. Si nous descendons une ligne droite, cela devrait être assez similaire. Peut-être cinq ou six unités de moins. Maintenant, ce que nous voulons faire c'est faire quelque chose qui s'appelle un égal ? Maintenant, il faut doubler l'égalité. Et lorsque nous travaillons avec des rotateurs, les rotateurs sont très Ils peuvent changer très différemment, et ce qui est encore plus inquiétant, c'est que vous pourriez avoir le cis éteint et le faire pivoter exactement de la même manière, et il peut y avoir une légère erreur ou une légère différence entre Maintenant, avec un double égal, il faut que ce soit parfait. Mais cela nous donne ce que l' on appelle une tolérance aux erreurs. Maintenant, ce que cela va faire, c'est nous permettre d'ajouter un petit check in ici. Donc, par exemple, si nous en ajoutons dix, tant que ces deux rotations se situent à moins de dix l'une de l'autre, euh, tout ira bien Il va revenir en disant : « Tu sais quoi ? Tu sais quoi ? Nous ne traversons pas un virage assez raide pour décoller. Et c'est important. Le problème que nous avons actuellement , c'est que nous avons appelé cela le corner check. Maintenant, cela nous indique si vous êtes en ligne droite. Nous voulons donc en quelque sorte inverser la tendance. Je vais donc faire ce qu'on appelle un NON. Et PAS en train de réserver. Et cela ne fait qu'obtenir une sorte de complément logique à la booling Donc, si c'est vrai, ça va devenir faux. Si c'est faux, ça va devenir vrai. Et nous allons le définir comme entrée de retour, et nous pouvons obtenir notre entrée de retour de deux manières différentes. Nous pouvons soit faire un retour, et cela fait apparaître ce nœud, et vous devez entrer et sortir, soit nous pouvons le faire de manière vraiment simple et agréable, en fait, c'est-à-dire récupérer ce que nous voulons renvoyer, et vous devez entrer et sortir, soit nous pouvons le faire de manière vraiment simple et agréable, en fait, c'est-à-dire récupérer ce que nous voulons renvoyer, le mettre dans l'entrée, et il renvoie automatiquement cette valeur. Donc, juste pour passer en revue, ce que cela fait ici, c'est obtenir la rotation en ce c'est obtenir la rotation moment et la rotation en 100 unités de temps. Il s'agit de voir s'ils sont suffisamment similaires pour penser que c'est en ligne droite. Et si c'est en ligne droite, cela redeviendra vrai, et nous allons inverser la tendance parce que nous demandons s'il s'agit d'un virage. Revenons maintenant à notre graphe de ventilation et à l'endroit où nous voulons le placer quelque part. Là où je veux le définir, c'est avant de définir l'emplacement. Donc, ce que nous allons faire ici, c'est nous éloigner d' ici et faire une vérification ponctuelle Ça va arriver à ça. Il va y avoir une jolie petite note. Nous obtenons cette valeur de retour, et nous allons ajouter une branche ici. Je vais faire une autre déclaration if. Maintenant, si nous sommes dans un coin, nous voulons faire quelque chose. Nous voulons faire quelques recherches supplémentaires. Si nous ne sommes pas dans un coin, continue, mon pote, continue de conduire. Mais si nous sommes dans un coin, nous devrions probablement vérifier quelque chose. Nous devons d'abord vérifier la vitesse. Alors allons-y, reprenons notre vitesse. Et disons que si notre vitesse est supérieure, disons à quoi est fixée notre vitesse maximale ? Je pense que notre vitesse maximale est passée à 25. Vous savez ce que nous pouvons faire en fait , c'est atteindre notre vitesse maximale et nous pouvons diviser par je ne sais pas à quelle heure il est. Nous aimons Tzing. Diminuer le temps est bien plus agréable que diviser Nous allons multiplier par 0,8, disons. Cela signifie que quelle que soit la vitesse maximale, elle la multipliera par 0,8 et obtiendra 80 % de cette vitesse. Donc, si c'est dix, ça va revenir comme huit, si c'est 20, ça va revenir comme 16. Si c'est 100, ça reviendra à 80. Et ce que nous allons faire, c'est que si la vitesse est supérieure à 80 % de la vitesse, cela posera un problème Je vais donc le mettre ici. Donc, si c'est vrai, nous voulons expulser la voiture de la piste. Donc, la façon dont nous pouvons le faire facilement est de créer un nouveau boolin C'est ce que nous allons faire. Nous allons créer une nouvelle variable qui s' appellera « est sur la bonne voie ». Nous pourrions également utiliser cette couche lorsque la ligne se trouve sur la piste. Et nous allons le mettre à zéro. Le set est à deux de moins. Nous allons ensuite régler notre vitesse à zéro parce qu'elle est tombée hors de la piste, puis nous allons attendre quelques fois. Donc, ce que nous allons faire, c'est retarder un peu comme nous l'avons fait pour notre dernier prototype. Retardons-le de 0,5. Ensuite, une fois que nous aurons attendu 5,5 secondes, nous allons le remettre sur une piste. Si c'est le cas, si nous entendons, si nous roulons à la bonne vitesse, vous savez quoi, continuez à conduire. On peut même faire traîner les choses un peu. Ce n'est pas ce que nous voulions. Faisons-le glisser ici. Mettons-le ici, pour qu'il soit un peu plus joli. J'aime bien le garder. C'est donc ce qui va se passer maintenant. Nous pourrions même utiliser des nœuds de réinitialisation ici pour les insérer correctement Donc ça a l'air un peu plus joli. Mais il nous manque donc une chose, et pour le moment, c' est sur la bonne voie, selon les PNJ Et là où nous allons revenir c'est retrouver notre place. Nous allons créer une succursale, et nous allons la signer ici, ce qui signifie que nous ne pouvons pas appliquer l'accélérateur si nous ne sommes pas sur la bonne voie Alors testons. Passons directement au premier virage. Oh, je viens de m'en rendre compte, assure-toi. Avant de faire cela, assurez-vous que notre IP sur la bonne voie est définie par défaut en termes de publicité. Nous allons y aller. Nous allons continuer tout droit. Et il y a des arrêts parce que je pousse trop fort ici. Maintenant, si je reviens en arrière, fixons notre taux D à 0,98 Et si je laisse passer par là, je dois lâcher prise avant de prendre le virage. Nous devrions peut-être jouer rapidement ici. Jouons, réglons notre vitesse à 50. Nous voyons que nous sommes en train de nous en sortir. Nous sommes en train de nous remettre de tomber sur la bonne voie. Oh, nous sommes tombés directement là-bas. Maintenant, si nous le faisons, c'est parce que si nous ne le faisions pas, il n' y aurait aucune raison de participer à ce jeu, car ce jeu serait simplement de savoir qui peut appuyer sur WK pour le premier Nous avons maintenant ajouté un peu de talent à ce jeu. C'est à vous de définir ces petites valeurs et de les affiner là où vous le souhaitez. Vous pouvez même régler ce taux sur un taux différent, afin d'avoir une corniche Vous pouvez même revenir ici et peut-être régler ce paramètre sur 15 ou disons 20, qui signifie que seuls les virages les plus difficiles vous permettre de faire une pause dans les virages vraiment difficiles. Voilà. Et c'est à vous de le faire. Donc, dans la prochaine leçon, nous allons revenir en arrière, et nous allons maintenant ajouter le mode multijoueur. Mais dans une grande partie de ce jeu, nous allons y ajouter le mode multijoueur, et ce sera vraiment très facile. 10. Voiture à sous : ajouter le multijoueur: Maintenant, bon retour. C'est une partie vraiment amusante de ce projet. Nous allons maintenant faire fonctionner deux voitures. C'est bien plus facile que vous ne le pensez. Nous avons déjà une voiture en état de marche. Nous avons déjà les informations nécessaires pour la deuxième voiture. Il ne nous reste plus qu'à appliquer cette entrée et à voir ce qui se passe. Donc, la façon dont nous pouvons le faire facilement est d'ouvrir notre contrôleur. Nous devons maintenant jouer à une voiture. Nous avons probablement besoin d'une voiture pour deux joueurs. Et nous pouvons facilement le faire en sélectionnant Contrôle C, Contrôle V. Passons à cela. Et cela l'a changé en joueur. Voiture Mais économisez. Maintenant, nous avons amélioré l'accélérateur IA d'entrée P. Nous devons maintenant faire de l' amélioration Oh, non, il suffit de faire en sorte que je marque deux points. Nous allons simplement le cartographier de la même manière. Nous prenons donc la voiture de notre deuxième joueur. Nous allons faire une voiture Moth. Nous allons adapter le déclencheur. Nous allons définir des valeurs d'action. Ensuite, nous allons faire de même. Je peux même contrôler C, contrôler V. Comme nous utilisons la même classe, cela n'a pas vraiment d'importance. Pass Save Compass Save. Et ensuite, prenons une autre voiture. Allons chercher un acteur automobile. Faisons entrer un autre acteur automobile ici. Nous avons un autre personnage. Nous allons nous assurer que l'acteur automobile sache où se trouve la piste. Nous allons donc sélectionner notre acteur de piste. Ensuite, dans notre plan de contrôle, nous allons également sélectionner notre acteur automobile . Maintenant, nous sommes à terre. Donc, oui, nous avons une voiture là-bas, et vous voyez cette autre voiture se déplacer si lentement Pourquoi crois-tu que ça bouge si lentement ? Parce que nous avons réglé la vitesse très lentement. Vous pouvez voir si la vitesse s'est réglée aujourd'hui. Réglons ce paramètre sur 40. Et maintenant, jetons-y un coup d'œil. Nous avons maintenant une voiture en mouvement, et nous avons l'autre voiture en mouvement. Nous avons maintenant deux voitures avec deux clés différentes. Tu sais, on joue, on fait des courses. Si je suis là, vous pouvez voir deux voitures sortir. C'est à cette vitesse que nous avons ajouté Muri Play à ce jeu Parce que nous avons conçu ce jeu et conçu le cadre de ce jeu pour que deux joueurs puissent travailler dès le départ, nous avons désormais créé le mode multijoueur en moins d'une minute ou deux. 11. Voiture à sous : créer des matériaux: Alors, bon retour. Nous avons maintenant le mode multijoueur. Nous devons maintenant commencer à différencier nos deux voitures Comme vous le savez, nous n'avons créé que quatre cubes. Si vous voulez sortir et trouver deux treillis pour voitures, vous pouvez le faire, et c'est à vous de décider Mais ce que je veux faire c'est acheter ces voitures et y ajouter un peu de couleur. Et c'est la première fois que nous allons recommencer à fabriquer des matériaux. Je veux donc me pencher sur les actifs. Je veux que tu cliques avec le bouton droit de la souris et que tu crées un tout nouveau matériau. Et ce matériau, il va simplement s'appeler, appelons-le matériel. Et nous allons appeler ça comment devons-nous l'appeler ? Appelons cette couleur de base. La carte des scores. De toute évidence, les cartes représentent du matériel. Ouvrons ça. Et nous vous souhaitons la bienvenue dans l'éditeur de matériaux. Materials Editor, si vous avez déjà travaillé dans le domaine de la modélisation, si vous avez déjà utilisé Mayer, vous connaissez certainement certains de ces éléments. Mais ce sont toutes les différentes épingles et éléments d'un matériau auxquels vous pouvez accéder et qui changent quoi que vous fassiez. Et vous pouvez y saisir des informations, qu'il s'agisse de chiffres, que vous participiez à des événements mondiaux à égalité ou que vous y ajoutiez simplement des cartes. Pour nous, nous allons faire en sorte que ce soit vraiment très simple. Les deux que je veux faire sont la couleur de base, et je veux aussi utiliser une couleur missive Passons donc d'abord à la couleur de base. Et je veux y ajouter une couleur. Je vais donc détenir la clé gratuite. Je vais donc maintenir la touche libre et appuyer dessus. Et il va proposer un vecteur gratuit. Nous pouvons également créer un vecteur constant et sans vecteur. Mais j'aime utiliser le un, le deux et le trois. Un crée un vecteur un, deux fait deux vecteurs trois, fait un vecteur trois 44. Tu sais, cinq ne font rien. Nous allons donc le saisir et le mettre dans la couleur de base, et vous pourrez voir instantanément qu'il va passer au noir. Si nous appuyons deux fois dessus et que nous le changeons en bleu clair, il passe au bleu clair Je vais essayer de le laisser en blanc pour commencer, simplement parce que le blanc est beaucoup plus facile à voir comme couleur par défaut. Je vais cliquer sur une ou sur une missive. Maintenant, une missive contrôle la partie du matériau que vous souhaitez faire briller Ainsi, par exemple, si vous souhaitez faire pousser une partie du matériel, vous pouvez utiliser des éléments tels que des cartes alpha pour faire le tri. Mais en réalité, tout ce que je veux pour le moment, c'est faire briller le tout Donc, et on met ça ici. Et si je le remplace par un, vous verrez que c'est beaucoup plus clair si je le mets à zéro. Il va à Doliga. Maintenant, je vais rester un peu ennuyeux, car nous allons ajouter un peu de gameplay à ce jeu pour lui car nous allons ajouter un peu de gameplay à donner un aspect un peu plus amusant et pour communiquer lorsque vous faites fausse route. Et je vais m'assurer que ces deux éléments sont appelés paramètres. Je vais donc faire un clic droit sur celui-ci, et je vais le convertir en paramètre, et je vais appeler cette base. Tirez vers le haut. Ensuite, je vais prendre celui-ci, le convertir en paramètre. Je vais appeler ça une émission. Un double. Valeur par défaut et leurs valeurs par défaut sont un contre un et zéro. Donc oui, nous avons donc créé cette couleur de base, et nous avons la couleur d'admission et de base Waouh, ce que nous allons faire, c'est cliquer avec le bouton droit de la souris et créer une nouvelle instance matérielle. Et cet exemple matériel est vraiment intéressant. Ce qu'est une instance matérielle est essentiellement une copie de celle-ci dont vous pouvez modifier les paramètres. Donc, c'est vraiment un gros avantage à faire ça. Et plus précisément, ils sont beaucoup plus légers à faire. Cela vous aide donc. Imaginez donc que les aiguilles soient comme des cours pour enfants sur le matériel. Et le grand avantage de cette solution est que nous pouvons désormais commencer à ajuster ces instances au moment du jeu, au moment de l'exécution, du moins dans le jeu. J'ai donc cette instance matérielle, et je vais en fait les configurer sur les deux. Je vais donc prendre chaque cube. Je vais juste les enfiler. Attrapez CarmshPoplse. Lorsque nous ouvrirons notre acteur automobile, je vais cliquer sur le CarMSH Je vais également envoyer une instance matérielle Maintenant, je veux créer une toute nouvelle variable, et ce sera un type que vous n'avez jamais vu auparavant. Je veux donc que vous cliquiez sur Plus, je veux que cela s'appelle Car Color. Je vais cliquer dessus avec le bouton droit de la souris, et ça s' appellera Linear Color. Nous allons régler cette couleur sur une couleur linéaire. Pendant que nous y serons, nous l'inscrirons dans les champs obligatoires. Sauvons une voiture. Appelons-le aussi le nom de la voiture. Et définissons cela comme un texte. Chiots dedans. Voici donc quelques informations que nous donnons maintenant à chaque voiture. Je veux que tu ouvres notre script de construction. Le script de construction fonctionne tel qu'il s' exécute avant la création du jeu, avant que tout ne se passe, il s'exécute pendant la création de l'acteur . C'est donc la première chose qui fonctionne dans ce jeu, et c'est là que vous voulez définir vos valeurs par défaut dans votre jeu Et ce qui est également très pratique, c'est que toute logique ici fonctionne dans l'éditeur. Donc, si je mets quelque chose qui définit la couleur ici, cela changera également la couleur de l'Elea, ce qui est vraiment très pratique Maintenant, je veux récupérer le filet de notre voiture. Je vais faire quelque chose appelé définir le paramètre vectoriel des matériaux, définir la valeur du paramètre vectoriel sur les matériaux. Je vais le mettre directement dedans. Il va me demander un nom de paramètre. Et le nom du paramètre que je souhaite utiliser est la couleur de base. C'est le même paramètre que celui-ci ici, la couleur de base. N va me demander des vecteurs libres. Maintenant, les couleurs sont réellement libres, juste un vecteur Je vais donc prendre la couleur de notre voiture. Je veux m'assurer de cette variable. Assurez-vous que cette variable est modifiable par instance. Mais ils sont tous modifiables instantanément. Et je vais prendre ceci, et je vais d'abord me séparer pour trouver ces trois couleurs, rouge, vert, bleu et alpha. Nous n'avons pas à nous inquiéter pour Alpha pour le moment. Je vais partager les deux, et vous pouvez voir ces pompes ici. Donc, quelle que soit sa couleur , elle fera la différence pour la voiture. Donc, si je compile ceci, pour le moment, la couleur est un peu noire. Mais si je monte dans la voiture et que je change cet Alpha en un, et que nous le changeons en rouge. Nous y repensons. Il est maintenant rouge. Si je passe à celui-ci, réglez-le Alpha pour être un et mettez-le sur bleu. Devinez de quelle couleur ça va être. Ça va être bleu. Maintenant, nous pouvons changer la couleur des voitures dans le jeu, et vous verrez ces deux voitures dans nos deux couleurs différentes. Nous pouvons les modifier pendant l'exécution. Voyons courir si nous nous rencontrions, si nous voulions leur attribuer une couleur différente lorsqu' ils sortent de la piste. Nous pouvons le faire maintenant en utilisant un scalaire défini et une valeur vectorielle définie sur les matériaux C'est vraiment très sympa et facile. Maintenant, lors de la prochaine session, nous allons créer une interface utilisateur, et nous allons utiliser certaines de ces autres choses que nous avons très facilement utilisées pour créer cette interface utilisateur Je te verrai donc dans le prochain. 12. Voiture à sous : ajouter une interface utilisateur: Bon retour. Il s'agit de notre deuxième leçon sur l'interface utilisateur. Je vais donc entrer directement dans car nous en avons presque terminé avec ce spartyp Je vais cliquer avec le bouton droit sur l'interface utilisateur du nouveau dossier. Et dans cette interface utilisateur, je vais en faire deux fromages différents. Je vais créer une interface utilisateur, qui s'appellera, je vais créer deux interfaces utilisateur différentes. Je vais créer ma première interface utilisateur, qui s' appellera UI underscore base Et ma deuxième s' appellera UI underscore player stats Nous devrions vraiment les appeler. devrais vraiment les appeler parce que c'est vraiment une chose qui consiste faire un soulignement BP puis souligner l'interface utilisateur parce que cela fait référence à un plan, puis à une Mais cela ne devrait pas vraiment avoir d'importance d'abord. Et j'aimerais que vous ouvriez le premier, qui portera sur les statistiques des joueurs. Je vais faire des choses vraiment intéressantes ici. La dernière fois, j'ai tout de suite fabriqué un panneau en toile, et cette fois je ne vais pas le faire Ce que je vais faire à la place, c'est utiliser deux panneaux différents pour cela. Mon premier panneau que je vais utiliser s'appelle euh, comment s'appelle-t-il ? Une boîte verticale. Je vais utiliser une boîte verticale. Maintenant, cela me permet d'insérer plusieurs autres widgets, et cela s'aligne verticalement. Je vais appeler ça le. Ça s'appelle simplement cette boîte B. Je veux qu'il y ait quelques trucs ici. Je veux connaître le nom du joueur, couleur, le nombre de tours effectués et sa vitesse. Passons donc à la vitesse. Passons d'abord à la couleur et au nom parce que je pense que c'est important. Mettons donc une boîte horizontale. Cette boîte horizontale. Et ajoutons allons-y pour une image. Je vais juste le faire glisser là-dedans, et je vais faire glisser, faisons-le en face à l'écran. Et je vais également y ajouter du texte. Nous avons donc obtenu ce bloc de texte, et nous allons appeler ce bloc de texte un nom de joueur Soulignez le texte. Assurons-nous également que le clic est variable. Assurez-vous que le paramètre est variable. Je vais régler cela sur la couleur de la couche. Et nous allons juste faire de l'image. Maintenant, celui-ci est un peu facile à faire, et je vais vous expliquer comment nous pouvons résoudre ce problème. Je veux m'assurer que c'est Discutons également de tout cela. Nous allons nous assurer que cela correspond à cela. Nous voulons ensuite ajouter quelques textes supplémentaires. Je vais donc ajouter que nous allons créer quelques cases horizontales supplémentaires. Je vais donc ajouter une autre boîte horizontale , puis une autre boîte horizontale. Cela va donc contenir les informations sur les joueurs. Celui-ci aura les compteurs de tours, donc je vais y ajouter deux textes Et je vais ajouter la vitesse. Donc, le type que cela va être appelé compteur de tours s'appelle texte. Je vais mettre quelque chose appelé un P devant celui-ci, qui sera le préfixe Je ne vais pas définir cette variable, et tout ce que je vais faire c'est entrer dans le texte ici et dire lap and da. Je vais aussi y mettre un espace. Celui-ci va faire le même problème. Je vais l'appeler P speed, ça s'appelle du texte. La raison pour laquelle j'utilise ce P est le préfixe. C'est la phrase qui va être prononcée avant l'information, et je vais mettre la vitesse. Maintenant, c'est dans ces deux domaines que nous allons réellement mettre les vraies informations ici. Je vais donc mettre le compteur de tours, le soulignement, le texte et m' assurer qu'il s'agit d'une variable Chaque texte que nous voulons modifier, nous allons nous assurer qu'il s'agit d'une variable, et je vais m'occuper de la vitesse, du soulignement, du texte Et voilà, c'est un coffre à pieux variable. Nous n'avons pas besoin de faire d'ancrage ici car tout sera dans cette petite boîte. Passons donc en revue ces informations une par une et voyons comment nous allons obtenir ces informations. Donc, dans notre graphique, nous allons entrer ici et faire certaines choses. La première chose que je vais faire, c'est fabriquer un nouveau fourgon pour clients. On va y faire appel. Plus tôt dans notre projet précédent, nous avons créé l'interface utilisateur en utilisant des liaisons. Ce n'est pas ce que nous allons faire dans celui-ci. En fait, nous allons définir une valeur, puis effectuer une liaison plus tard. Nous allons donc faire un peu des deux, mais nous allons en fait transmettre des informations et les stocker dans les données. Je veux faire une saisie. Et cette contribution sera BP Underscore Car, acteur. Objet. Je vais appeler cette voiture deux parties quatre. Infos. Parce que c'est la voiture dont nous allons obtenir les informations. Nous allons cliquer dessus avec le bouton droit de la souris et promouvoir la variable. Incroyable Maintenant, une fois que nous avons obtenu les informations, nous voulons définir le nom et la couleur du joueur. Je vais donc les prendre tous les deux. C'est la première chose que je vais faire. Faisons d'abord une couleur, la première chose à faire maintenant. Je vais régler la capacité de l' extracteur. Mets-le ici. Détruisons ça. Cela devrait juste être capable de nous faire sortir, et maintenant nous pouvons simplement créer une couleur linéaire. C'est vraiment facile. Ce que nous allons faire maintenant, c'est nous éloigner de cela parce que c'est du type, du type BP Car Actor Il contiendra toutes les informations possibles , à condition que nous organisions d'abord cet événement. Nous pouvons donc obtenir les informations de couleur. Obtenez la couleur de la voiture. Mets-le directement là-dedans, ce qui est vraiment génial. Ensuite, je veux définir le texte du joueur. Nous allons donc maintenant obtenir ce texte défini. Nous voulons nous assurer qu'il est écrit « texte défini » entre crochets. Et cette fois, nous avons utilisé notre voiture pour obtenir des informations. Je vais faire Get Player. Le nom de la voiture NG, n'est-ce pas ? Le nom Sûrement là-dedans. Commentons cela un peu. Nous allons être appelés une fois créés. Nous allons appeler ça. Nous allons faire une formation sur les données ici. Appelez une fois créé. Euh et ensuite ça va régler la carte à deux points. Maintenant que nous avons cette variable ici, zéro cinq fait des choses vraiment intéressantes. Nous pouvons obtenir toutes ces informations de la voiture pour obtenir des informations dans nos liaisons. Donc maintenant, si je passe au tour, désolé, compteur de tours, nous pouvons relier toutes les informations ici. Donc, oui, c'est vraiment intéressant, nous pouvons récupérer certaines de ces variables directement à partir d'ici. Maintenant, nous devons créer un compteur de tours et un compteur de vitesse, donc nous devrions probablement revenir à notre personnage et régler le tour Nous allons le définir comme variable. Allons-y ici. Euh, nous avons un tour ici, et nous devrions probablement aussi assurer que chaque fois que nous terminons un tour, nous établissons un nouveau tour que nous faisons et plus. Alors maintenant, chaque fois que nous terminons un tour, ce nombre augmente, compilez. Si nous partons sur le compte à rebours, vous devriez voir Lap nice and easy. Maintenant, lorsque nous faisons de la vitesse, nous devrions être en mesure de l'obtenir. Pour une raison ou une autre, il ne nous laisse pas ici. Je ne suis pas tout à fait sûr de quoi. Allons donc créer une reliure, et nous pourrons obtenir des informations sur notre panier Et prenez de la vitesse. Rapidité. Oui, je pense que nous avons obtenu la vitesse V. Je sais pourquoi je l'appelle vitesse V. Vous deviez faire quelque chose alors que vous ne regardiez pas. Donc oui. Nous pouvons donc saisir cela et prendre de la vitesse. Mets-le directement ici. Je vais écrire du texte pour faire flotter des choses, mais tu devrais être douée. Nous pouvons même utiliser ce texte pour faire flotter, régler pour qu'il passe au point zéro. Faisons juste un chiffre fractionnaire. Cela ne fera pas beaucoup de différence, mais faisons-en une. Alors maintenant, chaque fois que nous utilisons ce bit ici, tout va se propager. Maintenant, nous devons l'ajouter à notre interface utilisateur de base. Vous vous demandez peut-être pourquoi n'avons-nous pas simplement créé tout cela dans notre interface utilisateur de base ? C'est parce que nous allons le faire deux fois, et ce serait tellement plus facile de le faire une fois et de les ajouter deux fois. Parce que nous pouvons en fait, si vous passez à Création par l'utilisateur, les ajouter plus tard dans la ligne. BP joue à ça. Fantastique C'est incroyable. Maintenant, nous avons ouvert notre panneau de base. Nous avons maintenant besoin d' un panneau en toile, et maintenant nous devons commencer à ajouter une partie de et maintenant nous devons commencer à ajouter une partie de ce que nous venons de créer ici. Allons-y et création d'un utilisateur. Utilisons les statistiques des joueurs BP. Eh bien, je vais le joindre dans le coin supérieur, et je vais le dimensionner en fonction du contenu. Cela signifie qu'il est en taille réelle. Je vais en prendre un autre. Mettons-le dans le coin inférieur. Ancrons-le dans le coin inférieur et adaptons la taille au contenu. Assurons-nous de les nommer correctement. Donc, la première sera celle des statistiques des joueurs, nous devrons en faire une variable car nous allons en tirer certaines informations. Et nous allons appeler ce joueur Stats UI. B. Un joueur, un joueur, deux, et nous allons en faire une variable. Nous allons configurer cela un peu plus tard. En fait, nous allons configurer cela maintenant. Passons à notre graphique, et nous allons en créer un autre dans le graphique Shells. Ouais. Créons-y donc un événement personnalisé Customevent. Ce qui est vraiment très pratique ici. Nous allons le faire dedans. Ce que je peux faire maintenant, c'est faire glisser ce nouveau paramètre, peu comme nous l'avons fait pour le précédent. Nous allons créer le port du contrôleur BP Underscore. Ce sera Layer Controller. Et ce que nous allons faire, c'est faire clic droit pour promouvoir une variable. Nice a besoin que nous allons utiliser pour définir les limites. Je vais prendre chacune d'entre elles. Donc BP play c'est l'interface utilisateur et fais-le dedans. Et puis pour le premier, je vais maintenant sortir Controller Pawn et faire écouter Car One Pop Vous voyez donc maintenant que c' est ainsi que nous avons transmis ces informations. C'est tellement sympa et facile pour le second. Nous pourrions ajouter quelques déclarations if et le faire différemment, mais c'est simple et agréable. Nous pouvons simplement aller au péché. C'est sympa et facile. Maintenant, si nous l'intégrons ensuite à notre pion manette, nous pouvons transmettre ces informations, et tout cela est prêt à être utilisé Alors faisons-le dès maintenant. Passons à notre pion BP Controller. Au début de la partie, allons-nous créer Widgit ? Cela aura une interface utilisateur de base BP. Ensuite, je vais m'en éloigner. Je vais le faire dedans. Je vais aussi faire traîner une fois de plus et ajouter à Vpot. Et une dernière fois, je vais faire Vpot. Et une dernière fois, glisser le pointeur. Je vais en fait cliquer avec le bouton droit valeur de retour de la variable Mote U, et je vais appeler cette interface utilisateur C'est une WUI de référence juste au cas où nous en aurions besoin plus tard, wink wink nudge nudge nudge, et je peux la rendre un peu plus agréable et l'utiliser comme cible à la utiliser comme Voilà. Ça fait un peu paraître un peu plus joli. Maintenant, il va demander un pion Controller. Nous pouvons utiliser ce nœud vraiment très pratique appelé self, qui fait référence à l'acteur dans lequel vous vous trouvez, à savoir la patte du contrôleur Maintenant, si nous cliquons sur Enregistrer, compilons et veillons à ce que nos deux objets soient nommés, nous allons appeler celui-ci. Appelons celui-ci Ian de mon nom , et appelons celui-ci. Après quelqu'un d'autre, nous allons cliquer sur Enregistrer et jouer. Nous avons maintenant Tim contre Ian. Nous avons obtenu leur vitesse. Tu peux voir. Et disons que si je fais un tour, voyons à quelle vitesse je peux le faire. Il n'y a pas de temps ici, mais nous pourrions en ajouter un si nécessaire. Oh, non Nelly. Une fois que j'ai terminé un tour, j'ai une merveille. Je peux y retourner encore et encore. C'est ainsi que nous avons appris non seulement comment créer une interface utilisateur, mais aussi une interface utilisateur beaucoup plus avancée. Nous avons maintenant appris comment créer des widgets pour passer en revue des widgets, et nous avons appris comment transmettre des informations à transmettre des informations interface utilisateur sans avoir à utiliser des liaisons à tout moment Dans la leçon suivante, nous allons terminer en définissant une condition de vent et en la transmettant également à l'interface utilisateur . Je te verrai donc dans le dernier. 13. Voiture à sous : état gagnant: Alors, bon retour. Terminons en ajoutant une sorte de condition de vent. Nous voulons donc dire que si nous complétons trois tours, nous gagnons le match, et nous pouvons tout régler. Mais commençons par la fin et revenons en arrière. Faisons en sorte que l'interface utilisateur ait un aspect flashy de ce côté. Ouvrons donc notre interface utilisateur de base, et nous allons ajouter le surf au milieu d'ici, qui indiquera le gagnant Allons gagner Text. C'est variable. Et nous allons le mettre directement dans le moulin. Et nous allons placer cette ancre au milieu. Donc, avec ce texte, si vous passez à la justification, placez-le au milieu. Cela aurait dû le mettre directement dans le moulin. Je ne voulais pas faire ça, apparemment. Oui, intéressant. C'est une façon. Oh, oui. Oh, c'est stupide. Il l'ancre toujours dans le coin supérieur. Vous souhaitez définir ce paramètre sur 0,50 0,5. C'est sympa et facile. Dimensionnez le contenu. , idiote moi. Nous avons donc un texto hivernal. Je vais l'agrandir un peu, alors réglons-le sur je ne sais pas, 64, gros, gros. 128. Faisons en sorte que ça prenne de l'ampleur ou allons-y. Et nous allons en fait créer une animation ici. Ce n'est pas quelque chose que nous avons fait auparavant. Nous n'avons jamais travaillé sur des animations auparavant. Donc, ce que je vais d'abord faire, c'est m' assurer que c'est réglé. Let's set the Let's go into Let's go into doit être une opacité. Oui, cool. Donc, ce que nous allons faire, c'est faire défiler la page vers le bas, il y en aura une appelée opacité du rendu Je vais le mettre à zéro. Tout d'abord, réglez-le sur zéro. Je vais faire une animation. Et cette animation sera l'animation gagnante. Nous allons donc cliquer dessus. Nous allons cliquer sur TAC. Et comme vous avez déjà sélectionné le texte gagnant, il apparaîtra en haut. Maintenant, je veux suivre certaines choses, afin que nous puissions suivre certaines choses. Nous pouvons avoir des animations en un clic, suivre de cette façon ou nous pouvons maintenant cliquer dessus. Comme le gagnant de l' animation a été sélectionné, je peux passer à Let's go into Render opacity Cliquez sur ce petit bouton ici, et il devrait apparaître automatiquement. Donc, lorsque cette animation démarrera, nous partirons de zéro. Nous allons cliquer. Nous allons mettre celui-ci sur un point, et il va passer de ce côté là . Maintenant, nous allons nous amuser un peu. Nous allons faire Passons à la couleur et à l' opacité de la police et nous pouvons cliquer sur Ajouter une image-clé à cela opacité de la police et nous pouvons cliquer sur Ajouter une image-clé à Alors, ne veut-il pas y ajouter une image-clé ? Il ne souhaitait pas ajouter d'image-clé. Ajoutons ceci alors. Couleur et opacité Maintenant, une fois qu'il sera là, je veux le configurer pour m' assurer qu'il ne fait qu'un. Je vais donc cliquer sur Ajouter ces cadres ici. Mais toutes les demi-secondes, mettons l'une d'entre elles à zéro. Ensuite, nous passerons à chaque étape. Nous allons le remettre à un et celui-ci à zéro. Et nous allons juste le copier , continuer à le copier pendant, genre, faisons-le pendant 5 secondes. Voilà. Alors maintenant, quand on joue, c'est cool. Nous avons cette couleur cool et intéressante. Qu'est-ce qui se passe ici ? Nous avons Oh, c'est réglé à zéro, donc tu veux être stupide, nous devons le mettre à un Voilà. Nous avons cette vibration intéressante. Voilà. Nous avons donc maintenant une légère animation à ce sujet. Nous allons simplement cliquer dessus pour l'enlever et nous pourrons y réfléchir plus tard. Nous lui avons attribué une variable. Assurez-vous que je le formate correctement. Passons au graphique, et nous allons créer un nouvel événement. Disons que c'est un gagnant. Interface utilisateur du gagnant. Faisons Winner UI. Ce que je veux faire d' abord, c'est récupérer le texte du gagnant. Nous allons définir ce texte, définir le texte. Texte de Sally Meet, sous le texte de Scott Brackett. Et il y en a un petit bout ici. Nous voulons faire ce qu'on appelle un ajout, et c'est sous la chaîne d'ajout Cet ajout de chaîne nous permet d'ajouter plusieurs chaînes ensemble Nous pouvons ensuite le faire glisser dans le texte, et il est automatiquement converti en format texte. Oh mais c'est ce que nous allons faire ici. Donc, tout d'abord, je vais faire glisser ceci ici pour ajouter cette épingle. Nous cliquons dessus maintenant, nous allons appeler ça. Nous allons renommer ce gagnant. Ensuite, le B, que nous allons mettre, est le gagnant. Waouh. Nous allons donc attribuer le texte à celui qui l'a gagné. Nous allons passer en revue le nom d'une personne qui a gagné. Et puis une fois que nous l'aurons fait, nous allons saisir. Ce que nous allons faire, c'est jouer à l'animation. Et il va le demander dans le domaine de l'animation. Ça ne va rien faire apparaître ici. Mais si on le fait glisser ici et qu'on tape gagnant, on passe à la case « Get winner ». Et nous allons nous assurer que nos boutiques sont paramétrées sur false. Maintenant, chaque fois que cet événement est appelé, il désigne le gagnant Nous allons donc définir le nom Winner plays animation. Joue une animation de l'interface utilisateur. C'est sympa et facile. Maintenant, nous pouvons appeler cela dans notre pion joueur, pion contrôleur. Nous allons donc le faire maintenant. Ouvrons notre pion manette. Et ce que nous pouvons faire maintenant, nous pouvons faire certaines choses ici. Qu'est-ce que je vais faire ? En fait, avec notre pion manette, nous n'avons rien à faire Heureusement, dans Unreal. Il existe quelques fonctions qui nous permettent de savoir qui certaines choses. Nous les avons déjà utilisés sous le nom de Get Player Controller, mais nous pouvons également utiliser get player pawn dans n'importe laquelle de nos classes pour essayer d'obtenir le pion du joueur actuel, qui est contrôlé Maintenant, nous pouvons obtenir n'importe quelle information à ce sujet quand nous le voulons. Donc, dans notre personnage, euh, en fait, désolé, dans notre pornographie sur manette d'abord, nous devons probablement définir le nombre de tours que nous voulons faire. Donc, dans notre variable, faisons un nouveau tour nécessaire. Faisons juste les tours nécessaires. Donc, dans notre pornographie sur les contrôleurs BP , nous créons une nouvelle variable appelée laps de temps requis, qui est un entier. Nous allons nous assurer que cela est obligatoire et que les expositions et spores modifiables seront également Je vais utiliser par défaut ce paramètre comme gratuit car les tours gratuits signifient normalement tout. Euh, maintenant, dans notre acteur BP Car, nous devons ajouter un peu de logique à la fin de tout cela. Donc, ce que je vais faire correctement, Clay peut le faire pour obtenir un pion Cela permettra d'obtenir le pion du joueur pour un index de joueur spécifique Maintenant que notre mode multijoueur est légèrement différent de ce que souhaite Unreal, notre indice de joueurs doit toujours être égal à zéro Je vais maintenant quitter ce nouveau casting pour rejoindre Controller Pawn Maintenant, je vais cliquer dessus avec le bouton droit de la souris et appeler cela un casting pur. je vais me débarrasser du chèque, c'est parce que si nous n'avons pas le jeu de pions par défaut du contrôleur BP , nous savons vraiment que cela ne marchera jamais À moins que vous ne fabriquiez un autre pion manette ou que nous ne contrôlions cette caract d'une autre manière, le seul moyen de le déplacer pour le moment est d'utiliser le pion contrôleur BP Si vous rencontrez des erreurs en disant « Ceci n'est pas valide », c'est parce que le pion contrôlé par BP n'est plus le pion par défaut Voilà pourquoi. Je vais donc faire traîner ça et faire un tour. Allons faire les tours nécessaires. Et puis je vais faire une vérification. Maintenant, si les tours sont supérieurs aux tours requis, nous allons alors nous diversifier. Donc, si le joueur a fait plus de trois tours, cela portera ce tour à quatre, car il fera le premier tour, le deuxième, le troisième tour et le quatrième tour. Nous devrions probablement régler cela à un, soit dit en passant, au premier tour. Et puis si c'est fait, nous voulons obtenir une référence d'interface utilisateur. À partir de là, nous pouvons obtenir la référence de l' interface utilisateur maintenant, car nous l'avons enregistrée ici et nous avons gagné une interface utilisateur. Vrai Il va demander le gagnant. Qui est le gagnant ? Eh bien, nous connaissons le nom de la voiture, qui est ici. Pourtant, le nom de la voiture apparaît maintenant. Ça. Mon ami. Nous avons maintenant terminé le jeu, et nous pouvons tester le son. Passons à notre pot de contrôle. Réglons le nombre de tours requis pour qu'il n'y en ait qu'un. Jouons. Alors faisons un tour. Je ne veux pas que Tim gagne. Je veux gagner. On va gagner ? Nous allons gagner. Ian est le gagnant. C'est fantastique. Maintenant, avec ça, je vais tenir un petit moment. Vous avez terminé ce prototype. Nous allons maintenant passer à l'un des prototypes de frettes que j' ai conçus pendant les années que j'ai passées à enseigner le prototype de ciseaux à papier, et je vous verrai dans le prochain. 14. Emballage du projet et partage sur Skillshare pour obtenir vos commentaires !: Nous sommes donc prêts à le télécharger sur Skillshare pour recueillir des commentaires et le présenter à vos camarades Donc, avant d'intégrer ce projet à Skillshare, il vous ce projet à Skillshare, il suffit de vous rendre dans les paramètres de votre projet pour vous assurer que le jeu se charge au plus haut Je veux donc cliquer sur Modifier en haut et dans les paramètres du projet. Vous allez ensuite passer aux cartes et aux modes qui se trouvent sur la gauche. Ensuite, assurez-vous que la carte par défaut du jeu, c'est-à-dire la carte que le jeu charge d'un projet de package, est définie sur votre trace. Je l'ai donc configuré pour en suivre un. Incroyable. Je peux maintenant simplement cliquer sur E ici. Je vais me rendre sur les plateformes pour commencer à empaqueter le projet. Je vais passer aux fenêtres. Je le vends normalement à l'expédition, et je vais cliquer sur Package Project. Cela ouvrira cette boîte de dialogue de fichier, dans laquelle je vais créer un nouveau dossier appelé packaged slot. OK. Et je vais cliquer sur Sélectionner un dossier. Cela prend un certain temps, et vous pouvez afficher le journal de sortie, mais cela prendra un certain temps. Une fois cela fait, je vous recommande de le télécharger sur Google Drive, One Drive ou tout autre type de lecteur possible Je recommande également de le compresser pour éviter que le projet ne soit mené à bien afin de l'aider à fonctionner correctement. Maintenant, je suis vraiment impatiente de voir ce que tu vas faire. Une fois que vous l'avez fait, téléchargez-le sur Skill Share et terminez ce cours.