Unreal Engine 5 : Blueprint Script 101 | Greg Wondra | Skillshare

Vitesse de lecture


1.0x


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

Unreal Engine 5 : Blueprint Script 101

teacher avatar Greg Wondra, Unreal Authorized Instructor

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.

      Vidéo de promotion du cours (à propos du cours)

      1:10

    • 2.

      Principes de base du cours

      4:09

    • 3.

      Télécharger et installer

      3:33

    • 4.

      Créer un projet

      3:03

    • 5.

      Exemple de plan

      9:10

    • 6.

      Panneau de composants

      18:35

    • 7.

      Onglet de visualisation

      14:40

    • 8.

      Panneau de détails

      7:44

    • 9.

      Le panneau de mon plan d'action

      7:54

    • 10.

      Graphique d'événements

      14:12

    • 11.

      Script de construction

      16:36

    • 12.

      Plans de cours

      6:19

    • 13.

      Plans de niveau

      15:35

    • 14.

      Types de nœuds

      7:48

    • 15.

      Exécution et épingles de données

      6:45

    • 16.

      Câblage de nœud ing

      6:40

    • 17.

      Organisation de nœuds

      10:29

    • 18.

      Niveau BP - Références d'objets temporels de conception

      10:44

    • 19.

      Niveau BP - Références d'objets en temps de exécution

      16:57

    • 20.

      Cours BP - Références d'objets temporels de conception

      10:58

    • 21.

      BP du cours - Références d'objets en temps de course

      13:33

    • 22.

      Références d'objets moulés

      14:27

    • 23.

      Références dans le widget BP

      11:33

    • 24.

      Références de étiquettes

      10:40

    • 25.

      Début de jeu d'événement

      10:03

    • 26.

      Tick d'événement k

      12:52

    • 27.

      Saisie d'événement

      15:40

    • 28.

      Axe des événements

      18:42

    • 29.

      Chevauchement au début de l'événement

      13:02

    • 30.

      Chevauchement de fin d'événement

      5:26

    • 31.

      Curseur du début de l'événement Over

      11:34

    • 32.

      Curseur de fin d'événement

      3:57

    • 33.

      Événement sur cliqué

      5:31

    • 34.

      Event sur rappel

      2:11

    • 35.

      Événement d'événement

      12:21

    • 36.

      Événez tout dommage

      8:25

    • 37.

      Dommage au point de l'événement

      7:44

    • 38.

      Dommages radiaux causés par l'événement

      8:48

    • 39.

      Événement détruit

      8:44

    • 40.

      Événements personnalisés

      14:40

    • 41.

      Aperçu des variables

      9:26

    • 42.

      Booléen

      9:54

    • 43.

      Entier

      12:02

    • 44.

      Flotteur

      14:36

    • 45.

      Nom

      12:11

    • 46.

      Chaîne

      9:33

    • 47.

      Texte

      13:54

    • 48.

      Vecteur

      8:01

    • 49.

      Rotateur éclair

      16:38

    • 50.

      Transformer

      11:03

    • 51.

      Acteur (Objet)

      9:18

    • 52.

      Variables de choses à savoir (Partie 1)

      11:53

    • 53.

      Variables de choses à savoir (partie n° 2)

      9:36

    • 54.

      Conseils et astuces pour les variables

      12:27

    • 55.

      Aperçu des fonctions

      7:20

    • 56.

      Fonctions d'acteur

      6:14

    • 57.

      Fonctions du cours

      7:52

    • 58.

      Fonctions de composants

      4:31

    • 59.

      Créer des fonctions

      11:39

    • 60.

      Fonctions d'appel

      15:05

    • 61.

      De la synthèse à la fonction

      14:09

    • 62.

      Fonctions pures et impures

      11:18

    • 63.

      Bibliothèque de fonctions

      17:17

    • 64.

      Variables locales

      10:55

    • 65.

      Les fonctions ce qu'il faut savoir

      15:17

    • 66.

      Aperçu des macros

      8:43

    • 67.

      Créer des macros

      13:23

    • 68.

      La version collapse vers la macro

      7:39

    • 69.

      Bibliothèque macro

      15:32

    • 70.

      Tableau

      16:00

    • 71.

      Série

      10:45

    • 72.

      Carte

      18:12

    • 73.

      Enum

      14:34

    • 74.

      Structure

      18:31

    • 75.

      Aperçu du contrôle de flux

      3:56

    • 76.

      Branche

      10:21

    • 77.

      Séquence

      7:15

    • 78.

      Faites une fois

      8:01

    • 79.

      Faites N

      5:10

    • 80.

      Flip Flop

      10:23

    • 81.

      Porte

      9:53

    • 82.

      MultiGate ate

      9:17

    • 83.

      Pour les boucles

      17:30

    • 84.

      Pour chaque boucle

      14:17

    • 85.

      While Loop

      7:57

    • 86.

      Commutateurs la

      18:31

    • 87.

      Sélectionner avec

      18:13

    • 88.

      Casting

      11:30

    • 89.

      Communication directe (partie 1).

      8:53

    • 90.

      Communication directe (partie 2)

      12:20

    • 91.

      Dispatcheurs d'événements

      16:08

    • 92.

      Interfaces d'un plan (partie 1)

      15:39

    • 93.

      Interfaces d'un plan (partie n°2)

      8:55

    • 94.

      Cours Parent (de base)

      12:50

    • 95.

      Cours pour enfants (partie 1)

      14:09

    • 96.

      Cours pour enfants (partie 2)

      13:17

    • 97.

      Aperçu du cadre

      4:32

    • 98.

      Mode de jeu (partie 1)

      11:47

    • 99.

      Mode de jeu (partie 2)

      10:50

    • 100.

      Mettre en gage

      9:52

    • 101.

      Personnage

      11:47

    • 102.

      Contrôleur de joueur

      19:38

    • 103.

      Instance de jeu

      18:31

    • 104.

      Compiler

      9:21

    • 105.

      Points d'arrêt

      14:33

    • 106.

      Valeurs de la montre

      7:50

    • 107.

      Journal des messages

      8:07

    • 108.

      Rechercher

      8:19

    • 109.

      Marque-pages

      4:06

    • 110.

      Palette / Panneau des favoris

      5:23

    • 111.

      Créer des nœuds grat

      8:02

    • 112.

      Dispositions personnalisées

      6:17

    • 113.

      Conseils et astuces

      9:59

    • 114.

      Raccourcis de productivité

      15:55

  • --
  • 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.

1 284

apprenants

4

projets

À propos de ce cours

Si vous avez déjà voulu coder vos propres jeux, mais que vous n'avez aucune expérience et que vous ne savez pas par où commencer, ce cours est fait pour vous !

Dans ce cours, le concepteur de jeux et l'éducateur M. Wondra vous enseigne tous les concepts, compétences et techniques de base nécessaires pour maîtriser Blueprint Scripting (le système visuel et basé sur les nœuds d'Unreal Engine permettant de créer un gameplay fonctionnel).

Dans ce cours, je vais vous expliquer :

  • Comment créer et configurer des projets Unreal Engine jects

  • Comment créer et utiliser des événements, des fonctions, des macros et des variables ?

  • Comment créer différents types de plans
  • Comment communiquer entre les plans

  • Comment créer des classes de parents / enfants (héritage)

  • Comment compiler et déboguer les plans

  • Comment créer de nombreux scripts utiles : 
    • Comment créer des scripts de pick-up
    • Comment créer des scripts d'objets interactifs
    • Comment créer des scripts d'objets en mouvement ?
    • Comment créer des scripts ennemis simples
    • Comment créer des scripts de contenu procédural
  • Conseils et astuces pour devenir un script efficace !

À qui est destiné ce cours ?

En bref, TOUT LE MONDEApprenants, jeunes et âgés (12 - 70 !) et que vous soyez un débutant complet ou un développeur de jeux AAA expérimenté a trouvé une immense valeur dans ce cours.  Les étudiants communs comprennent :

  • Débutants complets (jamais codés auparavant !)
  • Développeurs Unreal existants (qui veulent apprendre ces outils)
  • Conversions Unity
  • Les éducateurs (à la recherche d'un programme de développement de jeux pour leurs cours) 

C'est parti !

Les connaissances acquises dans ces leçons vidéo vous permettront d'acquérir le savoir-faire et les compétences nécessaires pour commencer à créer vos PROPRES scripts personnalisés pour vos PROPRES projets de jeu !  J'ai hâte de voir ce que vous allez créer !

Rencontrez votre enseignant·e

Teacher Profile Image

Greg Wondra

Unreal Authorized Instructor

Enseignant·e

Hello! I'm Greg but most of my students know me as "Mr. Wondra." I'm an active game designer and Unreal Engine Authorized Instructor.

As a kid growing up in rural Wisconsin I dreamed of leaving the corn fields and cow pastures to one day become a video game designer. For 12 years I LIVED that dream! I've designed titles for 2K Sports, KingsIsle Entertainment, and Nickelodeon and have had rare lifetime opportunities such as directing LeBron James and Derek Jeter in motion capture sessions.

My design credits include:

- Wizard 101 (PC)

- Lost Planet 3 (360, PS3, PC)

- MonkeyQuest (PC)

- Sports Champions (PS3)

- Major League Baseball 2K5, 2K6, 2K7, 2K8 (various consoles)

- SpongeBob Moves In (Mobile)

- Grub ... 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. Vidéo promotionnelle du cours (À propos du cours): Bienvenue. Dans ce cours de développement de jeux pour débutants, vous apprendrez à écrire votre propre jeu fonctionnel l'aide des plans d' Unreal Engine 5. Aucun revêtement ou Unreal Engine n' a été utilisé, nécessaire. Bonjour, je m'appelle Greg Wanderer, un vétéran de l'industrie depuis 12 ans qui enseigne développement de jeux vidéo à l'aide d' Unreal Engine depuis 2016. À la fin de ce cours, vous aurez une compréhension approfondie de tous les concepts fondamentaux qui sous-tendent cette approche de programmation basée sur les nœuds et couvrira les classes et composants de Blueprint, les événements, fonctions, macros, variables et bien plus encore. Ce cours s'adresse à tous, du plus jeune game designer Byron aux professionnels saisonniers de l'industrie. Nous partons du tout début en supposant que vous ne savez rien. Mais à la fin de ce cours, il constituera une ressource précieuse. Vous pouvez vous y référer encore et encore. Alors allez, rejoignez les milliers d' étudiants satisfaits qui ont commencé leur parcours de développement de jeux vidéo avec moi. J'ai hâte de voir ce que vous allez créer. 2. Primer de cours: Bienvenue, juste une introduction rapide ici avant de passer aux bonnes choses, juste pour que vous sachiez comment suivre ce cours et tirer le maximum de valeur. Tout d'abord, merci d' avoir choisi ce cours. Je sais que tu as beaucoup d'options. Je prends ces cours très au sérieux. J'ai passé plus d' un an à le fabriquer. C'est le cours que je rêve d'élaborer, car je pense que c'est le concept le plus fondamental à acquérir. Lorsque vous travaillez avec Unreal Engine, vous allez apprendre à écrire des scripts de plan. Qu'est-ce que le monde des scripts Blueprint est essentiellement une manière visuelle, basée sur des nœuds, de coder le gameplay sans regarder un mur de texte, de syntaxe et tout ce jazz. Donc, si vous n'avez jamais vu quoi ressemble un script Blueprints, j'ai un exemple rapide à vous montrer ici. C'est Unreal Engine 5, d'ailleurs. Afin de créer un gameplay fonctionnel dans Unreal avec des scripts de plan, vous pouvez simplement connecter des nœuds de ce type. Et ce que j'ai trouvé ici n'est qu'une prise en charge rapide. J'ai également ce mur procédural où nous pouvons étendre le nombre de pièces dont nous disposons. Tout cela est fait avec Unreal Engine, c'est le script Blueprint. Alors, à qui s'adresse ce cours ? Je reçois souvent cette question . Est-ce pour moi ? Eh bien, j'ai conçu ce cours pour tout le monde. J'ai eu des élèves de six ans à peine et de 65 ans qui ont suivi ce cours. Certains ne connaissent rien au codage ou à l'écriture de scripts quelque part, nouveaux débutants et d'autres sont trois fois des développeurs. J'ai eu des élèves de Naughty Dog et d'Insomniac. Mais je le fais chez Teach, comme si c'était ta première fois. Donc aucune menace dans un Hey, je ne comprends rien à la programmation, quoi que ce soit de ce genre. Je pars du niveau du sol. Alors, comment est structuré ce cours ? Eh bien, nous n' allons pas créer quelque chose en particulier dans ce cours. Ce cours est plutôt un cours basé sur des concepts, présentant de nombreux exemples pratiques très utiles. Maintenant, j'ai essayé de rendre ce cours aussi ouvert que possible, c' est-à-dire qu'il est censé vous servir de ressource, de référentiel de connaissances en matière de scripts que vous pouvez retrouver de temps en temps encore une fois, comme un guichet unique regroupant tous ces concepts de script centraux vous pourriez avoir besoin et dont vous pourriez avoir besoin. Je veux dire, ce sont toutes les questions que je me suis posées au cours de mon parcours d'apprentissage au cours des dix dernières années. Maintenant, en raison de la structure de ce cours, vous pouvez passer d'une leçon à l'autre. Vous n'êtes pas obligé de procéder de manière linéaire. Mais je recommande d' y aller dans l'ordre. Il y a peut-être quelques leçons ici et là qui font référence à des leçons précédentes, mais je vais essayer de les signaler lorsqu'elles se produiront et de réduire cela au minimum. Maintenant, je tiens à souligner qu'il est extrêmement difficile d' enseigner un cours basé sur des concepts comme celui-ci, entre guillemets, afin comprendre les concepts présentés ici, nous rencontrerons sans aucun doute certaines choses dépendent de ce que cela signifie, c'est que pour comprendre cela, vous aurez besoin de le savoir. Et pour le savoir, vous devez le savoir. Il y a un concept ou une compétence qui est présenté et qui semble totalement étranger au premier abord. Sachez qu'un, je vais l'appeler et je couvrirai ce sujet correctement plus tard. Il y a beaucoup, beaucoup de choses à aborder ici. Et juste pour vous donner un bref aperçu de mesure dans laquelle je suis préparé à donner ce cours. J'ai mon plan juste ici. C'est le schéma que j' utilise pour créer ce cours. Chacun de ces liens bleus, des liens vers une leçon. Donc, j'ai passé littéralement, je suis en fait plus de deux ans à mettre sur pied ce cours. Encore une fois, je recommande d' y aller dans l'ordre, même si vous pouvez vous déplacer. Enfin, si vous trouvez ce cours utile, veuillez laisser un avis et le recommander à d'autres Il n'y a rien de mieux que de le recommander à d'autres. J'adore enseigner aux élèves à voir ou à construire. Rien n'est plus excitant pour moi que de voir des étudiants appliquer ce que j'ai enseigné et le faire passer au niveau supérieur. Des choses assez excitantes en effet. Très bien les gars, ça suffit. Passons aux bonnes choses. bientôt dans la vidéo suivante. 3. Téléchargez et installez: Très bien, tout d'abord, avant de commencer par les bonnes choses, nous devons nous assurer que vous avez téléchargé et installé Unreal Engine. Si c'est déjà le cas, n'hésitez pas à sauter cette vidéo. Celui-ci est destiné aux débutants complets que je n'ai aucune idée où aller, comment commencer, et cetera. Par conséquent, à l'aide d'un navigateur Internet de votre choix, il suffit de taper Unreal Engine.com. Maintenant, ils ont une page contenant des instructions de téléchargement. Cela vous montrera une configuration système requise si vous vous posez des questions à ce sujet, c'est bon pour Windows ou Mac, peu importe ce que vous avez obtenu. Et la première chose à faire pour obtenir Unreal Engine est de télécharger le lanceur Epic Games. Oui, c'est un peu flou. Nous devons télécharger le lanceur Epic Games, via lequel nous avons ensuite accès à Unreal Engine. bizarre, je sais. Mais allez-y et cliquez sur ce téléchargement et lancez votre option. Il va vous demander d' enregistrer ce package d'installation la destination de fichier de votre choix. Je l'ai déjà fait auparavant, mais une fois que c'est fait, vous pouvez double-cliquer dessus pour commencer le processus d'installation du lanceur Epic Games, c'est assez simple. Il vous suffit de cliquer dans les cases qui sont présentées. Encore une fois, je l'ai déjà fait, donc je ne peux pas vraiment reproduire cela ici. Processus assez simple. Maintenant, une fois cela fait, vous devriez être en mesure de trouver le lanceur Epic Games apparaissant après cela , ou vous pouvez le rechercher ici. Si je clique sur ma petite loupe ici et que je tape simplement épique, vous pouvez voir que mon Epic Games lance votre application. Encore une fois, je l'ai déjà pré-installé à partir d'ici. Je peux cliquer dessus avec le bouton droit de la souris et épingler ma barre des tâches, ce que j'ai déjà fait. Ainsi, une fois l'installation du lanceur Epic Games terminée, vous avez accès au lanceur Epic Games, que vous avez les onglets Store, bibliothèque et Unreal Engine sur le côté gauche. Parce que nous travaillons évidemment avec Unreal Engine. Vous devez vous assurer que cet onglet est sélectionné et que, en haut, vous devrez sélectionner l'onglet de votre bibliothèque. C'est ici que vous allez installer différentes versions d'unreal. Maintenant, tous les deux mois environ, Epic Games propose une version mise à jour du moteur. Mais pour ajouter n'importe quelle nouvelle version de moteur, vous pouvez simplement cliquer sur ce bouton jaune plus ici. Il va ajouter cette petite carte et ensuite ce menu déroulant, vous pouvez cliquer pour choisir spécifiquement une version du moteur que vous souhaitez installer. Maintenant, à la date d'aujourd'hui où j'enregistre ce Unreal Engine cinq est encore très nouveau et c'est la dernière version du moteur. Quelle version du moteur devriez-vous installer ? Je recommande la dernière version, quelle qu'elle soit. Maintenant, si je clique à nouveau dessus, lorsque vous choisissez une version différente du moteur, il vous demandera de l'installer. Je l'ai déjà fait hors caméra à l'avance, donc je suis prêt à le lancer, mais en cliquant sur Installer ici, vous allez installer cette version du moteur. Et il peut s'agir d'un processus assez long. Donc, une fois que vous cliquez sur Installer, vous verrez cette icône épique ou cette icône Unreal Engine se remplir comme une barre de compteur. Et si vous cliquez sur cette option de téléchargement ici, vous pouvez également voir la progression de l'installation d'Unreal. Allez-y et faites-le maintenant. Allez-y et prenez un verre, allez dîner, etc. Parce que ça va prendre du temps. 4. Créer un projet: Très bien, avec l'installation d'Unreal Engine, il était temps pour nous de créer un projet. Et pour ce faire, nous devons lancer le moteur. Il existe maintenant plusieurs façons de lancer le moteur. Je vais donc vous montrer ces méthodes maintenant dans le lanceur Epic Games avec Unreal Engine sélectionné sur la gauche, l'onglet bibliothèque sélectionné en haut. Nous pourrions lancer la version du moteur que nous venons terminer d'installer en cliquant ici. En haut à droite, il y a un bouton Lancer qui me permettra de lancer la même version du moteur. Maintenant, si plusieurs versions du moteur étaient installées ici, je peux cliquer sur cette liste déroulante. Ils seraient tous présentés ici. Je pourrais en choisir un. Quelle que soit la version du moteur que j'avais sélectionnée. Ce numéro apparaîtrait à droite ici. Et encore une fois, en cliquant sur ce bouton jaune Launch , cette version spécifique du moteur est lancée. Maintenant, si tout cela est gênant, vous pouvez créer un raccourci en cliquant sur ce petit menu déroulant. Et vous pouvez créer un raccourci de bureau ici, ce que j'ai déjà fait avant cette vidéo. Il y a mon raccourci de bureau. Je vais cliquer ici sur Launch. Ok, tu finiras par arriver à une fenêtre contextuelle qui ressemble à ça. Nous sommes en train de créer un projet de jeu, alors assurez-vous que cette case est sélectionnée sur la gauche. Nous allons également utiliser le modèle à la troisième personne pour nous aider ici. Assurez-vous donc de l' avoir sélectionné. Sur le côté droit, nous avons quelques options. Il s'agit d' un projet Blueprint sélectionné par défaut. Tout va bien et bien. Notre plateforme cible ici sera la qualité de bureau prédéfinie, maximum, désolé, contenu, sûr, le ray tracer votre choix si vous voulez ou non que ce soit sélectionné, je vais dire Sûr. Emplacement du projet, vous allez de l'avant et choisissez un emplacement de fichier sur votre ordinateur. Cependant, le nom du projet pour l'amour de Dieu, s'il vous plaît, ne laissez pas cela par défaut car je vois beaucoup trop d'étudiants le faire. Changez cette option en script Blueprint. Ensuite, cliquez sur Créer. Très bien, et après quelles scènes dans éternité après la création de ce projet, nous obtenons notre premier regard sur Unreal Engine cinq, l'éditeur de niveaux ici. Maintenant, si vous avez vu un petit quelque chose dans la fenêtre inférieure droite qui disait que les fichiers de projet sont obsolètes. Allez-y simplement et cliquez sur Corriger. Maintenant, pour arranger ça. En haut à droite, nous pouvons voir le nom de notre projet. Et je tiens à souligner qu'après avoir terminé ce projet, vous pouvez y revenir directement en passant par le lanceur Epic Games, l'onglet Unreal Engine Library est la section Mes projets. Dans n'importe quel projet que vous avez créé sera répertorié ici. Donc, double-cliquer dessus ouvrira ce projet spécifique pour nous, ce qui est très pratique. Mission accomplie ici, les gars, nous avons créé notre premier projet. Découvrez les scripts Blueprint dans la section suivante. On se voit là-bas. 5. Exemple de plan: Bienvenue à tout le monde. Eh bien, avec notre projet maintenant créé, passons tout de suite. Voyons les bonnes choses. Dans cette vidéo, notre objectif sera de définir quels sont les plans dans Unreal, puis de montrer un exemple d'un plan dans un jeu. Ce faisant, cela démontrera conceptuellement ce qu'est un plan directeur et comment nous pouvons les utiliser dans la création de projets de jeu. Avant de tourner cette vidéo, je suis allé de l'avant et j'ai créé un plan. J'ai créé un plan de ramassage juste pour vous enthousiasmer par ce que nous allons faire ici dans la première partie de ce cours. C'est quelque chose que vous voyez tout le temps dans le jeu. J'ai donc pensé que ce serait un exemple très pertinent. Je vais cliquer sur ce bouton vert en haut ici. Et ce faisant, en haut à gauche, il s'agit de cliquer pour le contrôle de la souris. Si j'ai été supprimé WAS et TSA dès le départ et que rien ne se passe. Je dois d' abord cliquer dans cette fenêtre pour prendre le contrôle de mon personnage. Maintenant, tout ce que vous voyez ici était préconstruit. La seule chose que j'ai construite avant cette vidéo, c'était cette croix qui tourne. Si je rentre mon personnage dedans, je l'ai collecté, je joue un peu de son. Vous voyez ce genre de choses dans les jeux tout le temps. Je vais frapper Escape pour sauter d'ici. Maintenant, si je vais dans mon tiroir de contenu et que je regarde l'info-bulle, leur contrôle et la barre d'espace, c'est aussi là que je peux faire entrer le tiroir de contenu. C'est là que je peux accéder aux dossiers et dossiers sur les dossiers de mon Unreal Engine J'ai créé cette classe Blueprint est BP exemple Blueprint classe. Avant cette vidéo, nous allons créer l'une des nôtres par les vidéos antérieures. Mais je voulais souligner ici avec le tiroir de contenu, s'agit d'une nouvelle fonctionnalité et Unreal Engine cinq, il s'agit d'une nouvelle fonctionnalité et Unreal Engine cinq, vous pouvez cliquer dessus pour le relever ou le baisser, ou faire ce contrôle plus la barre d'espace. Cependant, pour ceux d'entre vous qui ont un peu plus d'expérience ou vétérans d'Unreal, vous pouvez ajouter quelque chose et le navigateur de contenu qui est une vision persistante de cela. tiroir en bas de l'écran. Je vais donc passer sous navigateur de contenu Windows et choisir le navigateur de contenu pour avoir juste une copie du navigateur de contenu disponible de façon persistante ici dans l'éditeur. Vous n'êtes pas obligé de le faire. C'est ma préférence personnelle. C'est exactement la même chose que le tiroir de contenu a exactement les mêmes dossiers, contenus, etc. Très bien, la raison pour laquelle je fais cela est parce que je veux créer un nouveau dossier ici à l'intérieur de mon dossier de contenu. Je vais donc cliquer avec le bouton droit sur mon dossier de contenu ici. Je vais créer un nouveau dossier et je vais appeler ça un script. Ensuite, je vais cliquer avec le bouton droit de la souris sur ce nouveau dossier de script. Et je vais lui donner une couleur tout de suite. Et je vais juste faire un clic gauche, déplacer ça. Je vais le régler en bleu parce que c' est un cours de script de Blueprint. Très bien, la raison pour laquelle je crée ce dossier, c'est parce que beaucoup de ressources que nous allons créer tout au long de ce cours. Je veux qu'ils soient précisément dans ce dossier pour un accès facile pour moi afin de savoir exactement où ils vivent. Maintenant, sur le côté droit, je peux créer différents types d'actifs. Et je peux le faire en cliquant avec le bouton droit de la souris et un peu d'espace vide. Dans le menu contextuel MI, je peux créer une nouvelle classe de Blueprint. Ce serait le bon moment pour moi de parler de nos plans dans Unreal. Donc, ce terme, les plans, signifie un peu deux choses ici. Blueprints est le système de script visuel à l'intérieur d'unreal, parfois appelé script Blueprints. Mais les Blueprints sont également des actifs tels actifs de classe Blueprint qui peuvent contenir des composants, des données ou des scripts spécifiques qui ont aidé votre jeu d'une manière ou d'une autre, de sa forme ou de sa forme. Il existe de nombreux types de plans différents dans Unreal. Maintenant, tout ce système d'impression bleu, c'est un moyen pour les non-codeurs comme moi créer un gameplay fonctionnel à l'intérieur d'Unreal, ce qui est assez doux. Donc, d'une certaine manière, vous allez être enduit, mais de manière très artistique. Qu'est-ce que cela signifie ? Nous allons assembler quelques nœuds et ça va être beaucoup plus attrayant visuellement que ceux, zéros supports bouclés et tout ce genre de choses. Je vais donc choisir un cours de Blueprint. Lorsque je clique dessus, il va falloir choisir une classe parentale. Encore une fois, beaucoup de types de plans différents, mais dans l'ensemble, le plus courant est le plan de classe d'acteurs. Il s'agit alors d'un objet qui peut être placé pour répondre dans le monde. Allons de l'avant et sélectionnez-le. allez créer cette ressource ici dans notre dossier de script de contenu. Donnons un nom. Je vais appeler mon exemple de script de soulignement BP. Je crois que c'est le nom que je veux lui donner. Exemple, ne prenez aucun exemple de ramassage. C'est le nom que je voulais lui donner. Exemple de ramassage. C'est pourquoi je garde des notes. Appuyez sur Entrée. En passant, si vous souhaitez modifier le nom de celui-ci, vous pouvez cliquer avec le bouton droit de la souris et le renommer F2, tandis que le fait sélectionner vous invite également à le renommer. Si je devais placer cela dans mon niveau en ce moment, vous pouvez simplement le faire glisser et le déposer depuis votre navigateur de contenu. Vous pouvez voir qu' il y a une icône ici. Mais si je devais sauter dans mon jeu, je ne verrais pas vraiment ce truc. Cette icône n'est disponible qu' en mode visualisable ici dans l'éditeur. Je ne le vois pas quand je joue au jeu lui-même. Maintenant, j'ai actuellement le mode rotationnel sur ce truc de navigation de base. Le mode de rotation est activé. Vous pouvez revenir en mode mouvement pour déplacer cela. Sinon, votre barre d'espace bascule entre les mouvements, rotation ou la mise à l'échelle de vos objets. Tous ont également des raccourcis clavier associés à eux. Très bien, donc tout va bien. L'astérisque ici montre qu'il n'a pas encore été sauvegardé. Ainsi, Control plus S le dira, ou vous pouvez cliquer dessus avec le bouton droit de la souris et cliquer sur Enregistrer également. Une autre chose que je veux faire avant fermer cette vidéo, c'est créer un tout nouveau niveau de tests. En fait, nous n'allons pas travailler à l'intérieur de ce niveau. Tout cela sert à des fins de démonstration. Je vais donc entrer dans le dossier en haut à gauche. Je vais créer un tout nouveau niveau. Lorsque vous faites cela, il vous invite à sélectionner l'un de ces différents modèles. Je vais aller avec le niveau de base ici. Cliquez sur Créer. Cela va me sortir de ce niveau et passer à un nouveau niveau sans titre. Maintenant, il y a peu de choses que nous devons faire ici. La première est que je dois sauvegarder ce niveau. Donc, si je clique sur cette petite icône de sauvegarde du disque ici, ça va me demander, hé, où voulez-vous enregistrer ce niveau ? Je vais mettre ça dans mon niveau de script. Je vais nous donner un nouveau nom et je vais appeler cette carte des tests de soulignement LV. Toute cette carte va être un test géant. Maintenant, pour tous ces différents concepts de Blueprints , nous allons explorer tout au long du cours. Nous allons cliquer sur Enregistrer ici. Le nom de cet onglet va maintenant être modifié pour tester la carte. Vous pouvez voir que cette ressource se trouve désormais dans mon dossier de contenu. Il créera automatiquement ces données de génération Mab test. Vous n'êtes pas obligé de faire quoi que ce soit à l'intérieur de celui-ci, mais cela sera automatiquement créé dans votre dossier. Il y a encore une chose que je veux faire ici dans les paramètres de notre projet. Vous pouvez le trouver dans les paramètres en haut à droite, les paramètres du projet. Il va créer un nouvel onglet. Sur le côté gauche, nous avons des cartes et des modes. Allez-y et choisissez cela. Nous voulons modifier notre éditeur par défaut, commencer la carte de la carte à la troisième personne vers la carte que nous venons de créer, une carte de test de niveau. Nous pouvons simplement sortir d'ici. Et ce que cela fera, c'est de faire en sorte qu'une fois que nous fermons l'éditeur ici et que nous l' ouvrons, rentre automatiquement dans ce niveau. Nous n'avons pas besoin de trouver ce niveau ici dans notre navigateur de contenu. Donc, tout va bien et bien. Je vais terminer ce niveau très rapidement en sautant dans cet très rapidement en sautant dans exemple de Blueprint que j'ai créé dans mon dossier de contenu, je peux simplement placer l'un d'entre eux dans mon niveau et sautez dans mon exemple de plan. Ici, j'ai cet onglet de fenêtre qui montre les différents composants qui composent mon Blueprint. Et puis j'ai ce graphique d'événements qui montre les scripts, nœuds et les fils qui ont créé la fonctionnalité de ces Blueprints particuliers. Je me chevauche et il émet un son et ça détruit l'acteur. C'est donc essentiellement ce que nous allons construire tout au long de ces prochaines vidéos ici. Mais les gars, ça va nous amener aussi loin que je voulais voir dans cette vidéo. Nous vous verrons donc dans le prochain. 6. Panneau de composants: Bienvenue à tous. Dans cette vidéo, notre objectif est d'ajouter des composants à notre plan nouvellement créé pour vous permettre de comprendre ce que se trouve le panneau Composants dans un plan et comment en tirer le meilleur parti de travailler avec, car il y a beaucoup de nuances, de bonnes choses à savoir qui vous feront gagner beaucoup de temps. Très bien, avant d'en arriver là, je voudrais supprimer cet exemple de BP que j'ai lu avant le début de la dernière vidéo. Nous allons donc dire adieu à cela en cliquant sur Supprimer directement dans le navigateur de contenu. Vous pouvez également utiliser votre tiroir de contenu. Je vais entrer dans mon dossier de scripts et placer mon exemple de capture d'exemples BP dans mon niveau. Encore une fois, il n'y a rien à l'intérieur de ce plan, donc je vois cette icône, mais si je devais jouer, je ne verrais rien. Il existe maintenant plusieurs manières de modifier ce plan. La première est que nous pouvons double-cliquer sur son actif lui-même dans le tiroir à barres obliques du navigateur de contenu. Ou avec cet objet placé dans le niveau, vous pouvez cliquer sur votre plan où vous avez sélectionné un exemple de prélèvement de BP et où vous pouvez modifier des exemples de prélèvement de BP. Je vais donc cliquer dessus. Et si vous constatez qu'il s'agit uniquement de données . Des plans apparaissent parfois lorsque vous ouvrez un plan, vous pouvez simplement cliquer ici pour ouvrir l'éditeur de plan complet. Très bien. Il s'agit de notre éditeur de plans. Je vais cliquer sur l'onglet de la fenêtre d'affichage juste en haut. Nous allons détailler tous les aspects de cette question ici. Mais je vais d'abord passer à l'onglet de la fenêtre d'affichage, car nous allons ajouter des composants dans l'onglet Composants que nous pourrons ensuite visualiser dans l'onglet de la fenêtre d'affichage. Je dois souligner ici que nous avons fait des plans de classe d'acteur dans la dernière vidéo. Et voilà, dans le coin supérieur droit, le coin supérieur droit, il est écrit que la classe des parents est la classe des acteurs. Très bien, alors allons-y et parlons de ce que sont les composants. Les composants sont essentiellement les éléments de base d'un plan directeur. Si vous pensez à une voiture, sa construction, un plan de voiture aurait une carrosserie grillagée. Vous auriez des roues, des phares, du klaxon, peut-être de la fumée d'échappement. Tous ces composants peuvent être ajoutés ici dans le panneau Composants. Désormais, par défaut, le panneau Composants se trouve en haut à gauche de l'éditeur de plans. Vous pouvez maintenant redimensionner cette fenêtre en cliquant avec le bouton gauche de la souris et en la faisant glisser ici. Vous pouvez détacher cette languette ici et la placer dans un endroit complètement différent. Dis en bas. J'ai choisi de le remettre là où il était. Vous pouvez masquer et afficher l'onglet des composants. Si je devais simplement cliquer dessus avec le bouton droit de la souris, je pourrais masquer cet onglet. Si je clique sur ce petit drapeau bleu, je peux afficher l'onglet. Je peux cliquer dessus avec le bouton droit de la souris, l'ancrer dans la barre latérale et la déplacer ici si je le souhaite. Et je clique simplement dessus pour pouvoir à nouveau cliquer dessus avec le bouton droit de la souris en le détachant de la barre latérale. De nombreuses options ici. Je peux aussi me débarrasser de ce panneau de composants en cliquant dessus. Les étudiants le font de temps en temps, puis ils paniquent et se demandent comment récupérer cette fenêtre ? Eh bien, si vous entrez dans votre option Windows ici, voilà, vous avez une option de composants. Tu y vas. Très bien, ajoutons quelques composants à nos plans. Nous avons donc jeté un joli coup d'œil ici. Nous avons ce bouton Ajouter ici. Mais fidèle à la nature de l'irréel, s'il existe plusieurs façons de faire les choses. Je vais donc essayer de démontrer plusieurs façons d'ajouter des composants. Cliquons d' abord sur ce bouton Ajouter ici et en ajouter un tout nouveau. Ce que nous voulons, c'est une collision de sphères et de composants. Comme vous pouvez le constater, de nombreux composants différents dans Unreal, ne vous laissez pas intimider. Certains d'entre eux sont utilisés beaucoup plus couramment que d'autres. L'un de ceux qui est le plus couramment utilisé est le composant de collision de sphères. Cela vous fournit essentiellement une sphère invisible que nous pouvons vérifier pour voir si vos personnages se chevauchent pour faire des choses. Je vais donc appeler cette sphère « collision ». Tu peux lui donner un nom là-haut. Et avec ces composants sélectionnés dans le panneau Détails, je vais changer quelque chose à ce sujet. Je vais modifier les détails, le rayon de la sphère pour qu'il soit de 50. Nous aborderons plus en détail le panneau Détails dans une prochaine vidéo. Je vais également ajouter un cube. Et je vais appeler ce cube un trait de soulignement horizontal. Je peux utiliser la molette de ma souris pour zoomer et dézoomer. Je vais juste nous donner une échelle approximative. Je pourrais ajuster cela à un moment donné, mais une fois que cela est débloqué, je vais le changer pour qu'il soit 0,25 dans le x, 0,25 et le y l'amincit un peu. Et je vais changer l'échelle Z pour qu'elle soit de 0,8, quelque chose comme ça. Maintenant, je peux cliquer dessus avec le bouton droit. Je peux dupliquer celui-ci car je vais créer la forme de croix que j'avais dans la dernière vidéo. Et cela m'incite à nous donner un nom. Je vais appeler ça un cube vertical. Et celui-ci, je vais le garder vraiment vertical car le dernier, même si je l'appelle horizontal, se tient verticalement avec le cube horizontal sélectionné. Je vais choisir le mode rotation ici. Vous pouvez également appuyer sur la barre d'espace. Et je vais simplement le faire pivoter vers le bas pour qu'il soit de 90 degrés, comme ça. OK, ajoutons un autre composant. Allons-nous ? Et si on y ajoutait du feu ? Bien sûr, ajoutons un effet de particules. Je vais détacher cet onglet ici. Et je vais le détacher, le placer quelque part ici. Et si je fais cela, c'est que dans mon navigateur de contenu, je vais accéder à mon contenu de démarrage. Je vais aller dans mon dossier de particules. Je vois ici une particule de feu P. Il s'agit maintenant d'un système de particules plus ancien. Dans les années à venir, nous allons probablement nous en débarrasser. Le nouveau système de particules est connu sous le nom de Niagara up. Vous n'avez donc pas à utiliser ces anciens effets de particules. Vous pouvez utiliser un effet de particules Niagara plus récent lorsqu'ils sont Je suis sûr que nous les aurons disponibles dans un dossier de contenu de démarrage. Mais ce que je voulais démontrer ici, c'est que je peux cliquer avec le bouton gauche de la souris ici dans le navigateur de contenu, faire glisser directement vers le haut dans mon panneau de composants, comme suit. Et vous voyez cette boîte qui entoure mon signal à l'horizontale, je vais juste le faire glisser juste au-dessus. Et je vois que je l'ai ajouté à mon plan. Une autre chose que je voulais noter, c'est que lorsque nous l'avons ajouté à notre plan l'intérieur de notre panneau de composants, cela a été ajouté à l'instance de ce plan qui se trouve dans notre niveau. Ainsi, comme vous pouvez le constater, lorsque nous modifierons les choses ici à l'intérieur de notre plan, cela modifiera et mettra à jour n'importe quelle instance, toute copie de ce plan que nous avons placée dans notre niveau, qui C'est ce qui rend les plans si géniaux. autre chose que je voulais souligner ici, c' est qu'une sorte de relation existe. Vous pouvez voir que les objets sont indentés en faisant glisser mon feu P sur le dessus de mon cube à l'horizontale. Il a en fait fait fait en sorte qu'il soit attaché à ce cube horizontal. Donc, si je devais sélectionner mon cube horizontal ici, permettez-moi de revenir à la taille réelle. J'ai sélectionné les composants de mon cube horizontal ici. Si je le déplace, le feu retentit pendant le trajet. Je vais juste faire Control Z pour confirmer ça. Cependant, si je devais sélectionner le feu lui-même et le déplacer, rien d'autre n'est attaché au feu. Le feu était fixé au cube à l'horizontale. Je vais donc utiliser Control Z pour annuler ça. Si je n'aime pas qu' il y soit attaché, je peux simplement glisser-déposer ce sac par-dessus. Et maintenant, cela montre qu'il n'est pas attaché essentiellement lorsque quelque chose est indenté de cette manière, cela montre qu'une chose est attachée à une autre. Donc, à l'heure actuelle, mes deux composants de maillage cubique sont attachés à mon composant de collision de sphères. Maintenant, juste parce que je veux montrer plus de choses de ce genre qui sont attachées. Je vais le faire glisser vers la droite au-dessus de mon cube à l'horizontale. ai aucune raison de le faire si ce n'est simplement parce que je vais désamorcer ça à nouveau, dans des endroits comme ça. Que dois-je ajouter ici ? Je veux en ajouter un peu, ajoutons de la fumée, de la voyante. Donc je vais aller fumer juste ici. En fait, laisse-moi faire ça. Je vais mettre cette sauvegarde en haut, pour revenir à mon niveau de test. Voici une autre façon d' ajouter ce composant, en saisissant ma fumée, en cliquant avec le bouton gauche de la souris, en le faisant glisser vers mon onglet. Maintenant, cet onglet s'ouvre automatiquement, et maintenant je vais le glisser-déposer sur le dessus du feu. Voilà, je viens d'ajouter un autre effet de particules. Encore une fois, la fumée est attachée au feu, qui est à son tour attaché au cube horizontal. Donc, si je devais déplacer la composante horizontale du cube, le feu et la fumée l'accompagneraient. Contrôlez Z pour le sauvegarder. Et comme vous pouvez le voir dans mon éditeur de niveau ici, il est en train de fumer avec cette instance du plan. Plutôt cool. Très bien, je voudrais ajouter, ajoutons autre chose ici. Je veux ajouter un retour à l'intérieur de mon exemple de micro de plan, ajoutons un mouvement de rotation pour lui montrer. Je clique donc sous l'onglet Ajouter des composants dans une zone de recherche de composants, je peux en rechercher un appelé mouvements rotatifs. Donc oui, vous pouvez rechercher des composants. Je savais que celui-ci existait, donc je savais qu'en le cherchant, je le réduirais. Maintenant, en sélectionnant ceci, il va l'ancrer un peu plus bas. C'est une sorte de composant spécial qui n'est attaché à rien. Vous ne pouvez pas associer un composant de mouvement rotatif à un autre composant. Cela affecte essentiellement tous les autres composants de notre plan directeur. Maintenant que cette option est sélectionnée dans le panneau Détails, vous pouvez régler sa vitesse de rotation. À présent, il va pivoter le long de l'axe Z. Vous avez des axes x, y et z sur lesquels vous pouvez le faire pivoter à une vitesse donnée. Maintenant, nous ne voyons rien tourner pour le moment. Cependant, si j'étais supprimé en tant que bouton Simulation en haut de l'éditeur, vous le verriez tourner. Maintenant que la simulation est lancée, je vais cliquer dessus à nouveau pour l'arrêter. Je pourrais changer ça pour, disons 2 000. Et puis cliquez sur Simuler pour le voir tourner beaucoup plus rapidement. Je vais rétablir sa valeur par défaut en cliquant sur ce petit bouton de retour. OK, super. Donc, si je devais atteindre mon niveau ici et que je devais jouer, eh bien, si je devais jouer, je ne serais pas en train de courir partout. Je ne verrais pas cela tourner parce que je n'ai pas acteur ou d'acteur ou d'acteur placé dans mon niveau où apparaître. Donc, en cliquant sur le bouton Ajouter en haut de l'éditeur, je vais passer sous la rubrique Acteurs de base. Et je veux ajouter un acteur débutant à mon niveau. Je peux simplement cliquer avec le bouton gauche et glisser-déposer. Et avec cet acteur, cela définit un endroit de mon monde où je vais apparaître dans cette flèche bleue pointant vers la direction dans laquelle mon personnage va faire face. Donc maintenant, si je devais cliquer sur Play, je jouerais. Et je peux voir tout cela tourner. Oui, tout tourne, y compris le feu et la fumée, car tout est attaché. Je sais que ça n'a pas l'air génial, il montre juste des concepts différents. Très bien, ajoutons un autre composant à notre plan. Et celui-ci va également se faire d'une manière unique. Je veux trouver un morceau audio donné trop attaché à ce plan. Donc, ce que je vais faire ici c'est sélectionner notre plan ici dans l'éditeur de niveau lui-même. Et regardez dans le panneau Détails. Je vais le décoller ici. Je peux voir tous les différents composants qui ont été ajoutés à ce plan. Et à partir de là, je peux ajouter un composant. Essayons donc de l'ajouter à partir d'ici plutôt que dans notre éditeur de plans lui-même. Je vais donc cliquer sur Ajouter et je veux ajouter un composant audio. Et ce faisant, il l'ajoute ici. Cependant, si je devais accéder à mon exemple de capture BP que j'avais créé ici dans mon dossier de scripts. Allons-y tout de suite. Je ne vois encore ce composant nulle part ici. Alors, comment puis-je m'assurer que cette modification apportée à cette instance du plan se propage à mon plan de base ? Eh bien, si je clique sur ce bouton ici, modifie le plan de cet acteur , je peux cliquer ici. Ce que je peux faire, c'est choisir cette option ici, appliquer les modifications d'instance au Blueprint. Donc, ce faisant, je reçois une petite notification juste là. Et puis, si je reviens à l'exemple de lecture de mon plan, je peux maintenant voir que ce composant audio a également été ajouté. Encore une fois, il existe de nombreux types de composants qui peuvent être ajoutés à un plan. Il y en a beaucoup que je n'ai jamais utilisés, mais certains sont très couramment utilisés. Et il y a une chose que je veux faire comprendre très tôt, c'est de travailler avec Unreal. Il y a tant de choses à savoir, mais vous n'avez pas à tout savoir en connaissant certains des concepts de base clés que vous pouvez obtenir très, très loin. Ne vous laissez donc pas intimider dès le début. Les types courants de composants incluent les maillages statiques. Vous pouvez ajouter des lumières. Où sont mes lumières, il y a mes lumières. Vous avez vos formes de collision. Et puis il y a certains de ces mouvements. Une fois que vous avez résolu le mouvement de rotation, il en existe un appelé mouvements d'interprétation. C'est aussi assez couramment utilisé. Très bien, il y a encore quelques points que je voulais souligner dans cette vidéo avant de terminer, l'un concerne cette relation d' attachement que nous entretenons dans le panneau Composants. Il convient de noter qu' avec un composant sélectionné qui est attaché à un autre élément, l'emplacement indiqué dans le panneau Détails est relatif à l'objet auquel il est attaché. Donc, en ce moment, j'ai sélectionné les composants horizontaux de mon cube. Et cela est lié à mon composant de collision de sphères. Si je devais définir l' emplacement z sur 100, cela le ferait monter de 100 unités irréelles. Chaque unité irréelle représente un centimètre, 100 unités irréelles au-dessus du point central de ma composante de collision. Sachez donc que tous ces paramètres de localisation sont relatifs à ce à quoi ils sont attachés. Je vais remettre ça en arrière. Je voulais également souligner que vous pouvez changer la racine. Notez que lorsque nous avons créé ce plan par défaut, cet itinéraire était visible par défaut dans cet éditeur ici. C'est cette icône qui existait là avant. Tout le reste est joint et leur emplacement est relatif à cet itinéraire. Vous pouvez modifier le composant racine en sélectionnant simplement, dans ce cas, je vais sélectionner une collision de sphère sévère, et non une collision grave. Je vais le faire glisser et le déposer dessus ici. Et cela me permet de savoir que si je le dépose ici, je vais en faire les nouvelles racines et que la route par défaut sera supprimée. Sweets, c'est maintenant la nouvelle racine. Tout le reste est positionné par rapport à ma collision de sphères. La dernière chose que je voulais souligner ici, et ce qui rend les plans si géniaux c'est qu'en faisant créer un acteur de plan ici, si j'apporte un changement à l'intérieur de ce plan, cela changera chaque copie ce sont tous les exemples que l' on trouve dans le monde et il suffit de le démontrer très rapidement ici. Pouvez-vous revenir à mon niveau de test ici dans mon dossier de scripts. Je vais juste en placer quelques-unes tout au long du niveau. Au fait, vous n'avez pas besoin de continuer à glisser-déposer. Vous pouvez maintenir la touche Alt enfoncée et cliquer avec le bouton gauche pour continuer à en faire glisser des copies. Très bien, donc j'en ai cinq. Maintenant, disons que je pense, tu sais quoi, que ça tourne, que le feu et la fumée semblent un peu stupides. Je peux revenir à mon exemple de pick-up ici. Je peux sélectionner ma cigarette. Je peux dire supprimer. Je vais juste faire Control Z là-bas et dire : « Tu sais quoi, je veux me débarrasser du feu et de la fumée. Je vais donc sélectionner mon feu et appuyer sur Supprimer. Il va le supprimer. Je vais ensuite éliminer la fumée. Et maintenant, si je reprends mon niveau, il n'y en a plus pour chaque copie, je veux m'en débarrasser, oui, en effet. Je vais donc revenir à mon exemple de capture de plan. Sauvegardons ça. Et c'est tout ce que nous voulions accomplir dans celui-ci. Le responsable du panel des composants est un élément très important pour connaître les plans. Ça va tout faire pour cette vidéo, on se voit dans la prochaine. 7. Onglet de Viewport: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de comprendre ce que trouve l'onglet de la fenêtre d'affichage d'un Blueprint. Maintenant, c'est notre fenêtre sur ce à quoi va ressembler notre plan de classe d'acteurs. Grâce à cet onglet, nous pouvons affiner le placement de ces composants les uns par rapport aux autres. Maintenant, l'onglet de la fenêtre peut être trouvé ici. Nous avons trois onglets différents, un onglet Fenêtre, un onglet Script de construction, puis l'onglet Event Graph. Chacun d'entre eux va justifier sa propre vidéo. Alors ne vous inquiétez pas, nous allons aller voir ces autres. Commençons par parler des différentes options de la fenêtre d'affichage. C'est-à-dire ce qui se trouve sous cette petite icône de hamburger en haut à gauche. Donc, si je clique dessus, on me présente quatre options différentes sur lesquelles j'en ai deux. Par défaut, cette option en temps réel et cette option Afficher la grille. Nous en arriverons à tous dans un petit moment. Réinitialisons donc la caméra 1. Si je devais cliquer là-dessus en ce moment, ça ne semble pas vraiment faire autant. Il a juste un peu sauté mon appareil photo pour montrer tout ce qui se trouve dans mon plan. Juste ici, devant et au centre de ma fenêtre. Maintenant, là où cela est vraiment utile, c'est parfois que vous avez beaucoup de composants différents à l'intérieur de vos ports de vue. Ou parfois, pour quelque raison que ce soit, vous avez volé loin , loin, comme je le fais en ce moment. Et tu es comme, où sont toutes mes affaires ? Où sont mes composants ? Si vous vous trouvez simplement sous cette icône de hamburger, cliquez sur Réinitialiser la caméra. Il vous sautera tout de suite là où vous voulez être et vous soupirerez. soupir de soulagement. Ensuite, nous allons parler de l'option en temps réel. Il est coché par défaut, mais nous n'avons rien d'animation ici, il est donc difficile de voir vraiment ce que cela fait. Je vais passer à un autre plan pour montrer ce qu'il fait ici. Je vais donc revenir à ma carte de test de niveau à l'intérieur de mon navigateur de contenu ou de mon tiroir de contenu. Je vais entrer dans mon dossier Blueprints à la troisième personne. Il y a mon personnage B P ThirdPersonnage qui est un personnage que nous jouons actuellement car lorsque nous appuyons sur ce bouton Lecture, je vais double-cliquer ici pour ouvrir ce Blueprint. Et encore une fois, si je clique sur l'onglet Viewport, je peux voir tous les différents composants qui composent notre ThirdPersonnage, y compris une caméra, et c'est la caméra que nous examinons lorsque nous nous intéressons jouent à notre jeu. Maintenant, si vous zoomez légèrement sur ce personnage et que je suis juste en train de rouler ici vous pouvez voir notre personnage s'animer un peu. Ils jouent une animation inactive. Eh bien, si pour quelque raison que ce soit, je veux que le personnage reste immobile, je peux cliquer sur cette option. Désactivez en temps réel. Il y a également une touche de raccourci associée. Donc, si je fais le contrôle et notre, ça va activer et désactiver ça. C'est plutôt cool. accord, revenir à mon exemple BP, ramasser, passer sous l'icône de mon hamburger veut plus. J'ai l'option « show floor ». Maintenant, c'est désactivé par défaut, mais il ne s'affiche pas ici, ce qui est plutôt étrange. Je vais éteindre ça. Permettez-moi de retourner à mon personnage de troisième personne et de montrer l'étage. On y va. Il y a notre spectacle pour l'option. Je ne l'utilise pas trop souvent, mais de temps en temps, vous avez un tas de composants et vous dites que nous construisons une voiture ou quelque chose du genre. Cela peut vous donner un meilleur sens de l'échelle et de la façon dont les choses sont agencées les unes par rapport aux autres, par opposition à un modèle de personnage ou de classe d'acteur qui flotte dans l'espace. En revenant à mon exemple BP une fois de plus, sous les différentes options, nous avons la grille d'affichage. Maintenant, il est activé par défaut et vous pouvez voir qu'il est ici. Je peux désactiver ça. Et pourquoi cela est utile à montrer ou non. Je vais faire une démonstration ici dans un peu. Je vais montrer ma grille et maintenant je vais mener à la discussion de nos différents points de vue ici, en la discussion de nos différents points de vue sautant un. Il s'agit actuellement de la fenêtre de perspective. C'est un peu votre vue magnifique. Cependant, si je devais cliquer dessus, j'ai différentes vues orthographiques dans lesquelles je peux sauter notre fenêtre d'affichage, comme une vue de dessus. C'est un peu une vue d'ensemble des choses. J'ai une vue de gauche le regarde sous un angle gauche et vous pouvez entrer et sortir de la molette de la souris. Une vue de face. Nous voyons la croix, non pas de la croix, mais plutôt du côté, du côté. Et chacun d'entre eux a une touche de raccourci associée. Maintenant, là où la grille entre réellement en jeu c'est que vous pouvez voir ces différentes marques de grille. Vous vous demandez peut-être quelle est la taille de chacun de ces carrés de grille ? C'est là que nous commençons à discuter de nos différentes tailles de grille ici. Donc, si je devais cliquer ici juste là où se trouve ce numéro cinq, je peux montrer différentes tailles de clichés, 1510, etc. Il est actuellement fixé à cinq, ce qui signifie que chacun de ces minuscules carrés représente une surface irréelle de cinq sur cinq unités. Maintenant, c'est super pratique et je vais juste sauter pour aller à la vue de dessus. Si vous souhaitez déplacer des composants et que vous voulez qu'ils sautent certains incréments. J'ai donc ce mouvement d' accrochage Snapping actuellement activé. C'est ce que ce bleu le représente ici je vais définir mes paramètres de capture à 100. Notez maintenant qu'une fois que j'ai fait cela, la taille de la grille est modifiée pour correspondre. Il s'agit donc maintenant de 100 par 100 en taille de grille par opposition à ce qu'elle était avant, qui était cinq par cinq. Je vais donc revenir à 100. Disons maintenant que je veux qu'il déplace mon maillage horizontal de cube ici, plus de 100 unités en cliquant avec le bouton gauche et en le faisant glisser, je le saute simplement sur 100 unités. Maintenant, vous pouvez voir si je le déplace dans la vue de dessus, il saute par incréments de 100. Et vous pouvez voir cela reflété ici dans les paramètres de localisation. Encore une fois, ces paramètres de localisation sont relatifs à la racine. Maintenant, si je voulais le déplacer de façon plus fluide, je pourrais désactiver les réglages d'accrochage lorsqu' il n'est pas bleu comme ça. Cela signifie que je peux le déplacer facilement. Mais parfois, vous voulez le déplacer par incréments très discrets. Et c'est là que cela s'avère vraiment utile. Je vais remettre mon emplacement ici à 0. Et je vais réactiver mes paramètres d'accrochage et les remettre à cinq pendant que nous sommes ici et que nous parlons de tout cela. C'est probablement le moment idéal pour parler nos différents paramètres dans notre fenêtre d'affichage. Actuellement, je suis en mode de traduction d'objets. Je peux cliquer ici pour passer en mode rotation. Comme ça. Vous pouvez voir maintenant, permettez-moi de revenir ici en perspective. Vous pouvez voir que je fais tourner ça, il le déplace par incréments de dix. Et il se déplace par incréments de dix parce que mes paramètres de rotation sont activés, ce qui signifie qu'il va le déplacer par incréments de dix. Et si je devais cliquer ici, je pourrais modifier les incréments. Il va le faire pivoter. J'aime bien dix degrés, mais il y a des cas pour ces autres. J'ai également le mode échelle que je peux transformer cela. Je peux donc passer à mon option d'échelle. Et maintenant, si je devais simplement saisir l'une de ces poignées, je vais prendre cette poignée bleue juste là, qui représente l'axe Z, l'axe Z relatif. Dans ce cas, vous pouvez voir comment j' ajuste l'échelle de cela. Je vais remettre ça à ce que j'avais auparavant, qui était de 0 point. Je pense que je l'ai eu aux points 8.8, c'est vraiment ce à quoi je l'ai eu. Ainsi, W, E et R, comme vous pouvez le voir dans ces infobulles, celles-ci peuvent vous guider dans les différents modes, le mode mouvement, mode rotation et le mode échelle. Cliquer sur ces boutons le fera également, mais un ENR peut vous lancer dans ces différents modes de mouvement, de rotation et de mise à l'échelle. Cependant, la barre d'espace bascule entre les trois. Parlons ensuite de nos différents modes d'éclairage. Actuellement, par défaut, c'est en mode Lit, mais si je clique dessus, je peux le changer en mode non éclairé. Encore une fois, tous ces raccourcis clavier sont associés. Ou en mode filaire. Pas trop de fois j'utilise le mode filaire ou non éclairé, mais ils sont là au cas où vous en auriez besoin. Que se passe-t-il si vous fermez accidentellement cet onglet ? Cela arrive assez souvent, plus souvent que vous ne le pensez réellement. Et puis les étudiants se demandent Où est-ce que c'est allé, comment puis-je le récupérer ? Je vais donc le faire maintenant en le fermant. Eh bien, le moyen de le récupérer est simplement de passer sous cette option de fenêtre. Et puis, en bas, vous pouvez cliquer nouveau sur votre fenêtre d'affichage. Il existe d'autres options de fenêtre d'affichage auxquelles vous pouvez accéder en cliquant dessus avec le bouton droit de la souris. Vous pouvez l'ancrer sur une barre latérale. Ce que ça fait, c'est qu'il va sauter ici. Et donc si je cliquais dessus, je développerais cette ouverture. Si je l'épingle, cela signifie que je ne peux pas m'en sortir. Donc, si je le déépingle, je peux cliquer dessus avec le bouton droit de la souris et il le ramènera dans la barre latérale. Si je clique à nouveau dessus avec le bouton droit, je peux le déverrouiller. Je peux donc le fermer à partir d'ici, ce que j'ai fait avant de le fermer , c'est la même chose que de cliquer sur ce x. Je peux fermer l'onglet à droite de cette signification de ce script de construction ou le graphique d'événements. Si je me débarrasse de ces gars-là, ils sont partis. Ils ne sont pas trouvés sous l'option de fenêtre ici. Pour que ces gars reviennent dans le panneau Mon Blueprint, vous pouvez double-cliquer sur le graphique des événements pour le ramener. Vous pouvez également double-cliquer sur le script de construction pour afficher cet onglet particulier. Ensuite, parlons de se déplacer dans la fenêtre d'affichage. Si je devais maintenir le bouton gauche de la souris enfoncé et simplement déplacer ma souris. Ceci. Conduite dans la fenêtre d'affichage. Au fait, il s' agit du même contrôle dans votre éditeur de niveaux. Si vous étiez dans la fenêtre de votre éditeur de niveaux, le bouton gauche de la souris et déplacez votre souris autour des lecteurs. bouton droit de la souris regarde simplement ici à l'éditeur de niveau, ainsi qu'à l'intérieur de votre fenêtre d'affichage pour le bouton central de votre Blueprint. Et en déplaçant votre souris , il suffit de la garder sur le même plan 2D et de la déplacer. Bouton central de la souris plus, ou je devrais dire un bouton du milieu souris ou des boutons gauche et droit de la souris ensemble. Nous allons refaire la même chose dans l'éditeur de niveaux, le bouton central de la souris, le déplacer, boutons gauche et droit de la souris ensemble. déplacer fait la même chose. Et puis dernier point mais non le moindre, c'est ma façon préférée de naviguer dans la fenêtre d'affichage, maintenant le bouton droit de la souris enfoncé, puis en utilisant W, A, S et D pour voler. Maintenant, la vitesse à laquelle vous volez, permettez-moi de revenir dans l'onglet de ma fenêtre d'affichage de mon plan qui est déterminé par ce type ici. Curseurs de vitesse de vos caméras. Si vous cliquez dessus, vous pouvez le configurer ou le désactiver. Maintenant, je vais voler très vite. Ou si je l'envoie plus bas, je vole très lentement. Maintenant, une chose à noter ici, la valeur par défaut est que si vous devez voler et que vous utilisez la molette de votre souris pour entrer et sortir, en faisant défiler vers le haut ou vers le bas, vous pouvez réellement modifier la vitesse à laquelle vous volez. C'est donc une bonne astuce pratique à connaître. Vous voulez que les choses soient notées avant de fermer cette vidéo, les composants racine. Dans ce cas, j'ai que la sphère pourrait avoir des collisions définies comme étant mes deux composants racine. Je ne peux pas déplacer les composants de la racine. Vous pouvez voir que je ne peux pas vraiment le sélectionner ici dans mon éditeur en dehors de simple sélection dans le panneau Composants, vous pouvez le sélectionner, mais comme vous pouvez le voir, je ne peux pas le changer en mode de traduction ou de rotation ou mode d'échelle. Cela me permet de rester dans le mode de sélection d'objet, qui est la touche de raccourci Q. Et vous pouvez voir dans le panneau Détails, je ne peux que mettre à l'échelle cela. Je n'ai pas la possibilité de le déplacer ou de le faire pivoter. De plus, je voulais vous rappeler tous les aspects relationnels du panneau Composants et comment cela affecte le déplacement des objets dans votre fenêtre d'affichage. Si vous vous souvenez de la dernière vidéo, j'ai ajouté ce composant audio qui est enterré à l'intérieur de ma croix ici. Laissez-moi simplement déplacer ce type vers le haut parce que peu importe où je le place, juste cette icône ici. Je vais ajouter cela à mon composant vertical de cube. Encore une fois, si je devais déplacer mon composant audio tout seul, il se déplacera indépendamment. Mais en ce moment, il est attaché à mon Q vertical. Je suis censé déplacer ce type. Le composant audio va venir pour le trajet. Cette relation est donc très puissante. Utilisez-le et souvenez-vous de ces paramètres de localisation, ils sont relatifs à la chose à laquelle il est attaché. Si vous n'aimez pas cette relation attachée, vous pouvez simplement aller comme ceci, faire glisser à nouveau en haut et elle ne mettra pas en retrait montrant qu'elle n'y est plus attachée. Enfin, n' oubliez pas vos paramètres de capture ici dans la fenêtre d'affichage lorsque vous déplacez ici dans la fenêtre d'affichage quelque chose, faites pivoter quelque chose ou que vous mettez à l'échelle quelque chose. Et s'il vous plaît, n'oubliez pas que vous pouvez modifier vos paramètres d'accrochage de la balance, vos paramètres d'accrochage rotationnel et vos réglages d' accrochage des mouvements, ce qui peut également vous faire gagner beaucoup de temps. Très bien les gars, c' est l'onglet Viewport. En un mot, j'espère que beaucoup de ces trucs et astuces vous feront gagner beaucoup de temps. Cela fera pour offrir celui-ci. Nous vous verrons dans la vidéo suivante. 8. Panneau de détails: Bienvenue à tous les participants de cette vidéo ou de ces objectifs pour tout savoir sur le panneau de détails à l'intérieur d'un Blueprint. Aujourd'hui, les plans sont composés de tous types de choses. Nous avons des composants. Nous avons des variables dont nous n'avons même pas encore parlé, mais qui le feront, et même des informations sur le plan lui-même. Maintenant, toutes ces données, toutes ces informations sont définies par vous dans le panneau de détails. Désormais, par défaut, le panneau Détails se trouve à droite dans votre éditeur de Blueprint. Comme n'importe quelle autre fenêtre d'affichage, vous pouvez simplement l'arracher, cliquer avec le bouton gauche, la faire glisser vers une autre partie de la fenêtre de votre éditeur ici. Certaines personnes aiment le placer juste en dessous leur panneau de composants, car il y a plusieurs composants, puis ils aiment modifier les détails juste en bas. Cependant, j'ai la jambe juste là où elle est. Je vais donc l' ancrer là-bas. Walla. Pourquoi ne pas modifier quelques détails différents concernant certains de nos composants ? Et en ce moment, je regarde deux composants de maillage statique différents ou cube horizontal et cube vertical. moment, nous avons ce genre de croix blanche pour une prise en charge de santé. Je pense que ce serait mieux que nous le changions en vert. Je vais donc choisir mon cube, horizontal ici, et encore dans le panneau Détails, je peux modifier le matériau qui y est appliqué. moment, j'ai ce matériau de forme de base. Je peux cliquer dessus avec le bouton gauche et je peux choisir l' un de ces différents types de matériaux. J'ai aimé cet atout de base, O3, c'est plutôt cool. Maintenant, si vous ne voyez pas cela, ou si vous souhaitez peut-être accéder à d'autres documents. Si vous cliquez ici sur cette petite icône d' engrenage, vous pouvez activer et afficher le contenu du moteur. Et c'est ainsi que je vois plus de matériaux que vous ne l'êtes à première vue ici. Donc, si vous avez également du contenu de plug-in, vous pouvez également l' activer. Par conséquent, afficher le contenu du moteur passera en revue davantage de documents pour vous. Je vais utiliser cet actif de base O3 pour changer son vert. Et je vais faire de même pour mon cube vertical avec ce qui est sélectionné, changeant le matériau ici en cliquant sur ce menu déroulant et nous le changeons en vert. Tout va bien et bien. Maintenant aussi, peut-être que je veux que ma collision de sphère ici entourant ma croix verte entourant ma croix verte soit un peu plus grande, un peu plus généreuse, si vous voulez, juste ici avec une sphère car les composants de collision sélectionnés dans le panneau Détails, je peux modifier le rayon de ma sphère en cliquant dessus en poinçant un nouveau nombre comme 100 et en cliquant sur Entrée. Ou dans ces champs numériques, vous pouvez simplement cliquer avec le bouton gauche et le faire glisser. Voyons, en cliquant dessus et en cliquant dessus. Ensuite, vous pouvez le déplacer vers la gauche et la droite pour l'ajuster de cette façon. Je vais aller avec le numéro 100 pour l'instant. Cela semble assez généreux. Maintenant encore une fois, si vous fermez par erreur ce panneau Détails en cliquant dessus, vous pouvez passer sous l' option fenêtre et le réactiver. Il existe maintenant différentes options de visualisation dont vous devez être informé. Dans le panneau Détails, vous avez cette icône en forme de roue dentée. Si je clique dessus, il y a un tas d' options différentes à votre disposition. Je ne vais parler que de quelques-uns des plus couramment utilisés. L'un d'entre eux est effondré et élargit toutes les catégories. Je vais donc réduire toutes les catégories en ce moment. Donc oui, maintenant si vous voulez y entrer, vous devez cliquer dessus un par un. Cela peut être utile s'il n'y a que quelques catégories différentes que vous souhaitez jouer. Je vais repartir là-dessus, et je vais élargir toutes les catégories. Un autre que j'aime beaucoup est d' afficher uniquement les propriétés modifiées ou d'afficher uniquement les propriétés modifiées. Donc, en cliquant dessus, c' est un moyen très facile de voir d'un coup d'œil quelles sont les choses que vous avez réellement modifiées à propos de ce composant particulier ? Je vais faire reculer celle-ci. Affichez ensuite toutes les propriétés avancées. Quelles sont maintenant les propriétés avancées dans chacune de ces catégories ? Je ne devrais pas dire que chacun d'entre eux, mais beaucoup d'entre eux, il existe propriétés avancées qui ne sont pas développées par défaut. Par exemple, j' ai ma forme et je peux changer la couleur de ma forme si vous voulez. Laissez-moi simplement cliquer sur ça. Par défaut, il est rouge. Mais si je clique sur ma collision de sphère dans la catégorie avancée, je pourrais changer cela en rose vif si je le voulais vraiment. Bien sûr, pourquoi. Noix. Maintenant, il y a aussi ce petit peu, je ne sais pas comment vous appelez ça. Un peu une icône de type bloc-notes. Cela ouvrira une sélection dans la matrice de propriétés. Qu'est-ce que c'est maintenant une option que je n'utilise pas trop fréquemment. Cependant, si je devais cliquer dessus, il va ouvrir un nouvel onglet ici. C'est une autre façon de modifier différentes propriétés. Encore une fois, tout est effondré ici, mais s'il y a quelque chose que vous vouliez changer à ce sujet, vous pouvez simplement l'épingler. Je vais épingler cette option maintenant. Génére des événements de chevauchement. Vous pouvez voir que cela est vérifié si je devais le décocher ici, puis revenir dans mon exemple de pick-up b p en cas de collision de sphère. Sous les propriétés de collision événements de chevauchement ne sont plus cochés. Je vais revenir à l' endroit où je l'ai eu et je vais fermer d'ici. Je voulais juste montrer ce que c'est. Je ne l'utilise pas trop souvent. Vous y trouverez peut-être une bonne utilisation. Et puis vous pouvez voir ici avec la collision de sphère sous vide I, je peux voir que la génération événement de chevauchement a été vérifiée à nouveau. Maintenant, en haut de notre barre d'outils, nous avons cette option par défaut de classe dont je voulais vous faire prendre conscience. Je vais cliquer dessus et quand je le ferai, je vais apporter toute une série de détails différents sur de détails différents sur ce plan de classe d'acteurs spécifiques à ce plan de classe d'acteurs. Maintenant, il n'y a pas grand-chose à changer ici, même si je vais vous faire prendre conscience d' un jeu amusant avec lequel vous pouvez jouer. Et c'est-à-dire que la durée de vie initiale sélectionnée par défaut de la classe est actuellement définie sur 0, ce qui signifie infinie. Mais si je devais régler ça sur trois, ça veut dire que ce type va s'en aller au bout de trois secondes. Et je peux le prouver en cliquant simplement sur le bouton de lecture ici. Et ça va sauter dans mon éditeur de niveaux ici en jouant au bout de trois secondes. Ils passent tous, par un peu de plaisir si je le dis moi-même. Je vais donc changer cette classe par défaut ma durée de vie initiale à 0. Encore une fois, cela a un impact sur certaines choses concernant cette classe particulière de Blueprint, la classe par défaut. Ensuite, je voulais juste vous informer du bouton ici, cette option de paramètres de classe. Plus tard dans le cours, nous aurons affaire à quelque chose appelé « Blueprint Interface ». Et tout cela va être mis en place dans ce domaine. Rien d'autre que je veux changer ici. En fait, vous ne gérez pas trop les paramètres de classe dehors de la mise en œuvre d'éléments appelés interface Blueprint. Mais je voulais juste en parler maintenant. Donc, plus tard sur le parcours, vous serez comme, je sais exactement où aller et ce que c'est. Très bien, c'est le panneau Détails. Connaissez-le, aimez-le, faites bon usage. Ça va tout faire pour cette vidéo. On se voit dans le prochain. 9. Mon panneau de plan: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de savoir quel est le but du panneau Mon Blueprint dans un Blueprint Unreal Engine. Il s'agit maintenant d'une zone d' un Blueprint dans laquelle vous pouvez créer des éléments tels que des variables, comme des fonctions ou des macros pour aider à façonner ce qu'un Blueprint donné peut faire. Maintenant, si vous ne connaissez pas les termes tels que variables, fonctions ou macros, ne vous inquiétez pas. Nous allons les décomposer beaucoup plus tard dans le cours. Pour l'instant, il est juste bon de déclarer que le panneau Mes plans ici est endroit où de telles choses peuvent être créées. Ainsi, comme vous le voyez ici dans mon exemple BP, prenez le panneau Blueprints, par défaut situé dans le coin inférieur gauche de l'interface, comme n'importe quel autre onglet ici, vous pouvez cliquer avec le bouton gauche sur et vous pouvez le faire glisser partout où vous le souhaitez. Je l'aime bien là où il se trouve par défaut. Je vais donc le laisser là. Tout comme les autres onglets ici, vous pouvez cliquer dessus avec le bouton droit de la souris. Vous pouvez le fermer. Vous pouvez le ramener via l'option de fenêtre ici, coche montre qu'il se trouve dans notre Blueprint ici. Aucune coche ne signifie qu'il n'est pas présent. Je vais donc le ramener. Cliquez avec le bouton droit sur options ici. Je pourrais cacher l'onglet. Ce sera juste une barrière que cet onglet vous donne un peu plus de biens immobiliers à l'écran qui sont curieusement utiles de temps en temps. Un clic gauche dessus ramènera cet onglet. Cliquez avec le bouton droit. Je peux accéder à la barre latérale comme je le pouvais auparavant. Cliquez avec le bouton droit sur Dark également. Vous m'avez vu le faire plusieurs fois. Très bien, une autre option que je veux souligner ici dans les panneaux Mon Blueprint, cette icône en forme de roue dentée. Maintenant, si je clique dessus, cela me montre diverses options montrant les sections vides que j'ai ici. Ce que cela fait, c'est qu'il affiche n'importe quelle section vide, n'importe quelle catégorie vide. instant, je n'ai pas de macros dans mon plan. Si vous ne savez pas ce que c'est, encore une fois, ne vous inquiétez pas, mais sachez simplement que si je devais désactiver cela, je ne verrais même pas cette catégorie. Donc, en montrant ceci et j'aime qu' il soit affiché par défaut, je verrai toutes les différentes sections vides que nous pourrions avoir sous la catégorie Blueprints. Un autre élément important à souligner ici sous cette icône d'engrenage est cette variable héritée de show. Maintenant, cela va afficher les variables héritées des classes parentes. Maintenant, dans notre cas, notre classe de parents est ici un plan de classe d'acteur. Je vais donc le montrer rapidement. Et quand je le ferai, vous verrez quelques catégories apparaître ici. Nous y voilà. Nous allons afficher les variables héritées. Et je vais me pencher sur ma catégorie d'acteur ici. Et que savez-vous ? Je vois une variable appelée durée de vie initiale. Eh bien, cela semble plutôt familier. Quelles sont donc toutes ces variables dans ces différentes catégories ? Eh bien, si vous vous souvenez de la dernière vidéo, lorsque nous avons cliqué sur le bouton des valeurs par défaut de la classe, nous avons beaucoup de paramètres différents, de nombreuses propriétés différentes spécifiques à cette classe d'acteurs plan directeur. Et l'un d'entre eux se trouvant dans la catégorie des plans d'acteurs était la durée de vie initiale. Voici, on peut y accéder ici, le panneau Mes plans. Nous montrons les variables héritées. Il s'agit donc d'une autre façon d'afficher toutes ces variables par défaut de classe, non seulement lorsque vous cliquez sur les valeurs par défaut de classe, mais ici dans le panneau Mon Blueprint. Et je tiens simplement à souligner ici que si je devais cliquer sur la variable de durée de vie initiale et passer au panneau Détails. Je peux modifier ma durée de vie initiale en S3. Maintenant, si je devais entrer dans les valeurs par défaut de la classe et trouver la durée de vie initiale de la catégorie d'acteur. Il est également réglé à trois ici. Vous changez donc la même propriété, juste deux façons différentes de le faire. Je vais remettre ça là où je l'ai eu. Et notez maintenant que même si je l'ai modifié ici dans la section par défaut de la classe, si je cliquais sur ma propriété de durée de vie initiale, cela la change également ici. Très bien, nous allons les cacher à nouveau afin que nous puissions nettoyer un peu notre panneau Mon Blueprint ici. Affichez donc les variables héritées. Non. Voyons comment créer de nouvelles variables, fonctions ou macros. Nous pouvons également créer de nouveaux graphiques et des répartiteurs d'événements, mais ceux-ci auront leurs propres sections plus tard dans le cours. Si nous cliquons sur ce bouton Ajouter, il indique que vous souhaitez créer une variable, une fonction, une macro, un graphique et un répartiteur d'événements. Vous pouvez le faire de cette façon ou avec chacune de ces différentes catégories , vous avez ce petit bouton plus pour créer un nouveau graphique, une nouvelle fonction, une nouvelle macro ou une nouvelle variable, ou un répartiteur d'événements. Allons de l'avant et créons une variable ici. Même si ce n'est pas le but de cette vidéo, les variables auront leur propre quelques sections ici. Nous allons en créer une juste pour vous donner une idée de ce que fait toute ma zone de Blueprint, je vais créer une nouvelle variable en cliquant sur ce bouton plus. Je vais donner un nom à ça et appeler ça le hoquet. On dirait ça. Maintenant, je dois décider quel type de bleu ou quel type de variable je veux que ce soit. Par défaut, il affiche généralement des valeurs booléennes lorsque vous créez une variable pour la toute première fois. Ou bien, il définira le type de variable par défaut comme celui que vous avez créé pour la dernière fois. Avant de créer cette vidéo, j'ai fait une course à sec et elle est donc actuellement réglée sur le type de variable que je recherche. Alors, comment changer cela ? Nous pouvons cliquer ici pour le modifier. Ou avec sa variable sélectionnée dans le panneau Détails, vous pouvez également la modifier ici. Par conséquent, sous type de variable, cliquez sur cette liste déroulante et recherchez la base sonore. Dans le petit menu déroulant ici, vous souhaitez choisir la référence de l' objet. Maintenant, ce faisant, il vous incitera à compiler votre Blueprint. Encore une fois, il affiche ma valeur par défaut ici parce que j'ai déjà fait une course à sec avant la vidéo. Mais si vous compilez ici, cela vous permettra alors d' insérer un son de votre choix, en cliquant sur cette liste déroulante. J'aime bien le son d'interaction. Donc, si vous effectuez une recherche pour entrer, lire et passer la souris sur ce fichier d'onde sonore particulier, il apparaît dans cette petite fenêtre contextuelle qui apparaît que cela provient du chemin du moteur. Et encore une fois, si vous ne voyez pas ce son, si vous cliquez dessus sur cette icône d'engrenage, vous pouvez afficher le contenu du moteur et vous devriez avoir accès à ce son. Maintenant, vous pouvez vraiment insérer n'importe quel son ici. C'est juste celui que j'ai choisi. N'hésitez donc pas à insérer le son que vous voulez. Nous n'allons pas encore utiliser cette variable. Cela arrivera dans la prochaine vidéo lorsque nous parlerons de notre Event Graph. Mais pour résumer ici, le panneau Mon Blueprint, c'est ici que vous hébergez, où vous créez des éléments tels que des fonctions, macros, des éléments comme des variables et où accéder ces choses-là. Dernière chose avant de terminer cette vidéo, vous avez peut-être déjà remarqué que tous nos différents composants ici dans le panneau Composants sont également affichés ici dans la section des variables. Et c'est un moyen rapide et facile d'ajouter une référence à chacun de ces différents composants dans notre graphique d'événements. Mais encore une fois, nous allons utiliser cela dans les prochaines vidéos. Pour l'instant, je voulais simplement souligner la relation entre les composants ajoutés à votre Blueprint, également sous la section Variables du panneau Mon Blueprint. Cela fera tout pour cette vidéo, les gars, nous vous verrons dans la prochaine. 10. Graphique d'événement: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de découvrir et de démontrer ce que se trouve le graphique d'événements dans un plan irréel. Il s'agit maintenant d'une zone d'un plan où toute notre magie des scripts se produit chaque fois que nous voulons ajouter un comportement, une fonctionnalité ou un gameplay. L'endroit où ces interactions prennent vie se trouve dans le graphique des événements. Donc ici, à l'intérieur de mon exemple BP, nous avons déjà exploré l'onglet Fenêtre, l'onglet Script de construction dont nous parlerons bientôt. L'onglet Event Graph est celui que nous allons faire de la star du spectacle dans celui-ci. Laissez-moi faire un clic gauche là-dessus. Et ce que vous voyez, c'est un graphique qui comporte quelques nœuds ici. Par défaut, il s'agit de nœuds d' événements à partir desquels nous pouvons créer un script. Nous parlerons des nœuds d'événements dans leur propre section. Mais pour l'instant, ce que je veux faire, c'est simplement faire glisser un clic gauche et je vais faire glisser cette boîte connue sous et je vais faire glisser cette boîte connue sous le nom de sélection de chapiteau. Et je vais appuyer sur la touche Supprimer une fois que tous seront mis en surbrillance et que Newcomb sera sorti. Adieu. Nous allons créer notre propre script ici. Très bien, la première chose que nous voulons faire est ajouter des nœuds à notre graphique. Alors, comment pouvons-nous faire cela ? Eh bien, il y a plusieurs méthodes différentes et comment procéder. La première consiste à cliquer avec le bouton droit sur un graphique. Si vous cliquez avec le bouton droit de la souris, vous disposez un tas de catégories différentes. Et dans chacune de ces différentes catégories, il existe différentes fonctions que vous pouvez ajouter. Il existe différents événements que vous pouvez ajouter, etc. Je vais juste choisir Event Begin Play ici. C'est une chose que vous avez déjà vue ici. Et voilà, vous avez un nœud. Je vais faire disparaître ça. Je vais en ajouter un maintenant que nous voulons dans notre graphique, je vais choisir notre composant de collision de sphère ici dans le panneau Composants. Maintenant, je vais simplement passer rapidement à l'onglet de la fenêtre d'affichage. La collision de sphère est cette sphère invisible qui entoure notre croix ici. Je veux donc faire quelque chose avec notre collision de sphère. Je veux qu'un nœud soit associé à cela. Pour revenir à mon graphique d'événements avec cette collision de sphère sélectionnée, je vais cliquer avec le bouton droit mon graphique et noter cette case à cocher ici. Il est sensible au contexte. Cela va donc me montrer quelques nœuds spécifiques à ma collision de sphère et ils sont listés en haut ici. L'un d'eux que je vais ajouter maintenant se trouve sous cet événement Ajouter pour la catégorie collision de sphère. Je vais donc cliquer sur cette liste déroulante et sous la section Collision, je veux ajouter les composants qui commencent à se chevaucher. Maintenant, ce nœud va déclencher un signal lorsque quelque chose commence à le chevaucher. Et il peut produire des données ici en fonction de ce qui se chevauchait ce composant particulier. Maintenant, une information que je veux trouver quand quelque chose chevauche est une collision de sphère est qui était l'autre acteur ? Je vais donc faire sortir un fil d'ici, et je vais taper un personnage à la troisième personne. Maintenant, nous n'avons pas encore appris le casting, mais pour résumer, nous le ferons, ce nœud va nous permettre de vérifier, hé, l'autre acteur qui chevauche cette collision de sphère, était que le Personnage à la troisième personne ? Si c'est le cas, nous allons continuer notre flux d'exécution ici. En dehors de ces événements via ce nœud, continuez jusqu'ici. Il s'agit d'un tas de fils et de nœuds que nous relions ensemble pour que les choses se produisent. Si ce n'était pas le troisième personnage qui chevauche cette collision de peur, ce casting échouerait et le flux d'exécution se poursuivrait hors d'ici. Par conséquent, une autre façon d' ajouter un nœud consiste simplement à retirer un fil de l'une de ces broches colorées ici. Et nous parlerons de ces différentes épingles de couleur dans les prochaines vidéos, puis nous chercherons un nœud donné. La troisième façon d'ajouter un nœud à notre graphique est de faire glisser et déposer. Nous pouvons faire glisser et déposer un composant. Et je pourrais le faire ici à partir du panneau Composants ou de la section Variables du panneau Mon Blueprint. Maintenant, je vais faire les deux simplement parce que c'est amusant de faire des démonstrations dans les deux sens. Mais la première chose que je vais faire est que je vais faire glisser et déposer, cliquer avec le bouton gauche et faire glisser ce son pick-up dans notre graphique. Il va me demander, est-ce que je veux obtenir ça ou est-ce que je veux régler ça ? Eh bien, je veux obtenir le contenu de cette variable. Le contenu de cette variable ou de cette variable commence à jouer là, désolé, ce son d'interaction qui lui est associé. Je vais l'obtenir. Et puis je vais glisser hors de ce nœud et je vais taper le son de lecture. Vous voyez, je savais que cette variable contenait un son à l'intérieur. Il contient ce son d'interaction. Donc tout ce que je fais ici, c'est que je dis, Hey variable, je veux jouer son que tu as en toi. C'est ce que fait ce nœud de fonction ici. Maintenant, cela ne se produira pas à moins que je ne lie ce fil d'exécution à ce nœud de fonction audio de lecture. Très bien, il s'agit donc d' une façon de faire glisser et déposer directement à partir du panneau Mon Blueprint. Une autre chose que je veux faire, et ce sera juste à des fins de démonstration, c'est que je vais faire glisser un composant hors d'ici. Permettez-moi de faire glisser quelque chose de visuel comme le cube horizontal, cliquez avec le bouton gauche et faites glisser. Et puis je vais sortir de mon cube horizontalement et simplement taper détruire. Je vais détruire ces composants lorsque notre ThirdPersonnage se chevauche en sphère. Voici donc comment lire ce scénario en particulier en ce moment, en chevauchant notre sphère, nous allons découvrir qui était l'autre acteur. Nous allons lancer notre ThirdPersonnage, découvrir , hé, est-ce personnage de la troisième personne qui nous a chevauchés ? Si c'était le cas, nous allons continuer notre flux d'exécution ici en jouant le son. Et ensuite, nous allons simplement détruire le composant horizontal du cube. Allons de l'avant et jouons à tester ça. Je vais cliquer sur ce bouton Lecture ici. Et je vais mettre ça sur le côté ici parce que je veux que vous puissiez non seulement me voir jouer au jeu, mais aussi voir l'exécution de ce script. Maintenant, j'ai accès à ma fenêtre ici, mais je veux le faire est de cliquer sur Shift in F1 pour ramener mon curseur de souris dans mon éditeur. Maintenant, ici, j' ai mon exemple BP. Je peux cliquer dessus et vous pouvez voir que j'ai ce qui équivaut à 12345 instances différentes de ce pick-up dans mon graphique. Cela ne va donc le montrer que pour n'importe quel cas particulier que j'ai choisi ici. Je vais donc prendre des exemples BP, le premier. Et maintenant, si je réactive cette fenêtre, vous verrez ce flux d'exécution hors de ce nœud d' événement à travers le reste de ces nœuds chaque fois que je chevauche cette instance spécifique de ce pick-up. Voyons donc ce premier ici. Il s'agissait donc de montrer le flux d'exécution juste au-dessus. Et comme vous pouvez le constater, il a juste détruit qu'un composant n'a pas tout détruit. Très bien. Je chevauche celui-là. Encore une fois, il a détruit le composant, mais vous ne voyez pas le flux d'exécution de ci-dessus. Sweet, donc ça fonctionne actuellement. Maintenant, je veux aller un peu plus loin ici, et nous pouvons ignorer cette erreur ici parce que ce que nous venons de construire ici n' était que temporaire. Je vais donc cliquer sur ce bouton X. Je voulais donc aller un peu plus loin ici en détruisant ce composant de destruction et la chaleur et le cube horizontaux. Parce que ce n'est pas vraiment ce que je voulais faire ici. Au lieu de cela, ce que je veux faire, c'est que je voulais détruire tout l'acteur lorsque nous collectons ça. Je vais donc sortir de mon son 2D, et je vais simplement taper Destroy Actor. Maintenant, la cible de ce nœud est elle-même, ce qui signifie tout ce Blueprint. Donc, en chevauchant cette collision de sphère, nous allons découvrir si c'est un personnage à la troisième personne qui était l'autre acteur qui chevauche cette collision de sphère. Nous allons jouer ce son et ensuite nous allons détruire notre acteur. Facteur amusant de cet endroit jusqu' à D. Vous pouvez cliquer dessus pour modifier certaines propriétés à ce sujet, telles que le multiplicateur de volume peut définir cette valeur sur deux. Par exemple, allons-y et jouons encore une fois. Maintenant, cela devrait détruire tout l'acteur lorsque nous le chevauchons. Et allons-y un peu plus grand ici, comme ça. Et nous y voilà. Sucré. Très bien, avec un peu de script construit ici, parlons de la navigation dans le graphe des événements. Ici, la molette de défilement du graphique d'événements effectuera un zoom avant et arrière. bouton gauche de la souris bouton droit de la souris feront également un zoom avant et arrière. Je les ai tous les deux baissés et je déplace ma souris de haut en bas. Vous pouvez voir le niveau de zoom en haut à droite. Au fait. Si j'ai le bouton droit de la souris et que je fais glisser ça va se déplacer. Il me donne un peu cette icône de main déplacer comme ça, bouton gauche de la souris et le faire glisser, cliquer avec le bouton gauche et faire glisser comme. Donc. Cela apportera cette sélection de chapiteau, qui est idéal pour mettre en évidence toute une sélection de nœuds comme celui-ci. Fait amusant ici, quelque chose que vous pouvez faire avec l' ensemble du script comme celui-ci ajouté est d'appuyer sur la touche C pour ajouter une zone de commentaires autour de cela. Et je vais juste appeler ça mon script de ramassage. Cela aide à garder les choses bien organisées. Donc, si vous effectuez un zoom arrière comme ça, vous pouvez voir tous vos différents scripts que vous avez écrits ici. Bouton gauche de la souris sur Non, ce qui vous permettra de le sélectionner afin vous puissiez le déplacer comme tel. bouton droit de la souris sur un nœud affiche un menu sensible au contenu. Voici quelques options que j'ai vraiment aimé explorer. Ces options d'alignement sont excellentes et fonctionnent comme tout ce que vous pourriez trouver dans PowerPoint ou Google Slides pour aligner les nœuds, les rendre légers, justifiés à gauche, justifiés à droite. J'adore ces liens, surtout ces liens redressés. L'un est l'un de mes favoris. Qu'est-ce que nous avons d'autre ici ? Nous avons Alt plus le bouton gauche de la souris est la façon dont vous pouvez couper les fils. Comme vous pouvez le constater, nous avons ce flux d'exécution ininterrompu. Lorsque cet événement se produit, une impulsion traverse ces broches d'exécution juste ici, en maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche sur un fil le brisera. Donc en ce moment, si je devais jouer le jeu, je jouerais le son mais je ne détruirais pas l'acteur parce que le flux d'exécution à travers ces casseroles d'exécution n' est pas arrivé ici. Très bien, Control plus le bouton gauche de la souris déplaceront les fils. Disons que je l'ai fait, je vais juste cliquer avec le bouton droit de la souris et dupliquer mon nœud Destroy Actor. Disons simplement que c'était une autre fonction ici. Et je voulais déplacer ce fil. Vous n'avez pas besoin de le casser comme ça , puis de le rebrancher comme ça. Si vous maintenez la touche Contrôle enfoncée, vous pouvez cliquer avec le bouton gauche, prendre ce fil et le déplacer vers un autre nœud. C'est aussi une astuce très pratique. Utilise beaucoup celui-là. C'est quelque chose à signaler ici lorsque vous cassez des fils, vous n'avez pas à simplement, vous savez, Alt et clic gauche au milieu. Vous pouvez également cliquer sur Alt et cliquer avec le bouton gauche sur l'une de ces broches d'exécution. Donc, vous l'avez là. Il s'agit d'un truc de navigation rapide pour votre graphique d'événements. Une autre chose que je tiens à souligner ici avec les graphiques de l'événement, car cela arrive toujours aux élèves. fin de compte, si vous fermez votre onglet Graphique d'événements, boom, il n'y a plus. Vous ne pouvez pas le trouver dans l'option de fenêtre ici. Comment allez-vous récupérer ça alors ? Eh bien, c'est contenu dans le panneau Mon Blueprint ici, nous avons ce graphique d'événements. Et si je clique deux fois sur ce graphique d'événements sous notre section graphique, cela reviendra tout de suite. De plus, c'est bon à noter également. Il répertorie tous les événements qui se trouvent dans votre graphique d'événements. Laissez-moi simplement cliquer avec le bouton droit de la souris et ajouter et les événements Commencer à jouer. Vous pouvez voir que j'ajoute ceci à mon graphique, il le montre également ici sous mon graphique d'événements. Donc, si j'étais l'été dehors et que j'ai double-cliqué sur le début de l'événement, ça me sauterait dessus. J'ai également la possibilité de créer un nouveau graphique. Permettez-moi de le faire rapidement en cliquant sur un nouveau graphique, et j'appellerai ce nouveau graphique. J'ai maintenant deux graphiques différents. Ces deux graphiques sont des graphiques d'événements. L'un est appelé graphe d'événements, l'autre est appelé nouveau graphique. Pourquoi auriez-vous fait ça ? Eh bien, je le fais parfois simplement pour mieux organiser mes scripts. Selon la quantité script que vous souhaitez ajouter à un Blueprint, il peut être judicieux d'avoir un graphique très spécifique à dire, événements d'entrée plutôt que des éléments très passifs qui peuvent arriver à ce plan. Donc, certaines choses organisationnelles à garder à l'esprit lorsque vous construisez vos différents plans. Très bien, c'est un aperçu rapide du graphique des événements. Tous les plans. 11. Script de construction: Bienvenue à tous. Dans cette vidéo, notre objectif est d' obtenir une compréhension de haut niveau de ce que contient le script de construction d'un plan. C'est-à-dire que cet onglet est pris en sandwich entre notre fenêtre d'affichage et les onglets Event Graph. À première vue, il va sembler presque identique au graphique des événements. Donc, en ce moment, je suis sur l'onglet Event Graph de notre exemple de collecte bp. Vous pouvez voir qu'il y a des nœuds connectés ensemble. Dans notre script de construction. Actuellement, nous avons un nœud, mais tout comme un graphique d'événements, nous pouvons brancher d'autres nœuds. Maintenant, alors que le graphe d'événements est l'endroit idéal pour créer un script qui s' exécutera pendant que votre jeu est en cours d'exécution. Le script de construction permet de créer un script que vous souhaitez exécuter avant le démarrage du jeu pendant que vous construisez votre Blueprint. Maintenant, regardez, le script de construction est idéal pour intégrer de la variété de construction dans vos scripts, ainsi que pour créer des acteurs procéduraux avec lesquels vous pouvez travailler. Ce que vous voyez avant vous est un aperçu de ce qui va se passer tout au long de cette vidéo. Ce mur ici est un plan de classe d'acteur qui n'utilise que, tirant parti du script de construction. Maintenant, ce qui rend un script de construction si cool, c'est que vous pouvez exposer quelques paramètres dans votre panneau de détails. Et simplement en modifiant quelques-uns des paramètres que vous avez exposés, vous pouvez modifier l'apparence de cette instance particulière du Blueprint. Maintenant, comme vous pouvez le constater, alors que je modifie certaines propriétés ici, le script ci-dessous se déclenche. Encore une fois, ce qui le différencie du script de construction du graphe d' événements, c'est que le script de construction se déclenche chaque fois que je modifie ce Blueprint, il pourrait même simplement le déplacer . regarde que je déplace ça. Vous allez voir une impulsion tout au long du script de construction ci-dessous. Maintenant, cela rend cela aussi cool, si je crée une copie de ce Blueprint, je vais dans Alt, cliquez avec le bouton gauche et faites glisser. Je peux modifier les paramètres de cette instance particulière. Permettez-moi donc de modifier le nombre de sections ici en dix. Et je peux changer la matière, tapez simplement le mot brique. Et cela peut donc avoir un matériau unique qui lui est propre. Donc le script de construction est là où il peut faire en sorte que quelque chose comme ça se produise. Pensez maintenant aux possibilités avec la configuration de ce script de construction. Ce n'est qu'un simple mur. Il peut s'agir d'une rangée de chaises, d'une clôture. Il pourrait s'agir d'un tas de poteaux électriques avec des fils enfilés entre eux, ce genre de choses. Très bien, nous allons commencer ici dans notre navigateur de contenu, particulier dans le dossier de script de notre navigateur de contenu. Je vais cliquer avec le bouton droit de la souris dans un espace vide ici. Est-ce que je clique avec le menu droit ? Je souhaite créer un nouveau plan directeur. Nous voulons qu'il s'agisse de la variété de la classe des acteurs, car il s'agira d'un plan que nous mettons en place dans le monde. Cela va m'inciter à lui donner un nom. Je vais appeler cet exemple de soulignement BP. Que diriez-vous seulement des œufs ? Construct script, c'est un nom très abrégé, mais je voulais qu'il rentre sur une seule ligne ici, pas autour du script x construct. Génial. Je vais double-cliquer dessus pour l'ouvrir immédiatement. Ensuite, crochez-vous en haut, comme j'aime le faire. Nous allons maintenant ajouter un composant à ces Blueprints. Je vais passer sous le bouton Ajouter et je vais taper un maillage statique. Juste de l'électricité statique va le réduire. Maintenant, contrairement à l'endroit où nous avons ajouté un composant de maillage statique, dans ce cas, nous voulons ajouter un composant Mesh statique d'instance. Et la raison en est que nous allons construire un certain nombre de sections murales. Et afin de le faire efficacement pour le type de script que nous sommes sur le point de créer, nous voulons qu' un maillage statique d'instance vous indique comment le rendre efficacement. Ajoutons donc une instance Static Mesh. Je vais appuyer sur Entrée ici avec ce composant sélectionné dans le panneau Détails, nous pouvons insérer dans un maillage statique. Je vais cliquer sur ce menu déroulant ici. Tapez le nombre 400 car cette section de mur que je veux associer à ce composant est la paroi 400 x 400. Allez-y et choisissez cela. Maintenant, comme vous pouvez le constater, nous ne voyons encore rien dans notre fenêtre d'affichage. Nous allons utiliser cela d'une manière différente ici l'intérieur de nos scripts de construction. Alors, montons là-bas. Maintenant. Le principal point à retenir que vous compreniez, du moins pour cela, est ce que peut faire le script de construction. Pour créer des plans très dynamiques. Vous pouvez personnaliser vos plans d'une manière impressionnante pendant que vous construisez votre niveau. Maintenant, le script que nous allons créer en ce moment, c'est correct si vous ne comprenez pas du tout ce qui se passe, nous allons décomposer ces concepts de script comme nous allons tout au long du cours. Mon objectif dans cette vidéo est de simplement construire la chose afin que vous puissiez avoir une idée de ce que le script de construction peut faire. Alors, portez avec moi là-dessus. Nous allons commencer par créer une variable ici. Cliquez sur ce bouton Plus. Nous allons appeler cette variable num de. Sections, nous allons utiliser cette variable dont nous allons changer cette un type entier pour contenir nombre de sections de mur que nous aimerions pour ce plan dégénéré. Nous pouvons attribuer une valeur par défaut dans le panneau Détails, mais il nous demande d'abord de compiler le Blueprint. Je vais y aller de l'avant et le faire. Commençons par une valeur par défaut d'une section de mur. C'est bien. Maintenant, je veux souligner quelque chose d'autre ici. Nous pouvons exposer ces variables à notre éditeur si nous cochons cette case à cocher modifiable ici. Mais avant de le faire, je dois placer ce plan à l'intérieur de notre niveau. Laissez-moi donc revenir à mon onglet de carte de test de niveau qui me ramène à l'éditeur principal. Permettez-moi de faire glisser et de déposer cet exemple de script de construction à notre niveau. Tout ce que nous voyons, c'est cette icône de composant racine. Maintenant, dans le panneau Détails, si je recherche juste engourdi, rappelez-vous que notre variable donnée ici s'appelait nombre de sections. Je ne vois rien. Je vais laisser cette recherche ici pour le moment. Je vais revenir dans mon exemple de script de construction ici. Allons de l'avant et cochons cette case éditable ici. Notez que lorsque je fais cela, c'est la même chose que de cliquer ici. Fermer ce globe oculaire signifie que l'instance n'est pas modifiable. En cliquant pour l' ouvrir, cochez cette case. Vous pouvez donc cocher cette case en cliquant ici ou en cliquant juste là. Maintenant, si je compile, enregistrez ce Blueprint et je retourne à mon éditeur de niveaux avec mon exemple de script de construction sélectionné ici dans le niveau supérieur du panneau Détails. J'ai maintenant exposé cette variable à l'éditeur de niveaux. Cela va être génial car nous allons pouvoir saisir un numéro ici. Et ensuite, le script de construction va déterminer combien de sections de mur nous voulons apparaître. C'est plutôt doux. Très bien, allons-y et construisons ce script. De retour ici. Dans le script de construction. Je vais traîner un fil. Je vais chercher une boucle de recherche. Et encore une fois, je vais passer par là un peu rapidement. Donc, si vous ne comprenez pas ce qui se passe, c'est tout à fait correct et je veux juste montrer la puissance du script de construction ici. Maintenant, avec cela, je vais alimenter un certain nombre de sections qui glissent un certain nombre de sections et déposent cela dans le graphique. Je veux l'obtenir. Ensuite, je vais m'en sortir et je vais taper la touche moins. Je veux soustraire le nœud, et je vais soustraire le numéro un. Et j'expliquerai pourquoi une fois que nous aurons fini avec tout ça. Et je vais brancher ça dans notre dernier index de la boucle for-loop. Alors oui, permettez-moi d'abord de construire cela, puis revenir en arrière et de décrire exactement ce qui se passe. Maintenant, hors de ça, le corps de la boucle que je vais faire sortir de ça. En fait, je dois d'abord introduire dans notre instance la référence Static Mesh. Allons de l'avant et faites-le glisser et déposez cela depuis notre panneau de composants directement dans notre graphique. Sinon, je pourrais aussi le faire descendre ici. Je vais m'en sortir et je vais taper une instance AD. Donc, ce sera le savoir qui va réellement ajouter une section de mur ici. Il est contenu dans cette instance maillage statique vers notre monde. Nous allons prendre notre corps de boucle et le brancher ici. Ensuite, je vais sortir de notre index de notre for-loop. Je vais plutôt apporter un bouton multiplier ou multiplier le nœud, je veux multiplier cela par 400. Il y a une raison très précise pour laquelle je choisis le numéro 400 ici. se trouve que c'est la longueur exacte de notre maillage statique ici. En fait, si je clique sur cette souris dessus, vous pouvez voir dans l' info-bulle la taille de celle-ci, environ au milieu de cette boîte, la taille approximative est de 400 par 20 x 400. Il s'agit donc de 400 unités irréelles de large, 20 unités d'épaisseur, 400 unités de haut. C'est donc une raison très précise pour laquelle je choisis ce numéro ici, car je vais ajouter un nombre donné de sections toutes les 400 unités irréelles. Ensuite, je vais retirer l' épingle de transformation de cette instance. Et une fois que j'ai relâché et que je vais taper le mot faire transformer, nous donne un peu plus d'espace ici. Déplacez cela en position comme ça. Et puis hors de l'épingle de localisation ici, je vais cliquer avec le bouton gauche et faire glisser et taper, faire Vector juste ici, faire du vecteur. Et je vais brancher ça dans notre x et cela va introduire un nœud de conversion, convertissant un entier de type de données en nombre flottant. Donc, ça va bien se passer. Parlons maintenant de ce que nous avons ici. Ce qui va se passer, c'est que nous allons alimenter un certain nombre de sections. Et n'oubliez pas que cette variable est exposée dans l'éditeur, nous pourrons donc déterminer le nombre de sections que nous voulons. Supposons donc que nous voulions dix sections. Nous allons parcourir le nombre de sections que nous avons ici, commençant par notre premier indice. Il commence par le nombre de 0. Si j'en ai dix et que j'en ai moins un, ça va être neuf. Notre premier indice sera donc 0. Notre dernier est neuf. Donc, essentiellement, cela va nous donner dix itérations de cette boucle. Encore une fois, en commençant par 0 et en terminant par neuf. C'est pourquoi nous faisons cette soustraction ici même en mettant dix, en soustrayant un qui équivaut à neuf. Mais nous commençons à compter à 0. Il va donc fonctionner dix fois. Il va s'exécuter à partir de ce corps de boucle dix fois. Il va ajouter dix instances de ce maillage statique. Maintenant, tout cela ici consiste à déterminer où placer les mailles statiques. Essentiellement, ce que nous faisons, c'est pour chaque indice, nous allons le déplacer sur plus de 400 unités irréelles dans la direction X. C'est essentiellement ce que ce script fait ici. Désormais, chaque fois que vous créez un script, que ce soit dans le script de construction ou dans le graphe d'événements, vous souhaitez compiler. ce faire, nous vérifierons votre script pour nous assurer que vous n'avez commis aucune erreur. Il ne va pas détecter toutes les erreurs, mais il va détecter beaucoup d'erreurs. Et ensuite, vous voulez sauver ça. Revenons maintenant à notre niveau ici. Et ce que nous voyons actuellement, c'est que nous avons une section de mur. Tout va bien et bien. Laissez-moi simplement soulever ça. Appuyez sur la touche End, et ça va le frapper par terre. Et c'est plutôt cool. Que se passe-t-il maintenant si je modifie le nombre de sections par deux ? Que savez-vous ce qui ajoute une autre section ? 3410. Maintenant, nous avons maintenant dix sections de mur qui sont plutôt fades, mais vous pouvez voir ce que le script de construction nous a permis de faire. C'est beaucoup pour nous de créer un Blueprint très personnalisable en changeant simplement une valeur ici, nous changeons ce qui se passe avec ce Blueprint, un endroit à l'intérieur de votre niveau. Maintenant, prenons ce pas en avant parce que c'est un mur plutôt fade, si je le dis moi-même. Prolongeons donc un peu plus notre script. Venez donc dans notre script de construction. Et je vais juste faire un zoom arrière un peu. Et je vais faire glisser une autre copie de notre maillage statique d' instance ici. Faites glisser une copie. Je vais le placer ici. Et puis je vais traîner un ici et taper un matériel de jeu. Matériau de l'ensemble. Notre maillage statique d'instance sera la cible. Et continuons notre exécution ici. Et à partir de notre matériel ici, je peux cliquer avec le bouton droit de la souris et promouvoir cela en variable. Lorsque je fais, cette variable apparaîtra dans notre section Variables. Ce sera un matériau et je vais lui donner le nom de nouveau matériel. Et je vais cliquer sur cette case pour rendre cette instance modifiable. Je vais également devoir rendre cela modifiable pour que nous puissions changer cela dans l'éditeur. Donnons-nous un nouveau matériel ici. Nous pouvons lui donner un nouveau matériel que je choisirai. Essayons. Je vais juste taper de la brique. Vous pouvez changer cela par ce que vous voulez. Je vais choisir de l'argile en brique. Bien sûr. Compilez, enregistrez c' est notre script actuel. Et maintenant, si je reviens dans notre éditeur de niveaux ici, vous pouvez voir que la matière argileuse est placée sur chaque section du mur. Cependant, je ne le vois pas dans l'éditeur car je filtre actuellement par le mot engourdi. Laissez-moi donc annuler ce filtre tout en haut, je peux voir les deux variables que j'ai maintenant exposées à l'éditeur. Permettez-moi de changer mon nouveau matériel par autre chose. Allons à Chrome et Wallah. Nous avons nous-mêmes un mur Chrome. C'est ainsi que vous créez des plans très extensibles, si vous voulez, pendant la conception. Une fois de plus, le script de construction est là pour donner à vos concepteurs, vos concepteurs de niveau, si vous voulez, grande puissance et flexibilité quant aux plans qu' ils ont placés dans vos niveaux et comment ils peuvent les personnaliser. Imaginez si vous voulez, si vous aviez un plan qui n'était qu'une lumière, une lampe, si vous voulez, dans une pièce. Et peut-être que vous exposez la couleur de la lumière comme nous l'avons fait ici dans notre exemple, ici même dans l'éditeur. Nous pouvons faire en sorte que pour chaque plan de lampe que nous avons placé dans le niveau, nous puissions modifier la couleur de celui-ci via le script de construction. Donc, vous l'avez, les gars, c'est la puissance du script de construction. À l'intérieur d'un plan. Ils vont faire pour offrir celui-ci. Nous vous verrons dans le prochain. 12. Les plans de cours: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de découvrir certains des différents types de Blueprint dans Unreal, commençant par un Blueprint de classe. Maintenant, la raison pour laquelle nous voulons en savoir plus sur différents types de Blueprint est que différents types servent des objectifs différents. De plus, l' interface et la façon dont vous travaillez avec ce Blueprint peuvent différer légèrement en fonction ce sur lequel vous travaillez. Maintenant, utilisons notre exemple de ramassage bp ici. Jetez un coup d'œil à cela très rapidement. En haut à droite. Une fois de plus, il montre qu'il s'agit d'un Blueprint de classe d'acteurs connu sous le nom de classe parent. Il est sous le parapluie Class Blueprint. Encore une fois, il existe de nombreux types de plans de classe. Qu'est-ce qui fait d'un Blueprint de classe un Blueprint de classe ? Eh bien, vous pouvez considérer un Blueprint ou un Blueprint de classe pour faire court, comme un type de modèle de ressource. En tant que modèle que vous pouvez facilement ajouter des fonctionnalités ou des composants pour en faire le vôtre. Maintenant, juste à côté de cet onglet, j' ai mon ThirdPersonnage BPA. Et à l'intérieur de cette classe de personnages Blueprint, j'ai quelques composants différents qui proviennent automatiquement de la création de ce Blueprint de classe de caractères, à savoir le composant Capsule, la flèche, le maillage et le composant de mouvement de personnage. Cependant, si je le voulais, je pourrais personnaliser cela et le faire mien. Je peux ajouter d'autres composants. Je pourrais changer, disons, l'apparence de ce maillage dans le graphique des événements. Je pourrais changer tout ce script chez les bons gens d'Epic Games fournis. Et j'ai pu créer quelque chose de complètement différent pour mon personnage bouge de la manière dont je voulais qu'il bouge. C'est ce qui rend les plans de classe si puissants. Ils vous fournissent le modèle et à partir de là, vous pouvez le faire comme vous voulez le créer. Maintenant, comment pouvons-nous créer ces plans de classe ? Eh bien, il y a quelques méthodes. Un que vous m'avez déjà vu faire. Dans l'explorateur de contenu, vous pouvez cliquer avec le bouton droit de la souris et un espace vide se trouve sous Blueprint Class. Et là, il vous permet de choisir une classe parentale. Ce sont tous différents types de plans de classe. Les plus courantes énumérées en haut, les moins courantes en bas. Il y en a beaucoup. Nous allons explorer plusieurs des types les plus courants tout au long de ce cours. Mais sachez qu'il y a beaucoup, beaucoup, beaucoup de types. C'est donc un moyen d'obtenir ce sélecteur de Blueprint de classe. L'autre façon est juste en haut ici avec cette petite icône de nœud, l'icône de Blueprint, si vous le souhaitez, vous pouvez choisir cela, se trouve sous la nouvelle classe Blueprint vide. Et en cliquant sur ce bouton, vous aurez même possibilité de choisir votre option de classe parent. Une fois de plus, le parent nous fournit les modèles de départ. Je vais donc créer un personnage ici. Et je vais appeler ça mon personnage temporaire, comme ça. Et je vais double-cliquer dessus pour l'ouvrir. Nous allons comparer et comparer cela avec notre BP ThirdPersonpersonnage existant. Comme vous pouvez le voir en haut en haut à droite, cela indique que la classe parente est un caractère. Et certaines des points communs que vous verrez entre ce personnage et le personnage à la troisième personne sont que j'ai un composant capsule dans un composant d'erreur, un maillage, n'importe quel composant de mouvement de personnage. Ces quatre peuvent également être trouvés dans notre composant ThirdPersonCharacter, notre capsule, notre flèche, notre maillage et notre mouvement de personnage. Maintenant, l'une des principales différences entre le ThirdPersonpersonnage et notre caractère temporaire est le maillage ici est rempli d'un maillage squelettique. Cependant, dans mon caractère temporaire, je pourrais définir cela et le faire comme je veux. Je pouvais choisir le maillage squelettique que je voulais. Il est vide par défaut. Vous remarquerez également qu'ici, avec notre modèle de caractères vierge ici, je n'ai rien trouvé dans le graphique d'événements qui définit le mouvement de mon personnage temporaire. Cependant, dans le ThirdPersonnage, les bonnes personnes d' Epic Games ont déjà donné cela pour travailler avec eux. Ainsi, encore une fois, notre classe de personnages pooper, ils fournissent le plan directeur de la création d'un personnage en nous fournissant ces composants, mais le reste dépend de nous. Nous pouvons le personnaliser en ajoutant de nouveaux composants, personnalisant le script pour qu'il se déplace d'une certaine façon, vous obtenez l'intérêt. Ensuite, je voulais vous donner quelques moyens de vous identifier facilement. Travaillez-vous à l'intérieur d'un Blueprint de classe ou d' un plan de niveau Blueprint seront abordés dans la vidéo suivante. Numéro un, en haut à droite d'un Blueprint de classe, il répertorie un niveau de classe parent. Les plans ne le feront pas. Numéro deux. Blueprints de classe ont un panneau Composants Les Blueprints de niveau ne le font pas Le numéro trois des Blueprints de classe Event Graph Tab en bas à droite était simplement un Blueprint plutôt que des Blueprints de niveau, en indiquant Level Blueprint. Voici quelques conseils rapides. J'ai beaucoup d'étudiants débutants qui sont parfois confus où ils travaillent. Pourquoi ne voient-ils pas le panneau Composants, ce genre de choses ? Donc, j'espère que ces choses aideront certains d'entre vous là-bas. Enfin, je veux parler de certains des plans de classe courants ici. Donc, cliquez avec le bouton droit et un espace vide Blueprint Class. Blueprint après la classe. C'est celui que vous voulez choisir quand c'est quelque chose que vous allez placer ou apparaître dans votre niveau. Par là, je dois dire, quelque chose qui n'est ni un personnage ni un pion. Un plan de personnage est un pion. Il s'étend de la classe des pions, en fait, vous pouvez le déplacer. Et l'un des avantages d'un plan de classe de personnages est qu'il est pré-construit avec un composant de mouvement de personnage qui vous donne contrôle sur la vitesse à laquelle votre personnage se déplace, comment haut ils sautent, ce genre de chose que vous pouvez posséder et contrôler une classe de personnages, un plan, un mode de jeu, des plans, une base de mode de jeu, si vous voulez. C'est l'endroit principal où stocker les règles scriptées de votre jeu. Il peut déterminer des choses comme la notation, les limites de temps de ce genre de choses fonctionneront sur l'un de ces points plus tard dans le cours. Très bien, les gars, ça va le faire. C'est le plan de classe à venir, le Level Blueprint. voit là-bas. 13. Des plans de niveau: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d' apprendre ce qu'est un Blueprint de niveau, comment y accéder, les éléments pour lesquels il est utilisé et en quoi il diffère d'un Blueprint de classe. Qu'est-ce qu'un plan directeur de niveau ? Eh bien, c'est le plan associé spécifiquement à un niveau donné. Dans notre cas, il s' agirait du plan associé à notre niveau de carte de test. Comment y accéder maintenant ? Eh bien, juste en haut ici avec cette petite icône Blueprint E-type, cliquez sur ce menu déroulant et à droite au milieu ici, nous avons cette option de plan de niveau ouvert. Il suffit de cliquer dessus pour ouvrir notre onglet Level Blueprint. Cependant, avant de faire cela, je veux vous montrer un petit conseil ici car si je cliquais dessus maintenant, cela ouvrirait dans cette fenêtre séparée. J'aime que mes fenêtres soient ouvertes juste en haut, le long de la fenêtre principale. Je vais donc vous montrer rapidement comment faire cela. En ce moment. Je vais passer sous Modifier les préférences de l'éditeur dans notre fenêtre des préférences de l' éditeur. Ici, nous avons l'option dans la catégorie Apparences générales ici. Asset Editor, l'emplacement ouvert est actuellement défini sur la valeur par défaut. Je vais définir ça comme fenêtre principale, puis je vais fermer ça. Alors maintenant, quand j'ai essayé d'accéder à mon Blueprint de niveau ici, ouvrez Level Blueprint, bam, il le place juste en haut ici, au lieu de devoir faire glisser et déposer cet onglet juste le long de la Je l'aime bien. Maintenant, je vais également faire glisser et déplacer cela juste à côté de mon onglet de carte de niveau lui-même. Remarquez donc rapidement quelque chose ici, l'icône orange de la montagne qui représente le niveau lui-même, le niveau de vous-même sur lequel vous travaillez. Il porte exactement le même nom, mais il y a cette icône de montagne bleue qui est le plan qui lui est associé. Il s'agit du plan directeur de niveau. Si rapidement, avant de parler de la raison pour laquelle ce plan de niveau est utilisé, comment pouvons-nous savoir qu'il est différent d'un Blueprint de classe ? Eh bien, pour commencer ici, tout en bas, ça dit évidemment, Hey, Level Blueprint. Une autre façon de dire que c'est différent d'un Blueprint de classe est qu'il n'y a pas de panneau Composants sont BP exemple pickup ici avec un panneau Composants. Notre plan directeur de niveau ne le fait pas. Notez également que notre Blueprint de niveau ne possède pas de script de construction ou onglet d' affichage sont d'autres Blueprints jusqu' au ThirdPersonCharacter et à notre exemple BP. Tous deux l'ont également. De plus, dans notre plan de niveau, si nous regardons en haut à droite, aucune classe parente n'est répertoriée. Par conséquent, parce qu'il n' hérite pas d'une classe parente, il n'y a pas de composants ou de variables hérités. Donc, dans ce plan de niveau, quoi sert-il ? Eh bien, le Level Blueprint est l' endroit où vous placeriez un script pour des éléments spécifiques au niveau, tels que la musique de niveau. Peut-être que ce niveau vous voulez qu'une seule sélection de musique soit jouée dans ce niveau, nulle part ailleurs. C'est ici que vous pouvez écrire pour que la musique de ce niveau soit diffusée. Vous avez peut-être des événements ponctuels spécifiques à ce niveau, comme un joueur qui passe dans un couloir. Dans ce niveau, ils chevauchent un volume de déclenchement et provoque un zombie à franchir une fenêtre et à effrayer le joueur. Ce sont des choses très spécifiques à un niveau que le script doit entrer dans un Blueprint de niveau. Contratez cela avec disons notre exemple de pick-up bp. Maintenant, revenons à notre éditeur de niveau voici l'exemple de ramassage BP. Il s'agit d'un plan de classe d'acteurs. Vous pouvez glisser-déposer cette information tout au long de ce niveau. Et si je devais jouer mon jeu, je peux aller de l'avant et écraser ces faux micros de santé et les récupérer. Maintenant, peu importe que je glisse et que je les dépose à l'intérieur de mon niveau de carte de test, ou je peux créer un deuxième niveau, un troisième niveau de quatrième niveau, etc. Ce pick-up va se comporter de la même manière. Ainsi, j'ai créé ce script à l'intérieur de notre exemple bp pickup qui vérifie si notre ThirdPersonpersonnage chevauche la sphère, joue un son et détruit en tant qu'acteur, ce script est spécifique à cet acteur, et cet acteur peut être placé à n'importe quel niveau. Ainsi, le Level Blueprint est l'endroit où vous placez des scripts spécifiques à différents niveaux. Maintenant, l'un des avantages de travailler dans le plan de niveau est qu'il est très facile d' obtenir une référence ou d' ajouter un événement pour un acteur qui existe déjà dans votre niveau. C'est quelque chose qui n'est pas aussi facile à faire à l'intérieur d' un autre plan de classe qu' un plan de classe d'acteurs. Et juste pour le démontrer rapidement, je vais revenir à mon éditeur de niveau ici. Et je vais passer sous mon onglet Contenu publicitaire ici. Et je vais ajouter une forme. Nous allons juste ajouter un cube. Je vais donc faire un clic gauche et faire glisser un cube dans mon niveau, vais juste le relever un peu dans les airs. Remarquez que je l'ai sélectionné. Ce contour jaune montre que je n'ai pas sélectionné. Et si je regarde mon contour, c' est ce qu'on appelle actuellement l'acteur du cube, c'est son nom. Maintenant, je vais revenir dans mon plan de niveau avec cette option sélectionnée. Et avec cette option sélectionnée, tout ce que je dois faire est de maintenir la touche R enfoncée et de cliquer avec le bouton gauche. Ou bien, je peux cliquer avec le bouton droit de la souris et ici, je peux créer une référence à ce cube. Il s'agit donc de la méthode du clic droit. Si je maintiens la touche Alt enfoncée et cliquez sur le bouton gauche C'est la même chose, obtenir une référence à ce cube. Maintenant, notez que si je devais essayer quelque chose comme ça à l'intérieur de mon exemple BP ici, sautons à l'intérieur de ce graphique d'événements. Si je maintiens la touche Alt enfoncée et que je clique avec le bouton gauche, il n'a aucune idée de ce que vous essayez de référencer ici. En fait, si je clique avec le bouton droit, c'est comme si je n'avais aucune idée ce que vous essayez de référencer maintenant, cela ne veut pas dire que nous ne pouvons pas obtenir de référence à ce cube spécifique à l'intérieur de notre exemple bp pickup, mais il existe d'autres méthodes pour le faire et nous pourrons explorer ces choses plus tard dans le cours. Mais ce n'est qu'un exemple rapide de l'un des avantages de travailler dans le plan de niveau : il est très facile, dans un plan de niveau, d' obtenir une référence à tout ce qui existe déjà à l'intérieur d'un plan de niveau. de votre niveau. Très bien, créons un script rapide ici à l'intérieur de notre plan de niveau. Notre cube est déjà sélectionné dans le niveau. Je vais donc cliquer avec le bouton droit de la souris et un espace vide ici. Au lieu de créer une référence à notre file d'attente parce que nous en avons déjà une, nous allons ajouter un événement. Maintenant, il est dit que vous êtes à l'événement pour acteur de maillage statique au lieu de l'acteur Static Mesh actuellement, pour que cela soit clair dans notre niveau, dans notre plan, le sol, le plancher par défaut, c'est un type d'acteur de maillage statique. Il s'agit d'un deuxième acteur Static Mesh que nous avons ajouté à notre niveau. Ainsi, il considère aussi l'acteur Static Mesh. Je voulais juste que cela soit clair. Très bien, avec ce cube sélectionné, cliquez avec le bouton droit de la souris sur l'événement pour l'acteur de maillage statique deux, nous allons ajouter un événement lorsque nous frappons cet acteur. Allez-y et ajoutez-y. Ce sera un script très simple. Nous n'allons pas vérifier qui l'a frappé. Ce truc va flotter dans les airs. Donc je vais glisser hors de cela et taper simplement son de lecture sur D. Vous pouvez insérer n'importe quel son que vous voulez. Mais j'aime entendre les choses exploser. Je vais donc vérifier s'il y a une explosion ici. Là, c'est une explosion. N'hésitez pas à le mettre quand vous le souhaitez. Et après cela, je vais sortir de mon cube parce que je veux parler spécifiquement de ce cube. Et je veux dire Destroy Actor. Il s'agit donc d'un script spécifique à l'intérieur de ce plan de niveau. Si je devais placer juste ce cube dans un autre niveau, il ne le détruirait pas comme nous sommes sur le point de le voir, car ce script n'existe qu' à l'intérieur de ce Blueprint de niveau. Allons donc jouer ici. Et Bam, une petite explosion retardée là-bas. Mais un chemin, un chemin qui fonctionne effectivement. Examinons ici un autre exemple montrant à quoi sert le Blueprint de niveau. Il peut être utilisé pour donner coup d'envoi de musique. Donc, en revenant dans ce plan de niveau, allons-y et la construction de cet événement a commencé à jouer ici. Je vais simplement faire glisser le type dans le son de lecture 2D. Un son 2D est un son qui n' est localisé à aucun endroit dans un espace 3D. C'est tout simplement génial pour la musique de menu, la musique de fond, ce genre de choses dans notre déroulant ici, je vais taper le mot musique, et je vais faire notre musique de départ ici qui se trouve dans le Pack de contenu Starter. N'hésitez pas à l'insérer où vous le souhaitez. Et si je joue du wallah, vous avez de la musique. Donc encore une fois, ces scripts fonctionnent dans ce niveau et ce niveau seulement si je crée un deuxième niveau, je dois décider quelle musique de menu je veux jouer et quelle autre... sur les interactions je pourrais également vouloir écrire. Jusqu'à présent, dans cette vidéo, je vous ai montré un plan d'un niveau associé à un seul niveau. La question peut donc se puis-je avoir plusieurs plans bas ? La réponse à cela est oui, essentiellement vous pouvez voir à quel point, si je passe sous mon option Windows dans l'éditeur de niveau principal ici, je peux trouver cette option quatre niveaux. Et quand j'ouvrirai ça, je vais ouvrir un onglet Niveaux. Maintenant, j'aime bien accoster ça juste à côté de mon plan. Et ce que je peux faire ici, c'est que je pourrais ajouter un tout nouveau niveau, essentiellement un sous-niveau, une couche, si vous voulez, à ce niveau existant. Actuellement, cela montre que j'ai ici un niveau connu sous le nom de niveau persistant. Et cette coloration bleue montre que c'est le niveau que je travaille avec lui. Sous cet onglet niveaux et ses niveaux déposés ici, je peux créer un nouveau niveau. Je vais donc y aller et le faire maintenant. Cela va m'inciter à choisir un nouveau niveau et à lui donner un nom. Je vais choisir un niveau vide ici. Nous allons créer cela. Et il va dire, où voulez-vous le sauvegarder. Je vais donc donner le nom de sous-soulignement niveau, soulignement 01. Je vais voir comment ça se passe dans ce dossier maintenant, mais je vais commencer à héberger ces choses dans sous-dossiers séparés dans un peu ici, laissez-moi me débarrasser de cette majuscule U là-bas. Au premier niveau, nous allons sauvegarder ça. Maintenant, vous voyez que cela a ajouté un niveau à l'onglet de mes niveaux ici. Pensez à un sous-niveau comme un calque dans Photoshop. C'est juste une couche supplémentaire de choses, acteurs, d'objets, que pouvez-vous ajouter à votre niveau ? Les équipes de développement consacrent souvent un sous-niveau entier à l' éclairage, par exemple. Pour qu'un spécialiste de l'éclairage puisse se concentrer uniquement sur l' aspect éclairage du niveau. Et il est très facile pour cette personne d'avoir accès unique à celui-ci est de sous-niveau et y apporter des modifications sans interrompre le reste de l'équipe de développement qui travaille à ce niveau. Donc, si nous créons un monde ouvert massif, nous pouvons avoir plusieurs sous-niveaux ici. Peut-être que quelqu'un est responsable de la sculpture de ce monde ouvert massif. Il y a peut-être un sous-niveau pour tout le feuillage et autre sous-niveau pour l'éclairage et un autre sous-niveau pour les effets, ce genre de choses. Comme vous pouvez le voir ici, lorsque nous l'avons créé en tant que sous-niveau, notre sous-niveau bleu a émis le niveau actuel dans lequel nous travaillons. Qu'est-ce que cela signifie pour le rendre actuel ? Eh bien, cela signifie que tout acteur que nous devions ajouter à ce niveau maintenant, qui l'ajoutera réellement à notre sous-niveau, notre sous-niveau ici et créé un tout nouvel atout pour ce niveau et notre contenu. par opposition à notre principal niveau persistant ou carte de test LV. Allons de l'avant et essayons cela dans un instant. Cependant, je voulais souligner que chaque sous-niveau a son propre plan de niveau. Vous pouvez y accéder en cliquant ici, là où se trouve cette petite icône de plan. Donc, si j'ouvre cela, nous pouvons voir qu'il a le nom de mon sous-niveau et encore cette icône de plan de niveau. Revenons maintenant à notre éditeur de niveau principal ici, et je vais ajouter un point lumineux. Je vais donc passer sous mon onglet Ajouter ici. Nous allons trouver nos lumières. Ajoutons un point lumineux. Très bien, maintenant, nous l'avons ajouté à notre sous-niveau. Et si je clique sur ce petit bouton de visibilité ici, vous pouvez voir qu'il l' affiche et la cache. Et c'est dans notre sous-niveau. Si je devais cacher notre niveau persistant, nous verrions encore notre lumière parce que cela appartient à notre sous-niveau. Pour aider à faire rentrer ce point à la maison, je vais sélectionner notre lumière ici. Si je devais entrer dans mon sous-niveau Level Blueprint et que je devais cliquer avec le bouton droit de la souris et un espace vide, je peux créer une référence à mon point lumineux. J'ai sélectionné ces lumières ponctuelles dans mon niveau ici, plus précisément dans mon sous-niveau. Cependant, si je devais essayer d'ajouter une référence à cela dans mon Blueprint de niveau principal ici, cliquez avec le bouton droit de la souris. Il n'y a aucune référence que je puisse créer à ce point lumineux. Donc, quoi que vous ayez, quels que soient les objets, effets, etc. que vous avez existant dans votre sous-niveau donné. Vous pouvez les référencer directement à l'intérieur de votre plan de niveau. Mais il doit s'agir de n'importe quel niveau ou sous-niveau dans lequel vous avez réellement placé cette chose. Si vous débutez avec Unreal, l'idée derrière les sous-niveaux va probablement bien au-delà de ce que vous devez savoir actuellement. Mais comme nous sommes sur le sujet des plans de niveau, j'ai pensé que le moment était inapproprié parler au moins. Deux autres choses que je veux faire avant de fermer cette vidéo. Allons de l'avant et sauvegardons notre niveau et notre sous-niveau. Les deux ont des astérisques sur eux. Ils peuvent être enregistrés en cliquant avec le bouton droit de la souris sur ces ressources et sur notre navigateur de contenu ou dans notre onglet Niveaux juste ici, je peux cliquer sur chaque disque pour les enregistrer. De plus, je souhaite créer ici des dossiers distincts pour certains de nos actifs. Sinon, nous aurons trop de place dans notre dossier de script. Je vais cliquer avec le bouton droit de la souris. Je vais ajouter un nouveau dossier. Je vais ajouter 14 niveaux. Et je vais également cliquer avec le bouton droit sur notre dossier de script. Une fois de plus, je vais ajouter un autre nouveau dossier, et je vais en ajouter un car nous allons l'appeler aperçu de certains de nos tout premiers Blueprints que nous avons créés. Ensuite, je vais retourner dans mon dossier de script. Et je vais faire glisser et déposer certaines de ces ressources dans le dossier approprié. Je vais donc cliquer avec le bouton gauche et le faire glisser et surligner comme désolé, pas cliquer et faire glisser. contrôle. Cliquez sur mon exemple de ramassage dans mon script de construction. Et je vais les faire glisser et les déposer dans notre dossier d'aperçu. Et l'autre 3123, je ne fais que cliquer sur le contrôle. Je vais faire glisser et déposer dans notre dossier de niveaux, les déplacer ici. chutes d'acides sont référencées par un ou plusieurs, diront oui. Et enfin, nous allons déposer et sauvegarder tous les bons endroits pour tout sauvegarder sous. Les gars, ça va tout faire pour celui-là. Nous vous verrons dans le prochain. 14. Types de nœuds: Bon, bienvenue à tout le monde. Au cours des prochaines vidéos ici, nous allons décomposer les Blueprints, scripter des nœuds de manière beaucoup plus fine. En particulier, nous allons parler de différents types de nœuds. Nous allons parler de différents types d'épingles. C'est ces épingles de forme circulaire colorées par rapport à ces épingles de forme triangulaire. Nous allons parler de la différence entre les broches d'entrée situées à gauche d'un nœud et les broches de sortie situées sur le côté droit d'un nœud. Nous allons parler de câblage des nœuds et comment mieux organiser les nœuds. Maintenant, dans cette vidéo, notre objectif est de discuter de certains types de nœuds de script de Blueprint trouvés dans Unreal. Nous allons maintenant parler de chacun de ces différents types de nœuds plus en détail plus loin dans le cours. Mais pour l'instant, je voulais simplement vous familiariser avec ces différents types de nœuds afin que vous puissiez mieux les identifier et comprendre leur utilisation. Très bien, nous allons commencer notre discussion sur les différents types de nœuds avec les nœuds de couleur rouge. nœuds de couleur rouge dans Unreal sont appelés nœuds d'événements. Et ils sont critiques car ils sont nécessaires pour lancer n'importe quel script là-bas. L'étincelle qui envoie une impulsion vers le bas de ce fil ici pour que tous les autres nœuds s'y accrochent, s' allume également. Maintenant, un exemple, des événements ou des événements commencent à jouer, ce qui est très courant. Cela se déclenche chaque fois que nous commençons notre jeu. Vous avez également des événements d'entrée tels que lorsque vous appuyez sur un votre clavier ou sur le bouton inférieur de la manette de jeu. En avançant, nous avons ces nœuds de couleur bleue et ils sont appelés fonctions. En particulier, elles sont connues sous le nom de fonctions impures. Dans les fonctions pures, faites quelque chose qui se passe, mais sont libres de modifier les choses. Parmi les exemples de différents nœuds de fonction on peut citer l'apparition d'un acteur, le frai et l'émetteur. C'est l'ancien système VFX dans Unreal, nous avons également engendré le système qui est le plus récent système VFX dans unreal, nous avons cette fonction de création de widget. Il permet d'afficher les types de menus ou de HUD que vous avez créés. Nous avons également des fonctions pour jouer un son ou un décor et l' emplacement ou le décor des acteurs, le matériel, ce genre de choses. Je voulais ajouter celui-ci ici aussi. Vous avez certaines fonctions qui peuvent avoir ce développement uniquement sur celui-ci. Et c'est parce que cette note de fonction n'est vraiment destinée qu'à des fins de développement. Donc, si jamais vous voyez quelque chose comme ça, c'est pourquoi nous avons ces nœuds de couleur verte. Et ils sont également connus sous le nom de fonctions. Mais elles sont connues sous le nom fonctions pures qui sont simplement utilisées pour obtenir des données. Et un facteur clé de différenciation entre ces fonctions vertes et ces nœuds de fonction bleus. Les deux ont ce F fantaisie, c'est que ces nœuds bleus impurs ont quelque chose connu sous le nom de broches exactes sur eux. Goupilles d'exécution, broches exactes pour les courtes. Alors que le vert sait que les fonctions pures ne le font pas. Ces broches exactes ou d'exécution sont simplement utilisées pour maintenir le flux d'exécution. Dans. Le fil d'exécution peut entrer et sortir. Cependant, ils n'ont pas cela. Alors, quel est exactement leur but ? Leur but est simplement d'obtenir des données. Dans ce cas, ce nœud va obtenir ce qu'est notre personnage joueur. Dans ce nœud, nous obtenons le niveau dans lequel se trouve cet acteur. Et cette fonction pure obtient simplement le nom complet de l'objet qui y est branché. Dans ce cas, notre niveau. Ces deux nœuds ne sont pas des fonctions pures. Ensuite, nous avons une catégorie de nœuds appelés nœuds de contrôle de flux. Vous pouvez les identifier grâce cette bannière de couleur grisâtre située en haut. La seule exception à cela est la famille de nœuds switch dont il existe de nombreux. Et ils avaient ce genre de bannière de couleur dorée sur le dessus. Ils sont également considérés comme des nœuds de contrôle de flux. Ce que font les nœuds de contrôle de flux avec leur utilisation pour déterminer où aller ensuite dans un script. Alors imaginez si vous voulez, nous avons eu un événement, commencez à le jouer juste avant ce nœud de branche. Et il était branché ici. Donc, selon la condition, vraie ou fausse, nous pourrions soit un feu de cette façon, soit de cette façon. Et je peux avoir toutes sortes de scripts différents attachés à ma vraie branche ou ma fausse branche les nœuds de contrôle Hello sont super courants dans Unreal et Blueprints script. Et vous saurez que vous améliorez vraiment votre jeu de script Blueprint lorsque vous commencerez à les maîtriser, comment trouver ces nœuds ? Si vous cliquez simplement avec le bouton droit de la souris dans un espace vide, vous pouvez saisir le contrôle de flux. Et il y a une catégorie entière répertoriée comme contrôle de flux. Et vous pouvez voir où il y a des tonnes de nœuds de commutateur, un contrôle de flux, laissez-moi réduire la catégorie des commutateurs et il y a un tas de nœuds de contrôle de flux. Et ensuite, nous avons des variables. J'ai maintenant créé un tas de variables différentes sur la gauche en préparation de cette vidéo. Les variables contiennent des données d'un type spécifique. Ce sont des conteneurs, si vous voulez. Ils peuvent voir leurs valeurs modifiées ou définies comme nous aimons le dire, autre chose que ce qu'elles étaient à l'origine, tant qu'il s'agit du même type. Maintenant, ces conteneurs sont utilisés pour contenir des éléments tels que des valeurs de santé. Ou est le statut de posséder quelque chose ou d'un lieu de frai. S'il s'agissait d'une valeur de santé, il peut s'agir d'un type int ou d'un type float. C'est une sorte de chiffre. S'il s'agissait d'un statut de propriétaire d'une clé, il peut s'agir d'un type booléen vrai ou faux. Et s'il s'agissait de l'emplacement d'un frai d'un ennemi, il s'agirait d'un type vectoriel, ce serait un emplacement X, Y et Z. Enfin, je voulais mentionner un nœud très spécial et unique on trouve dans le script de Blueprint, c' est-à-dire un nœud de chronologie. Les nœuds de chronologie sont utilisés pour modifier la valeur d'une variable ou de variables au fil du temps. Et ils sont utilisés pour modifier la valeur d'un flotteur afin de changer un minuteur de jeu pour diminuer au fil du temps, comme la création d'un jeu de sport, vous savez, un compte à rebours d'horloge. Ou peut-être modifier une variable vectorielle au fil du temps pour déplacer un objet. Dans le cas d'une plateforme mobile, c'est un nœud tellement cool et unique que j'ai une vidéo entière dédiée à cela plus tard dans le cours. En résumé, nous avons des nœuds rouges. Ces nœuds sont appelés nœuds d'événements nécessaires au démarrage de scripts. Ils sont bleus. Les nœuds sont appelés fonctions impures. Ils font simplement arriver quelque chose. Ils peuvent engendrer un acteur, ils peuvent engendrer un effet de particules, jouer un son. Ils peuvent afficher un écran de menu ou un HUD. Ce qui différencie les fonctions impures de nos fonctions pures, c'est qu'elles ont des broches d'exécution entrent et sortent d'elles. En parlant de fonctions pures, voici quelques exemples de nos fonctions pures. Ils sont colorés en vert. Ils n'ont pas de broches d'exécution dessus, et ils sont simplement utilisés pour obtenir des données. Les nœuds de contrôle de flux sont colorés en gris, à l'exception des nœuds de commutateur. Et ils sont très utiles pour contrôler le flux d'exécution dans votre graphique. Ensuite, nous avons des variables. Il existe de nombreux types de variables différents. Les variables contiennent une information. Le contenu d'une variable peut être défini, modifié si vous le souhaitez, quelque part le long de votre script. Enfin, nous avons un nœud de chronologie. Il s'agit d'un nœud très spécial dans unreal qui peut modifier la valeur d'une variable au fil du temps. Les gars, ça va tout faire pour celui-là. Nous vous verrons dans le prochain. 15. Épingles d'exécution et de données: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'en savoir plus sur et de comprendre les différences entre l'exécution et les plans de données variées sans marée dans les Blueprints Unreal Engine. Jusqu'à ce stade du cours, vous m'avez vu travailler avec certains de ces différents types d' épingles sur les différents nœuds, mais nous n'avons pas eu de discussion officielle sur les types d'épingles. C'est donc le but de cette vidéo, en utilisant certaines de nos fonctions impures. Voici un exemple rapide. Découvrez ça. J'ai quelques épingles de forme triangulaire sur un nœud, et j'ai également ces épingles circulaires à code couleur sur un nez. Ces choses sont appelées épingles. Quelles sont les différences entre eux ? Eh bien, ces épingles de forme triangulaire sont connues sous le nom de broches d'exécution. Ces broches sont l'endroit où les signaux sont envoyés vers et sortant d'une connaissance donnée. Ils ordonnent au nœud d' exécuter quelque chose. Dans ce cas, ce nœud produirait un effet visuel. Désormais, tous les nœuds d'événements possèdent au moins une épingle d'exécution. Et il est très important que les nœuds d'événements fassent parce le fassent parce que ce sont eux qui démarrent l' ensemble du script. Nous avons donc commencé à jouer. Il va commencer un flux d' exécution à partir de cette broche et descendre ce fil. Il est maintenant important de noter ici que tous les nœuds ne possèdent pas d'épingles d'exécution. Si vous vous souvenez de la dernière vidéo, ces nœuds de fonction pure n'ont pas de broches d'exécution. Ces données sont simplement destinées à générer des données. Cela mène à bien la discussion sur ce qu'est une épingle de données. Eh bien, revenons à nos fonctions impures ici, parce que ce nœud en a beaucoup. Les épingles de données sont des épingles où les données peuvent entrer ou sortir d'un nœud donné. Des exemples de données pouvant être branchées à un nœud peuvent être des nombres, coordonnées, des objets, ce genre de choses. Notez maintenant que ces épingles de données, ces épingles de données de forme circulaire sont disponibles en différentes couleurs. Et c'est pour aider à identifier les différents types de données. Si je souris sur l'une de ces différentes épingles à code couleur dans l'info-bulle qui apparaît. Il répertorie les différents types de données qui peuvent y être entrés. L'emplacement est donc à la recherche d'un type de données vectorielles, tout comme l'échelle. Cependant, cette destruction automatique recherche un type de données booléen. Maintenant, vous vous êtes peut-être souvenu de la dernière vidéo que nous avons brièvement parlé de variables ici, et que les variables peuvent venir de différents types de données. Les variables peuvent être connectées ces différentes broches de données pour indiquer au nœud ce qu'il faut faire. Par exemple, si nous voulions générer un émetteur à un emplacement donné, je pourrais brancher une variable vectorielle dans cette broche de données pour indiquer à cet émetteur où il doit être apparu. Comme vous pouvez le voir lorsque je glisse et que je dépose ça sur l'épingle, c'est dire : Oui, C' est une variable vectorielle. Il est normal de le brancher à notre emplacement ici. Maintenant, si je supprime cela et que j'essayais de brancher la même chose dans cette broche de destruction automatique. Il dira, Nope, que je ne peux pas le faire car ce n' est pas un type de données compatible, je ne peux pas le faire. Cependant, cette variable booléenne peut être branchée sur cette option automatiquement détruite car il s'agit d'un type de données correspondant. Il est maintenant important de comprendre que les nœuds peuvent capter des données et les extraire. Ainsi, cet émetteur d'apparition sur place comme notre système d'apparition sur place, il peut prendre toutes sortes de données et renvoie également des données. Mais voyons un autre exemple de nœud qui produit beaucoup de données. Je vais passer à mon exemple de BP, reprendre rapidement ici. Et nous pouvons voir sur notre propre composant commence événement de chevauchement ici qu' il peut générer beaucoup de données, y compris l'autre acteur qui est l'autre chose qui chevauchait ce collisionneur de sphère. Maintenant, je veux aider à consolider tous ces concepts ici, nous avons des épingles d'exécution plutôt que des épingles de données. Nous avons des broches d'entrée sur le côté gauche d'un nœud par rapport aux broches de sortie. J'ai donc ajouté un script temporaire ici à l'intérieur de mon exemple BP. C'est cette prise ici. Je vais supprimer cela à la fin de cette vidéo juste pour aider à démontrer ce concept. Dans mon niveau , j'ai également une instance, une copie de mon exemple BP. Actuellement dans mon niveau, il est connu sous le nom de BP exemple pickup to. La raison pour laquelle je parle de cela est parce qu' à l'intérieur de ce Blueprint ici, j'ai sélectionné ceci, mon exemple de prêt BP, instance de ramassage comme option de débogage. La chose que je veux voir le script se déclencher en travaillant. Maintenant, ce script temporaire que j'ai ajouté ici va déclencher chaque image. C'est ce que fait l'événement tick. Il va demander à notre nœud de fonction d'impression de chaîne d' imprimer quelque chose sur notre écran dans des textes roses. Et il va imprimer le nom de notre personnage joueur. C'est ce que ces nœuds font ici aussi. Donc cette chaîne d'impression, si je débranchais ce fil ici, elle imprimerait simplement le texte Hello. Cependant, avec cela branché dessus, je dis à cette fonction de chaîne d'impression ce qu'il faut imprimer à l'écran. Nous fournissons des données informatiques sur ce qu' il faut imprimer. Nous y voilà. Je vais cliquer ici rapidement. Et si je déplace ça un peu, on y va. Vous pouvez voir cet événement se déclencher en continu, un flux continu indiquant à notre chaîne d'impression d'imprimer continuellement ce nom d'affichage sur notre écran. Ici, il est spammé le long de la main gauche. côté dans des textes roses. Et c'est là que tu l'as. Nous avons un nœud d'exécution qui s'allume dans ce nœud d'entrée d' exécution, ce qui indique de l' imprimer à l'écran. Nous avons des données qui circulent dans ce nœud pour lui dire ce qu' il faut imprimer. Ça va tout faire pour ce type de vidéo, nous avons des épingles d'exécution, ces épingles de forme triangulaire. Nous avons des broches de données, ces broches de forme circulaire à code couleur. Nous avons des broches d'entrée sur le côté gauche d'un nœud. Nous avons des broches de sortie sur le côté droit du nœud. Cela fera tout pour cette vidéo, les gars, nous vous verrons dans la prochaine. 16. Câblage de nœud: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'apprendre les méthodes de câblage des notes ensemble de façon irréelle. Maintenant, en surface, il peut sembler qu'il n'y a pas grand-chose à cela, mais il y a ici quelques trucs et astuces subtils qui valent vraiment la peine appris car ils peuvent vous faire économiser une charge de bateau du temps pendant de nombreux jours de développement. Tout d'abord, parlons de différents types de fils. fils blancs. Il s'agit de fils d'exécution qui circulent entre les broches d'exécution. Ils permettent de maintenir le flux d'exécution d' un nœud à un autre. Et un conseil amusant ici, si vous survolez l'un de ces fils, vous pouvez le mettre en surbrillance comme ça pour le faire ressortir. Vous pouvez voir que je fais ça, distribue un peu tous les autres fils en bas. C'est plutôt cool, ça aide à se démarquer. Ensuite, nous avons des fils de données. Ils sont codés par couleur en fonction de leur type de données, ce qui, encore une fois, nous en apprendrons beaucoup plus sur types de données plus tard dans le cours. Ils transmettent des données d' un nœud à un autre. Ce fil rose représente donc un type de données de chaîne. Et encore une fois, il est dit que dans l' info-bulle lorsque je la souris dessus, si je saute sur notre bp ThirdPersonpersonnage, nous pouvons trouver quelques autres fils à code couleur. Ces fils verts représentent un type de données flottant qui est un nombre avec une virgule décimale. Il y a aussi un fil jaune ici. Il s'agit d'un type de données vectorielles. Une fois de plus, les fils de données sont codés par couleur en fonction de leur type de données. Parlons ensuite différentes façons de connecter les nœuds ensemble. moyen le plus courant consiste probablement à cliquer avec le bouton gauche et à faire glisser d' un type de broche à un autre type de broche similaire, comme ça. Cependant, vous n'avez pas à travailler de cette façon, de gauche à droite, vous pouvez travailler à l'envers. Si je devais déconnecter cette épingle, je pourrais faire quelque chose comme ça. C'est également une façon tout à fait valable de le faire. Vous pouvez également faire glisser et déposer certains nœuds sur d'autres nœuds. Regardez en bas ici à ma place le nœud 2D sonore, j'ai temporairement déconnecté mon son de micro de mon entrée sonore ici. Je pourrais faire quelque chose comme ça, où je clique avec le bouton gauche et que je glisse ça dans la greffe, je l'obtiens, puis je l'ai branché comme ça. Toutefois, il s'agit d'un processus en deux étapes. Nous simplifions la vie. Donc, parce qu'il s'agit du même type de données que celui recherché, je peux simplement le faire glisser et le déposer juste au-dessus de là, et il va le brancher automatiquement. C'est un truc très pratique. Maintenant, cela fonctionne non seulement pour la saisie de données, mais également pour la sortie de données. Donc, avant cette vidéo, j'ai créé ici une variable appelée Delta secondes du type de données float car cette tick d' événement peut générer des données flottantes. Si je clique avec le bouton gauche et que je fais glisser ça au-dessus d'ici, cela peut automatiquement. Pourquoi ces deux nœuds sont-ils ensemble ? Maintenant, nous n'avons pas parlé de l'obtention certaines données plutôt que de définir les données. Nous en parlerons davantage dans notre section sur les variables. Une autre façon de réunir les nœuds consiste à obtenir quelque chose de contextuel. Qu'est-ce que je veux dire par là ? Eh bien, laissez-moi vous montrer. Je vais sélectionner notre maillage de cube horizontal ici dans notre panneau de composants. Et avec cette option sélectionnée, je vais cliquer avec le bouton droit de la souris sur notre graphique ici. Et je vais faire une recherche pour un nœud appelé Sets material. Je peux donc définir le matériel pour mon cube horizontal ici. Si j'ai sélectionné ce nœud de fonction, il va automatiquement connecter notre composant de cube horizontal ici à ce nœud de fonction. Cela ne fonctionne pas seulement dans un plan de classe d'acteurs ou d'autres plans d'ailleurs. Mais ici, dans notre plan directeur de niveau , je peux également le démontrer. Laissez-moi donc revenir à ma carte de test ici. J'ai sélectionné mon cube, revenez dans mon plan de niveau. C'est un rappel sur la façon de le faire. Avec ce nœud sélectionné ou avec cette actrice sélectionnée. Je devrais dire que le cube a été sélectionné. Je peux cliquer avec le bouton droit de la souris et un espace vide. Je peux appeler une fonction sur cet acteur Static Mesh. Laissez-moi entrer dans la section rendu et je peux mettre l'acteur caché dans les jeux. Je connecte donc automatiquement une référence à mon cube, à cet acteur de jeu caché dans la fonction de jeu. Comme je l'ai brièvement démontré dans la dernière vidéo, si vous essayez de brancher une épingle à une autre et qu'elles ne sont pas compatibles, irréel va vous en informer. Donc, si je devais casser mon petit garçon ici, et j'ai essayé de le brancher ici. Ça va dire, OK, je ne peux pas le faire. L'événement a commencé à jouer dans l'épingle d'exécution essayant de le brancher dans une chaîne int, type de données de chaîne, Impossible de le faire. Longue histoire, courte, Unreal vous indiquera si vous pouvez connecter ces broches ou non. Parlons maintenant de certaines façons dont les fils peuvent être coupés. La méthode la plus simple consiste à maintenir la touche Alt enfoncée et à cliquer avec le bouton gauche sur le fil lui-même. Cependant, si vous n'êtes pas obligé de le faire sur le fil lui-même, vous pouvez trouver l'une ou l'autre des broches que le fil se connecte et maintenez simplement Alt enfoncée et faites un clic gauche sur la broche elle-même. Peu importe que ce soit de ce côté ou l'autre côté du fil de connexion. Une autre façon de le faire consiste simplement cliquer avec le bouton droit de la souris sur le nœud. Cliquez avec le bouton droit de la souris sur notre nœud de chaîne d'impression ici. Et est-ce que je clique avec le menu droit ? J'ai la possibilité de casser les liens de nœuds. Ça va le faire. Une autre façon de le faire consiste à cliquer avec le bouton droit de la souris sur l'épingle elle-même. Prenons donc cet exemple ici. J'ai cette référence de cube à l'intérieur de mon plan de niveau. Et j'ai eu ça branché à deux fonctions. Je peux donc cliquer avec le bouton droit sur cette épingle elle-même et je pourrais casser tous les liens épingles. Remarquez donc que je l' ai branché à deux nœuds de fonction différents ici. Si je voulais apporter les deux fils en même temps, il suffit de cliquer avec le bouton droit sur cette broche, casser toutes les liaisons de broches et de la flèche, tous déconnectés. Enfin, déplacer des fils une broche à une autre est l'une de mes astuces préférées. Au lieu de faire quelque chose comme ça, nous avons notre référence de cube et nous voulons l'accrocher à cela. Oh, maintenant, nous voulons le rattacher à ça. Il faut donc casser l' épingle et y aller. Oui, c'est très bien. Vous pouvez le faire. Toutefois, si vous maintenez la touche Ctrl enfoncée et que vous cliquez avec le bouton gauche sur l'épingle elle-même, vous disposez de cette petite icône de main. Vous pouvez faire glisser et déposer cela d'une épingle de données à une autre, comme ça, j'adore cette astuce. C'est un énorme gain de temps, n'est-ce pas, c'est quelques méthodes différentes pour câbler les nœuds ensemble. Ça va tout faire pour celui-là. On se voit dans le prochain. 17. Organisation de nœud: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'apprendre quelques trucs et astuces d'organisation de notes qui nous aideront à être plus efficaces, ainsi que d'écrire des scripts plus propres qui peuvent être lus plus facilement. Jusqu'à ce stade du cours, nous avons écrit des scripts assez basiques. Ils ne contiennent pas beaucoup de nœuds ou de fils. Et donc l'organisation de nos nœuds n'est pas si importante, mais à mesure que vous devenez plus avancé, vos scripts auront tendance à inclure plus de nœuds, à inclure plus de fils, et donc ces organisations. les options deviennent activées, si importantes pour des raisons de lisibilité. Donc, dans un plan de votre choix, je vais faire partie de mon exemple BP. Explorons quelques-uns de ces éléments et maintenant j'ai délibérément foiré une partie de l'organisation de nœuds que j' avais utilisée ici à l'avance. Si vous cliquez avec le bouton gauche et faites glisser le curseur, vous pouvez mettre en surbrillance une sélection de nœuds. Vous pouvez également maintenir la touche Contrôle enfoncée et cliquer avec le bouton gauche pour sélectionner plusieurs nœuds. Une fois que vous avez cliqué avec le bouton droit sur l'une de vos sélections, vous pouvez créer un menu contextuel dans l'une des catégories est l'organisation. Nous allons parler spécifiquement de ces options d'alignement. Et dans le petit menu « fly-out », vous pouvez voir que nous pouvons aligner nos nœuds le long du haut du nœud. Le bas est, le milieu est moins les centres, les droits, etc. Tous ces raccourcis sont associés à des raccourcis clavier. Comme vous pouvez le voir ici. Si vous regardez attentivement, c'est Shift plus W, A, S et D. C'est le mouvement de votre personnage sur le clavier qui correspond facilement au haut, au bas, à gauche et à droite. C'est très pratique. Je vais donc m'aligner le long du sommet ici, mais il y a un peu de nuance avec l'alignement que vous devriez connaître. Alors, permettez-moi d'aller de l'avant et de le faire. Vous pouvez voir comment il aligne tous ces nœuds le long du haut. Mais alors la question devient, eh bien, lequel de ces nœuds décide-t-il d'aligner deux ? Recommençons ça. Je déplace ça un peu hors de Kilter. Vous allez effectuer la sélection de contrôle de ces nœuds. J'ai donc 1234. Remarquez donc que Destroy Actor ici était le dernier nœud que j'ai sélectionné. Maintenant, si je clique avec le bouton droit de la souris, je vais à nouveau aligner le haut. Et notez qu'il aligne tout cela en fonction du dernier nœud que vous avez sélectionné. Maintenant, nous venons d' aligner en haut, mais vous pouvez imaginer ce que fait l'alignement à droite, gauche ou en bas. Ensuite, je veux parler du redressement des connexions. Plusieurs fois, à mesure que vos scripts deviennent de plus en plus complexes, vous pouvez avoir des nœuds qui se recroquevillent dans une zone, peut-être en arrière comme ça. Non, c'est un peu comme ça. Câblage de toutes sortes de façons bizarres. redressement des connexions est un moyen de les rendre très propres. Si je mets en surbrillance ces deux nœuds, non ? Comme cela et cliquez avec le bouton droit de la souris, vous pouvez voir que la touche de raccourci pour redresser les connexions est la touche Q. Et si je fais cela, vous pouvez voir comment cela permet de redresser cette connexion filaire. Ici aussi, il y a un peu de nuance. La première sélection que nous avons faite, et laissez-moi les enlever. Encore une fois. La première sélection que nous avons faite est le nœud que vous souhaitez redresser. La deuxième sélection que nous faisons. Dans ce cas, il s' agira de notre nœud de chaîne d'impression. Ce sera l'épingle du nœud que nous voulons en redresser deux. Remarquez donc cela en cliquant avec le bouton droit. Alignez Q. Nous nous sommes redressés sur cette épingle, ce nœud, nous nous sommes redressés à cette épingle. Ensuite, j'ai sauté sur mon plan de niveau où j' ai délibérément foiré l'organisation de certains de mes nœuds variables afin de pouvoir démontrer la distribution verticalement. La première chose que je vais faire est de cliquer avec le bouton gauche et de mettre en surbrillance tous ces nœuds variables. Et je veux d'abord les aligner sur la gauche. Donc, en maintenant la touche Maj enfoncée, je vais appuyer sur la touche A car Maj plus a est la touche de raccourci pour aligner le long de la gauche. Comme vous pouvez le voir verticalement, ils n'ont pas l'air très uniformément espacés. Il y a donc une option pour cela également. Je vais cliquer avec le bouton droit sur l'une de mes notes surlignées restantes ici. Ce sont tous des alignements surlignés et nous pouvons les distribuer verticalement. Et ce que cela va faire, c'est qu'il va les espacer uniformément entre le nœud le plus haut que j'ai sélectionné et le nœud le plus bas que j'ai sélectionné. Alors, jetez un coup d'œil. Il les a espacés uniformément entre mon nœud sélectionné le plus haut et mon nœud le plus sélectionné le plus bas. organisation des notes horizontalement n' est pas différente. Nous avons donc ici quelques nœuds de contrôle de flux qui sont un peu décalés. Je vais cliquer avec le bouton gauche et le faire glisser pour mettre en surbrillance ces quatre. La première chose que je vais faire est de maintenir touche Maj enfoncée et d'appuyer sur la touche W pour les aligner le long du haut ici. Et puis avec tous ces éléments en surbrillance, je peux cliquer avec le bouton droit de la souris sur l' un des quatre qui sont mis en surbrillance. Nous pouvons passer à l'alignement. Nous pouvons les distribuer horizontalement à uniformément, les espacer. Maintenant, avec ces nœuds sélectionnés, il existe plusieurs façons de les déplacer. Vous pouvez voir que j'ai tous les quatre sélectionnés. Je peux sélectionner n'importe lequel d'entre eux et déplacer les quatre tours comme ça. Cependant, je peux également utiliser les touches fléchées. Donc, en ce moment, j'appuie sur les touches fléchées, gauche, droite et haut, qui déplaceront également les nœuds. Autre chose que vous remarquerez peut-être que j'ai sur quelques nœuds. Voici un commentaire, un commentaire sur certains raccourcis clavier associés à l' intégration de quelques-uns de ces nœuds dans votre graphique. Comment obtenir un commentaire sur un nœud ? Il suffit de cliquer avec le bouton droit de la souris sur la note elle-même. Et là, vous pouvez laisser un commentaire de nœud. J'aimerais parfois le faire avec des raccourcis clavier, surtout lorsque je crée des vidéos comme celle-ci. Chaque fois que vous souhaitez vous laisser un rappel sur ce que fait un nœud, ou peut-être un cas particulier auquel ce nœud est confronté. cliquer dessus avec le bouton droit de la souris et d'ajouter très pratique de cliquer dessus avec le bouton droit de la souris et d'ajouter une comète noeud. En parlant de commentaires, vous verrez peut-être, si vous voulez, que j'ai cette boîte de commentaires autour de toute cette sélection de nœuds. Eh bien, comment ai-je eu ça ? Eh bien, c'est simplement une question de, laissez-moi simplement déplacer ces nœuds hors d'ici. Je vais supprimer ça. Vous pouvez cliquer avec le bouton gauche et le faire glisser pour créer cette sélection de chapiteau autour de tous vos nœuds. tous sélectionnés, vous pouvez appuyer sur la touche C pour créer une boîte commune. Au moment où vous le faites, vous pouvez voir plus loin dans le panneau Détails, vous pouvez donner un nom à votre zone de commentaires. Vous pouvez également le nommer ici. Permettez-moi de déplacer ces nœuds vers le bas parce qu'ils se chevauchent un peu. Vous pouvez également double-cliquer sur ce nom juste ici pour le renommer et accéder à votre commentaire. détails ici, je vais appeler ce contrôle de flux. Vous lui donnez également une couleur à la boîte ici. Quelque chose de vert. Peut-être. Vous pouvez également modifier la taille de la police. C'est très pratique lorsque vous faites un zoom arrière comme ça. Vous voulez peut-être quelque chose comme ça. Maintenant, une autre option vraiment utile avec cette bulle de nœud de commentaire est que vous avez ce mouvement en mode. Actuellement, si je devais sélectionner ma zone de commentaires, je peux déplacer tous les nœuds car mon mode de mouvement est défini sur Mouvement de groupe. Cependant, je peux également changer cela par la boîte de commentaires elle-même. Et je peux déplacer la boîte de commentaires personnellement, j'aime le mouvement de groupe. Une autre façon de créer une boîte de commentaires serait donc de mettre en surbrillance certains nœuds comme ça. Et comme vous pouvez l'imaginer, le menu contextuel vous donnera également la possibilité de créer une boîte commune. Je vais aller de l'avant et le faire et j'appellerai ces nœuds de boucle. Cela montre également que vous pouvez avoir une zone de commentaires à côté d'une autre zone de commentaires. Je pourrais donc me déplacer autour de ces nœuds comme ça, tout en déplaçant tous ces nœuds. Permettez-moi de revenir aux mouvements du GRU, y compris la sélection des commentaires à l'intérieur. Enfin, aucune vidéo d'organisation de nœuds ne peut être complète sans parler de reroutage des nœuds et de leur importance dans les Blueprints. Pour démontrer le nœud de reroutage, je suis dans mon mur de Blueprint, Scott, que vous pouvez trouver à la date d'aujourd'hui, dans le dossier Blueprints du contenu de démarrage, encore une fois, vous pouvez le démontrer dans n'importe quel plan, mais à l'intérieur ici, vous le voyez souvent dans des scripts où il a eu des fils traversant d'autres fils, fils traversant des nœuds, ce genre de choses. Est-il possible de rediriger ce fil ? Oui, vous pouvez. Et c'est à travers quelque chose qu'on appelle un nœud de réacheminement. Qu' est-ce que le nœud de réacheminement ? Il s'agit essentiellement d'un point défini, d'une bande, si vous voulez, que vous créez dans un fil. Pour les mettre en place, vous pouvez simplement double-cliquer sur n'importe quel fil comme ça. Double-cliquez ici sur un nœud de réacheminement. Il continue simplement le flux de données. Dans ce cas, vous pouvez également ajouter des nœuds de reroutage pour les fils d'exécution, comme cela. C'est génial de faire ce genre de choses là où on se penche en quelque sorte pour qu'il soit plus clair où ça va plutôt que de traverser les choses. Vous pouvez également introduire un nœud de reroutage en le faisant glisser hors de quelque chose et en saisissant des routages, vous pouvez ajouter un nœud de reroutage comme celui-ci. Et vous pouvez voir que ce point s'allume ici, ce composant, si vous voulez, est branché sur plusieurs de ceux-ci. Tant qu'elle se nourrit d'une note de reroute, je pourrais aussi faire quelque chose comme ça. C'est une façon tout à fait valable de le faire. Peu importe dans ce cas si je fais glisser la lumière ponctuelle à partir ici ou du point où il est réacheminé. Ces deux méthodes sont valables pour le faire. Donc le nœud de reroute super pratique aimait tellement. Et le moyen le plus simple de les obtenir est double-cliquer sur un fil. Les gars qui vont le faire pour cette vidéo sur l'organisation des nœuds, veuillez maîtriser ces trucs et astuces. Vous vous remercierez plus tard. 18. Niveau BP - Références d'objets de temps de conception: Bienvenue à tout le monde. Au cours des prochaines vidéos ici, nous allons parler de l'un des concepts les plus clés et les plus essentiels tous les scripts de Blueprint. C'est ainsi que vous pouvez créer une référence d'objet. Maintenant, c'est un concept tellement important et nous y parviendrons avant même de parler d'événements, de fonctions ou de variables. Parce que la plupart des scripts de Blueprints sont centrés sur manipulation d'objets d'une manière ou d'une autre. Par exemple, si vous deviez marcher sur un nouveau pick-up d'arme , vous ne pouvez pas collecter cette arme sans avoir une référence à cet objet. Peut-être que vous tirez sur un char avec un lance-roquettes. Eh bien, vous ne pouvez pas détruire ce char sans faire référence à cet objet à ce char. Ou peut-être voulez-vous ramasser des objets à récolter pour fabriquer de l' épée Maître, pour ainsi dire. Eh bien, vous ne pouvez pas collecter cet objet sans avoir une référence à cet objet. Nous allons maintenant parler de la façon de créer ces références d'objets non seulement dans les Blueprints de niveau, mais aussi dans les Blueprints de classe, et pas seulement pendant la conception, c'est-à-dire avant que le jeu ne s'exécute, également pendant l'exécution, c'est-à-dire le jeu est en cours d'exécution. Très bien, donc créer des références à côté de notre plan de niveau. Tout d'abord, je tiens juste à souligner que dans mon onglet Niveaux ici, je travaille dans mon niveau persistant. Et j'ai trois objets qui ont été ajoutés à ce niveau persistant, un cube, mon pick-up BP et mon Blueprint Construction Script. Et juste pour marteler le point que ceux-ci ont été ajoutés à mon niveau persistant, mes tests de niveau sont cartographiés, si vous voulez. Je vais simplement cliquer sur ce globe oculaire pour activer et désactiver cela afin que vous puissiez voir que oui, en effet, ils existent à l'intérieur de cette carte de test de niveau, autrement connue sous le nom de mon niveau persistant. Je vais revenir dans mes contours ici et je vais sélectionner les trois objets. Maintenant, vous pouvez les sélectionner ici dans votre port de vue en la touche Ctrl enfoncée et en cliquant sur 123. Sinon, si je clique dessus un instant, je peux les sélectionner ici dans mon plan, 123. Et vous pouvez voir que ces trois objets sont décrits ici dans la fenêtre d'affichage. Très bien, passons maintenant à notre plan de niveau en arrivant sous notre bouton Blueprint ici. Nous allons ouvrir notre plan directeur de niveau, même si je l' ai déjà ouvert en haut. Et quelque chose que je tiens à noter ici qu'actuellement mon Blueprint bas, j'ai deux graphiques d'événements. L'un d'entre eux s'appelait Event Graph, celui-ci était présent par défaut, et un autre appelé types de nœuds. J'ai créé celui-ci lorsque je parlais des différents types de nœuds. Maintenant, la raison pour laquelle je le mentionne est que dans mon graphe d'événements de type nœud, j'ai commencé à jouer cet événement. Vous ne pouvez commencer à jouer qu'un seul événement par plan directeur de niveau. Donc, si je devais travailler dans cet onglet Graphique d'événements et cliquer avec le bouton droit de la souris et faire une recherche pour Begin Play. Et cliquez dessus. Il va me sauter de cet onglet Event Graph vers l'onglet de type de mes nœuds. C'est là. Maintenant, je dois aussi fonctionner les nœuds ici. J'ai un nœud de retard qui va retarder pendant trois secondes, puis un nœud Destroy Actor. Donc, essentiellement, ce que je cherche à faire ici, c' est qu'au début du jeu, on va retarder trois secondes, puis on va détruire un acteur cible. Quels acteurs voulons-nous détruire ? Eh bien, j'ai sélectionné ces trois points ici dans mes ports de vue. Créons donc une référence à cela à l'intérieur de notre plan directeur de niveau. Maintenant, si je clique avec le bouton droit de la souris et un espace vide ici, je ne semble pas les voir du tout ici, cependant, il y a un raccourci pour cela. Je peux maintenir la touche R enfoncée ou, comme dans Robert, clic gauche et boom, ces trois références sont ajoutées même si elles se chevauchent. Vous pouvez donc les séparer. Comme ça. Maintenant, c'est ma façon préférée d' ajouter une référence à quelque chose qui existe au sein de votre niveau, à l'intérieur du plan de niveau. Cependant, si je retourne ici et que je ne sélectionne qu'un seul objet, je vais sélectionner mon exemple de pick-up. Je vais revenir à mon plan directeur de niveau. Je peux cliquer ici avec le bouton droit de la souris. Et lorsque vous n'avez sélectionné qu'un seul d'entre eux dans votre menu contextuel, votre troisième option en bas, vous pouvez également créer une référence à cela. une ou l'autre méthode fera personnellement, j'ai aimé le raccourci de maintenir la R, R enfoncée comme dans la touche Robert et cliquer avec le bouton gauche. Maintenant, j'ai deux références à mon exemple BP. Est-il acceptable d'avoir plus d'une référence au même acteur, au même objet ? Oui, c'est très bien. Il y a simplement des doublons à qui vous parlez. Même chose. Je vais juste supprimer l'un d'entre eux ici pour le moment. Comme vous pouvez le constater, tous ces acteurs proviennent du niveau persistant, ma carte de test LV. Et je peux brancher ces trois éléments à mon Destroy Actor. Et vous pouvez voir que je peux les câbler vers l'avant et vers l'arrière. Encore une fois, il est très important d'obtenir une référence d'objet parce qu' un script de Blueprint implique manipuler les acteurs d'une manière ou d'une autre. Dans ce cas, nous allons simplement la méthode de la force brute qui consiste à détruire l'acteur. Donc, si je joue à mon jeu maintenant, permettez-moi d'abord de compiler mon plan ici pour voir s'il y a des erreurs dans mon script. Gardez ça tout de suite. Allez-y et cliquez sur Jouer ici. Et vous pouvez voir au bout de trois secondes que ces trois acteurs sont détruits. Désormais, la création de références d'objet est cool, non seulement parce que vous pouvez affecter l'objet lui-même, mais vous pouvez également affecter les choses cet objet à un niveau plus granulaire. Laissez-moi vous montrer ce que je veux dire. Je vais me débarrasser de cette fonction Destroy Actor ici. Et avec mon exemple de ramassage BP, si je retourne là où cela se trouve dans mes dossiers ici, j'ai ici quelques composants auxquels je peux parler directement. Ceux-ci existent à l'intérieur de mon exemple BP pick-up. Et je veux affecter cette collision de sphère. Il s'agit actuellement de mon composant racine. Je vais donc modifier l' échelle de ce composant racine. Tous ces autres composants sont attachés à la racine. Donc, si je fais de l'échelle, ceux-ci vont également être mis à l'échelle. Donc comme celui-ci audio, mais celui-ci est actuellement vide et franchement je n'en ai plus besoin. Alors, permettez-moi d'aller de l'avant et de supprimer cela de là, compiler et de sauvegarder cela. Très bien, permettez-moi de revenir à mon plan de niveau. Et je vais m'éloigner de mon exemple ici. Et je vais chercher une collision de sphère. Et je veux aller jusqu' au fond. Souvent, lorsque vous recherchez quelque chose qui existe dans ce plan, c'est tout en bas. Et je veux avoir collision sphérique parce que je veux y faire quelque chose. Et puis, hors de ça, je vais traîner d'ici et taper en 3D à l'échelle mondiale. Donc, cette fonction fait ce que vous pensez faire pour augmenter ce composant de scène, c'est la cible. Je vais définir l'échelle pour qu'elle soit trois fois plus grande dans les coordonnées x, y et z. Nous allons donc le faire au bout de trois secondes. Et encore une fois, tous les autres composants de la croix verte, si vous voulez, ce qui est attaché à ce composant de collision racine de sphère. Ainsi, une fois cela mis à l'échelle, tout devrait être trois fois plus grand, y compris cette croix verte. Permettez-moi donc de compiler ça pour m' assurer que mon script est correct. Allons de l'avant et cliquez sur Jouer. Au bout de trois secondes, nous devrions voir ce changement. Oups, et j'ai accidentellement cliqué sur la fenêtre. Laissez-moi essayer encore une fois. En se concentrant sur cette croix verte, boom, trois fois plus grand. Essayons autre chose ici. Encore une fois en utilisant notre exemple de pickup bp, permettez-moi de supprimer certains de ces nœuds inutiles ici. Je vais supprimer ces gars. À l'intérieur de notre exemple de pick-up bp. Nous avons cette variable sonore de pick-up, et actuellement elle est réglée sur ce type de son d'interaction. Maintenant, je vais changer ça par un son de type explosion. Et je peux le faire dans mon Level Blueprint tant que j' ai une référence à cet acteur qui existe dans le niveau. Donc, une fois que j'aurai une référence à cela, je vais faire glisser un fil et taper un son de pick-up. Je peux obtenir ce son ou je peux régler ce son. Laissez-moi aller de l'avant et régler ça. Et maintenant, je peux changer le contenu de cette variable par quelque chose d'autre. Allons de l'avant et changeons cela en explosion. Et je vais faire en sorte que l'événement commence à jouer. Je change simplement la valeur de cette variable, cette variable de son pick-up, de ce son d'interaction à un son d'explosion. Très bien, alors une fois que je jouerai, vous entendrez une explosion. Maintenant, lorsque je recueille ce ramassage de santé, quelques autres informations intéressantes que je pensais mentionner pendant que j' étais ici avec cet exemple référence de ramassage dans notre plan de niveau, Si je devais cliquer dessus avec le bouton droit de la souris, je peux trouver cet acteur à un niveau. Donc, si jamais vous vous demandez, Hé, où cette chose existe dans mon niveau, vous pouvez aller de l'avant et cliquer avec le bouton droit de la souris, cliquer dessus et revenir à votre onglet de niveau, et cela vous sautera droit. chose d'autre à l'intérieur de votre plan de niveau que vous pourriez faire est de me laisser un peu expliquer où se trouve cette référence. Dites que je pars dans le no man's land. Je peux passer sous Window. Je peux passer sous, trouver des résultats dans, dans cette fenêtre de résultats, je peux simplement taper, saisissons simplement le ramassage. Et je peux trouver mon exemple BP ici. Je ne savais pas que j' allais aussi trouver mon son de pick-up, mais il y a en effet le mot pickup dedans. Il suffit de double-cliquer dessus pour me rendre à l'endroit où se trouve cette référence d'objet. Plutôt sucré. Très bien, il y a donc comment ajouter des références d'objets à l'intérieur de votre Blueprint de niveau, assurez-vous que les objets sélectionnés ici et votre niveau. Ensuite, vous pouvez faire un clic droit et un espace vide et créer une référence à celui-ci, ou maintenir la touche Alt enfoncée et cliquer avec le bouton gauche, ce qui vous permettra également d'y accéder. Ça va tout faire pour cette vidéo, les gars. On se voit dans le prochain. 19. Niveau BP - Références d'objet de temps d'exécution: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d' apprendre à créer des références à des objets à l'intérieur de votre Blueprint de niveau lors de l'exécution. Cela diffère des références d'objets temporelles de conception en ce qui va capturer et contenir des références à divers objets pendant que nous jouons au jeu. N'oubliez pas que le moment de la conception est avant le début du jeu. L'exécution est pendant que le jeu est en cours d'exécution. Maintenant, un cas d'utilisation courant est celui des objets ou des ennemis qui apparaissent dans le jeu pendant que nous jouons. Peut-être qu'une fois qu'un objet ou des ennemis apparaissent dans votre niveau, vous voudrez l'affecter d'une manière ou d'une autre. Pour ce faire, vous devez créer une référence pour cet objet. Vous devez contenir cette référence à l'intérieur d'une variable. Très bien, nous allons commencer ici à l'intérieur de notre carte de test de niveau. Et juste pour rendre les choses super claires, dans l'onglet Mes niveaux ouverts, j'ai mon niveau persistant comme niveau bleu, le niveau actuellement actif. Je vais ajouter des objets à partir de maintenant à mon niveau persistant, ne vais plus travailler à l'intérieur de mon sous-niveau. Je voulais juste que cela soit clair. Si vous souhaitez que ce niveau soit actif, vous pouvez double-cliquer dessus ou cliquer dessus avec le bouton droit de la souris et mettre à jour que la police bleue indique que c'est votre niveau actuel. Nous allons ajouter un acteur à ce niveau. Et pour ce faire, je vais rapidement ajouter au bouton Projet dans le menu déroulant toutes les classes. Et je suis à la recherche d'un acteur de notes. Je vais donc cliquer avec le bouton gauche et le faire glisser dans mon niveau et le placer juste ici. Maintenant, dans un acteur connu, si vous jouez au jeu, vous ne voyez pas cette icône ici. J'utilise simplement cet acteur comme moyen de définir un point dans l'espace où je veux créer quelque chose. Maintenant, notez que j'ai actuellement sélectionné mon acteur de note, et je peux voir que je l'ai sélectionné ici dans mon plan. Assurez-vous que cette option est sélectionnée car nous allons créer une référence d'objet de conception temporelle pour cela dans une seconde seulement. Alors, en arrivant sous mon bouton Blueprints ici, je vais passer au plan de niveau, même si je l'ai ouvert ici, c' est comme ça que vous pouvez revenir dans votre plan de niveau. Et ce que je vais faire, c'est que je vais passer à l' onglet Graphe E Event juste ici. Dans un espace vide, je vais créer une référence temporelle de conception à cet acteur de note. Je vais maintenir la touche R enfoncée et cliquer avec le bouton gauche. Vous m'avez donc vu faire ça dans la dernière vidéo. Il s'agit d'une référence temporelle de conception. Je vais y revenir dans un instant, mais j'ai besoin d'une clé de l'événement. Je vais cliquer avec le bouton droit de la souris et un peu d'espace vide et taper le seul bouton. Je vais ajouter un événement clavier lorsque j' appuie sur la touche unique de mon clavier. Et souvent cela, une fois que j'ai appuyé sur ce bouton, je vais traîner de cela et taper acteur de frai de la classe. C'est une fonction super pratique, non, qui va apparaître dans quelque chose que nous lui disons depuis ce menu déroulant. Que voulons-nous faire apparaître ici ? Je vais apparaître dans quelque chose de visuel. Faisons apparaître dans ce feu d'effet Blueprint. Cela provient du Starter Content Pack. Encore une fois, si vous n' avez pas ce pack constant lorsque vous organisez ce cours, n' importe quoi fera quelque chose de visuel. Donc, peu importe ce que vous y mettez. Mais je vais choisir le feu. Cependant, je dois dire à cela où je veux que cela apparaisse et c'est là que cette transformation de frai entre en jeu. Et je dois brancher quelque chose dans cette entrée de transformation pour qu'elle sache quoi créer et ensuite où. C'est donc pour cela que ces acteurs de notes vont être utilisés. Je vais m'en sortir et taper la transformation de l'acteur. La transformation correspond à l'emplacement, la rotation et en fait aux informations d'échelle de cet acteur noeud. Mais nous ne nous préoccupons vraiment que des informations de localisation. C'est donc très bien que nous utilisions toute la transformation ici. Branchez ça dans ma transformation de frai. Et c'est ici que nous allons créer une référence d' objet d'exécution. Nous allons stocker quelque chose à l'intérieur d'une variable pendant que le jeu est en cours d'exécution. Donc, en dehors de cette valeur de retour ici, lorsque je survole l'épingle, il indique qu'il retournera une instance de ce Blueprint, l'objet feu. Maintenant, je veux stocker cela dans une variable afin que je puisse l'affecter manière ou d'une autre pendant que le jeu est en cours de jeu. Je vais donc cliquer avec le bouton droit sur cette épingle et taper Promote to variable. Ce faisant, dans ma section variable, j'ai créé un nouveau feu d'effet de Blueprint. Mais je dois donner un nom à ça. Je vais appeler ça le feu promu. C'est un très bon nom. Donc, même s'il s' agit d'une variable, je peux aussi la compiler. Actuellement, lorsque je compile cela, je regarde la valeur par défaut dans et je me dis, OK, ce site de Blueprint sera l' effet de feu Blueprint, type feu. Mais pour l'instant, nous n'avons rien à l'intérieur d'ici. Cependant, une fois que j'ai appuyé sur une touche, cet acteur apparaîtra à cet endroit, puis le placera à l'intérieur de cette variable. Il sera essentiellement contenu à l'intérieur de ce conteneur pendant que nous jouons au jeu. Maintenant, nous allons simplement le faire au moment de l' exécution afin que nous puissions le détruire. Donc, en bas, je vais cliquer avec le bouton droit de la souris sur les deux touches, deux entrées. Ils vont descendre jusqu'à l'événement clavier à touche. Et en dehors de ça, je vais faire entrer le type, Destroy Actor. C'est une fonction très visuelle. C'est pourquoi je l'aime tellement quand je prépare ces cours. Et ensuite, il va dire, quel objet aimeriez-vous détruire quel acteur ? Eh bien, je peux simplement faire glisser et déposer ça directement sur la cible pour lui demander de le détruire. Notez maintenant que si je jouer et appuyer sur les deux touches, je le ferai maintenant pour démontrer quelque chose. Je joue le jeu. Laissez-moi voir si je peux mettre ça dans une fenêtre latérale ici. Vous pouvez voir mes scénarios. Je vais juste appuyer sur les deux touches pour, pour, pour, pour, pour, pour, ouops, je dois sélectionner une option de débogage ici. allons choisir mes cartes de test afin que nous puissions voir le flux d'exécution ici. J'appuie donc sur ces deux touches et vous pouvez voir cette impulsion vers la gauche lorsque j'appuie sur les deux touches. Mais regardez ça. Quand je frapperai Escape, j' aurai quelques erreurs. Et la raison pour laquelle je reçois une erreur, c'est parce qu'elle dit : «  Hé, on ne trouve rien à l'intérieur de cette variable. Nous essayons de détruire cette chose, mais il n'y a rien là-dedans. La raison en est donc que rien n'est actuellement stocké ici. Cependant, lorsque nous appuyons sur le banquet, nous allons créer un acteur qui aura un effet de feu de plan, puis nous le stockerons à l'intérieur de cette variable. Nous avons créé une référence d' objet stockée à l'intérieur de cette variable. Essayons donc encore une fois. Cliquez sur Lecture. Mon acteur de note était donc un tour au-dessus de l'endroit où se trouve la tête de mon personnage ici. Je vais donc appuyer sur une touche. Il y a cet effet de feu qui vient d'apparaître. Et je vais appuyer sur les deux touches disparues. Et je peux encore appuyer sur une touche. Une autre instance de ce pare-feu, renseignez cette variable, appuyez sur la touche F2, disparue. Maintenant, quelque chose qui vaut la peine d'être noté ici, je vais revenir à ma carte de test de niveau. Et je vais changer mon option de jeu ici, en cliquant sur ces trois points. Il se transforme pour être lu non pas dans une nouvelle fenêtre d'éditeur, mais dans cette fenêtre d'affichage sélectionnée. Je le fais parce que si vous regardez dans le contour, sur le côté droit, lorsque j'appuie sur une touche, vous verrez que cet acteur est apparu dans ma liste d' objets dans le contour. Alors, jetez un coup d'œil. Vous pouvez opprimer la seule touche. Vous voyez que le feu de l' effet Blueprint apparaît juste au-dessus de mon exemple BP. ramassage deux va le détruire un à un. Et juste pour le signaler, c' est dans le Outliner juste là. Essayons un deuxième exemple ici. Ici, je vais placer sous les volumes, volume de déclenchement, un volume de déclenchement juste en face de l'endroit où mon personnage va apparaître. Et je vais juste le dimensionner un peu pour assurer que mon personnage a facilement le chevauchement. Je vais le ramasser légèrement par terre. Ensuite, avec cette option sélectionnée, je vais sauter dans mon Blueprint de niveau ici, et je vais cliquer avec le bouton droit de la souris sur ajouter un événement lorsque nous chevauchons ce début, le chevauchant. Et encore une fois, il déclenche un événement de volume comme ceci est sur le chevauchement de l'acteur peut nous dire qui est l'autre acteur qui se chevauche fait ce que je vais ceux que je vais faire, je vais cliquer avec le bouton droit sur cette épingle et je vais faire passer cela à une variable. Et ce faisant, vous pouvez nous donner un nom. C'est par défaut le nom ici pour moi à un autre acteur. Parce qu'avant l'enregistrement de cette vidéo, je l'avais entré en tant que nom. Vous pouvez cependant appuyer sur F2 là-dessus pour le renommer. Ainsi, une fois que nous le chevauchons, il peut stocker une référence à cet acteur qui l'a chevauché pendant l'exécution pour savoir qui était l'autre acteur. Juste pour nous assurer que nous savons qu'en fait, il y a des chevauchements. Je vais juste jouer un son, entendre n'importe quel son. Je vais également élever le son ici. Nous jouerons sûrement. Un obturateur de caméra, ce n'est que deux. Prévenez-nous, c'est en fait quelque chose qui s'est passé. C'est donc génial. Mais supposons que lorsque notre personnage se chevauche ce volume de déclenchement, c' est, oh, c'est négatif d'une manière ou d'une autre. C'est peut-être une sorte de nuage de gaz toxique qui va nous rétrécir. Donc, une fois que nous avons une référence à notre acteur ici, nous pouvons les affecter d'une manière ou d'une autre. Je vais donc m'éloigner d'ici et faire référence à mon autre acteur. Et de là, je vais taper l'échelle de mots. Nous allons définir l'échelle de l'acteur en 3D. Et j'appuierai sur les valeurs 0.5.5.5 dans chacune de ces valeurs. Allons donc, en jeu ici. Une fois que j'ai compilé, compilé , je vais vérifier que mon script est bon. Allons jouer. J'ai défini ma carte de test comme objet par défaut que je débogue ici. Nous pouvons donc voir ces scripts se déclencher. Voici la fenêtre de mon lecteur. Alors juste en face de moi, ce volume de déclenchement invisible. Vous m'avez entendu chevaucher ça. En ce moment. L'autre acteur a été peuplé pendant l'exécution ici. Dès que j'appuie sur la touche, l'autre acteur, alias moi à ce point, ils agissent ou seront mis à l'échelle à moitié. On y va. J'appuie sur la touche unique en ce moment. Boom, en bas. J'y vais. Un autre exemple ici. Avant de boucler ce problème, nous allons montrer comment créer plusieurs références aux acteurs pendant l'exécution. J'ai actuellement dupliqué mon exemple de ramassage ici. Vous pouvez le faire simplement en faisant glisser et en déposant instances individuelles ou par alt, en cliquant avec le bouton gauche et en faisant glisser l'une d'entre elles pour créer une autre instance. Donc, dans mon plan de niveau de mon événement de 16 km, ce que je vais faire, c'est que je vais traîner sur un fil et taper, obtenir tous les acteurs de la classe. Et dans la classe d'acteur, je peux insérer dans mon pick-up mon exemple BP. Et cela peut générer toutes les instances de cet acteur. Je vais donc cliquer avec le bouton droit de la souris sur cette épingle des acteurs. Je vais promouvoir cela à une variable et appeler cela mes acteurs de pick-up. C'est un tableau. Encore une fois, je sais que nous n'avons pas parlé de types de tableaux, mais un tableau est essentiellement une liste d'un type de variable, dans ce cas, sont BP exemple pickup. Il va stocker tous ceux qui sont à l'intérieur d'ici afin que nous puissions les affecter d'une manière ou d'une autre. Et ce que nous allons leur faire, c'est glisser hors de cette épingle et taper pour chaque boucle. Et encore une fois, j'ai une vidéo dédiée à la boucle for-each à venir. Donc, si vous ne savez pas ce que c'est en ce moment , ce n'est pas grave. Donc, pour chaque article de cette liste que nous stockons ici, nous allons y faire quelque chose. Et ce que nous voulons faire, c'est pour chaque élément de cette liste, l'élément tableau, nous allons obtenir le nom complet. Et ensuite, nous allons imprimer ceci à la fenêtre de notre lecteur, en accrochant ça comme ça. Cliquez sur cette liste déroulante. Je vais changer cela par un texte de couleur rose parce qu'il se distingue un peu plus. Donc, ce qui se passe ici c'est que dès que j' appuie sur la touche unique, nous allons chercher tous les acteurs d' une classe donnée qui existe à mon niveau. Et nous allons les stocker pendant que nous jouons au jeu à Runtime à l'intérieur de cette variable de tableau, ils seront tous de ce type de variable, mon exemple BP. Ensuite, pour chaque élément de cette liste, nous allons imprimer leur nom complet à l'écran. Allons de l'avant et donnez-nous une pièce de théâtre. Et encore une fois, j'ai la carte de mes tests de niveau répertoriée ici. Il y a des acres, il incrémente ce nombre chaque fois que je joue au jeu. C'est donc ce qu'est ce chiffre. Vous n'avez pas à vous soucier de la signification de ce numéro. Ici, on y va. Cliquez et jouez. Notez maintenant en haut à gauche ici, lorsque j'appuie sur une touche, vous allez voir ce flux d' exécution passer par ici. Et il répertorie les cinq instances de mon exemple de ramassage. Je peux le faire encore et encore. Je suis juste en train de spammer pour le moment. Maintenant, si vous le savez ici dans mon Level Blueprint, si je clique sur ma liste d' acteurs de pick-up ici dans l'éditeur. Eh bien, il n'y a rien à l'intérieur ici. Une fois de plus, nous remplissons le contenu de cette variable pendant l'exécution, nous le capturons à l'intérieur de cette variable. Nous allons donc faire quelque chose à partir des deux événements ici. Définissons la durée de vie du centre commercial Shelley. Une fois que nous aurons une référence à cette liste d'acteurs, je peux alors saisir cette liste d' acteurs, la faire glisser et la déposer. Enlevons-le de ça. Je vais taper pour chaque boucle, nous allons faire quelque chose pour chaque élément de cette liste. Et ce que nous allons faire, c'est hors des éléments du tableau. C'est donc pour chaque élément de cette liste, je vais définir leur durée de vie. Une fois encore. Chacun d'entre eux a une propriété de durée de vie que je pourrais affecter. Je vais changer cette durée de vie en deux secondes. Très bien, et laissez-moi juste réduire ça un peu. J'ai défini mes cartes de test comme option de débogage. Je vais cliquer sur Play. Permettez-moi de déplacer cette fenêtre de lecture et d' ici un peu, en appuyant sur une touche pour remplir cette liste de variables. Il est maintenant peuplé. Donc, quand j'appuie sur les deux touches, une pour disparaître. Donc, vous l'avez tous. Voici quelques-unes des nombreuses façons de créer références d'objets d'exécution à l'intérieur de votre Blueprint de niveau. Nous avons parlé de la façon de faire cela à partir d' un acteur d'apparition à partir d'un nœud de fonction de classe. En outre, lorsque vous superposez un volume de déclenchement, nous pourrions également frapper un autre objet qui le ferait. Aussi, nous avons parlé de la façon de faire cela d'une fonction de tous les acteurs de la classe. C'est ainsi que vous pouvez obtenir plusieurs acteurs. Il y a d'autres façons d'être sûr, mais j'espère que cela vous donnera une grille, désolé, les gars, qui fera tout pour cette vidéo. On se voit dans le prochain. 20. Cours BP - Références d'objets de temps de conception: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est apprendre à créer des références à des objets de niveau à l'intérieur d'un Blueprint de classe. Ce faisant, nous allons pouvoir écrire un script à l'intérieur d'un Blueprint de classe qui peut affecter les objets de niveau, les choses situées ici dans notre niveau. C'est un truc très pratique à connaître et irréel pour créer un système de réglage simple par niveau. Nous allons donc le faire, même si juste un peu d' avertissement ici, ce sera un système de réglage super simplifié et j'utilise des guillemets aériens ici. Très bien, nous allons commencer dans notre dossier de présentation des scripts de contenu. Et dans un espace vide, je vais cliquer avec le bouton droit de la souris et je vais créer une nouvelle classe de Blueprint. Cela va être basé sur un cours d'acteur parce que nous allons placer cela à l'intérieur de notre niveau. Je vais donc nommer ce trait de soulignement BP L V, qui va signifier les paramètres de soulignement de niveau. Ensuite, je vais double-cliquer dessus pour l'ouvrir. Et je vais ajouter un composant ici, et je vais ajouter un panneau publicitaire. Dans ce panneau d'affichage, par défaut, les composants nous donnent cette icône Sprite de type tête de dragon. C'est celui avec lequel je vais me lancer. Vous pourriez changer cela pour être autre chose, mais cela va désigner dans mon niveau que c' est votre acteur de paramètres de niveau BP. Je vais également en faire la racine parce que je veux me débarrasser de cette icône de racine de scène par défaut. Laissez-moi simplement glisser et déposer ça juste en haut de là. Cela va en faire la racine et donc le seul IC d'icône. Maintenant, si je place ça dans mon niveau, je peux voir cette petite icône de tête de dragon. Oui, les têtes de dragon vont représenter mes paramètres de niveau dans le panneau Détails. Si vous effectuez une recherche de panneau d'affichage et encore une fois, vous devez sélectionner ces Blueprints de paramètres de niveau . Vous pouvez le réduire à l'échelle du panneau d'affichage de l' éditeur. Je vais changer cela pour être dix fois la taille habituelle. Juste pour que cela se démarque vraiment. Cet acteur ne sera pas vu lorsque vous jouez au jeu, mais pour quelque chose comme un acteur de réglages de niveau, j'aime rendre cela très proéminent, très facile à voir. Et encore une fois, on ne voit pas ça dans le jeu, donc pas de soucis là-bas. Très bien, la prochaine chose que nous allons faire est de créer une variable à l'intérieur de notre Blueprint de paramètres de niveau ici. Par conséquent, dans la section variables du panneau Mon Blueprint, les variables. De plus, nous allons ajouter une variable appelée Musique. Et nous allons changer le type de variable ici d' une valeur booléenne à une ambiance. Son, son ambiant dans la référence de l'objet. Maintenant, dans le panneau Détails, il est écrit « hey », compilez ceci pour définir une valeur par défaut. Je vais donc le faire. Cependant, je vais laisser ce champ vide. Nous allons définir cela dans notre éditeur de niveaux afin de pouvoir définir cette variable particulière à partir de l'éditeur de niveaux, je dois soit cliquer sur cette petite icône de globe oculaire proche soit cocher cette boîte où il est indiqué que l'instance est modifiable. Vous voyez maintenant si je devais retourner à mon éditeur de niveau avec cet acteur sélectionné, permettez-moi de sortir. Je ne vois pas cette variable musicale, expose à l'intérieur de mon éditeur. Cependant, si je clique sur cette icône de globe oculaire, qui fait la même chose que de cocher cette case modifiable d' instance. Et je l'ai compilé et je l'ai sauvegardé. Maintenant, dans mon éditeur de niveaux qui a été exposé ici dans le panneau Détails de mon éditeur de niveaux. Ce que cela me permet de faire, c'est de définir la valeur de cette variable ici dans l'éditeur sur un acteur. Dans l'éditeur, je pouvais cliquer sur cette liste déroulante. Et je vois cependant qu'il n'y a rien ici. Mais il y a cet acteur de pipette de scène qui me permettrait de choisir un fichier sonore qui existe dans mon niveau. Allons donc chercher un son à jouer. Je vais sélectionner mon dossier de contenu ici. Et je vais utiliser l'option Filtres. Et je vais chercher sous le son. Et nous ferons une recherche fichiers d'ondes sonores qui rechercheront n'importe quel fichier d'onde sonore n'importe où dans mon dossier de contenu ou n'importe quel de ses sous-dossiers. Je veux trouver cette musique de départ. Je vais donc simplement faire glisser ça dans mon niveau, comme ça. Maintenant, si je devais jouer à notre jeu, entendez leur musique s'échapper. Et la raison en est que notre musique de départ, laissez-moi simplement, avec cette option sélectionnée, activer ma fenêtre d'affichage ici et appuyer sur la touche F pour me concentrer dessus. Ma musique vedette dans le panneau Détails a une propriété d' activation automatique cochée. Je vais vérifier ça pour le moment. Et maintenant, si je joue, je n' entends pas jouer cette musique de niveau, en appuyant encore une fois sur Escape. Ce que je veux faire maintenant, c'est dans le côté de mes paramètres de niveau BP ici, je veux définir la valeur de ma variable musicale sur ce morceau de musique. Nous y voilà. Je vais choisir un acteur dans la scène. Je vais sélectionner cet acteur sonore ambiant. Et maintenant, il va insérer cette musique vedette dans mon réglage de niveau BP. Donc, tout va bien et bien. Cependant, à l'intérieur de mon paramètre de niveau BP, je n'ai aucune écriture pour dire cela pour la jouer. Je peux changer cela en allant dans le graphique des événements et en faisant quelque chose hors de l'événement. Commencez à jouer ici. Permettez-moi de supprimer ces deux autres acteurs. Maintenant, je peux faire glisser une référence à ma variable musicale ici, cliquer avec le bouton gauche, faire glisser. Nous allons l'obtenir. Et si je sors d'ici et que je tape le jeu de mots, je peux lire les composants audio. longue histoire, courte, si vous faites glisser hors de la musique, cette variable, la variable sonore ambiante juste là, cela apportera automatiquement ce composant audio. Nous pouvons fixer un délai. Je vais cliquer avec le bouton droit de la souris et un peu d' espace vide et taper un délai. Donc, nous ne l'entendons pas tout de suite si nous le faisons passer par ici aussi. Disons donc qu'au bout de deux secondes, nous commencerons au tout début de cette piste musicale. Compilons et sauvegardons pour nous assurer que notre script est bon. Et si je joue au bout de deux secondes, tu ne joues pas ça. Essayons un autre exemple ici rapidement. Ici, dans notre section variables, je vais cliquer sur ce bouton Plus. Et je vais taper la lumière directionnelle comme nom. Il va me donner le son ambiant comme type variable parce que c'est la dernière chose que j'ai créée. Je veux changer cela. Et je vais changer cela par une lumière directionnelle, une objet lumineux directionnel, et non la référence de l'objet lumineux directionnel du composant. Maintenant encore une fois, si je compile ici, s'agit d'une variable vide. n'y a rien à l'intérieur d'ici. Mais aussi une fois de plus, si je coche cette case modifiable d'instance, cela rendra vie à cette icône du globe oculaire, celles-ci font la même chose. Et je compile ça et je retourne à mon éditeur de niveau. J'ai maintenant exposé cette variable à l'éditeur de niveaux une fois mes paramètres de niveau BP sélectionnés ici. Maintenant, la raison pour laquelle j'ai défini cela pour être exposé est que lorsque nous avons créé notre niveau de carte de test, je sais que par défaut, il y avait déjà un acteur de lumière directionnelle dans ce niveau. C'est-à-dire, ce type ici, ce genre d'icône de lumière du soleil avec cette flèche blanche suspendue à ce type. Ce que je peux faire, c'est avec mes Blueprints de paramètres de niveau sélectionnés. Je peux régler ma lumière directionnelle à l'intérieur de mes paramètres de niveau BP pour parler à cet acteur en particulier. Alors, laissez-moi cliquer sur la pipette ici et regarder. Il sait que ces objets ne sont pas valides. Toutefois, c'est valable. Aucun de ces autres n'est non, mais c'est un acteur de lumière directionnelle. Nous pouvons donc définir celui-là. Boom, il est maintenant prêt. Revenons à nos paramètres de niveau BP. Et si je glisse et que je dépose ça dans nos graphlets d'événements , je vais le faire glisser et taper des sets. L'intensité réglera ici l'intensité de notre composant lumineux, car la lumière directionnelle est constituée d'un élément de jambe. Et nous allons définir notre intensité ici à, essayons une valeur de 500 par exemple. Je continue le flux d'exécution juste après notre début de jeu , puis le retard de deux secondes. Au bout de deux secondes, nous allons entendre notre musique se lancer. Il y a une pression sur la touche Q là où cela s'avère utile. Ensuite, nous allons également définir l'intensité de notre acteur de lumière directionnelle ou scénario compilé est beau. Allons-y et jouons. Vous pouvez voir que nous n'entendons pas seulement la musique. Ce sont donc des exemples assez extrêmes ici, mais nous avons créé un acteur de niveau très basique. Et remarquez le pouvoir ici. Je pouvais aussi faire glisser et déposer cet acteur de réglage de niveau dans d'autres niveaux et mettre un morceau de musique unique et des lumières directionnelles uniques. Tant que je pointe vers une lumière directionnelle pour cette variable et un son ambiant pour cette variable musicale. Vous devez donc les avoir dans vos niveaux. Eh bien, hups, acteur principal directionnel dans l'acteur de musique. Mais c'est ainsi que nous définissons des objets de niveau acteurs de niveau dans nos paramètres de niveau BP. A Class Blueprint, gars qui vont tout faire pour cette vidéo, nous vous verrons dans la prochaine. 21. Cours BP - Références d'objets de temps de course: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d' apprendre à créer des références à des objets de niveau à l'intérieur d'un Blueprint de classe lors de l'exécution, c' est-à-dire pendant que nous jouons au jeu. Maintenant, c'est vraiment utile lorsque, par exemple, vous voulez que votre personnage interagisse avec quelque chose dans votre monde. Et puis il a voulu faire quelque chose à cette chose avec laquelle vous avez interagi. Très bien, pour montrer cet exemple que j'ai pour vous aujourd'hui, je vais mettre quelques trucs à l'intérieur de notre plan ThirdPersonnage, cela fonctionnera à l'intérieur d' une première personne personnage aussi. Mais encore une fois, c' est le personnage que nous utilisons pour ce projet. Allez-y et double-cliquez dessus pour l'ouvrir. Passons à l'onglet Viewport car nous allons voir un composant ici dans un petit peu. Nous allons ajouter un tout nouveau composant à notre liste de composants. Nous allons ajouter des composants de flèche. Allez-y et cliquez dessus. Et je vais appeler ça mon point de fin de trace de ligne. Et avec ces composants sélectionnés, l'emplacement x pour cela, je vais être 300. Les unités irréelles touchent Entrée. Et si je balaie un peu, en maintenant le bouton droit de la souris enfoncé, ma fenêtre d'affichage, j'ai configuré mon composant de flèche pour qu'il soit en avance sur mon personnage ici de 300 unités irréelles. Maintenant, ce que nous voulons faire ici c'est que nous allons envoyer une ligne invisible dans l' espace en utilisant ce composant pour nous aider ici, nous allons vérifier si cette ligne invisible entre en collision avec n'importe quoi. Et si c'est le cas, nous allons déterminer quelle est cette chose qui nous a frappé afin que nous puissions l'affecter d'une manière ou d'une autre. Ce faisant, nous pouvons créer une référence d'objet lors de l'exécution pendant que le jeu est en cours d'exécution. Passons donc à notre graphique d'événements. Je vais entrer dans un espace vide. Par défaut, les Blueprints de classe de caractères reconnaissent les événements d'entrée. Je vais donc maintenir enfoncée, ou plutôt cliquer avec le bouton droit de la souris et taper la touche 0. En passant, tous les Blueprints de classe ne reconnaissent pas les événements d'entrée par défaut, mais la classe de caractères le fait. Désactivé d'appuyer sur la touche 0. Nous allons introduire un nœud de fonction appelé trace de ligne par canal. Il existe de nombreux nœuds de fonction de suivi différents. Celui que nous recherchons est la trace de lignes par canal. Bien plus tard, nous parlerons de certaines de ces traces. Et cela va être beaucoup plus avancé que là où vous en êtes si vous commencez par les plans. Mais la nature circulaire de l' apprentissage des plans d'Unreal Engine est que pour le savoir, il faut le savoir. Et pour le savoir, vous devez savoir à ce sujet. Donc, si vous ne comprenez pas cette partie ici, c'est tout à fait très bien. Nous allons aborder certains de ces concepts. Il suffit de supporter avec moi. Il s'agit simplement de montrer une technique permettant d'obtenir une référence d' objet d'exécution. Très bien, donc ce nœud va envoyer une trace de ligne invisible dans notre monde ici. Par où voulons-nous commencer cette trace ? Eh bien, que diriez-vous d' avoir commencé chez nos acteurs ? Donc je vais faire un clic droit et un espace vide Typing obtenir l'emplacement de l'acteur. Et cela renverra l'emplacement de nous-mêmes ou de nos plans de personnage tiers. C'est là que nous allons commencer ça. Où allons-nous mettre fin à cela ? C'est pourquoi j'ai inclus ce composant de point de terminaison de trace de ligne. Je vais faire glisser et déposer une référence à cela dans notre graphique. Et puis je vais m'en sortir et je veux obtenir l'emplacement mondial de ces composants. Donc, je vais commencer cette trace de ligne invisible dans notre monde à l'emplacement de notre personnage à la troisième personne. Et il va s' étendre jusqu'à notre ligne aux points de terminaison de traçage. Donc d'ici à ici, bien, en allant ici, ce que nous allons faire, c'est cette tenue. Essentiellement, cela va nous donner beaucoup de résultats différents sur ce que cela a touché. Et je peux faire apparaître les résultats du succès ici en tapant un résultat d'évasion. Cliquez ici sur cette flèche vers le bas. Donc cette trace invisible, cette ligne invisible qui est criée au monde peut nous donner toutes sortes d'informations, y compris ce qui a été l'acteur qui a frappé. Il peut générer toutes ces informations. Celui que nous cherchons à obtenir est l'acteur à succès. Maintenant, ce que nous pouvons faire, c'est un clic droit là-dessus. Nous pouvons promouvoir cela à une variable. Faisons ça. Et gardons le nom Hit Actor ici. Et vous pouvez voir que le type de variable n' est qu'un acteur générique. Maintenant, là-haut, je vais sortir un fil de là et taper une branche. Et je vais brancher notre valeur de retour ici dans la condition. Ce que nous allons dire ici, c'est que nous voulons seulement continuer au-delà de cette branche. S'il était vrai que nous avons touché quelque chose, nous n'allons exécuter que ce qui est au-delà de cette branche ici. S'il est vrai que notre trace de ligne a touché quelque chose, c'est notre état. Nous allons donc faire glisser un fil de ce type dans le son de lecture vers D. Ayons un petit retour sonore pour si nous avons effectivement frappé quelque chose. Réglons notre son ici pour qu'il s'agisse de n'importe quoi, mais je vais le régler pour qu'il soit cliqué sur un bouton. Bien sûr. Nous allons y aller. Ça a l'air bien. là, je vais brancher ce flux d' exécution pour mettre notre acteur à succès. Donc, en fait, si nous l'avons fait quelque chose, si et seulement si nous avons frappé quelque chose, allons-nous définir le contenu de cette variable si je compile, remarquez ici que la valeur par défaut est pas seulement si notre trace de ligne touche quelque chose. Eh bien, nous définissons le contenu de cette variable et nous allons le faire en jouant au jeu. là, étendons un fil et saisissons une impression, une chaîne. Et de notre Hit Actor. Sortons d'ici et saisissons le nom d'affichage. Nous allons donc imprimer le nom de la chose que nous avons cachée. Laissez-moi dessiner ce script ici. Donc, si vous voulez mettre en pause la vidéo ici et jeter un coup d'œil là-dessus, vous pouvez voir ce que nous avons construit. Je ne peux pas garder, pas tout à fait obtenir le bon niveau de zoom ici. On y va. Un autre paramètre qui serait utile ici pour définir notre type de débogage Draw pour qu'il soit de durée. Ce faisant, lorsque nous appuyons sur la touche 0, nous verrons un peu de ligne là-bas, une ligne de débogage, si vous voulez, être filmée dans le monde. Nous pouvons donc voir que ce canal de traçage laisse la visibilité. Pour l'instant, il s'agit de notre canal de suivi par défaut. Il s'agit essentiellement d'une chaîne de noms que nous allons filmer cette ligne d'au-delà. Très bien, et avec cela, nous pouvons réellement compiler cela, l'enregistrer. Allons jouer pour voir si on peut voir une ligne fermée. Encore une fois, nous appuyons sur une touche 0. Là, vous voyez cette ligne rouge être abattue. Cette ligne rouge est en train d'être abattue. Maintenant, la raison pour laquelle vous voyez la ligne rouge être filmée dans le monde, mais vous ne voyez pas ce flux d' exécution dans mon script en haut est une fois de plus, parce que je n'ai pas défini mon option de débogage. Je dois donc jouer en premier. Et une fois que je joue, ça va faire entrer mon personnage dans le monde, alors je peux définir mon personnage BP ThirdPersonnage. Permettez-moi d'apporter cette fenêtre de jeu une fois de plus. Donc, lorsque j'appuie sur la touche 0, je peux voir ce flux d' exécution en cours. Je ne frappe rien. Vous voyez donc que le flux d' exécution s'arrête au niveau de la branche. Cependant, si je vais sur une chaise objet, vous avez entendu le son en haut à gauche et ma fenêtre de jeu, il imprime le nom de chaise S M, cube, exemple pick-up. Et ça ne va pas traverser ça. C'est ça qui frappe ce banc du tout. Et la raison pour laquelle il ne frappe pas ce banc, c'est parce que ce banc Static Mesh n'a pas de collision dessus. C'est pourquoi il saute ça. y a donc quelque chose à garder à l'esprit. Mon mur Construction Script aussi. Ok, donc tout va bien et bien. Nous définissons cette référence d'objet au moment de l'exécution, mais affectons cette référence d' objet d'une autre manière une fois que nous en avons capturé une référence. Nous allons donc simplement mettre un peu de script supplémentaire en bas ici. Je vais cliquer avec le bouton droit de la souris et un peu d'espace vide. Apportons le bouton neuf de saisie. On y va. Et de là, je vais faire venir notre Hit Actor. Allons comprendre ça. Et puis faisons glisser un fil hors de ce type dans est valide, cette version de point d'interrogation. Et s'il s'agit d'un objet valide, cela signifie-t-il ? Si c'est valide, nous allons traîner hors de ce qui a été Destroy Actor. La cible. Nous voulons être notre acteur à succès. C'est ce que nous voulons détruire. Double-cliquez dessus pour créer un nœud de réacheminement. Il y a peu de propreté. Essayons donc d'encadrer ce script ici, ces deux scripts, pour que vous puissiez les voir fonctionner. Laissez-moi aller de l'avant et jouer. Essayez de réduire un peu cette fenêtre de jeu ici. Très bien, si je devais aller de l'avant et appuyer sur la touche neuf maintenant, ce que vous remarquerez, vous pouvez voir qu'elle sort de la neuf touches sur le côté gauche pendant que je spam là-dessus. Mais il n'avance pas au-delà du nœud est valide car il n'y a pas d'acteur de frappe valide qui est une variable vide. Cependant, pressons la touche fléchée. J'ai maintenant vérifié s'il s'agit d'une chaise en définissant cette variable. Maintenant que j'appuie sur la Nike, l'acteur à succès a été peuplé. Et boum, ça va adieu. Marcher jusqu'à ce cube, en appuyant sur la touche 0 qui a maintenant été définie comme mon nouvel acteur à succès. En appuyant sur la Nike, boum, ça va adieu. Maintenant, il est important de noter ici que Hit Actor n'est qu'un acteur générique. Nous ne savons pas quel objet nous avons touché et nous ne pouvons donc pas modifier les variables qui sont appelées fonctions spécifiques à cette référence d'objet. Si nous voulions le faire, nous pourrions lui lancer cet objet pour assurer qu'il est d'un type donné. Encore une fois, cela va être un peu plus avancé pour ce que vous en êtes en ce moment, nous parlerons de casting plus tard dans le cours. Mais juste pour montrer brièvement comment vous pourriez faire quelque chose comme ça, je vais juste modifier un peu plus ce script ici. Essayons quelque chose comme ça de mon acteur à succès. Je vais aussi lancer. Nous ferons un exemple de ramassage. On va jeter et vérifier si c'était un exemple de pick-up. Et si c'est le cas, faisons évoluer ce type à l'échelle mondiale. Nous allons définir l'échelle mondiale de notre collision de sphère, laquelle tous les autres composants sont attachés. Et nous allons définir notre échelle mondiale pour qu'elle soit, disons, trois fois plus grande et les x, y et z. Donc encore une fois, notre trace de lignes est ce qui va être peuplé, créant une référence à notre Hit Actor variable. Si c'est valide, nous allons vérifier s' il s' agit d'un exemple de plan de ramassage. Et si c'était le cas, nous allons augmenter la taille trois fois plus grande. Permettez-moi donc de minimiser ce chemin ici. Sauter et jouer, lutter contre la touche 0. Je ne veux pas m'approcher trop de ça. Appuyez sur la touche 0 dès maintenant. Mon acteur à succès est maintenant prêt. Encore. Il y a eu un jeu. Laissez-moi juste reculer pour ne pas chevaucher accidentellement lorsque je monte à l'échelle. Maintenant, je vais appuyer sur la touche F9. Et Wallah, c'est que l'échelle mondiale est beaucoup plus grande. Très bien, vous l' avez là, les gars. Il existe un cas d'utilisation très pratique d'une référence d'objet d'exécution. Encore une fois, il existe d'autres moyens de le faire, mais une trace de ligne est un moyen très utile, surtout à l'intérieur d'un plan de personnage. Cela fera pour offrir à ces gars, à vous voir dans le prochain. 22. Références d'objets moulés: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'apprendre à lancer sur un objet afin de créer une référence à quelque chose. Tout d'abord, qu'est-ce que le casting ? Le casting permet de vérifier si un type d'objet donné appartient à une classe spécifiée. Maintenant, vous m'avez vu faire ça dans mon exemple BP ici. Nous avons vérifié ce qui chevauche notre sphère de collision ici, c'est-à-dire cette sphère ici. Dans ce cas, nous cherchions à voir si cet autre acteur, si la chose qui se chevauchait était un personnage de troisième personne que nous lancions pour voir si c'était le troisième personnage. Maintenant, s'il s'agit d'un type de classe spécifié, dans ce cas, le ThirdPersonCharacter. Nous pouvons ensuite immédiatement capturer cet objet comme référence. Et plus important encore, faites des choses spécifiques à cet objet. Il peut y avoir des fonctions, des variables ou des composants à l'intérieur de notre classe spécifique qui lui sont propres. Par conséquent, je veux dire, si nous capturons ici une référence à notre ThirdPersonnage, si c'est vrai, nous pouvons capturer la référence à notre ThirdPersonnage. Cela signifie ThirdPersonnage. Nous pouvons parler aux composants ici. Nous avons des variables à l'intérieur d'ici. Nous pouvons les modifier d'une manière ou d'une autre. Nous pouvons modifier certaines des variables par défaut de classe à l'intérieur d'ici. Des choses comme le nombre maximum de sauts, ce qui est amusant avec lequel jouer. Indice, indice, vous pouvez double, triple saut avec ce paramètre, toutes sortes de choses. Notez donc que ce sujet de casting est un sujet dont nous allons parler plus loin dans la section Communication Blueprint plus loin dans ce cours. Mais pour cette vidéo, nous allons simplement parler de la façon de créer des références d'objets en les lançant sur une chose donnée. Très bien, nous allons montrer quelques exemples ici dans ma carte de test de niveau. Tout d'abord, je veux vérifier que vous avez un acteur débutant dans votre niveau. Et si ce n'est pas le cas, vous pouvez passer sous votre petit bouton ici pour ajouter rapidement à votre projet. Et dans la catégorie Toutes les classes ici, vous pouvez trouver un acteur débutant, ce type juste là, glisser-déposer l'un d'entre eux. Assurez-vous d'en avoir un dans votre niveau. Et ensuite, si vous venez ici, vous avez ces trois petits points pour changer votre mode de jeu en place. C'est ici que vous pouvez modifier pour lire le port de vue sélectionné ou une nouvelle fenêtre d'éditeur. Au fait, cependant, je veux attirer votre attention sur ce joueur d'apparition à l'heure actuelle, nous avons coché cela, c'est-à-dire coché pour créer un personnage de joueur au début de notre joueur par défaut se trouve à cet endroit d'acteur juste ici. Je pourrais changer cela, changer cela par l'emplacement actuel de la caméra. Donc, où que je sois dans le niveau, si je clique sur Jouer, je pourrais apparaître à partir de cet endroit que je regarde en ce moment. Cependant, nous voulons que ce jeu lancé par défaut pour cette vidéo. Très bien, avec cela, nous allons créer un script pour capturer une référence de personnage à l'intérieur de notre plan de niveau. Une fois de plus, vous pouvez accéder à votre Blueprint de niveau ici et ouvrir vos Blueprints de niveau. Boom. Maintenant, je veux faire quelque chose en dehors de l'événement Begin Play. Maintenant, plus tôt dans ce cours, j'ai créé un deuxième graphique d'événements et je l'ai nommé types de nœuds. Et j'ai mentionné que nous ne pouvons commencer qu' un seul événement selon nos plans de niveau. Je vais donc simplement le supprimer d'ici et faire tout ce travail à l'intérieur de notre graphique d'événements de base ici, notre graphique d'événements par défaut, qui est actuellement vide. Alors ici, je vais cliquer avec le bouton droit de la souris et taper commencer, jouer. Événement B chez les plaquettes. Allez-y et ajoutez-y. Ensuite, je vais cliquer avec le bouton droit de la souris. Et dans un espace vide, je vais taper un personnage git player. C'est une fonction vraiment pratique ici qui va simplement renvoyer le personnage que vous, un joueur solo, jouez, car dans ce cas, l'index des joueurs est 0. Nous n'avons qu'un seul joueur, ce sera donc nous. dehors de ça. Nous pouvons faire glisser et taper Cast to ThirdPersonCharacter. Si vous jouez avec un modèle de personnage à la première personne ici, vous pouvez passer à un personnage à la première personne. Nous allons lancer à notre bp un personnage de troisième personne. Ce que nous faisons ici, c'est que nous allons obtenir notre personnage de joueur et nous allons ensuite vérifier, hé, s' il s'agit d'un personnage de troisième que vous contrôlez ou est-ce autre personnage qui que vous aviez affecté dans les paramètres de votre projet ? Et encore une fois, nos paramètres de projet sont accessibles ici, les paramètres du projet, ainsi que sur les cartes et les modes. Dans le mode de jeu que nous avons sélectionné, nous pouvons voir notre classe de pion par défaut. Actuellement, nous utilisons par défaut une classe de personnages à la troisième personne lorsque nous jouons à ce jeu. Mais c'est une façon de vérifier, hein, est-ce qu' on joue en tant que personnage à la troisième personne ? Maintenant, c'est là que la chose entre réellement en jeu, où nous utilisons un casting pour créer une référence d'objet juste ici tant que personnage à la troisième personne. Nous allons cliquer dessus avec le bouton droit de la souris. Nous allons promouvoir cela à une variable. Dès que nous le ferons, il va brancher deux fils à cette variable centrale ici. Ainsi, dans notre section Variables, il a créé une nouvelle variable de caractères à la troisième personne qui est un type qui lui a été donné. Le nom. Nous pouvons changer cela. Je vais juste changer ça pour devenir « Character Rugh ». Et puis je ferai un clic droit sur ce nœud et je laisserai un commentaire au nœud et appellerai simplement cela promu. C'est ainsi que nous avons créé cette variable. Nous l'avons promu à partir de notre début de jeu ici. Nous allons capturer une référence à notre ThirdPersonnage. Super sucré. Cela signifie que nous pouvons ensuite en faire quelque chose. Et c'est génial de faire ce genre de choses. Souvent, hors d'un événement, commencez à jouer, car une fois que vous avez une référence à un acteur donné, tapez un objet donné, alors vous êtes prêt à partir. Vous pouvez influer de la manière dont vous le souhaitez. Je vais donc créer un script ici pour ensuite affecter la référence de notre personnage. Cliquons avec le bouton droit de la souris dans un espace vide. Et je vais juste taper un certain nombre de clés. Saisissons le seul événement Shelley. Et de là, je vais faire glisser notre référence de personnage. Il va dire, voulez-vous l'obtenir ou le régler ? Je veux obtenir une référence à notre personnage de joueur et l'offrir. Je vais taper dans mon ancien monde de la scène, à l'échelle 3D. Maintenant, que voulons-nous définir en 3D ici ? Mettons notre maillage. Et si nous allons dans notre Blueprint ThirdPersonnage, nous parlons à ce type ici même avec les composants sélectionnés. Notre personnage en maille ou personne, notre mannequin, si vous voulez. Femme mannequin, si vous voulez. Très bien. Donc, lorsque nous appuyons sur le banquet, nous allons définir notre échelle mondiale et ne pas la laisser à 0 , car vous allez disparaître. Allons-y 0.5.5.5. Et compilons ceci pour nous assurer que nos scripts sont beaux. Nous allons le sauver. Définissons ensuite notre option de débogage nos cartes de test afin que ce soit les scripts que nous verrons se déclencher. Allons-y et jouons. En fait, permettez-moi de m'assurer que j'ai défini cette nouvelle fenêtre d'éditeur. Revenez à mon plan de niveau. Maintenant, nous avons déjà créé cette référence de personnage que nous avons commencé à jouer. Mais si j'appuie sur une touche pour l'instant, vous verrez que ce script s'est effectivement déclenché. J'ai capturé cette référence de personnage dans Event Begin Play, et j'appuie sur la touche qui a réglé mon échelle à 0,5. Maintenant, vous pouvez voir que je suis en train de marteler sur la seule clé. Maintenant, il ne va pas continuer à le régler à la moitié de la taille, moitié de la taille, à la moitié de la taille. Je viens de le dire, je l'ai réglé à la moitié de sa taille habituelle juste là. C'est donc un exemple de diffusion vers notre ThirdPersonCharacter, créant une référence d'objet. Très bien, essayons un autre exemple ici. Cette fois, ne pas utiliser un personnage joueur, un personnage à la troisième personne ou à la première personne . Je vais passer sous mon bouton ici pour obtenir du contenu. Je vais ajouter une sphère. Allons de l'avant et ajoutons une sphère à notre niveau. Je vais l' élever en l'air. Et puis je vais définir quelques paramètres, un sur ma sphère ici, puis un sur ce treillis de sol. Tout d'abord, je vais renommer ma sphère ici en cliquant dessus et en appuyant sur F2. Et je vais appeler ça mon bal de physique. Cela aidera à compenser un peu ça. Il s'agit d'un acteur de maillage statique. Ensuite, dans le panneau Détails, je souhaite cocher une case appelée simuler la physique. Et sous cette section physique il est ici, simulez la physique. Maintenant que ça va faire dès que je jouerai au jeu, cette balle va tomber par terre. Allons de l'avant et cliquez ici. Et vous pouvez voir, oups, je veux aller, en fait, je n'ai pas besoin de jouer au jeu. Je vais brièvement configurer ça pour simuler. Et dès que je le ferai, vous verrez que le renflement est tombé sur le sol. simulation consiste donc à exécuter le jeu, pas à jouer au jeu, mais vous avez vu les résultats. Que se passe-t-il lorsque vous lancez le jeu sans jouer ? C'était le mode simulation. Maintenant, il est bloqué en mode simulation, je vais revenir à la nouvelle fenêtre de l'éditeur. Près de vous avez vu cette balle tomber encore une fois, Shift et F1 me remettra le curseur de ma souris. Laissez-moi sortir de là. Ok, donc nous avons mis notre balle pour simuler la physique qui est importante. Ensuite, allez de l'avant et sélectionnez votre treillis de sol ici. Et ce que je veux faire ici, c'est que je veux chercher quelque chose appelé simulate génère des événements de succès. Et si je passe sous ma section de collision ici, voici une case à cocher que je recherche pour simuler, générer, toucher des événements. Il s'agira d' une balle simulée, ce qui signifie qu'elle aura de la physique dessus. La simulation génère des événements de frappe pour cet étage signifie qu'elle générera un événement de frappe pour un objet simulé, alias cette balle physique. Il est donc important que cette case cochée pour déterminer ce que nous allons faire. Ensuite, nous allons accéder à notre plan directeur de niveau. Cependant, je veux m' assurer que notre plancher est d'abord sélectionné ici. Assurez-vous donc d'avoir sélectionné votre plancher et dans votre plan directeur de niveau. Passons à droite ici, je vais cliquer avec le bouton droit de la souris et un espace vide. Nous allons ajouter un événement pour une collision au sol et nous allons participer aux événements à succès d'acteurs. Ensuite, nous allons vérifier quel était l'autre acteur. Ils m'ont frappé. Donc, si on s'en sort, on peut aussi lancer. Passons à un acteur de mailles statiques. Pourquoi lance-t-on un acteur de mailles statiques ? Eh bien, nous faisons appel à un acteur de mailles statiques parce que notre balle physique ici, si je sélectionne cela, le type d'acteurs qu'il s'agit, est un acteur de mailles statiques. Bon, revenons dans notre plan de niveau ici. Et encore une fois, promouvons cela une variable en cliquant avec le bouton droit de la souris sur cette épingle, en promouvant une variable. Et je vais renommer cette boule de physique comme ça. Le type est un acteur de maillage statique. Et nous allons simplement imprimer quelques textes après cela. Je vais m'en sortir. Nous pouvons imprimer des chaînes ou imprimer des textes. Je vais simplement utiliser des textes imprimés dans le champ de texte. Je vais changer ça pour toucher le sol. Je vais cliquer dessus avec le bouton droit de la souris et laisser un commentaire de nœud et appeler cela promu. Très bien, faisons aussi quelque chose ici avec une clé. Je vais cliquer avec le bouton droit de la souris. Apportons une clé à deux clés. Whoops, c'était F2. Je veux dire, on pourrait vraiment le faire à partir de n'importe quoi. Je vais juste faire les deux clés parce que c'est évident. Et ensuite, nous voulons obtenir une référence à notre bal de physique ici. Par conséquent, glissons-le et déposons-le dans le graphique. Nous allons l'obtenir. Et puis, de ce moins simplement, tapez le matériel de jeu. Nous voulons définir un matériau sur les composants statiques du maillage, comme cela. Et nous dirons qu'une fois que nous aurons appuyé sur le tube et que nous changerons notre matériau en, je vais taper de l'or. Vous pouvez changer cela par ce que vous voulez. Donc encore une fois, je vais m'assurer que mon option de débogage est définie sur la carte de test de niveau. Allez-y et cliquez sur la pièce ici. Vous résolvez ce feu juste en haut alors que j' ai attrapé la fenêtre ici, vous pouvez voir que je l'ai parfaitement attrapé pour que vous puissiez voir ce pouls couler à travers l'acteur frappé. Nous sommes en train de jouer à notre acteur statique Mitch. Nous capturons notre boule de physique là-bas, n'importe quelle variable que nous y créons une référence et nous l'imprimons à l'écran, nous frappons le sol. Et il est imprimé plusieurs fois là-bas. Une fois que j'ai appuyé sur les deux touches, cela devrait devenir de l'or massif. Et voilà que tu y vas. Vous avez un ballon de physique qui est devenu de l'or massif. Vous pouvez voir qu'il enregistre à nouveau ces événements à succès, encore une fois que je les roule à travers le sol. Parce que, bien sûr, pourquoi ne le ferait-il pas ? Très bien, donc vous l'avez là. Vous avez quelques exemples d'entre nous pour créer une référence d' objet. Beaucoup d'autres choses que nous aurions pu mettre en valeur. Vous pourriez en trouver une certaine utilité. Cela fera tout pour ces gars, nous vous verrons dans le prochain. 23. Widget BP Références: Bienvenue à tout le monde. Nous commençons cette leçon ici sur Internet en montrant quelques exemples, dans ce cas, dans l' écran d'inventaire d'une légende de Zelda, étendue de la nature. Et je veux aussi montrer cet exemple du HUD de Legend of Zelda en jeu, à l'échelle de la nature. Donc, dans l'irréel, si vous voulez créer quelque chose comme compteurs de santé ou des mini-cartes ou des messages dans le jeu, ou dans l'écran d'inventaire, n'importe lequel de ce genre de choses, vous devez créer des plans de widget. Notre objectif dans cette vidéo est donc d' apprendre à créer une référence à un Blueprint de Widget. Nous n'allons donc pas vraiment nous pencher sur la façon de créer des Blueprints de widgets. Bien que nous le fassions, c'est un tout autre cours en soi. Mais une fois que vous avez créé une ressource Widget Blueprint, comment créer une référence à celui-ci ? Nous allons, dans cette vidéo créer un de ces atouts. Nous allons juste mettre en place un simple compteur de santé. Il ne sera pas fonctionnel. On va juste supporter avec simple m'a aidée à gagner sa capuche. Nous allons maintenant créer une référence pour pouvoir activer et désactiver les bactéries dans Unreal Nous allons commencer par créer un nouveau dossier à l'intérieur de notre dossier de script, Je vais cliquer avec le bouton droit sur Nouveau dossier. Je vais appeler ça des Widgets. Ensuite, à l'intérieur d'ici, je vais cliquer avec le bouton droit de la souris sur la droite. Nous allons passer sous l'interface utilisateur. Et nous voulons créer une ressource Widget Blueprint dans la fenêtre contextuelle qui apparaît, elle va nous demander de choisir un widget d'itinéraire. Tout ce que nous voulons faire, c'est sélectionner le widget le plus courant, celui de l'utilisateur. Encore une fois, il ne s'agira pas d'une leçon sur la façon de créer tous les aspects d' un Blueprint de Widget. Je vais simplement nommer ce HUD de soulignement WPP. Ensuite, nous double-cliquerons dessus pour ouvrir cette ressource Widget Blueprint. Bref, ce que vous pouvez faire ici, c'est que vous pouvez faire glisser et déposer différents éléments, ces différents widgets de ce panneau de palette juste ici dans cette fenêtre d' affichage pour tracer une sorte d'écran, un capot, un écran de menu, une notification textuelle, tout ce genre de choses. Nous allons créer un HUD très basique, avec une barre de santé. Et nous allons commencer par ajouter un widget de panneau de canevas. Donc, sous le panneau du palais, je vais chercher un panneau de toile. Le panneau Canvas est essentiellement un tableau de bord qui va être le widget sur lequel nous pouvons coller d'autres widgets. Je vais donc faire glisser et déposer ça juste ici. Boom, nous voyons ce contour vert dans la hiérarchie. Il affiche ici la liste de tous les widgets que vous avez ajoutés à votre Blueprint Widget. Nous avons donc actuellement ce panneau de toile et nous donnant un tableau technique géant, si vous voulez, sur lequel coller les choses. Super. Ensuite, nous allons ajouter des composants de boîte horizontale. Horizontal Box est simplement une boîte vide qui peut contenir d'autres widgets. Je vais faire glisser ça en haut à gauche ici parce que je veux que mon HUD ait une sorte de mètre dans le coin supérieur gauche de mon écran. Maintenant, il s'agit actuellement de cette taille, de cette taille prédéterminée. Cependant, je vais ajuster cela en une seconde ici, mais juste pour étendre cela, je vais changer ma taille x ici avec cette sélection pour être quelque chose, je ne sais pas, 400, Allons 500, probablement un peu long, quelque chose comme ça. Encore une fois, il s'agit simplement d'une boîte vide qui peut héberger d'autres widgets. Ensuite, je vais trouver un widget texte ici sous la section commune. Et je pourrais glisser-déposer ça au-dessus de ma boîte horizontale pour que cela soit contenu à l'intérieur de cette façon. Ou je peux simplement le faire glisser et le déposer ici à l'intérieur de ma boîte horizontale comme ceci, vous pouvez voir cette petite indentation ici montrant cette relation. Actuellement, ce widget de texte est contenu dans notre boîte horizontale. Je vais changer le texte ici. Donc, avec cette option sélectionnée dans le panneau Détails, je vais changer ce texte qui dit bloc de texte pour simplement « santé ». Je vais y donner quelques espaces parce que je vais ajouter un compteur de santé, si vous voulez, juste à droite de ça. Donc, en appuyant sur Entrée, Boom va changer cela en Santé. Ensuite, je veux qu'un compteur passe juste à droite ici. Vous pouvez l'ajouter en ajoutant un widget de barre de progression. Je vais donc une fois de plus faire glisser ça à l'intérieur de ma boîte horizontale. Maintenant, dès que je fais ça, ça va apparaître comme cette petite dalle grisâtre, si vous voulez, qui ne ressemble pas du tout à un mètre. Par conséquent, la façon dont nous pouvons changer cela est avec ce widget sélectionné, ce widget de barre de progression sélectionné dans le panneau Détails, nous pouvons modifier la taille pour qu'elle devienne un remplissage. Boom, voilà. Maintenant, pour remplir cela, nous avons cette couleur de remplissage et opacité qui sont actuellement définies en bleu. Vous pouvez cliquer dessus pour modifier la couleur. Je vais devenir vert, un peu de vert. Bien sûr, c'est bien. Mais ce pourcentage ici va déterminer comment Fill this est actuellement. Il est rempli à 0 %. Je vais donc cliquer avec le bouton gauche et faire glisser et vous pouvez voir comment cela peut aller entre 01. Cela va donc essentiellement d'une échelle de 0 à 1, 0 à 100 %. Et vous pouvez choisir votre type de remplissage de barre, gauche à droite, de haut en bas, de droite à gauche. Quoi que vous vouliez le faire, je vais laisser la valeur par défaut là. Cela va très bien marcher pour moi. Donc, ce que cela a créé, je vais simplement compiler cela. Nous allons le sauver. Génial. Nous avons créé ce Blueprint Widget. La prochaine chose que nous allons faire ici est de créer un script qui va créer ce widget. Ensuite, nous allons créer une référence à ce sujet. Nous allons l'ajouter à notre fenêtre d'affichage, ce qui signifie qu'il apparaîtra dans notre jeu. Ensuite, nous allons ajouter un peu de script pour qu' une fois que nous aurons cette référence à notre HUD, nous puissions activer et désactiver la visibilité de ce HUD. Je vais utiliser le Blueprint ThirdPersonpersonnage pour cela. Maintenant, si vous créez quelque chose comme le HUD, vous n'utiliserez généralement pas le Blueprint de personnage pour afficher ou masquer le HUD. Mais comme il s'agit d'un plan que nous avons utilisé jusqu'ici, je vais l'utiliser uniquement pour montrer comment créer une référence à un Blueprint de Widget. Ouvrez donc votre Blueprint Personnage de la troisième personne. Si vous avez oublié où cela se trouve dans votre navigateur de contenu, vous pouvez le trouver ici sous Blueprints tiers. À l'intérieur d'ici, sautez sur le graphique des événements. Et nous voulons faire quelque chose hors du jeu de l'événement. Je vais donc cliquer avec le bouton droit de la souris, commencer à jouer, même commencer à planifier. Boom. Et souvent cela, nous allons faire glisser un fil et taper un widget de création. Cela va dire actuellement construit aucun, car nous n'avons aucun widget ici pour créer. Cependant, si vous sélectionnez cette classe, petite liste déroulante, nous pouvons trouver notre Blueprint Widget que nous venons de créer. Maintenant, une fois que nous l'avons sélectionné , nous avons défini cela. Cela va dire, d'accord, que c'est le Blueprint du widget que vous souhaitez créer. Super. Mais nous n'avons pas encore enregistré cela comme référence. Cliquez avec le bouton droit de la souris sur cette valeur de retour ici. Pour promouvoir cela à une variable. ce que nous faisons. Il va créer cette variable dans ma section Blueprints. Il sera du type WB P HUD. Et je vais le nommer de façon appropriée. Nous BP HUD. Comme je l'ai déjà fait, je vais cliquer dessus avec le bouton droit de la souris. Et dans la zone de commentaires du nœud, je vais juste laisser ça comme promu. C'est ainsi que nous avons créé cette référence à notre HUD de widget. Et ensuite, ce que nous allons faire, c'est glisser hors d' ici et taper Ajouter à la fenêtre d'affichage. Donc, essentiellement, ce que nous faisons ici c'est au début du jeu, une fois que notre personnage est apparu dans le jeu cet événement commence à se déclencher. Nous allons créer ce Blueprint Widget. Nous allons créer une référence à ce Blueprint Widget à l'intérieur de cette variable. Il va donc le capturer à l'intérieur d'ici. Ensuite, nous allons l'ajouter à la fenêtre d'affichage, ce qui signifie qu'il devrait apparaître dans notre jeu. Allons de l'avant et compilons ceci pour nous assurer que notre script est bon et qu'il l'est. Et puis je vais jouer juste pour vérifier que nous voyons ce HUD dans le jeu. Et voilà. Dans le coin supérieur gauche de l'écran, vous pouvez voir que notre barre de santé ne fonctionne pas. Très bien, maintenant que nous avons une référence à cela, créons un petit script pour montrer ou masquer cela. À l'intérieur d'ici. Je vais cliquer avec le bouton droit de la souris et un espace vide. Je vais faire venir, faisons les cinq clés. Et apportons une référence à notre Blueprint Widget, faites-le glisser et déposez cela. On va s'en sortir. Je vais traîner et je vais rechercher une fonction appelée définir la visibilité. Et je vais appuyer sur Control C et Control V pour créer un doublon, une copie de celui-ci, puis un collage de celui-ci. Ce sera notre cible. Lorsque nous appuyons sur ce bouton, nous voulons que cela soit caché. Définissez donc la visibilité ici pour qu'elle soit cachée. Et puis, lorsque nous le publierons, nous allons dire à nouveau ce widget d'être visible. Maintenant, comment ai-je pu savoir que cette fonction était disponible pour moi ? Eh bien, plusieurs fois, ici dans notre Blueprint Widget, si vous regardez les différents widgets que vous avez ajoutés à votre hiérarchie, vous pouvez voir toutes vos propriétés dans la droite ici, le panneau Détails. Et l'un d'eux pour ce widget particulier est la possibilité de l' afficher ou de le masquer. Comme vous pouvez le constater en ce moment, j'ai cette barre de progression, visible ou non visible. Tout cela peut être montré ou non affiché. La visibilité peut être visible ou non visible. Ici, je dis, Hey WPP, quand j' appuie sur les cinq touches, je veux te cacher. Lorsque je le publie, je veux qu'il s' affiche une fois de plus et nous pouvons le faire car nous avons capturé une référence à compilation de notre Widget Blueprint. Cela permettra de vérifier que votre script est bien. Disons ceci. Je vais jouer. Là. Vous pouvez le voir. Je vais appuyer sur les cinq touches et la maintenir enfoncée. Il est maintenant caché. Et quand je le relâche, il s'affiche encore une fois. Il y a donc des gars. ne s'agissait pas d'une vidéo sur la façon de créer un Blueprint de Widget qui, encore une fois, c'est tout un autre cours. Mais comment créer une référence à des notes de Blueprint Widget. Vous pouvez créer des références à des Blueprints de widgets à partir de Blueprints de classe ou d'un Blueprint de niveau ou de sous-niveau. références aux Blueprints de widgets sont généralement créées lors de l'exécution, peut-être à partir d'un jeu ou peut-être partir d'un volume de déclenchement lorsque vous chevauchez éléments comme une arme pour une sorte de ramassage notification ou notification de ramassage AML, ce genre de choses. Ça va tout faire pour cette vidéo, les gars. Nous vous verrons dans le prochain. 24. Références de tag: Bienvenue à tout le monde. Dans cette vidéo nous allons découvrir comment balises ajoutées aux acteurs peuvent être utilisées pour trouver des objets, créer des références à des objets, puis affecter ces objets référencés. Alors, un tag, de quoi parlons-nous ici ? Eh bien, une balise est essentiellement une étiquette ou un mot-clé que nous attribuons à un associé à un acteur donné. Et ensuite, si un acteur a une étiquette donnée, nous pouvons l'affecter de telle manière que nous puissions créer une référence à cet objet. On peut appeler une fonction, faire toutes sortes de choses sympas. Nous allons donc le démontrer ici. Avant de le faire, si vous voulez jouer à la maison, j'ai trois acteurs différents à mon niveau. Le plafonnier Blueprints est situé à cet endroit. Si vous avez le contenu de démarrage, j'en ai un ici. Cet émetteur de feu se trouve à cet emplacement dans le dossier de contenu de démarrage. Et puis ce cylindre que je viens d'attraper ici. Boom, un cylindre si vous voulez jouer à la maison. Très bien, nous allons donc ajouter un tag commun qui est une sorte de mot-clé à ces trois acteurs. Et je vais trouver cette balise dans le panneau Détails avec mon cylindre sélectionné en recherchant une balise. Et je vais réduire ça aux balises de composants ou aux balises d'acteur. Nous voulons ajouter une balise d'acteur, associée à l'ensemble de cet acteur. Encore une fois, différents acteurs peuvent avoir différents composants configurés avec eux. Nous voulons simplement en avoir un associé à l'acteur en général. Alors sous les balises avancées d'acteur, cliquez sur ce petit bouton plus et nous pouvons nommer la balise et je vais appeler le mien. Et juste pour m'assurer que je n'ai pas d'erreurs d'orthographe ici, je vais le mettre en surbrillance, appuyer sur le contrôle C pour la copier, car je vais ajouter exactement la même balise. Mon émetteur de feu ici. J'ai donc cette étiquette ici pour trouver mon tag d'acteur. Ajoutons ça. Nous allons ajouter cela ici. Et puis aussi pour mon plafonnier Blueprint, nous filtrons par mot tag. Nous allons ajouter cela à notre tag avancé d'acteur. Et mettons ce nom ici aussi. Super, ensuite, pendant que nous y sommes, pourquoi ne pas inclure cela sur notre BPS ici, notre exemple de script de construction, ainsi que nos micros. Je vais donc accéder à l'endroit où ils se trouvent dans mes dossiers ici. Exemple de ramassage Bp. Allons à l'intérieur ici. Si vous souhaitez ajouter une balise à ce Blueprint, vous voulez passer sous les valeurs par défaut de votre classe effectuez une recherche pour une balise. Le voilà, des étiquettes d'acteur. Ajoutons aussi des choses ici. Allez-y et compiler, sauvegardez ça. Nous pouvons le fermer et ensuite nous en débarrasser à partir de la dernière vidéo. Obtenons également notre mur de script de construction ici dans les valeurs par défaut de sous-classe, assurez-vous que vous avez obtenu la balise sélectionnée. Ajoutons une étiquette pour ce type. Et on y va. Je voulais juste montrer où ajouter cela à l'intérieur d'un Blueprint lui-même. Il est important de noter que je l'ajoute ici au plan lui-même. Pour ce plan de plafond particulier, je l'ajoute juste à cette instance de l' objet à l'intérieur du niveau. Je n'ai pas ajouté cela à l'intérieur du plan de plafond ici à l'intérieur de mon plafond Blueprint Class par défaut. Si je recherche un tag, je ne le verrai pas ici car je ne l'ai pas ajouté au Blueprint lui-même. Juste cette instance particulière du plan dans mon niveau. Commençons donc par créer une référence à tous ces acteurs marqués que je vais faire cela dans le Level Blueprint. Alors, juste en dessous, ouvrez Level Blueprints, nous avons un tas de scripts pour lesquels j'ai actuellement désactivé tous les événements. Je vais probablement nettoyer ça entre les vidéos et me débarrasser de ces vieux trucs ici. Passons sous un espace vide dans notre graphique d'événements. Et je vais cliquer avec le bouton droit de la souris pour rechercher la touche T, les entrées T, les entrées. Passons sous un clavier. Événements clavier. Vraiment, n'importe quel événement clavier le fera. Je veux juste aller avec T parce que T signifie tag. Il y a un Tiki. Et souvent cela, nous allons traîner un carré et nous allons amener tous les acteurs avec un nœud de balise. Sans surprise, cette fonction fera exactement ce qu'elle dit faire. Il obtiendra tous les acteurs avec un tag donné. Voici le nom de la balise que nous voulons trouver. N'importe quoi avec le tag thinking et avec cette épingle d'acteurs, il y a ce genre d'icône de type gaufre qui va nous donner une panoplie d'acteurs qui ont cette étiquette. Cela signifie une liste d' acteurs qui ont cette étiquette. Cliquons avec le bouton droit de la souris dessus, Promote to variable. Et appelons simplement cela notre tableau de choses. Vous pouvez voir qu'il a créé cette variable ici. Donc, quand j'appuie sur la touche T. Nous allons stocker toutes les références aux acteurs qui ont cette chose que vous étiquetez à l'intérieur de ce tableau. Et ce tableau va être une liste de tous les acteurs qui ont cette étiquette. Très bien, donc cela se produira lorsque nous appuyons sur la touche T. Faisons quelque chose à tous ces acteurs. Maintenant que nous avons une référence à tous ces acteurs, que voulons-nous en faire ? Eh bien, je vais cliquer avec le bouton droit de la souris et un espace vide. Une fois de plus, je vais faire apparaître l' événement du clavier de la touche haut. Et j'ai pensé que c'était approprié parce que nous allons augmenter ces acteurs dans la coordonnée z. Je vais traîner dans mon tableau de trucs, on va comprendre ça. Et ensuite, je vais traîner un fil et apporter une boucle pour chaque boucle. Encore une fois, nous allons en parler pour chaque boucle, ces nœuds de contrôle de flux plus tard dans le cours. Ce que vous devez tous savoir pour l'instant, c'est que pour chaque élément de cette liste, chaque élément de ce tableau, nous allons y faire quelque chose. Et ce que nous voulons faire, c'est pour chaque élément ici, chaque élément, que nous voulons ajouter des décalages locaux d'acteur. Et nous terminons, nous allons le déplacer dans une direction donnée à un décalage par rapport à celle-ci. Et nous allons changer l'emplacement du delta. C'est-à-dire dans quelle mesure voulons-nous le changer depuis son emplacement initial par rapport à son emplacement initial par rapport où il se trouve la prochaine fois que nous appuyons sur la touche haut, en augmentant 50 unités irréelles dans la direction z. Tiki va donc obtenir une référence à tous les acteurs avec ce tag. La touche Up va examiner tous les éléments de ce tableau, tous les éléments de cette liste sont stockés ici. Et pour chaque élément ici, nous allons ajouter un décalage le déplacer vers le haut à l'emplacement z. Maintenant, je vais compiler ce script. Tout va bien paraître. Cependant, je le sais, permettez-moi de sauvegarder cela également. Quand je joue, cela se produira par erreur. Je vais laisser cela se produire, mais allons y jouer. Très bien, j'ai donc ajouté cette étiquette là-dessus. Ce sont des cylindres, des flammes, des plafonniers qui se croisent et du mur en arrière-plan. Laissez-moi passer en F1. Je peux donc minimiser cela. Je veux que vous voyiez ce script se déclencher ici également. Je vais donc réduire un peu ça. Et je vais appuyer sur la touche T. J'ai donc maintenant une référence à tous ces acteurs portant cette chose que vous étiquetez. Maintenant, je vais appuyer sur la touche haut, c' est-à-dire la flèche vers le haut. Et bien, certaines choses évoluent. Mais ce cylindre ne le fait pas. Et c'est l'époque dont on parlait. Laissez-moi aller de l'avant et m'échapper. Et l'air va montrer ce qui se passe ici. Il va avoir mentionné que ce composant de maillage statique doit être défini sur mobile si nous voulons pouvoir le déplacer. maillages statiques ne bougeront donc pas simplement sans que l'un de leurs paramètres devienne mobile. C'est donc facile de le réparer en revenant au niveau de nos tests ici, en sélectionnant notre cylindre. Juste ici. Il s'agit du réglage de la mobilité du cylindre le remplacer par mobile. Une fois encore, si nous devions jouer ça, permettez-moi de réduire un peu ce scénario ici. Ici, en appuyant sur la touche T, nous avons une panoplie de tous les acteurs avec une étiquette de réflexion. Et maintenant, une fois que j'ai appuyé sur la flèche vers le haut, ils vont tous monter 50 unités irréelles. Nous allons ajouter 50 en décalage chaque fois que nous appuyons sur la touche haut. Réfléchissons donc à tous les cas d'utilisation possibles de la création de références de cette manière à l'aide d'une balise. Eh bien, peut-être que vous engendrez des ennemis différents et votre niveau au fil du temps pendant un match, disons toutes les 20 secondes. Vous ne pouvez donc jamais savoir combien d'ennemis existent à la fois sur votre carte. Disons maintenant que vous voulez détruire tous les ennemis dans certains objets environnementaux. Chaque fois que le joueur collectionne un super duper, détruisez tout l'objet. Nous pourrions demander à tous les acteurs ayant une étiquette donnée, dire en chevauchant ce super-duper, détruire tous les objets, puis détruire, ajuster ces objets. Donc toutes sortes de bons cas d'utilisation utiles pour cela. Une autre note que je voulais donner ici avant de terminer cette vidéo, nous pouvons vérifier si un acteur individuel a une étiquette. Comment pourrions-nous faire cela ? Eh bien, j'ai sélectionné mon cylindre ici dans mon niveau, dans mon plan de niveau, je vais cliquer avec le bouton droit de la souris. Je vais créer une référence à ce cylindre. Et de toute référence ici, je peux simplement faire une recherche pour l'acteur a une fonction de balise. Ensuite, je pourrais brancher ça dans un nœud de branche pour que je puisse faire une recherche ici pour voir, hé, est-ce que ce cylindre a l'étiquette de la chose ? Et si c'est vrai, nous pouvons faire une chose. Si c'est faux, nous pourrions en faire un autre. Je voulais juste le souligner ici aussi. Très bien, c'est comme ça que vous pouvez créer des références à l'aide de balises. Cela fera pour offrir celui-ci. On se voit dans le prochain. 25. L'événement Commencer à jouer: Bienvenue à tous. Dans cette section du cours, nous allons explorer les événements plus en détail. Nous allons explorer certains des événements les plus couramment utilisés dans Unreal, commençant par Événement, Commencer le jeu. Maintenant, notre objectif spécifique dans cette vidéo est de comprendre ce qu'est l'événement Begin at Play, où vous pouvez le trouver et comment nous pouvons l'utiliser dans l'irréel. Maintenant, sautez dans notre carte de test de niveau, notre plan de niveau ici. Vous pouvez le trouver en allant ici, ouvrez Level Blueprint. Vous pouvez voir que j'ai mis en place un script avant de tourner cette vidéo. Je vais gérer tout ça à partir de l'événement. Commencez à jouer. Cela semble un peu intimidant, mais je vais vous expliquer les différentes choses que je fais et pourquoi je le fais. Maintenant. Tout d'abord, comment organisez-vous un événement ? Tu commences à jouer ici ? Eh bien, quelques méthodes. Vous pouvez cliquer avec le bouton droit de la souris et taper simplement commencer à jouer comme une cellule, c'est comme ça que vous pouvez le trouver. Sinon, j'aime utiliser le raccourci clavier, qui consiste simplement à maintenir la touche P enfoncée et à cliquer avec le bouton gauche de la souris. Maintenant, une chose amusante à noter ici avant même de brancher ceci est que vous ne pouvez avoir qu'un seul événement commence à jouer par plan. Et peu importe le nombre de graphiques que vous avez. Si vous vous souvenez tout à l'heure dans ce cours, j'ai créé un deuxième graphique appelé types de nœuds. Maintenant, si je passe au graphe de mes types de nœuds, je suis actuellement dans mon graphique d'événements, Graph. Et je maintiens la touche P enfoncée et je fais un clic gauche. Je ne le trouve pas. Sinon, si je tape dans une barre de recherche en cliquant avec le bouton droit de la souris et en tapant, Begin Play et je clique dessus, vais accéder à mon onglet Event Graph. C'est donc une chose à noter. Vous ne pouvez lancer qu'un seul événement par plan. Cela soulève donc la question, et si je veux faire plusieurs choses en dehors de l'événement ? Commencer à jouer ? Ai-je juste besoin d'un long script pour faire en sorte que plusieurs choses se produisent ? Eh bien, non, tu ne le sais pas. C'est là que ce nœud de séquence est très pratique. Nous parlerons plus en détail du nœud de séquence plus loin dans le cours. Mais sachez simplement que le nœud de séquence est quelque chose que vous pouvez utiliser pour diviser votre signal. Ainsi, en branchant l'événement commence à jouer dans un nœud de séquence. Vous pouvez ajouter d'autres broches de sortie et faire en sorte qu'une chose se produise, puis une autre, puis une autre et une autre, le tout dans un ordre séquentiel. Voyons donc ce que je vais faire ici. dehors de l'événement B en jeu dans mon plan de niveau. Eh bien, la première chose que je vais faire est de jouer un événement sonore. Commencer à jouer est un excellent événement à utiliser si vous voulez que de la musique démarre simplement au début de votre niveau. La deuxième chose que je vais faire ici est de faire passer mon personnage de joueur à mon personnage ThirdPersonCharacter, puis stocker mon personnage à la troisième personne dans cette variable afin que nous puissions utilisez-le. donc de lancer notre ThirdPersonCharacter, puis encapsuler à l'intérieur de cette variable. Juste en bas se trouve l'endroit où nous allons réellement utiliser cette variable que nous venons de stocker ici. Nous allons récupérer la référence de notre personnage que nous avons enregistrée ici. Nous allons obtenir l' emplacement de nos acteurs et ensuite nous allons le définir dans cette variable vectorielle. Donc, quelque chose qui est souvent fait en dehors du début de l'événement est ce qu'on appelle des variables d' initialisation, c' est-à-dire pour lui donner une valeur initiale. Maintenant, plus haut dans ce cours, et en parlant simplement des différents types de nœuds variables, je crée une variable d' une variable vectorielle dont les valeurs par défaut sont 000 et qui seraient 000 si je ne leur donnais pas une autre valeur. Dans ce cas, je suis en train de l'initialiser. Cela lui donne une valeur initiale basée sur l'emplacement de mes personnages. Il va donc alimenter l'emplacement de nos personnages dans ce fichier et le stocker dans cette variable vectorielle. L'initialisation des variables est une chose qui se fait généralement en dehors du début de la lecture. Et je vais également imprimer les résultats à l' écran afin que nous puissions voir l'emplacement de notre référence de personnage lorsqu'elle est définie. Donc, trois choses que nous faisons ici, dehors de l'événement, commencez à jouer. Nous allons jouer de la musique. Nous allons créer une référence à notre personnage. Ensuite, nous allons utiliser notre référence de caractère pour aider à initialiser cette variable vectorielle. Allons-y. Vous pouvez donc voir une certaine initialisation de notre variable vectorielle juste ici comme étant imprimée à l'écran. On entend la musique. Et bien sûr, ce personnage fait référence à cela comme étant dit. Ce n' est pas quelque chose de très visuel, mais cela se fait en dehors du début de l'événement. Ensuite, parlons de l' endroit où vous pouvez et ne pouvez pas trouver Event Begin Play. Comme vous pouvez le voir, c'est ici dans mon plan de niveau. Qu'en est-il de mon plan de sous-niveau n'y est pas également disponible ? Oui, ça l'est. Et je vais cliquer ici pour ouvrir le plan de niveau secondaire. Et j'ai créé quelques scripts avant cette vidéo dans lesquels je vais retarder de trois secondes, puis jouer un son d'explosion et je vais déboguer pour que nous puissions voir cela se déclencher. Mais vous remarquerez qu'une fois que je joue, attendez trois secondes et rien ne semble se passer. La raison en est que je ne charge pas ce Blueprint au niveau du sous-réseau. Et ce que je veux dire par là. Si je retourne à l'onglet de mes niveaux, je dois cliquer avec le bouton droit de la souris sur le sous-niveau, changer la méthode de streaming de blueprints à always loaded. Et maintenant, si je retourne dans mon sous-niveau, je peux cliquer sur Jouer. Vous voyez cet événement déclencher le compte à rebours retardé, et cela fera jouer Event Begin, jouera ce qui vient après. Il est donc disponible dans un plan bas ainsi qu'un plan de sous-niveau. En outre, le début de l' événement peut être trouvé dans les plans de classe d' acteur tels que notre exemple de ramassage ici. Encore une fois, je l'ai ajouté avant de tourner cette vidéo. Vous pouvez également le trouver dans les plans des personnages à la troisième personne. Vous pouvez voir que nous l' utilisons ici pour créer notre HUD et l'afficher à l'écran. Cependant, vous ne le trouverez pas dans nos plans de widgets. Voici notre indicateur de santé, le Widget Blueprint. Et si je vais dans l'onglet graphique, que je clique avec le bouton droit de la souris sur un espace vide, que je tape et que je commence à jouer. Tu ne le trouveras pas. Event Construct est essentiellement l'événement de début de jeu si vous voulez, à l'intérieur d'un plan de widget, vous ne le trouverez pas non dans un plan d' instance de jeu, mais à peu près tous les autre classe Blueprint vous pouvez trouver Event Begin Play. Enfin, une autre chose très importante à mentionner à propos de Event Begin joué avant de terminer cette vidéo. Bien qu'il soit vrai que cet événement se déclenche lorsque nous commençons à jouer, faisons-nous pour les différents acteurs qui apparaissent à d'autres moments pendant le jeu ? Quand commence le jeu Event Begin pour eux ? Eh bien, l'événement a commencé à jouer pour ces plans. Le moment où ces choses sont amusantes. Et juste pour montrer ceci, je vais faire défiler un peu vers le bas dans ma carte de test de niveau, et j'ai configuré un peu plus de script en dehors du début de l'événement, où je vais apparaître un plan, plafonnier qui a été trouvé contenu de l'étoile MI après trois secondes. Maintenant, laisse-moi juste parler un peu de ça ici. Vous pouvez donc voir que c'est un peu mieux. Après trois secondes dans notre plan bas, nous allons générer ce plafonnier à une transformation donnée sans devoir alimenter ce transformateur. Cela va échouer. Laissez-moi entrer ici et je vais ajouter toutes les classes sur lesquelles j'ai cliqué ici. Toutes les classes trouveront une note. Trouvons un acteur de notes juste pour nous donner une place de référence dans l'espace. Je vais le soulever, le soulever en l'air comme ça. Avec cette option sélectionnée, je vais revenir à mon plan de niveau, maintenir la touche R enfoncée, cliquer avec le bouton gauche de la souris, There's my note actor. Je vais faire transformer les acteurs. Nous allons faire apparaître ce plafonnier. Maintenant, ce que je faisais avant cette vidéo dans mon plan, plafonnier, et encore une fois, cela se trouvait dans mes plans de contenu vedette. Ce plafonnier, c'est là que j'ai créé ce bout de script où je commence à jouer. Nous allons encore retarder de trois secondes. Je vais régler le rayon d'atténuation de mes points lumineux. Il s'agit essentiellement de la distance d' une zone ou d'un point lumineux. Nous allons également définir sa couleur claire sur cette couleur rosâtre. début du jeu de cet événement se déclenchera au moment où il apparaîtra dans notre niveau. Et encore une fois, je réapparaît dans notre niveau ici dans ma carte de test de niveau après le début de l'événement. Déboguons donc ce paramètre de ce lac. Nous avons donc essayé de l'encadrer comme ça. Compilez ça, assurez-vous que notre script est bon. Et là, nous allons à droite. Au bout de trois secondes. Cette lumière tourne bel et bien. Donc encore une fois, ici dans mes plans, plafonnier, cet événement a commencé à jouer dès que cet acteur est apparu dans le niveau. Donc, pour revoir le début de l'événement, c'est idéal pour exécuter un script au début de la lecture. Dans ce cas, jouer de la musique est idéal pour créer des références d'objets. Dans ce cas, la création notre référence ThirdPersonCharacter est idéale pour initialiser des variables. Dans ce cas, je l'utilise pour initialiser notre variable vectorielle ici. C'est également bon pour faire apparaître des acteurs après un certain temps. Beaucoup de choses que vous pouvez faire en dehors de l'événement. Commencez à jouer. Eh bien, les gars, ça va le faire souvent. Dans cette vidéo, nous vous verrons dans la prochaine. 26. Tick d'événement: Bienvenue à tous. Dans cette vidéo, notre objectif est de comprendre ce qu'est un tick d'événement, où nous pouvons le trouver et comment il peut être utilisé. Comme il s'agit d'un événement qui déclenche chaque image, vous devez utiliser cet événement avec précaution, sinon vous risquez détruire totalement les performances de votre jeu. C'est-à-dire que votre fréquence d'images peut beaucoup souffrir. Utilisez donc cet événement avec prudence. événements peuvent donc être trouvés dans à peu près n'importe quel plan d'Unreal qui comprend des plans de niveau, plans de sous-niveau et la plupart des plans de classe. Une exception à cela, mais je suis sûr que c'est le plan d'instance de jeu. Nous parlerons plus en détail ce type de plan directeur important plus tard dans le cours. Je vais juste faire un clic droit sur un espace vide ici. Je vais créer une nouvelle classe de plan de type acteur. Je pourrais choisir n'importe lequel d'entre eux. Je vais choisir un acteur. Je vais le laisser comme nom par défaut, et je vais simplement double-cliquer dessus pour l'ouvrir. Et vous pouvez voir que lorsque nous passons au graphique d'événements, ce tick d'événement est l'un des événements par défaut qui est immédiatement disponible pour vous. Maintenant, si vous deviez le supprimer, laissez-moi le faire. Je pourrais cliquer avec le bouton droit de la souris et taper Tick, et je peux l'ajouter à nouveau. Vous ne pouvez maintenant avoir qu' un seul de ces paragraphes. Donc, si je devais cliquer avec le bouton droit de la souris et taper à nouveau Tick , en allant simplement comme oui, le voilà. Ça va te sauter droit dessus. Maintenant, je vais supprimer ce plan ici et je vais passer à mon plan de niveau pour faire certaines choses avec les ticks d'événement. Ouvrez donc Level Blueprint. Il y a mon ticket d'événement. Il convient également de noter que vous ne pouvez avoir qu' un seul tick d'événement par plan, et non par graphique. Il s'agit de mon plan de niveau. Dans, dans mon plan de niveau, j'ai actuellement deux graphiques, mon graphique de graphe d'événements et mon graphique de types connus que j'ai créé. J'étais en train de créer ma vidéo sur les différents types de nœuds dans Unreal. Donc, si j'étais dans mon graphique d'événements, cliquez avec le bouton droit de la souris et tapez le mot tick et cliquez dessus. Cela va me faire passer à mon repas graphique de types de nœuds. Oui, il y a votre coche d'événement. Ça y est. Maintenant, l'événement tick, comme nous l'avons dit plus tôt, il déclenche chaque image. Maintenant, il convient de noter que vous pouvez afficher votre fréquence d'images dans les éditeurs de niveaux. Nous allons donc le faire maintenant, avant continuer à parler des événements ici, revenez à votre éditeur de niveaux. Et ici vous avez cette icône de hamburger à trois lignes, si vous voulez, allez-y et cliquez dessus avec le bouton gauche de la souris. Ici, affichez les images par seconde Ctrl Shift et h, cela affichera votre fréquence d'images à l'écran de 120 images par seconde que je suis en train de l'exécuter. Cela fait 8,33 millisecondes. Très bien, une autre chose qui vaut la peine d'être signalée ici est que vous pouvez définir une fréquence d'images fixe. C'est un peu une tangente ici, mais ça vaut la peine de le noter également. Si vous allez dans vos paramètres, les paramètres du projet et que vous tapez des fréquences d'images, j'aime bien remplir ces vidéos avec toutes sortes de connaissances. Je pourrais utiliser une fréquence d'images fixe. instant, il est réglé sur 30. Il n'y a pas de bouton Enregistrer ici. Et maintenant, si je devais revenir à mon éditeur de niveaux, ils montrent que je cours actuellement à 30 images par 2,33e, 33 millisecondes, ce qui va annuler ce que je viens de faire. coche d'événement déclenche donc chaque image. Faisons quelque chose avec nos événements à l'intérieur de notre Level Blueprint. Laisse-moi juste le déplacer ici. Et je vais ajouter, nous allons ajouter un ennemi à notre niveau. Ce n'est pas un ennemi fantaisiste, mais ici, dans mon navigateur de contenu, je vais me retrouver dans mon dossier mannequins, mon dossier de maillages. Vous pouvez placer n'importe quoi dans votre niveau ici. Il va représenter un ennemi simple, stupide et qui ne fonctionne pas. Je vais faire glisser et déposer ce Quinn simple dans mon niveau. Une fois cette option sélectionnée, je vais revenir à mon plan de niveau. Je vais maintenir la touche R enfoncée clic gauche pour créer une référence à notre simple ennemi Quinn, si vous voulez. Et hors de la coche de l'événement, je vais m'éloigner de cela et je vais taper est valide. Je veux cette version avec point d' interrogation. Je vais vérifier si les objets que j'ai saisis ici, mon ennemi est valide. C'est-à-dire, est-ce qu'il existe ? Et s'il n'existe pas, c' est-à-dire qu'il a été détruit. Nous allons le faire une fois. Qu'est-ce qu'on va faire une fois ? Eh bien, nous allons émettre un son indiquant qu'il a disparu, au revoir. Nous allons jouer un son 2D, et nous allons jouer un son de confirmation VR confirmé q. Maintenant, si nous allons procéder à cette vérification pour voir s'il est valide ou non. Nous devons trouver un moyen de détruire cet acteur. Nous devons le détruire afin qu'il soit vérifié qu' il n'est pas valide. N'oubliez pas que ce tick d'événement va se déclencher toutes les secondes. Je vais donc cliquer avec le bouton droit de la souris et un espace vide ici et nous allons faire les quatre touches. En dehors des quatre touches, je vais faire glisser notre clic gauche vers le bas pour faire apparaître une autre référence à notre Quinn simple. Et je vais m'éloigner de ça et taper Destroy Actor. Bon ? L'idée ici est que chaque image que nous allons vérifier pour voir si le symbole Quinn de notre ennemi est valide ou non. S'il est valide, c' est-à-dire qu'il existe, nous n'allons rien faire. S'il n'est pas valide, c' est-à-dire qu'il est détruit. Une fois, nous allons jouer ce son et c'est ainsi que nous allons détruire cet acteur. Cette évaluation n'est donc pas valide. Très bien, allons-y et jouons. Et vous pouvez voir que le tick d'événement se déclenche à chaque image, mais il ne dépasse pas ce qui est valide car il vérifie continuellement qu'il est valide, oui, il existe dans notre niveau. Cependant, une fois que j'ai appuyé sur la touche F4, c'est parti. Elle a été détruite. Et vous pouvez voir comment nous avons joué ce son une fois. C'est donc un exemple parfaitement légitime d'utilisation de la coche d'événement. Maintenant, une chose que je tiens à souligner ici est que vous pouvez modifier le taux de ticks. Maintenant, si notre jeu le lance à 120 images par seconde, tick d' événement va se déclencher 120 fois par seconde. Maintenant, si je clique sur le bouton par défaut de ma classe juste ici, je peux modifier l'intervalle de ticks. Et encore une fois, il indique en secondes, la fréquence en secondes à laquelle la fonction tick sera exécutée. Il n'est donc pas nécessaire de tirer toutes les images. Je peux lancer ça toutes les deux secondes, toutes les trois secondes, j' y vais toutes les cinq secondes. Cela va être un exemple un peu extrême. Mais dès que j'aurai détruit mon acteur, il ne jouera pas ce son immédiatement. Allons-y et essayons-le. Je vais cliquer sur Play. Je vais appuyer sur la touche F4 pour détruire notre acteur ici. Et puis finalement, il a joué le son un peu en retard par la suite. Et c'est parce qu' il ne fait que tic-tac, il ne déclenche ce tick d' événement que toutes les cinq secondes. C'est ainsi que vous pouvez modifier votre tick d'événement. Voici maintenant un autre cas d' utilisation pratique du tick d'événement. Avoir quelque chose tourne pour faire face à une autre chose tout au long d'un jeu, comme cette chaise, parce qu'évidemment vous auriez une chaise qui fait tourner le visage du joueur tout le temps. Maintenant, imaginez s'il s'agissait d' une caméra de sécurité ou d'un regard de tourelle abattu dans le joueur et que vous vouliez attirer le joueur. Vous pouvez faire en sorte que chaque image change de rotation ou de recadrage. Maintenant, si vous voulez jouer le jeu à la maison et voir comment j'ai fait, j'ai simplement placé une chaise en filet statique dans mon niveau. Vous pouvez trouver quand ils se trouvent dans ce répertoire, j'ai changé la mobilité de cette chaise sélectionnée en une chaise mobile dans le panneau Détails. Et puis dans mon Level Blueprint, voici mon script pour l' avoir assemblé. Vous obtenez une référence à votre fauteuil en le sélectionnant, maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche de la souris. Et ce que je fais ici , c'est que je dis « déteste partager ». Je veux que vous regardiez ce lecteur et que vous mettiez à jour sa rotation à chaque image. Maintenant, nous n'avons même pas parlé des deltas secondes ici. Alors laissez-moi, je vais d'abord mettre ça à l'écran, nous allons faire glisser ici, aller imprimer la chaîne. secondes delta sont le temps écoulé entre les images. Revenons donc à mon éditeur de niveau ici, nous fonctionnons à 120 images par seconde, soit 8,33 millisecondes. Donc, si je joue ceci, cela devrait montrer que le temps entre les images est 0,0083 seconde parce que nous fonctionnons à 120 images par seconde. 120 fois ce nombre équivaut à une seconde complète. Voilà ce que vous avez. Vous pouvez également remarquer qu'en haut à droite, il n'affiche pas mes images par seconde pendant que je joue, même si c'est le cas dans l'éditeur de niveau, la façon dont nous pouvons obtenir nos images par seconde apparaître dans notre fenêtre de jeu, il suffit d'appuyer sur la touche Tilda. C'est celle qui se trouve à gauche de la touche unique de la plupart des claviers en haut à gauche. Cela va faire apparaître une petite barre de console, si vous voulez, en bas, si je tape stat FPS et que j'appuie sur Entrée. Maintenant, affichez votre fréquence d'images en haut à droite. C'est bon à savoir. Vous pouvez maintenant utiliser la sortie des secondes Delta dans des calculs qui déterminent la mesure dans laquelle un acteur donné, comme une plateforme, doit déplacer chaque image. De cette façon, vous pouvez utiliser les sorties Delta secondes pour déplacer une plate-forme de la même quantité, quelle que soit la fréquence d'images. C'est un peu plus avancé. Je ne vais pas entrer là-dedans, mais juste vous donner un aperçu rapide de ce que secondes Delta peuvent être utilisées plupart du temps, vous n' en aurez pas besoin. Enfin, au tout début de cette vidéo, j'ai mentionné combien il faut faire attention à l'utilisation de l'authentique. Parce que si vous ne l'utilisez pas correctement, vous risquez de détruire les fréquences d'images de votre jeu. Je vais donc vous montrer ce qu'il ne faut pas faire à l'intérieur de mon personnage BP ThirdPersonCharacter. Vous pouvez trouver ce modèle de personnage ici dans ce répertoire dans votre navigateur de contenu. À l'intérieur, j'ai préparé un script à l'avance. On n'est plus sur le point d'événement. Je suis simplement en train de transformer mes acteurs. C'est là que ce ThirdPersonCharacter va être localisé et pivoté dans le monde. Je vais ensuite créer un feu d' effet de plan que j'ai placé juste ici. Il s'agit d'un acteur de spawn issu du nœud de classe. Et de cela, ce que j'ai simplement fait, c'est que je me suis débarrassé de ça et je retire le composant audio feu de ce plan. Je dessine juste ce composant dès que je l'ai généré dans chaque tick ici, dans chaque image. Parce que sinon le son pour ça devient vraiment ennuyeux, très vite. Notez donc qu'une fois que je clique sur Play here, ma fréquence d'images sera détruite. Cela va passer de 120 images par seconde à 20 assez rapidement ici. Alors allons-y. Regardez en haut à droite. Remarquez qu'il génère un effet de feu partout où se trouve mon personnage, à chaque image. Et vous pouvez voir à quel point cela nuit à la fréquence d'images. Et encore une fois, si je vais dans ma classe par défaut ici et que je règle mon taux de ticks sur quelque chose comme, oh, allons-y, réglons-le toutes les trois secondes. C'est peut-être quelque chose qui pourrait être acceptable. Donc maintenant, au lieu de déclencher toutes les images par défaut de ma classe, je dis, hé, authentique ne se déclenche que toutes les trois secondes. Et en faisant cela, vous pouvez voir que ma fréquence d'images va rester assez stable au moins pendant un certain temps, parce que je ne produis cet effet de particule que toutes les trois secondes. Donc, si vous allez utiliser des événements cochez la case et vous n'avez vraiment pas besoin générer quelque chose, de faire pivoter quelque chose ou de faire quelque chose. Chaque image est comprise dans les valeurs par défaut de la classe et définissez votre intervalle de tick sur un certain nombre. Eh bien les gars, ça va faire tout pour celui-ci pour l'événement tick. Nous vous verrons dans le prochain. 27. Entrées d'événement: Dans cette vidéo, notre objectif est de montrer comment nous pouvons utiliser les événements d'entrée. L'un des événements les plus courants utilisant le jeu pour lancer un peu de script. Maintenant, lorsque nous parlons d'événements d'entrée, nous parlons de choses comme les pressions de touches sur le clavier. Il peut s'agir d' appuis sur des boutons comme le bouton a ou B d'une manette traditionnelle. Ou cela peut être quelque chose comme toucher un appareil, un téléphone portable ou un iPad, ce genre de choses. Euh, en général, ces événements d'entrée sont simplement enregistrés. Tu l'as appuyé ou tu l'as relâché ? Les événements d'entrée ne doivent pas être confondus avec les événements d'accès, qui peuvent être lus dans une plage de valeurs, comme vos joysticks gauche ou droit sur un clavier de contrôle traditionnel peuvent indiquer si votre personnage se déplace peu ou si vous essayez de courir avec eux. Les événements d'accès sont donc différents des événements d'entrée. Dans l'exemple que je vais vous montrer, nous allons faire en sorte que le fait d'appuyer sur un bouton fasse sprinter notre personnage joueur. Ensuite, relâcher ce bouton nous ramène à notre vitesse normale de locomotion. Je vais utiliser notre ThirdPersonCharacter pour cette vidéo. Donc, si vous voulez jouer le jeu à la maison, il se trouve dans le dossier Blueprints à la troisième personne du contenu. C'est là que vous pouvez trouver ce plan. Double-cliquez dessus pour l'ouvrir. Et à l'intérieur, vous pouvez voir que nous avons déjà utilisé certains événements d'entrée. Plus précisément, j' utilise la touche fléchée mon clavier pour envoyer une trace de ligne dans le monde. Et là-haut, j' utilise la touche cinq pour masquer ou afficher mon plan de widget HUD que je suis en train de créer au début de la lecture. Si je me déplace un peu vers la gauche, il y a d'autres événements d'entrée qui étaient ici par défaut. Nous avons un saut d' action d'entrée qui est défini dans les paramètres de votre projet et je vais vous montrer comment le faire et juste un peu. Et nous avons également une entrée tactile. Donc les deux font sauter ou arrêter de sauter notre personnage. Très bien, je vais ajouter ce script de sprint juste à droite de nos scripts sautés. Donc, en cliquant avec le bouton droit de la souris dans un espace vide, je vais taper le mot clavier pour trouver tous nos différents événements clavier. Et tu peux lier ça à n'importe quelle touche, comme je vais le faire avec la touche L. Et je vais également organiser un autre événement. Je vais faire un clic droit et un espace vide. Et je vais faire une recherche pour une manette de jeu, un bouton visage, en bas. Comme vous le savez, les manettes PlayStation et Xbox sont quasiment identiques. bas du bouton de la manette correspond donc Le bas du bouton de la manette correspond donc au bouton x la manette PlayStation, ou je crois que c'est le bouton a de la manette Xbox. Vous connaissez la configuration en losange sur le côté droit. Ils les ont donc nommés plutôt agnostiques, afin de ne pas appeler un contrôleur en particulier ou un autre. Que voulons-nous arriver lorsque nous appuyons sur la touche L d'un clavier ou que nous connectons une manette de jeu à votre ordinateur ? Eh bien, nous allons récupérer notre composant de mouvement de personnage ici, parce que si nous sélectionnons notre composant de déplacement de personnage, vous pouvez voir que nous avons de nombreuses propriétés différentes que nous pouvons modifier à propos de cela, y compris notre vitesse de marche maximale, c'est ce paramètre ici même. Cela détermine la vitesse à laquelle notre personnage se déplace dans le monde entier. Je vais donc faire glisser notre contrôleur de mouvements de personnage ou notre composant de mouvement de personnage, pas notre contrôleur. Pour cela, je vais traîner et je vais dire que c'est régler la vitesse de marche maximale. Encore une fois, cela va nous permettre de modifier notre vitesse de marche maximale. Et je vais appuyer sur Control C et copier ce Control V pour le coller. Comme ça. Et donc, lorsque j'appuie sur la touche L et que je relâche la touche L, tout le monde voudrait que notre vitesse de marche maximale soit. Eh bien, vous pouvez voir que ma vitesse de marche maximale est actuellement fixée à 500. Je vais dire que quand je le sortirai, je veux qu'il soit ramené à 500. Mais quand je veux sprinter, je vais régler ça à quelque chose comme 3 000 quelque chose d'un peu fou. Maintenant, je n'ai pas non plus le bouton de la face de ma manette de jeu connecté à cela. Mais je peux, je peux faire en sorte qu'en appuyant sur la touche L ou sur le bouton situé en bas d'une manette de jeu, je puisse régler notre vitesse de marche maximale à 3 000. Ou si je relâche l'alcène ou que je relâche le bouton de la face inférieure, je peux régler notre vitesse de marche maximale à ce qu'elle était. Cliquez avec le bouton gauche de la souris, faites glisser, appuyez sur la touche C. Voici mon script Sprint. Compilez ceci pour vous assurer que le script est bon. Ensuite, allons-y et configurons le clic Jouer. Et je vais définir notre option de débogage ici pour être notre ThirdPersonCharacter. Permettez-moi de revenir sur cette fenêtre de jeu une fois de plus. D'accord, vous pouvez donc voir que nous avons appuyé sur Shift en F1 pour baisser un peu ça. Maintenant, vous allez pouvoir voir quand j'appuie sur la touche L, ce script se déclenche. Et quand je le relâcherai, ma vitesse de marche maximale sera rétablie. Donc WFISD pour se déplacer, maintenant la touche L enfoncée, se déplaçant beaucoup plus vite, en la relâchant. Ça va beaucoup plus lentement. Très bien, ce n'est pas l'idéal. J'ai deux événements d'entrée distincts qui font essentiellement la même chose. Et ils ne sont pas très descriptifs. J'ai un L, une touche et un bouton de manette de jeu en bas, faisant essentiellement la même chose. Y a-t-il un moyen de simplifier cela ? Et la réponse est oui, c'est possible. Ce que nous allons faire, c'est revenir à notre éditeur de niveau principal. Et dans les paramètres, les paramètres du projet, nous allons nous placer sous le côté gauche et sélectionner la catégorie d'entrée. Et ici, nous pouvons créer notre propre mappage d'action, des événements d'entrée. Nous avons des mappages d'accès ou des mappages d'actions. Il est très important que vous le fassiez dans les mappings d'action. Maintenant, si je développe ce triangle juste ici, nous pouvons voir qu'un événement d'entrée de mappage d'action existe déjà appelé jump. Et c'est intéressant parce que si nous revenons à notre personnage à la troisième personne, revenons à notre prise de saut, nous avons un nœud d'événement appelé saut d'action d'entrée. Cela est dû au fait que dans les paramètres de notre projet, nous avons créé un mappage d'action de saut qui est un nœud d'événement nommé jump. Et actuellement, si je développe cela, je peux voir que deux entrées demanderont que cette action de saisie se produise. Une barre d'espace sur votre clavier ou le bouton situé en bas de la manette de jeu. Nous allons donc ajouter un nouveau mappage d'action ici. Cliquez sur ce bouton plus pour ajouter un nouveau mappage d'actions. Et nous allons lui donner le nom que nous voulons. Je vais appeler les miens « sprints ». Et je vais dire, ça va être lié à la touche L. Ou en cliquant. Je peux en ajouter autant que je veux. Je vais faire en sorte que la manette de jeu, le bouton «  Let's do Face », d'accord ? Bien sûr. Bouton de la manette de jeu, c'est ça l'autre de ces pressions sur la touche L ou sur les droits du bouton de la manette de jeu permettrait à notre personnage de sprinter. Il n'y a plus de bouton Enregistrer ou quoi que ce soit ici. Avec cela créé, je peux revenir à notre plan de personnage de troisième personne. Je peux maintenant cliquer avec le bouton droit dans un espace vide et taper le mot sprint. Et il trouvera notre nouvel événement d'action que nous venons de créer, appelé Sprint. Pour nommer le sprint d'action d'entrée de nœud, je peux maintenant supprimer ces deux nœuds, les connecter ainsi. Et si je devais sauter et jouer à nouveau, W, a, S et D pour me déplacer en maintenant la touche L. Et vous pouvez voir que je suis en train de sprinter, relâche progressivement, lentement vers le bas. Maintenant, la prochaine chose très importante à prendre en compte à propos des événements d'entrée est que même si vous pouvez les ajouter à une multitude de types de Blueprint, ne les déclencheront pas tous par défaut. Cependant, certains le feront. Si vous deviez ajouter des événements d'entrée à votre plan de niveau, cela s'exécuterait comme prévu. Vous appuyez sur la touche Z, ce niveau de chaîne sera affiché à l'écran. Il le fera également pour les plans de personnage et de pion. Donc, si j'appuie sur la touche X dans mon plan ThirdPersonCharacter, il va également l'imprimer . Il le fera également pour les plans de contrôleur de joueur. Et maintenant nous parlerons de cela plus en détail plus tard dans le cours. Mais dans les paramètres de mon projet, juste ici, sous cartes et modes player controller, c'est le type de plan dont je parle. Vous pouvez utiliser des événements d'entrée dans le plan du contrôleur de joueur sans aucune configuration particulière. Cependant, dans quelque chose comme un plan de classe d'acteur comme l'exemple de BP, ramassez ici. Si je devais appuyer sur la touche C, l'une d'entre elles dans mon niveau, cela ne serait pas imprimé à l'écran. Donc juste pour vous montrer cela, laissez-moi cliquer sur Play, en cliquant sur ma fenêtre ici pour l'activer, je vais appuyer sur la touche Z. Vous voyez ce niveau de texte s'afficher en haut à gauche. Si j'appuie plusieurs fois sur la touche X, vous voyez que les textes sont imprimés. Cependant, si j'appuie sur la touche C, les textos censés dire « ramasser ici » en haut à gauche, cela ne s'imprimera pas. Et cela est dû au fait que les plans de classe d' acteurs ne sont pas configurés pour enregistrer les événements d'entrée. Par défaut, vous pouvez toutefois modifier cela dans la classe par défaut de ce Blueprint. Donc, si je sélectionne les valeurs par défaut de ma classe ici sur le côté droit, j'ai une catégorie appelée input. Et comme la réception automatique de l'entrée ici est actuellement désactivée. Cependant, si je change cela en joueur 0 parce que j' ai actuellement une partie solo. Cela fera en sorte que maintenant, lorsque j'appuierai sur la touche C, cela s'affichera à l'écran. Allons-y et essayons-le. Maintenant, lorsque j'appuie sur la touche C, vous pouvez voir que la capture de textes est maintenant imprimée à l'écran. Maintenant, il est intéressant de noter ici qu'ici, dans valeurs par défaut de ma classe, j'ai dû changer cela dans mon plan de classe d' acteur. Pour que l' entrée de réception automatique soit le joueur 0. Si vous regardez quelque chose comme votre ThirdPersonCharacter Class default et vous allez dans la section input. Il indique également que l'entrée de réception automatique est également désactivée. Cependant, encore une fois, des plans de personnage et de classe des plans de niveau et un plan de contrôleur de joueur. Ils les enregistreront par défaut, même si cela est un peu trompeur en disant que l' entrée de réception automatique est désactivée. Ensuite, nous devons parler de la façon dont Unreal donne la priorité au même événement d'entrée lorsqu'il est utilisé dans plusieurs plans. Et pour illustrer cela dans mon plan de niveau, j'utilise la touche X pour imprimer une chaîne. J'utilise également l'entrée x à l'intérieur de mon personnage à la troisième personne maintenant. Et je l'utilise également à l'intérieur de mon micro d'exemple BP. Eh bien, il est connecté dans trois domaines. Donc, si je clique sur Lecture et que j'appuie sur la touche X, laquelle va-t-elle donner la priorité ? Et vous pouvez voir que c'est donner la priorité mon acteur au plan de classe ici, parce que j'ai activé dans paramètres par défaut de ma classe que je recevrai des informations du joueur 0, moi, le joueur prêteur. La priorisation se déroule donc comme suit. Si vous avez une configuration comme celle-ci utilisant la même entrée après le cours, BP seront priorisés en premier, suivis des plans de contrôle ou de contrôleur de joueur que plans de contrôleur de niveau et puis des plans de contrôleur de personnage. Maintenant, que se passe-t-il si deux plans du même type reçoivent des entrées ? Eh bien, dans ce cas, nous prendrions en compte cette priorité d'entrée plus élevée. Maintenant, pour démontrer cela, je vais décrocher Juste pour que ce soit parfaitement clair, la touche X à l'intérieur de mon ThirdPersonCharacter et à l'intérieur de ma carte de test. Et maintenant j'ai mon exemple de pick-up connecté à la touche X. Et j'utilise également mon exemple de script de construction BP à l'intérieur d'ici. Je vais également brancher ma touche X pour imprimer cette chaîne. Notez également ici les valeurs par défaut de ma classe. J'ai configuré sous la zone de saisie pour le joueur 0, c' est-à-dire que je dois recevoir des informations ici. Actuellement, les deux sont définis sur la priorité d'entrée 0. Priorité d'entrée 0, ça y est. Lequel est-ce que ça va montrer ? Est-ce que ça va montrer ce pick-up ou est-ce que ça va montrer le script de construction ? Eh bien, si je le joue en appuyant sur X, il va donner la priorité à celle à laquelle j'ai ajouté cette entrée x. Plus récemment. Comment ça se passe ? Si je devais aller dans mon exemple de collecte et changer la priorité sur un nombre plus grand, quelque chose de plus élevé que ce qui est dans le script de construction. Ça peut être un, ça peut être 100, ça peut être 5 000. Bien sûr, allons-y 5 000. Il devrait maintenant imprimer Pickup dès que j'appuie sur la touche X. Allons-y. Enfin, une autre chose que je voulais ajouter à propos événements d'entrée dans vos graphiques est que si vous avez sélectionné ce nœud, certaines options dans vous pouvez manipuler certaines options dans le panneau Détails. Il s'agit d'un moyen rapide de modifier la touche de saisie ici. Vous pouvez également ajouter un modificateur. Ainsi, au lieu d'appuyer sur la touche X, vous pourriez être obligé d'appuyer sur les touches Alt et X en même temps pour que quelque chose se produise. Mais celui dont je voulais vraiment parler et que j'ai appris par essais et erreurs était cette exécution lorsque les options Pause. Beaucoup de jeux, vous l'avez configuré de telle sorte que si vous appuyez sur un certain bouton, vous pouvez mettre le jeu en pause. Ensuite, si vous voulez le remettre en pause, vous devez appuyer sur ce même bouton. Nous allons vérifier cette configuration. Je dois y aller. Je l'ai configuré pour que lorsque j'appuie sur la touche X, je mette le jeu en pause. Et puis quand j'ai relâché la touche X, je suis censé le remettre en pause et le jeu, mais regardez ce qui se passe ici. Je vais continuer et cliquer sur Play. Vous pouvez voir ce ramassage de santé tournant ici qui va vraiment montrer que le jeu est en pause ou non. J'appuie sur la touche X et tout s'arrête. J'ai relâché la touche X et tout reste en pause. Et la raison en est que je n'autorise pas cet événement à continuer à être exécuté lorsque le jeu est en pause, c'est actuellement réglé sur false. Donc, si je veux que cela continue à s' exécuter même pendant que le jeu est en pause, je vais cocher cette case. Ainsi, lorsque j'appuie sur la touche X maintenant, le jeu est mis en pause. Cependant, quand j'ai relâché la touche X, jeu sera réinitialisé car il s' exécutera également lors de la pause. On y va, en maintenant x enfoncé, on le met en pause et maintenant je vais libérer ECS. Et cela a également déclenché cette pression, ou dans ce cas, le relâchement de la touche X. Donc voilà les gars qui vont tout faire pour celui-ci à propos des événements d'entrée, nous vous verrons dans le prochain. 28. Axe d'événement: Bon retour à tous. Dans cette vidéo, notre objectif est d'apprendre ce que sont les événements d'accès dans Unreal, comment nous pouvons les créer, comment nous pouvons les utiliser. En réalité, notre plan de personnage contient déjà des événements d'accès et fonctionne. Allons-y et vérifions-les. abord, en entrant dans dossier Blueprints à la troisième personne de votre contenu, vous trouverez votre personnage BP ThirdPersonCharacter. Double-cliquez dessus pour l'ouvrir. Et c'est là que nous nous sommes arrêtés créer notre événement de saisie de sprint, ces événements d'entrée d'action. Et cela avait déjà sauté l'événement d'action d'entrée que les bonnes personnes Epic Games avaient déjà inclus avec cela. Plus haut, vous trouverez quelques événements d'axe et cela est même indiqué dans le nom. Nous avons un événement d'axe d'entrée pour avancer et reculer, un pour le déplacement à gauche et à droite. Cela permet de contrôler les mouvements de notre personnage. Et puis ici, nous avons quelques événements d'axe d'entrée de caméra, un pour la manette de jeu, et un autre ici sur PC pour vous, une souris folklorique. Cela détermine le mouvement de notre caméra vers la gauche et la droite et vers le haut et vers le bas alors que nous la déplaçons tout autour. Maintenant, d'où viennent ces événements de l'axe ? Eh bien, si vous vous souvenez de notre dernière vidéo, dans les paramètres de notre projet, nous pouvons créer non seulement des événements d'action d'entrée, mais également ces événements d'axe d'entrée. Je vais donc passer sous mon bouton d'édition en haut à gauche de l'éditeur. Il s'agit d'un autre moyen d'accéder aux paramètres du projet. À l'intérieur des paramètres de votre projet l'option d'entrée à l'extrême gauche. Comme vous pouvez le voir, nous avons des mappages d'actions que nous avons traités dans la dernière vidéo. Et ici, nous avons les mappages d' accès ici tous les noms des différents événements d'axes qui existent actuellement dans notre éditeur. Maintenant, si je développe l'un de nos événements d'axe ici, je peux voir que je peux lier non seulement les boutons du clavier à un événement d'accès nommé donné. Je peux également acheter des entrées de contrôleur similaires aux mappages d'action d'entrée que nous avions dans la dernière vidéo, comme notre saut et notre sprint. Maintenant, nous parlerons signification de ces valeurs d'échelle un peu plus loin ici. Mais avant même d'en venir à cela, définissons ce qu'est un événement d' axe, c'est en quoi cela diffère d'un événement d'entrée, l'un de ces événements d'entrée d'action, eh bien, la principale différence est accès Les événements sont des événements qui sont déclenchés en continu , c' est-à-dire qu'une fois par image pour vraiment faire ressortir ce point, passons à notre plan de personnage à la troisième personne. Et si je fais un petit zoom arrière ici et que je clique sur Jouer, vous pouvez voir que mes différents événements d'accès se déclenchent sans arrêt. Et il le faut parce que s'il doit gérer le mouvement de notre personnage en tant que tel, il doit mettre à jour notre mouvement chaque image en avant et en arrière, gauche et à droite, ainsi que la caméra mouvement vers la droite. Une autre caractéristique déterminante des événements d'accès est qu'ils peuvent générer en valeur d'axe et que cela est lié. Si je reviens aux paramètres de notre projet, ces valeurs d'échelle que vous voyez sur le côté droit des différentes entrées. Pour w, nous avons une échelle de un, et pour S une échelle négative de un. Maintenant, pour les voir en jeu, laissez-moi revenir dans mon personnage de troisième personne BP. Et je vais modifier légèrement ce script ici. Je vais cliquer avec le bouton droit de la souris et un espace vide et taper une chaîne d'impression. Et je vais prendre notre axe d'entrée, avancer et reculer, le faire passer par là. Et je vais sortir la valeur de l'axe. Il va convertir ce flotteur en chaîne, et il va l'imprimer à l'écran. Allons-y et faisons-le maintenant. Et vous pouvez voir une fois de plus, cela déclenche chaque image sur le côté gauche, vous voyez une valeur de 0 parce que je n' appuie ni sur W ni sur S. Maintenant, quand j'appuie sur la touche W pour avancer, regardez sur le côté gauche de ma fenêtre de jeu. Vous voyez toutes ces valeurs changer en une seule. La valeur de mon axe est un. Lorsque j'appuie sur la touche Echap, tout devient négatif. Maintenant, sur un clavier, c'est tout ou rien, non ? Il n'y a pas de dégradé comme vous pouvez l'obtenir avec un stick analogique où vous pouvez juste le déplacer un peu. Sur un clavier. Il n'y en a qu'un. Donnez-moi tout cela pour l' avenir, ou le contraire d'un, qui est négatif. Nous utilisons les valeurs de un et de moins un pour signifier une chose qui va de l'avant, ou l'inverse de cette chose dans ce cas, qui revient en arrière. Maintenant, si tout cela est un peu déroutant, vous pouvez passer la souris sur cette valeur d'échelle sur ce nœud de fonction pour ajouter une entrée de mouvement. Et ils peuvent vous dire qu'il peut également être utilisé pour les entrées analogiques. Il n'est pas nécessaire qu'il s'agisse d'un seul ou d'un négatif. Ces paramètres d'échelle ne font que déterminer la plage. Et vous pouvez avoir une gamme avec un stick analogique, alors que vous ne pouvez pas l'avoir avec les événements clavier. Maintenant, j'ai actuellement un contrôleur connecté à mon ordinateur pour le démontrer. Laisse-moi revenir ici. Cliquez sur Play. Et maintenant, je vais utiliser ma manette Xbox et appuyer légèrement vers l' avant avec le joystick gauche. Et vous pouvez voir que la valeur est de 0,08. Et alors que je le pousse de plus en plus vers l' avant, cela me permet de me rapprocher d'un. Alors que si je tire légèrement vers le bas sur le joystick, et puis de plus en plus, cela me rapproche de mes autres bornes, qui sont négatives. Le stick analogique me permet donc d'aller quelque part entre moins 11. Maintenant, pour insister davantage sur ce point, j' ai un graphique ici pour vous. En regardant une vue plongeante, vue haut en bas de notre personnage. C'est notre joystick gauche. Dans les paramètres du projet sous nos mappages d'accès, nous définissons notre w pour avoir une valeur d'échelle de un. C'est aussi loin que possible, cela équivaut à ce que vous avanciez aussi vite que possible. De l'autre côté. Notre touche S a une valeur, une valeur d'échelle négative un, c'est-à-dire l'opposé de un, dans ce cas dans le sens inverse. Encore une fois, sur un clavier, si vous appuyez sur W, il n'y a pas, pas d'intermédiaire ici. Vous allez soit de 0. Je ne vais pas aller jusqu'à un seul, je vais de l'avant et à toute vitesse. Si j'appuie sur la touche S, cela signifie que je recule à pleine vitesse. Il n'y a pas d' intermédiaire, cependant, avec le joystick gauche, vous pouvez faire en sorte que vous puissiez simplement déplacer un peu vers l'avant et vous rendre à mi-chemin de votre limite de un ou de moins 0,5 à vos limites de moins un dans le sens inverse. Maintenant, il convient de noter ici que vos valeurs d'échelle ne doivent pas nécessairement aller de un à un négatif. Vous pouvez définir d'autres valeurs d'échelle, mais il s' agit souvent de la plage définie. Très bien, ensuite, créons quelques événements d'accès que nous pouvons utiliser. Je vais donc cliquer sur ce bouton plus sous Mappages d'accès, assurez-vous de ne pas le faire sous Mappages d'actions. Et laisse-moi réduire mon mouvement en avant et en arrière. Je vais nommer ce premier compagnon. Déplacez-vous horizontalement. Et je vais régler ça sur ma touche L. Nous allons faire des événements clavier qui feront L, la touche L. Et l'échelle pour ça va être encore 11 fois. Je vais régler le contraire de ceci pour être la touche J. Et il y aura une échelle négative de un. Ensuite, je vais ajouter un autre axe de cartographie ici. Cela s'appellera compagnon, déplacez-vous verticalement. Et nous allons régler ça pour avoir le icky avec l' échelle réglée sur un. Et le contraire de cela sera la touche K et définira l'échelle pour cela sur moins un. Maintenant, ce que nous allons faire ici est d' ajouter un composant à notre ThirdPersonCharacter. Et en utilisant ces mappages d'accès, nous allons pouvoir déplacer cet objet. Ce sera une simple sphère. Donc compagnon, déplacez-vous horizontalement, compagnon et déplacez-vous verticalement. Nous l'avons configuré dans les paramètres de notre projet dans la catégorie Entrée Revenons à notre ThirdPersonCharacter. Et la première chose que nous allons faire avant même traiter les événements d'accès que nous venons de créer. Nous allons ajouter un composant. Cliquez donc sous composants, nous allons ajouter un composant. Nous allons ajouter des composants sphériques simples. Maintenant, dans le panneau Détails , passons d' abord à la fenêtre d'affichage pour voir cette sphère, c' est-à-dire une énorme sphère géante. Je vais d'abord réduire le barème. Je veux fixer une note uniforme. Alors allons-y et cliquons sur ce bouton de verrouillage pour que si je change l'une de ces valeurs, 2.5, cela changera les trois. C'est ce que fait cette icône de cadenas. Je vais également définir l'emplacement sur 20 sur l' axe des abscisses. Juste aussi, mets-le juste un peu devant notre personnage. Maintenant, je vais également créer deux variables pour nous aider avec le script que nous allons écrire ici. Le premier sera lié aux variables et il sera appelé taux horizontaux d'accompagnement. Et il s' agira d'une variable flottante parce que ce sera une valeur décimale. Je vais cliquer dessus avec le bouton droit de la souris. Je vais dupliquer ça et ça s' appellera « compagnon ». Taux verticaux, mips un peu mal orthographiés. Et si je compile, je peux définir certaines valeurs par défaut ici. Je vais donc fixer mes taux horizontaux à dix. Et je vais également cocher cette case, par exemple, modifiable qui entrera en jeu ici un peu plus tard. Et je ferai de même pour mon compagnon Vertical rate. Je vais également régler ça à dix. Cochez également cette case, par exemple, modifiable. Et allons-y et sauvegardons ça. Ensuite, créons un script dans notre graphe d'événements en utilisant les événements d'axe que nous venons de créer. Donc, en passant un peu à gauche ici, faisant un clic droit et un espace vide, je vais taper et me déplacer horizontalement. Et il y a mon événement d'axe pour compagnon, se déplacer horizontalement. À présent, ne vous méprenez pas entre les valeurs des axes et les événements de l'axe. Nous voulons que le compagnon se déplace horizontalement avec une petite icône de flèche juste là. Boum. Maintenant, je vais cliquer avec le bouton droit de la souris et nous allons taper move vertical, vertical. Cette petite icône en forme de flèche vers la droite indique également dans les événements. Très bien, et ce que nous voulons faire, c'est déplacer notre sphère ici un peu à chaque image. Allez-y, faites-le glisser et déposez-le dans notre graphique. Juste ici et en bas. Et je vais faire glisser hors de notre sphère et taper add relative location. Nous voulons donc mettre à jour l'emplacement de cette sphère, à chaque image. Je vais le brancher tout de suite. L'emplacement du delta est la mesure dans laquelle nous voulons modifier notre position relative. Pour ce faire, je vais faire glisser la valeur de nos axes et faire une recherche pour un nœud de multiplication. Je veux le multiplier par nos différents taux ici. J'aurais vraiment pu faire une seule variable ici et appeler ça juste un tarif compagnon. Mais juste pour jouer gentiment ici, je vais brancher notre compagnon et taux horizontal directement là-dedans. Et puis je vais reculer de cet emplacement delta et taper make vector. Nous recherchons un nœud make vector. Encore une fois, cette valeur de vecteur recherche un x, un y et un z. Nous voulons uniquement modifier l' emplacement de ces événements d'axe. Sur l'axe Y, nous allons le déplacer horizontalement. Donc l'axe des Y, l' axe des Y, cette flèche verte. Donc ça va être les scripts. Et nous allons faire de même ici. Je vais copier et coller ces trois nœuds ici, 123 les mettant en évidence tous les trois, contrôle C, contrôle V. Ranger un peu ça. La sphère est la chose que nous faisons pour nous déplacer. Et nous devons nous assurer que nous obtenons la valeur de nos axes ici, dans notre compagnon, dans ce cas, le taux vertical ici. Encore une fois, nous aurions pu simplement créer une variable appelée tarif compagnon, puisqu'il s'agit de la même valeur. Mais je veux qu'il montre cette fonctionnalité modifiable ici dans un petit moment. Très bien, nous allons compiler ça. Nous allons enregistrer cela au format. Maintenant, si nous regardons en arrière dans les paramètres de notre projet, vous pouvez voir que si nous déplaçons les touches L et J, nous allons déplacer ce compagnon, si vous voulez, horizontalement. Et si nous appuyons sur le I ou le KCI, nous allons le déplacer verticalement. Donc en revenant dans notre éditeur de niveau ici, je vais cliquer sur plaquette. En fait, lançons ça à partir de notre ThirdPerson Character. Je veux voir le script s'activer. Alors cliquez ici pour jouer. Vous pouvez le voir encore une fois, ils se déclenchent sans arrêt. Je devrais vraiment décrocher cette chaîne d'impression. En fait, laisse-moi le faire maintenant. Je vais décrocher cette chaîne d'impression de tout à l'heure parce que ça va juste être déroutant. Très bien, je clique en cours de lecture. Ces événements sont en train de se déclencher. Vous pouvez voir cette petite sphère devant moi. Je vais faire l' axe de saisie, me déplacer horizontalement. Donc les touches J, K, L, comme ça. Icky et KCI le déplacent également horizontalement. Et la raison en est que j'ai fait cette erreur de simplement les avoir tous les deux changeant l'emplacement y. Je vais maintenir la touche Ctrl enfoncée, cliquer avec le bouton gauche de la souris et le brancher à l'emplacement z, ce qui devrait résoudre ce problème. Maintenant. J et L, et I et K. Oui, vous pouvez le poser à travers le sol. Maintenant, une caractéristique amusante ici est que nous faisons certaine multiplication ici pour déterminer la vitesse à laquelle nous changeons l'emplacement de notre sphère. Je peux revenir à mon éditeur de niveaux. Je vais modifier mes paramètres de place en cliquant sur ces trois points juste ici dans la fenêtre d'affichage sélectionnée. Une fois que je fais cela, je vais jouer au jeu et sélectionner la fenêtre d'affichage. Mon ThirdPersonCharacter, qui est apparu dans le niveau ici, apparaît maintenant dans mon plan. C'est ce que cette couleur jaunâtre indique qu'elle a été engendrée. Et en sélectionnant cette option, je peux rechercher un compagnon. Et je peux voir ces deux variables que j'ai exposées à l'éditeur ici à partir de mon caractère BP ThirdPersonCharacter en cochant cette case modifiable d'instance sur chacune de ces variables. Maintenant, ce que cela me permet de faire, c'est que lorsque j' appuie sur les touches R ou J et L, ou sur les touches I et K, c'est génial. Mais en déplaçant le contrôle de gain F12, je peux modifier ces valeurs vers le bas dans l'éditeur maintenant, donc je vais changer le taux horizontal pour qu'il soit assez lent et le taux vertical pour qu'il soit assez rapide. Ensuite, en cliquant avec le bouton droit de la souris ici, ma fenêtre d'affichage, J et L, elle se met à jour lentement, mais de haut en bas va assez vite. C'est donc juste une fonctionnalité amusante que j' ai pensé que j'allais également lancer là-bas. Une fois que je me suis échappé d'ici, il convient de noter que ces valeurs variables reviennent à leurs valeurs par défaut. C'est juste pour jouer avec différentes valeurs dans le jeu. Quelques autres éléments intéressants à connaître avant de terminer cette vidéo, comme avec les mappings d'action d'entrée trouvés dans la dernière vidéo, vous pouvez sélectionner ces événements. Et dans la partie droite du panneau Détails, vous pouvez modifier quelques éléments à leur sujet, y compris exécuter quand pause, je suis tombé pour parler de cela, consommer une entrée qui est également disponible sur les mappages d' action en entrée avec ceci, s'il est défini sur true, alors cette entrée ne fonctionnera que pour le Blueprint qui a la priorité par défaut la plus élevée qui l'implémente. Ça va ? Cela se retrouve dans les valeurs par défaut de votre classe. Souvenez-vous, sous votre entrée, de cette priorité d'entrée, afin que l' entrée consommée ne fonctionne que pour celle qui a la priorité par défaut la plus élevée. Maintenant, une autre chose à noter ici, c' cela déclenche chaque image, non ? Vous vous demandez peut-être, eh bien, si je modifie les valeurs par défaut de ma classe, le taux de ticks, cela affectera-t-il également cela ? Non, ça ne sera pas le cas. Le fait d'affecter le taux de ticks n'affectera que cet événement. Événement de tick, cela n' affectera pas le taux auquel cela se déclenche. Ça va disparaître à chaque image, que tu changes ça ou non. Très bien les gars, ça va tout faire pour cette vidéo, on se verra dans la prochaine. 29. Début de chevauchement de l'événement: Avez-vous déjà joué à un jeu et êtes-vous demandé comment, lorsque votre personnage marche dans ce couloir sombre dans un jeu sur le thème de l'horreur, un zombie saute au bon moment pour vous faire peur ? Ou peut-être jouez-vous à un jeu comme Uncharted. Et alors que Nathan Drake fait miroiter le long du bord d'une falaise rocheuse, la falaise rocheuse s'effondre alors qu' il passe devant une zone d'apparence précaire. Maintenant, la façon dont cela se fait dans les jeux passe par on appelle des volumes de déclenchement. Et plus précisément, lorsque vous commencez à chevaucher un volume de déclenchement. Cette vidéo montre comment nous pouvons utiliser les volumes de déclenchement pour initier un événement de superposition de début d'acteur. Maintenant, c'est l'un des événements les plus courants déclenchés dans tous les jeux vidéo, et c'est donc un événement essentiel à connaître. Très bien, nous allons commencer ici en haut à gauche de notre éditeur, juste ici sous le bouton, euh, ajouter rapidement au bouton Projet, si vous voulez. Nous pouvons trouver des volumes, un volume de déclenchement. Vous pouvez en placer un de cette façon dans votre niveau. Vous pouvez également vous placer sous le panneau des acteurs de lieu, qui ajoutera un panneau d'acteurs de lieu à votre éditeur de niveau. Vous trouverez ici différents onglets de différents acteurs, y compris un onglet Volumes. Et ici, ils sont tous classés par ordre alphabétique. Vous pouvez trouver un volume de déclenchement. Laisse-moi y aller et placer l'un d'entre eux. Sinon, sous l'onglet Bases, vous pouvez trouver différentes formes de volumes pour ajouter une zone de déclenchement ou une sphère de déclenchement. Il y a quelques différences subtiles entre les deux, bien que ce que nous visons à faire sera similaire. Peu importe quel ajout. Je vais ajouter cette boîte de déclenchement juste pour montrer quelques différences entre ce volume et mon volume de déclenchement. Maintenant, si la case Déclencheur est sélectionnée dans le panneau Détails, cela va me donner accès à une option d'épaisseur de trait dans la catégorie Forme. Je vais donc régler ce chiffre à dix tout de suite. Et puis pour l'étendue de la boîte je vais définir quelque chose comme, eh bien, allons 300 par 300, quelque chose de beau et de grand. Je veux qu'il soit placé quelque part devant mes joueurs. Commencez acteur, mais pas trop près, donc je ne le chevauche pas tout de suite. On va faire quelque chose comme ça. Ce n'est pas grave s'il pénètre un peu dans le sol. Maintenant, vous pouvez également définir une couleur de forme ici. Donc, si vous le désélectionnez, il affichera la couleur verte de la forme. Sinon, lorsque vous le sélectionnez, il est surligné en jaune. Maintenant, c'est juste une démonstration, une petite différence entre notre Trigger Box et notre volume de déclenchement. Si j'ai sélectionné le volume de mon déclencheur, vous pouvez en modifier la forme. Il n'est pas nécessaire que ce soit de forme cubique. Et pour ce faire, vous devez entrer dans les paramètres de votre pinceau. Et sous la forme de votre pinceau, vous pouvez le transformer en cône. Tu pourrais changer ça en escalier si tu le souhaites, en cylindre. Ensuite, il existe différentes propriétés à modifier en fonction de la forme du pinceau. Mais pour les besoins de cette vidéo, je vais m'en débarrasser et utiliser cette boîte de déclenchement. La fonctionnalité sera cependant la même entre eux. Très bien, nous avons sélectionné cette actrice dans notre niveau. Je vais écrire des scripts ici l'intérieur de nos plans de niveau. Allons-y et ouvrons-le. Et je vais mettre ça dans mon graphique d'événements, Graph. Et dans un espace vide, je vais simplement cliquer avec le bouton droit de la souris. Et lorsque vous cliquez avec le bouton droit un objet sélectionné dans votre niveau, vous pouvez ajouter un événement pour cet objet. Dans ce cas, c'est la case de déclenchement cinq qui est appelée. Et sous la section collision, je voudrais faire un ajout sur l'acteur, commencer le chevauchement. Lorsqu'un élément chevauche cette zone de déclenchement. Nous pouvons faire quelque chose et découvrir qui était l' autre acteur. Cela produira, cela nous permettra savoir qui était l'autre acteur. Juste pour aider à visualiser cela, je vais faire glisser mon épingle d'exécution ici et ajouter une fonction de chaîne d'impression. Et je vais brancher cet autre acteur directement là-dedans pour obtenir le nom de tout ce qui se chevauche, si je devais compiler ceci et jouer, faire passer mon personnage à travers ça et regarder en haut à gauche de ma fenêtre de lecture ici, lorsque je chevauche ce volume de déclenchement, me montrera qu' il s'agit d'un ThirdPersonCharacter qui chevauche ce volume. Maintenant, vous ne pouvez pas voir ce volume de déclenchement dans le niveau. Allons-y et réglons ça avant d'aller plus loin. Je vais donc retourner dans mon éditeur de niveau ici avec ma case de déclenchement sélectionnée. à cocher de cet acteur caché dans le jeu est cochée, ce qui signifie qu'il sera masqué dans le jeu. Si je désactive cette case, allez-y et jouez. Je peux maintenant voir ce volume de déclenchement dans toute sa splendeur. Très bien, faisons en sorte que quelque chose se produise lorsque nous chevauchons ces volumes de déclenchement. Revenons donc à mon plan de niveau. Je peux m'en débarrasser maintenant, cliquer avec le bouton gauche de la souris et faire glisser ici mettre l'autre acteur. Eh bien, sortons de cela et faisons ce casting à notre personnage à la troisième personne juste assurer que nous voulons que quelque chose ne se produise lorsque notre ThirdPersonCharacter le chevauche également, nous aura également un impact direct sur notre personnage de troisième personne ici. C'est donc en quelque sorte un double objectif pour lequel nous faisons cela. Alors quand l'autre acteur est le ThirdPersonCharacter, que voulons-nous faire ? Eh bien, nous pouvons accéder à notre ThirdPersonCharacter ici pour modifier quelque chose à ce sujet. Y compris si j' ouvre mon plan de personnage de troisième personne. Y compris nous pouvons modifier certaines propriétés dans les composants de mouvement de ce personnage. Alors faisons-le. Et nous nous souvenons que le composant de déplacement du personnage peut contrôler des éléments tels que la vitesse ou le déplacement d'un personnage. C'est la propriété de la vitesse maximale de marche juste ici. Donc, de retour ici dans mon plan de niveau, je vais faire glisser hors de mon BP ThirdPersonCharacter et taper caractère, whoops, mouvements de personnage. Nous pouvons le trouver tout en bas ici, obtenir le composant de mouvement du personnage. Et que voulons-nous modifier à l'intérieur de ce composant de mouvement de personnage ? Eh bien, je voulais modifier cette vitesse de marche maximale. Je vais donc revenir à mon plan de niveau ici. Nous allons sortir de là et taper set max, walk, speed. Maintenant, vous voyez ce genre de choses se produire dans les jeux tout le temps. En fait, j'ai récemment fini jouer au remake de Final Fantasy Seven. Il y a des zones dans ce jeu où Cloud Strife se promène et sa vitesse de déplacement ralentit. Donc, ce qui se passe là-bas, c'est que le nuage chevauche une boîte de déclenchement et chevauche une boîte de déclenchement et que la vitesse maximale du personnage est réglée un rythme de marche pour m' empêcher de courir dans une zone. Peut-être que je traverse un espace restreint ou quelque chose comme ça. Je vais régler la vitesse de marche maximale à 200 ici lorsque je chevaucherai cette boîte de déclenchement, compilons, assurez-vous que compilons, assurez-vous que notre script est bon ici. Ensuite, jouons. Maintenant, laissez-moi définir mon option de débogage ici sur ma carte de test de niveau afin que vous puissiez voir cet événement se déclencher. Déplace ça vers le haut. Ça va ? Et vous pouvez voir que je cours à un bon rythme. Mais quand je chevauche ce volume de déclenchement, je ralentit. Maintenant, vous pouvez voir que lorsque je suis sorti de ce volume de déclenchement, je n'accélère pas. Et c'est parce qu'il s'agit d'un événement de chevauchement de début d'acteur. Cela affecte mes personnages qui définissent ma vitesse de marche maximale lorsque je la chevauche, mais je ne lui dis pas de revenir à vitesse de marche maximale habituelle lorsque je mets fin à ce chevauchement. C'est un exemple très basique, mais prenons quelques mesures ridicules plus loin juste pour vous montrer la gamme de choses que vous pouvez faire sur un acteur qui commence à se chevaucher. Eh bien, une chose que tu pourrais faire est de t' éloigner de ça et jouer du son sur place. Quel endroit ? Eh bien, nous pourrions dire l'emplacement de notre déclencheur. Faisons un clic droit et un peu d'espace vide. Ma boîte de déclenchement est toujours sélectionnée dans le niveau. Créons donc une référence à une boîte de déclenchement. Faites glisser hors de ceci et dites Get Location, get actor, location. Je n'ai pas vraiment besoin de le faire à un endroit donné, mais je vais jouer de la musique à un endroit donné. Bien sûr. Bon. C'est quelque chose que nous pourrions faire. Une autre chose que nous pourrions faire est de nous assécher et de faire naître un acteur de classe. Que voulons-nous engendrer ? Eh bien, tout d'abord, nous devons nous dire où apparaître. Donc, en utilisant encore une fois notre boîte de déclenchement, je peux m'éloigner de cela et dire encore une transformation d'acteur. Alors, que voulons-nous apparaître lors de cette rotation d'emplacement ? Frayons en tout cas, un peu de fumée. Ensuite, nous pouvons également faire quelque chose comme le faire glisser et taper le système de spawn à l'emplacement. Maintenant, le système va générer n' importe quel système de particules de Niagara. Donc, irréel avait ce truc où ils utilisaient tous les systèmes de particules appelés cascade et c'était l'ancien système. Certaines des explosions et des effets de feu que vous m'avez vus utiliser jusqu'à présent. C'est l'ancien système de particules, mais le système de particules Niagara de Huron. Donc, si vous souhaitez ajouter un système de particules Niagara, vous pouvez vous rendre sur l' Epic Games Store et sur le marché sous Unreal Engine 5, vous pouvez vous retrouver dans les effets visuels. Vous pouvez définir le prix maximum sur gratuit. Et vous pouvez essayer d'ajouter certains de ces effets de particules Niagara à votre projet. C'est assez simple. Je ne vais pas le faire maintenant parce que ça va prendre un peu de temps. Mais si vous deviez sélectionner l'un d'entre eux, vous pourriez l'ajouter au projet. Sélectionnez les projets auxquels nous voulions l'ajouter. C'est quoi ce bordel ? Je vais probablement ajouter ceci après cette vidéo au projet. Et c'est comme ça que tu le ferais. Dès que vous cliquez sur ce bouton , dans votre éditeur de niveaux, vous verrez apparaître les dossiers appropriés contenant ces effets de particules. Et cela vous permettra alors de vous connecter à un système approprié. Bien sûr, vous devez indiquer où vous voulez le faire apparaître. Très bien, donc juste pour le démontrer, allons-y et cliquons encore une fois sur Lecture. Et quand on se chevauche, ralentit, qu'on joue de la musique, et que notre effet Blueprints émet de la fumée, non ? Smack Dab au centre. Tir à l'arc Enfin, il est important de savoir que ces événements de début de chevauchement ne se limitent pas à ces volumes de déclenchement que vous trouverez ici dans votre panneau d'acteurs de lieu. Au contraire, j'oserais dire que la plupart des événements begin overlap que j'utilise dans les scripts trouvent à l'intérieur des classes de blueprint elles-mêmes. Maintenant, pour le démontrer, revenons à l'intérieur de notre exemple de pick-up BP. Double-cliquez dessus pour l'ouvrir. Et si vous vous souvenez du début du cours, nous utilisions un collisionneur de sphères, un volume de déclenchement pour vérifier si notre personnage à la troisième personne chevauchait cela afin de le récupérer. Maintenant, si je passe sous ce panneau de composants juste ici et que je clique sur Ajouter, si je fais défiler vers le bas, il y a différents types de volumes de déclenchement dans la catégorie collision, mais il y a une boîte collision, collision forme de capsule et collision de sphère. Maintenant que l'un de ces éléments est ajouté à un Blueprint, si vous le sélectionnez sur le côté droit, vous pouvez voir qu' un événement Begin Overlap lui est associé. C'est tout en bas. Sinon, si je devais cliquer dessus avec le bouton droit de la souris et que je venais sous Ajouter des événements, ce même événement est également disponible ici. Juste pour rappel , mon graphique d'événements. Voici où j'utilise un composant impair, commencez le chevauchement. C'est une sorte de volume déclencheur. C'est juste un composant étrange. Il s'agit d'un volume de déclenchement de composant actuellement de forme sphérique. Et il indique toujours le nom du composant entre parenthèses, comme dans le plan de niveau, il indique également le nom du volume de déclenchement entre parenthèses. C'est juste un acteur qui commence le chevauchement dans mon exemple BP, c'est sur le chevauchement de début de composant. Ce sont tous deux des événements de chevauchement dans lesquels vous pouvez lancer un script. Eh bien les gars, ça va tout faire pour celui-ci. Dans la vidéo suivante, nous parlerons des événements de fin de chevauchement. te verrai là-bas. 30. Chevauchement de fin d'événement: Bon retour à tous. Dans cette vidéo, notre objectif est de montrer comment les volumes de déclenchement peuvent également être utilisés pour déclencher et chevaucher des événements. Parfois, vous voulez qu'il se passe quelque chose lorsque vous commencez à entrer dans une zone et parfois vous voulez que des choses se produisent lorsque vous quittez une zone. L'événement de fin de superposition concerne les moments où vous souhaitez que quelque chose se produise lorsque vous quittez une zone. Maintenant, nous avons laissé de côté la dernière vidéo où quand j'ai entré ce volume, ce volume déclencheur juste ici, cela ralentissait mon personnage. Maintenant, j'ai fait d'autres choses ridicules comme jouer la musique et créer un effet de particules, ce genre de choses. Mais je ne vais pas vraiment accélérer mon personnage une fois que je suis sorti de ce volume. Par conséquent, ici, nous allons explorer comment procéder. Maintenant, avant même d'en venir à cela, je vais revenir à mon plan de niveau ici. Et j'ai fini d'ajouter un système de particules Niagara à la toute fin ici. Et je voulais juste te faire remarquer que dans la dernière vidéo, je t'ai dirigé vers l'Epic Game Store. Et pendant que nous étions ici, je suis allé sur le marché et nous cherchions des effets visuels. Vous E5, je suis passé sous un UE cinq effets visuels et je crois que je le soulignais sous les packs gratuits. Celui-là, c' est l'ancien système en cascade. Si vous voulez des effets Niagara, optez pour un effet Niagara juste ici. Maintenant, j'ai inclus cela entre les vidéos. Et donc, quand je jouerai maintenant, vous verrez que j'ai une reine à douche qui va également apparaître là-dedans. Je voulais juste le souligner pour terminer cette dernière partie. Très bien, passons au chevauchement des extrémités. Ainsi, vous pouvez voir au début du chevauchement où le ralentissement de notre personnage. Eh bien, accélérons-les. Maintenant, comme nous l'avons montré dans la dernière vidéo, si nous voulons ajouter cet événement à notre plan de niveau, vous devez vous assurer que cet acteur est sélectionné dans votre niveau. Allons-y et vérifions-nous que nous avons sélectionné des volumes de déclenchement. Vous pouvez le sélectionner ici ou dans votre Outliner. Quoi qu'il en soit, nous le ferons. Et revenez dans votre plan de niveau. C'est comme ça que tu peux revenir au plan de l'amour. Allez-y et cliquez avec le bouton droit de la souris et un espace vide, nous pouvons ajouter un événement pour cela qui est connu sous le nom de Trigger box 5 pour moi, ne vous inquiétez pas s'il dit autre chose pour vous. Trigger box 27 ou peu importe. Cela dépend vraiment du nombre de cases de déclenchement que vous avez ajoutées jusqu'à présent. Ici, nous voulons faire un chevauchement. Ça va ? Nous allons également faire un casting pour notre ThirdPersonCharacter. Nous voulons savoir si la chose qui a mis fin au chevauchement Cast to ThirdPersonCharacter était le personnage à la troisième personne. Maintenant, si c'est le ThirdPersonCharacter qui a fini par se chevaucher, ce volume de déclenchement, nous voulons récupérer notre composant de mouvement de personnage à récupérer notre composant de mouvement de personnage partir de ce ThirdPersonCharacter. Ensuite, nous pouvons sortir de ceci et taper set max, walk, speed. Et encore une fois, je sais que cette propriété existe parce qu'à l'intérieur de la composante mouvement du personnage, à l'intérieur de mon personnage à la troisième personne, il y a un paramètre de vitesse de marche maximale. C'était donc 500 avant. Permettez-moi de revenir à mon plan à la troisième personne juste pour montrer ce composant de mouvement de personnage hors route , la vitesse de marche maximale est actuellement fixée à 500. Donc, dans mon plan de niveau, je vais ramener cette vitesse de marche maximale à 500. Donc, lorsque nous finissons de chevaucher ce volume de déclenchement, nous devrions, nous devrions revenir à notre vitesse normale. Et je veux juste montrer que ces événements vont s'enflammer ici. Permettez-moi donc de définir mon option de débogage juste là. Ramenez mon personnage. Très bien. On voit qu'il courait à 500 ans. À l'intérieur du volume de déclenchement. Quand je quitte et que je chevauche jusqu'à 500, vous pouvez voir juste en bas ces événements se déclencher. Très bien. Considérez donc les autres utilisations possibles pour un chevauchement d'extrémité. Nous pourrions faire en sorte que lorsque nous et que nous nous chevauchions, nous puissions arrêter de jouer de la musique que nous produisons, que nous ne puissions pas arrêter cette musique parce que c'est un feu et un oubli. Mais si vous vous intéressez à la musique, nous pourrions l'enregistrer dans une variable et arrêter de jouer leur musique. Peut-être pourriez-vous utiliser un chevauchement d'extrémités pour arrêter de blesser le joueur. Peut-être que le joueur se trouvait dans une zone de gaz toxique qui affectait sa santé dès qu'il la chevauchait. Mais quand ils ont fini de se chevaucher ils ne perdaient plus de santé. Ou peut-être est-ce quelque chose comme vous pouvez voir dans Uncharted ou Final Fantasy sept, que lorsque vous commencez à chevaucher des volumes, vous ne pouvez pas dessiner d'arme, mais lorsque vous finissez de chevaucher ce volume, tu peux dégainer cette arme. Cela peut être fait via des variables booléennes définies à l'intérieur de votre ThirdPersonCharacter. Eh bien les gars, ça va tout faire pour cette vidéo, on se verra dans la prochaine. 31. L'événement commence le curseur: Bienvenue à tous. Dans cette vidéo, nous allons créer quelques plans et également modifier un paramètre de projet afin de montrer quel point les événements de survol sont intéressants. Ce sont d'excellents événements à savoir si vous voulez que quelque chose se produise lorsque vous passez la souris sur un objet, comme un élément dont la couleur change, comme un effet de surbrillance, ou faire apparaître la description d'un élément peut-être le nom de l'objet que vous avez survolé. Ou peut-être des textes qui disent d'appuyer sur X pour interagir ou saisir cet objet, ce genre de choses. Maintenant, il s'agira principalement d'un événement de type PC, mais il est bon de le savoir quelle que soit la plateforme sur laquelle vous développez. Juste pour voir tout ce qui peut être fait ici à Unreal. Très bien, pour le montrer, nous allons créer un plan de classe précis. Et vous pouvez le mettre dans le dossier de votre choix. Mais je vais entrer dans mon dossier d'aperçu des scripts, et je vais cliquer avec le bouton droit de la souris dans un espace vide, sous la classe Blueprint. Après le cours est celui que nous recherchons et je vais nommer cet événement de souris de soulignement BP. Ensuite, nous allons double-cliquer sur ce type pour l'ouvrir. Nous voyons notre racine de scène par défaut ici. Nous allons ajouter un seul composant. Passez donc sous le panneau Composants, cliquez sur Ajouter. Nous allons ajouter des composants de sphère. Super, et allons-y et mettons-le à notre niveau. C'est probablement une bonne idée de le placer juste en face de l'endroit où votre personnage va apparaître pour que les joueurs commencent acteur. Nous pouvons donc le voir tout de suite , puis revenir aux événements de votre souris p.sit et nous diriger vers le graphique d'événements. Maintenant, nous voulons que quelque chose se produise lorsque nous survolons notre sphère ici. Quels événements avons-nous disponibles pour cela ? Eh bien, avec nos composants de sphère sélectionnés dans le panneau Détails tout en bas, vous pouvez trouver tous les événements associés et disponibles pour ce composant particulier, y compris Au début curseur sur. Donc, si je clique sur ce bouton plus, je peux ajouter cet événement à notre graphique et j'y accèderai directement. Maintenant, vous pouvez également ajouter ces événements si vous le souhaitez, avec le bouton droit de la souris sur ce composant. Et puis le petit menu volant ajoute un événement, vous le trouverez dans cette liste. La raison pour laquelle il ne s'agit pas de cette liste est qu'elle a déjà été ajoutée à notre graphique. Mais s'il n'a pas été ajouté à notre graphique, nous pouvons également le trouver ici. Très bien, ce que nous voulons, c'est que lorsque nous déplaçons le curseur de la souris sur la sphère, nous allons changer de matériau. Prenons donc une référence à notre sphère. Cliquez avec le bouton gauche et faites-le glisser dans le graphique. Et nous allons sortir de notre sphère pour lui parler, pour changer quelque chose à ce sujet. Je vais saisir le matériel de tournage. Et encore une fois, je savais que c'était une propriété que je pouvais modifier à propos de ce composant car si je sélectionne ma sphère, l' un des détails disponibles est le matériau. C'est donc un bon indice si vous vous demandez ce que je peux changer à propos d'un composant donné tout en sélectionnant simplement ce composant. Et dans les détails, regardez toutes les différentes choses qui pourraient être modifiées à ce sujet. Maintenant, je vais placer mon matériel ici pour qu'il soit quelque chose d'assez odieux. Je vais taper vertex green, c'est ce que je cherche. Et si je ne le trouve pas, c'est parce que si je clique sur cette petite icône en forme de roue dentée, je veux rechercher non seulement mon contenu normal mais aussi le contenu de mon moteur. Et est-ce que Vertex Green n'est pas là ? Laissez-moi juste taper en vert. Le mode d'affichage des couleurs des sommets, vert uniquement, c'est celui que je recherche. Donc, si je compile ceci, je peux voir que mes scripts sont prêts à être utilisés. Je vais aussi l'enregistrer. Vous pourriez penser, d'accord, si je saute dans le jeu et que je place le curseur de ma souris sur cette peur que cela fonctionne. Eh bien. En fait, ça ne marchera pas encore. Nous devons travailler dans les plans d' un contrôleur de joueur pour activer ces événements de survol de la souris. Maintenant, les plans de contrôleur de joueur sont quelque chose dont nous allons parler beaucoup plus lorsque nous parlerons de plans de framework. Mais pour rendre justice à cette vidéo en particulier, je dois patauger dans ces eaux. Pour les besoins de cette vidéo, tout ce que vous devez savoir sur le plan de la manette du joueur est que la manette du joueur fonctionne en tandem avec un personnage ou un plan de classe de pion pour affecter votre expérience de jeu. Le contrôleur du joueur est essentiellement constitué des cordes de marionnettes. Le personnage est la marionnette. Tu es la marionnette. Analogie trop simplifiée, je sais, mais le plan du contrôleur de lecteur contient des paramètres de souris que nous devons définir afin définir afin cet événement de début de curseur se produise réellement. Allons-y et créons plans de cette manette de joueur. De retour ici, dans notre éditeur de niveaux, je vais créer un tout nouveau dossier pour héberger les plans de ce contrôleur de lecteur. Je vais donc cliquer avec le bouton droit de la souris sur mon dossier de script. Nous allons créer un nouveau dossier. Et je vais appeler ce framework parce que nous allons ajouter des Blueprints de type cadre plus tard dans le cadre du cours. Les plans sont des plans de haut niveau qui permettent de déterminer des éléments concernant l'ensemble de votre projet. Et à l'intérieur, je vais cliquer avec le bouton droit sur la classe Blueprint. Et l'un des plus courants est un plan de contrôleur de joueur. Il contrôle un pion utilisé par le joueur. C'est la description qui s'y trouve. Et allons-y et créons-le. Je vais appeler ce contrôleur de joueur de soulignement BP. Nous allons double-cliquer sur ce type pour l'ouvrir. Pas grand-chose ici, cependant, dans la classe, le bouton par défaut de la classe avec celui sélectionné dans le panneau Détails se trouve sous cette section de l'interface de la souris. C'est la partie la plus importante. Une chose que vous devez faire est afficher le curseur de la souris en cochant cette case, nous allons nous assurer que le curseur de la souris que je suis en train d'agiter en ce moment sera présent sur l'écran. Et l'autre gros problème que vous devez définir ici est d' activer les événements de survol de la souris. C'est essentiel pour que ce curseur survole des événements. Assurez-vous de compiler et de nous enregistrer. Nous pouvons aller de l'avant et fermer, mais ce n'est pas encore fini. Nous avons créé ce plan de contrôleur de joueur, mais nous n'avons pas indiqué à notre projet d'utiliser ce plan de contrôleur de joueur. En sortant d'ici, retournez dans votre éditeur de niveau principal. Vous pouvez accéder aux paramètres, aux paramètres du projet, et dans la section des cartes et des modes, nous avons cette classe de contrôleur de joueur. Nous voulons régler cela sur le contrôleur de lecteur bp de notre client que nous venons de créer. Ce faisant, nous expliquons notre projet que nous avons créé pour utiliser cette classe de contrôleur de joueur. Et cette classe de contrôleur de joueur. N'oubliez pas que ces événements de survol sont-ils activés ? Super. Maintenant, nous pouvons revenir à notre niveau. Allons-y et jouons. Et vous pouvez voir que mon curseur est présent sur l'écran et qu'il est devenu vert presque immédiatement ici. Laisse-moi jouer. Ok, ce n'est pas vert. J'ai dû peser ma souris dessus immédiatement. Permettez-moi donc de faire un clic droit et de l'espace ici. Cette sphère est de couleur blanchâtre et dès que je souris dessus, boum, devient verte. Maintenant, en revenant à notre plan d'événements de souris bp, vous pouvez voir comment je pourrais étendre cette fonctionnalité pour jouer un son 2D, une sorte de son de confirmation lorsque je commence à survoler la sphère avec la souris. Mais je ne fais rien quand j'ai mis fin à ce chevauchement de la sphère. Nous traiterons de ces événements dans la prochaine vidéo. Très bien, je veux montrer un autre exemple ici avant de terminer cette vidéo, nous allons faire cet exemple suivant dans notre BP, un plan de personnage ThirdPersonCharacter. Je vais donc monter à nouveau là-bas. Vous pouvez le trouver dans les plans à la troisième personne. À l'intérieur de notre personnage ThirdPerson. Nous allons définir le matériau notre personnage lorsque nous commencerons à le survoler avec la souris. Maintenant, la raison pour laquelle je vais montrer ceci est pour montrer un paramètre que vous allez devoir définir ici afin que ces événements fonctionnent avec le curseur sur les événements. Ce que je veux faire, c'est quand je passe la souris sur ce composant de la capsule, c' est-à-dire cette capsule invisible encapsulant notre personnage. Il veut qu'il arrive quelque chose. Nous allons changer la maille, c' est-à-dire la matière, si vous voulez, la couleur, la maille de la couleur de notre mannequin ici. Passons au graphique d'événements. Après avoir sélectionné ce composant Capsule , je vais cliquer avec le bouton droit de la souris. Nous allons ajouter des événements sur, en commençant par le curseur sur. Il va ajouter cet événement à mon graphique d'événements. Ensuite, je vais faire glisser mon maillage qui est tout ce mannequin, si vous voulez, faites-le glisser dedans. Ensuite, je vais faire glisser ça et taper un matériau de décors. Et je vais faire en sorte que notre matériau devienne, je vais aussi le changer en vert , cette couleur odieuse. Très beau. Maintenant, je vais commencer et compiler ceci, enregistrer et jouer. Et maintenant, vous pouvez voir que lorsque je passe le pointeur de la souris sur ma sphère, oui, elle change de vert. Vous vous attendez à la même chose quand je survole mon mannequin ici également, mais cela ne semble pas fonctionner. Qu'est-ce qui se passe ici ? Eh bien, si vous voulez faire quelque chose comme ça, nous devons revenir aux composants de nos capsules. Et dans les paramètres de collision, nous souhaitons développer nos préréglages de collision ici. Préréglages de collision juste là, il est actuellement réglé sur pion. Nous allons le changer en personnalisé. Et nous allons autoriser le blocage de notre canal Visibilité. Essentiellement, ces événements de survol de la souris vérifient si la visibilité est bloquée et si elle est bloquée, cela va se déclencher en ce moment, nous l'ignorons. C'est ainsi que nous détectons si cet événement de survol de la souris se produit. Il fait une visibilité tracée dans le monde. Maintenant. C'est juste ignorer que si nous le réglons sur bloquer, il reconnaîtra que oui, cette il reconnaîtra que oui, trace a touché quelque chose, dans ce cas le composant Capsule. Allons-y et changeons ce matériau. Très bien, compilons ceci et sauvegardons encore une fois, en cliquant sur Play here at sphere devient vert et maintenant regardez-le. Ma maille devient également verte. Pourquoi pas tout ça ? Eh bien, la raison pour laquelle tout cela ne devient pas vert est que si nous sélectionnons notre maillage ici dans le panneau Composants et que nous passons sous Matériaux, je ne change que cet élément est 0. Je ne change pas l'élément qui détermine la couleur des autres parties de notre mannequin. Donc, si je devais changer cela en index d'élément un, serait changer ces parties par opposition à ces parties. C'est bon à savoir. Quelles sont les utilisations possibles de ce type d'événement ? Eh bien, encore une fois, vous pouvez afficher l'invite du bouton, interagir, détruire, interagir avec le ramassage. Vous pouvez avoir une sorte d'effet de surbrillance d'élément. Cela peut être un son, une particule qui peut être un changement matériel comme nous l'avons fait ici. Eh bien les gars, ça va tout faire pour celui-ci. Nous vous verrons dans le prochain. 32. Curseur de fin d'événement: Notre objectif dans cette vidéo est de poursuivre notre exploration des événements du curseur de la souris en déclenchant événement lorsque nous terminons de survoler un objet avec la souris. C'est extrêmement utile pour faire revenir un objet à son état normal chaque fois que nous avons fini de le vérifier, comme nous l'avons fait dans la dernière vidéo où nous avons passé la souris sur cette sphère, elle est devenue verte, mais lorsque nous Ne le survolez plus avec la souris, nous arrêtons de passer la souris dessus. Il ne revient pas à son état normal, de même que notre personnage. Ajoutons donc un curseur de fin sur les événements pour remettre ces éléments à leur état normal. Monsieur, dans mon plan de personnage à la troisième personne. Et d'après la dernière vidéo ici, tout ce que nous faisons c'est que lorsque nous passons la souris sur notre composant capsule, nous faisons en sur notre composant capsule, sorte que le matériau de notre maillage devienne au moins vert élément 0 PAS élément un. Allons-y et remettons-le en arrière. Maintenant, la façon dont nous pouvons revenir en arrière est simplement cliquer avec le bouton droit de la souris sur notre composant capsule ici. À l'événement, nous avons le curseur de fin sur. Ajoutons cela à notre graphique. Et je peux simplement copier ce nœud ici, contrôle C, contrôle V. Nous pouvons utiliser la même référence de maillage ici pour le définir comme cible. Et nous affectons l'élément est 0 ici. Nous allons affecter l'élément 0 ici. Cependant, nous devons redonner à la matière ce qu'elle était. Et quel était ce matériel encore une fois, eh bien, c'était en tant que MI Quinn. Et nous pouvons y accéder en cliquant juste ici en accédant à cela dans le navigateur de contenu. C'est écrit « MI Queen ». Il se trouve dans cette série de dossiers avec les actifs d'instance matérielle sélectionnés ici dans notre ThirdPersonCharacter. Et assurez-vous d'avoir sélectionné cette option. Nous pouvons simplement cliquer sur cette flèche juste ici pour l'insérer sous le matériau. Compilons. Ce script se présente très bien. Sauvegardez-le également. Cliquez sur Play. Et maintenant, lorsque je survole le curseur de la souris, notre personnage devient vert, moins dans les zones où les éléments 0 affectent notre maillage ici. Et quand je souris dessus , je le remets en place. Cool. Faisons cela avec notre sphère d'événements de souris bp également. En accédant à notre graphique d'événements, nous faisons quelque chose lorsque nous commençons à parcourir cette sphère. Nous allons donc sélectionner notre sphère. Faisons un clic droit ici et un espace vide sur les événements pour terminer le survol du curseur. Et je ferai de même ici. Contrôle C pour copier, contrôle V pour coller. Nous pouvons utiliser cette même référence de sphère, ou vous pouvez ajouter une nouvelle référence de sphère, montrant simplement plusieurs façons de faire quelque chose. Les deux ciblent le même indice d'élément. Celui-ci n'a qu' un seul indice d'élément pour les éléments de matériau 0. Et il utilise ce matériau de base de formes. Je peux le rechercher ici, ou je pourrais faire comme je le faisais avant cette fois-ci, recherchons-le simplement en cliquant sur cette flèche déroulante. Tapez des formes de base, un matériau de forme de base. Essayons ceci, compilons, sauvegardons et jouons. Et je suis aussi au-dessus de la sphère qui devient verte. En fait, montrons le tir de ce script ici. Il devient vert, devient blanc, vert devient blanc, et vous pouvez également voir ces événements se déclencher. Des trucs assez simples. Utilisez-le en tandem avec cet événement begin cursor over. Et encore une fois, afin de faire en sorte que l'un de ces événements de curseur se produise même, ou ceux qui terminent le curseur sur des événements. Vous devez définir ces paramètres dans les plans de votre manette de joueur pour accepter ces événements de survol de la souris , les gars, je vais tout faire pour celui-ci. Nous vous verrons dans le prochain. 33. Événement sur clic: Bienvenue à tous. Au cours des deux dernières vidéos, nous avons montré comment configurer un plan de contrôleur de lecteur pour détecter quand nous survolons quelque chose avec la souris. Et puis le contraire, c'est de finir de survoler quelque chose avec la souris. Nous allons aller encore plus loin dans les deux prochaines vidéos ici pour détecter quand nous avons cliqué sur quelque chose, ainsi que lorsque nous avons une version qui a cliqué. Commençons ici à l'intérieur de nos événements souris BP. Ce que nous voulons faire, c'est détecter quand nous avons cliqué sur cette sphère. Pour ce faire, nous pouvons cliquer avec le bouton droit de la souris sur notre composant de sphère ici. Et dans notre petit menu volant Ajouter un événement ici, je peux ajouter un événement en un clic. C'est une façon de procéder. Ou bien avec les composants sélectionnés. Tout en bas du panneau Détails se trouve la liste des événements disponibles pour ce composant. Je vais cliquer ici sur ce bouton plus pour l'événement OnClick. Cela nous permettra d'accéder au graphique d'événements et d'ajouter cet événement à notre graphique. Nous allons donc mettre en place un script très basique ici. Ce que je veux faire, c'est parler aux composants de notre sphère pour pouvoir faire glisser ici ou le faire glisser ici. L'un ou l'autre suffira, je vais m'en occuper. Et je veux définir l'échelle mondiale de cet objet lorsque je clique dessus. Cependant, je ne veux pas définir ce chiffre sur un nombre strict et rapide. Je veux faire quelques calculs de base. Donc ce que je vais faire, c'est m'éloigner de ça. Je vais obtenir son échelle mondiale actuelle ici en tapant et simplement obtenir l'échelle mondiale. Cela me donnera son échelle mondiale actuelle, qui si je sélectionne ma sphère ici, l'échelle mondiale est actuellement de 111. Et je veux faire en sorte que chaque fois que je clique dessus, je vais simplement y ajouter un peu. Donc, en faisant glisser la valeur de retour ici, utilisez ce bouton plus pour ajouter un nœud d'ajout. Et nous allons simplement ajouter 0,1 dans les dimensions x, y et z, ce qui le rend légèrement plus grand chaque fois que vous cliquez dessus. La première fois que vous cliquez dessus, nous allons cibler notre sphère. Nous allons définir notre échelle mondiale. Il va passer de 1 à 1.1 dans l'ensemble du tableau, puis en cliquant à nouveau dessus, il le mettra à 1.2, et cetera, etc. Compilons le script et sauvegardons-le. Et tout cela semble bien, cependant, vous verrez qu'une fois que je cliquerai sur Jouer ici et que je déboguerai cet objet d' événements de souris ici. Je peux le mettre en surbrillance et il devient vert. Cependant, lorsque je clique dessus, rien ne semble se passer. La raison pour laquelle rien ne se passe ici, c'est parce que je dois retourner dans la manette de mon joueur et cocher une case qui active les événements de clic. Donc, si vous avez oublié plan de votre contrôleur de lecteur, nous l'avions dans notre dossier framework. Double-cliquez dessus pour l'ouvrir. Et à l'intérieur d'ici avec un bouton par défaut de classe sélectionné se trouve sous la section de l'interface de la souris. Et tout comme auparavant lorsque nous activions un événement de survol de la souris, nous devons activer les événements de clic. Maintenant, une fois que nous avons fait cela, notez ceci juste en bas, les touches d'événements de clic. Nous sommes donc en train de vérifier cela. Oui, nous pouvons reconnaître les événements de clic. Et en bas, nous pouvons définir ce qui s'enregistre en tant qu'événement click. Par défaut, le bouton gauche de la souris est défini, mais vous pouvez cliquer ici. Vous pouvez cliquer dessus plusieurs fois pour ajouter différentes clés. Je vais donc supprimer cela parce que je ne veux que le bouton gauche de la souris. Cela fonctionnera donc. Cela activera le bouton gauche de la souris. Il s'enregistrera, c' est-à-dire un événement de clic. Il convient également de noter ici que ci-dessous, nous avons un canal de suivi des clics par défaut qui est défini le long du canal Visibilité. Revenons à nos événements souris BP. Et si je sélectionne ma sphère ici et que je regarde dans le panneau Détails, passe sous la section collision. Vous pouvez le voir si je tombe sous Préréglages de collision, qui est défini pour bloquer toutes les dynamiques pour ce composant particulier. En bas, mon canal de trace, pour le canal Visibilité nommé ou le canal de trace nommé visibilité, est défini sur Bloquer. C'est important car tant que ce paramètre est défini sur bloquer, il peut reconnaître un événement click. revenant également à mon contrôleur de lecteur bp, cela montre que la distance de trace pour cela est de 100 000 unités irréelles. Donc, la façon dont cela fonctionne est que si je clique ici dans mon monde, cet objet se trouve à moins de 100 000 unités irréelles de l'endroit où je clique sur l'écran. Il enregistrera donc cela en tant qu'événement click. S'il est plus loin, il ne l'enregistrera pas. Alors jouons ça ici. Je vais revenir aux événements de souris BP pour qu'on puisse voir ça se déclencher, cliquer sur Play et le placer ici. Il faut donc les reconnaître au survol de la souris. Dès que je clique dessus, il grossit un peu. Cliquez à nouveau, un peu plus grand, un peu plus grand, un peu plus grand, un peu plus grand. Voilà ce que vous avez. Pour que cet événement onclick fonctionne dans votre contrôleur de lecteur bp, vous devez avoir activé les événements de clic. Et puis également dit au moins une clé d'événement de clic. Les gars, ça fera tout pour celui-ci. On se voit dans le prochain. 34. Événement Sur Libéré: Bienvenue à tous. Eh bien, c'est le compagnon de la vidéo précédente. Nous avons fait dans la dernière vidéo qu'une fois que nous avons cliqué sur notre plan d'événements de souris bp ici, la sphère, nous l'agrandissons progressivement. Nous allons légèrement modifier notre script et nous allons faire quelque chose se produise lorsque nous relâcherons notre clic de souris. Nous faisons donc quelque chose lorsque nous cliquons sur le bouton gauche de la souris enfoncé. Mais lorsque nous soulevons cette question, nous voulons que quelque chose d'autre se produise. Revenons à nos événements souris BP. Actuellement, je l'ai pour que dès que je clique sur la sphère, elle s'agrandit un peu. Je vais supprimer ces deux nœuds et je vais simplifier un peu ce script ici. Je vais appuyer sur Control C et Control V pour dupliquer ça. Et ce que je veux faire, c'est aussi cibler la sphère. Cependant, je souhaite ajouter des événements inédits, donc je vais faire un clic droit sur ma sphère lors de l'événement. Et à la sortie, cela se déclenchera à nouveau. Une fois que j'ai levé le bouton gauche de la souris, cliquez ici. Nous allons faire en sorte que lorsque nous cliquons sur notre sphère, nous définissions la taille à deux sur le tableau, soit le double de la taille. Et quand nous le sortirons, il en sera un partout. Je vais le déplacer en haut à gauche ici, et nous allons le compiler. Assurez-vous que le script est bon. Allons-y et jouons-y. Et tu peux voir qu'une fois que je clique dessus, ça devient gros. Une fois sorti, il revient à sa taille normale. Grand, petit, cliquez, relâchez. Des trucs assez simples. La seule autre chose que je vais ajouter ici est dans la manette de votre joueur BP. Tant que dans les valeurs par défaut de la classe, vous avez activé les événements de clic, tant que cela est coché et que vous avez une clé d' événement de clic qui permet à l'événement onclick de fonctionner, ainsi que l' événement de sortie pour fonctionner. une sorte de « deux pour un ». Très bien les gars, ça va tout faire pour celui-ci. Rendez-vous au prochain. 35. Hit: Bienvenue à tous. Event hit est le sujet de cette vidéo et c'est un événement super important à connaître car les collisions entre acteurs se produisent dans toutes sortes de jeux tout le temps. Imaginez que dans un jeu de tir, vous tirez une balle, vous percutez un mur. Vous voyez un peu de poussière s'envoler et vous voyez une balle D laissée à ce point d'impact. Ou imaginez que vous planifiez un match de course. Vous percutez une autre voiture et vous voyez des étincelles s'envoler. C'est un indice d'événement qui se déclenche dans les coulisses et fait voler ces étincelles. Ces autocollants de balle sont apparus à ce point sur le mur. Très bien, voyons comment cet événement peut être utilisé. Maintenant, je vais utiliser ce cube acteur dans mon niveau, il s'appelle cube. Il s'agit d'un acteur de maillage statique. Vous pouvez placer n'importe quel acteur de maillage statique dans votre niveau pour voir ce que nous allons découvrir. Mais si vous voulez jouer le jeu à la maison, je suis allé ici, trouvé des formes et j' ai pris mon cube juste là. Une fois cette option sélectionnée, je vais passer à mon plan de niveau. Et dans un espace vide, je vais faire un clic droit et nous allons ajouter un événement pour cet acteur. Nous avons sélectionné dans la section collision. Et ici, nous avons un ajout sur le succès de l'acteur. Tout comme nos événements de chevauchement. Il peut nous dire qui est l'autre acteur qui nous a frappés dans cette affaire. Nous allons vérifier, dans ce cas, si c'est bien le personnage du joueur qui nous a frappés. Alors cliquons avec le bouton droit de la souris et saisissons un espace vide pour obtenir le personnage du joueur. Nous allons voir si l'autre acteur est égal au personnage du joueur. C'est-à-dire, s'agit-il de la même chose ? Est-ce le personnage du joueur qui nous a frappés ? C'est une façon de vérifier le personnage du joueur, l' autre acteur qui nous a frappés. S'ils sont égaux, alors nous allons sortir d'ici, apporter un nœud de branche. Et s'il est vrai que le personnage du joueur l'autre acteur qui nous a frappés. Si c'est vrai, nous allons nous éloigner d' ici et taper le son en D. C'est un son non localisé, et je vais faire ma bonne vieille explosion. Q, parce que c'est très distinct. Il s'est passé quelque chose. Ce que je vais faire, c'est détruire ce maillage. Je vais donc faire un clic droit et un peu d'espace ici. Nous allons créer une référence à notre file d'attente ici. Faites-le glisser et tapez Destroy Actor. Très bien, compilons ceci pour nous assurer que notre script est bon. La coche verte indique que c'est le cas. Ensuite, je vais continuer et cliquer sur jouer ici. Vous pouvez donc voir le script se déclencher ci-dessus. Laissons notre joueur dans ce cube. Allons-y. Bam. À ce stade, il vaut la peine ralentir un peu pour expliquer comment cette collision a même été détectée. Comment cela a-t-il fonctionné ? Pourquoi mon personnage n'a-t-il simplement traversé ce cube ? Eh bien, pour commencer, regardons notre plan de personnage à la troisième personne. Je l'ai ouvert ici. Et j'ai sélectionné le composant de la capsule. Tous les autres composants y sont attachés. C'est la composante invisible qui entoure mon personnage ici. Et si je regarde dans le panneau Détails sous la section Collision, mes préréglages de collision sont actuellement définis sur Personnalisé. Et vous pouvez voir comment la collision est configurée pour bloquer tout, tous les types d'objets différents. Quel type d' objets existe-t-il ? Eh bien, ce personnage à la troisième personne est un type d'objet pion répertorié sous le type d'objet. Et cet étang est configuré pour bloquer les objets statiques du monde, les objets dynamiques du monde, autres étangs et toutes ces autres choses ici même. Comparons maintenant ce résultat avec ce que nous voyons sur notre cube. Maintenant, mon cube est sélectionné ici dans le niveau lui-même qui est une instance de cube. Cette instance de cube est composée de composants de maillage statiques, c'est-à-dire Composant de maillage statique. Si vous sélectionnez cette option, c'est là que le maillage du tube est inséré. Faites défiler la page vers le bas et regardez les paramètres de collision. préréglages de collision sont-ils actuellement définis par défaut, donc je ne peux pas vraiment explorer et voir tous ces autres paramètres. Cependant, si je devais changer cela personnalisé juste un instant, cela exposerait la configuration actuelle de la collision pour ce cube. Vous pouvez voir que le type d'objet répertorié pour ce cube est un type d'objet statique universel. Maintenant, il est configuré pour bloquer un pion, tout comme notre ThirdPersonCharacter are pion est configuré pour bloquer également un objet statique du monde. faire court, ils sont censés entrer en collision les uns avec les autres. Une chose ne passera pas par une autre. Maintenant, si je devais changer mon cube ici. Pour ignorer les collisions avec un pion. Rappelez-vous que mon ThirdPersonCharacter est configuré comme un type d'objet pion. Définissons momentanément ce paramètre pour ignorer les étangs. Regardez ce qui se passe maintenant. Essayez de faire passer mon pion, mon personnage à travers ça et rien ne se passe. Ça devient un peu bancal avec l'appareil photo. Mais pour faire court, qu'un événement à succès d"acteur ne se produit jamais. Laisse-moi y aller et changer ça pour bloquer. Et cela changera la collision, remettra à sa valeur par défaut. accord, maintenant plongeons-nous un peu plus en profondeur, car il y a quelques nuances que vous devriez connaître sur le travail du bois avec cet événement. Nous allons faire un clic droit dans un espace vide, ici je suis dans mon dossier de présentation des scripts de contenu. Et je veux créer un acteur de plan de classe précis, BP souligne les événements. Hit, c'est comme ça que je vais appeler ça. Et je vais double-cliquer dessus pour l'ouvrir. Et je vais ajouter trois éléments ici. Je vais ajouter un cube. Je vais zoomer ici. Je vais ajouter une sphère, en la déplaçant un peu vers la droite également. Et je vais ajouter le défilement vers le bas. Nous allons ajouter Sure, un cylindre. D'accord, maintenant peu importe quels acteurs tu as. Tu t'es attaché à d'autres. S'ils sont attachés ou non. Cela n'a pas vraiment d'importance pour les besoins de cette vidéo, ce que je veux savoir, c' est que le Graph d'événements va supprimer ces événements, puis un espace vide va montrer comment vous pouvez ajouter un accès à l'événement. La première méthode, cliquez avec le bouton droit sur le type d'événement. Cela vous permettra de remporter l'événement. Alternativement. Vous pouvez également vérifier quels événements sont disponibles dans un Blueprint donné dans le panneau My Blueprint sous la section Fonctions. Si vous vous trouvez dans la liste déroulante ici, sélectionnez cette option. Il a une liste complète d'événements à votre disposition pour cet acteur de plan, y compris le hit de l'événement. Maintenant, tout cela est un peu trompeur, au moins je l'ai trouvé déroutant quand je suis entré dans le script de blueprints, parce que dans la zone des fonctions, vous pouvez trouver différents événements, au moins je l'ai trouvé déroutant quand je suis entré dans le script de blueprints, parce que dans la zone des fonctions, vous pouvez trouver différents événements, Je suppose qu'avec leur signification, voici tout ce que vous ajoutez au-delà de ces différents événements. Il s' agit essentiellement de la fonctionnalité que vous ajoutez lorsque vous touchez quelque chose dans ce plan. Ça va ? Donc, ce que je veux montrer ici, c'est glisser le type dans la chaîne d'impression. Et nous voulons trouver l' autre chose qui nous a frappés. Je vais donc faire glisser hors d'ici et taper get display name. La raison pour laquelle je fais tout cela est pour montrer que cet événement particulier se déclenchera si nous touchons des composants que nous avons ajoutés, peu importe lequel. Alors allons-y et jouons ici. Je vais également définir mes objets de débogage. Eh bien, tout d'abord, je dois ajouter ça à mon niveau de donateur. Cela serait utile. Pour l'ajouter à mon niveau, faites-le glisser et déposez-le ici et faites-le pivoter un peu. Allons-y. Allez-y et jouez. Notre objet de débogage est défini. Et maintenant, quand je frapperai l'un de ces composants qui s'enflammera, il s'envolera. Ensuite, je vais tirer. Peu importe le composant que j'ai touché, cet événement est déclenché et vous pouvez le voir plusieurs fois. C'est quelque chose dont il faut être conscient parce que dans de nombreux cas vous ne voulez pas qu'il se déclenche plusieurs fois comme ça. Pour remédier à cela, vous pouvez ajouter un nœud due once entre les deux afin que la première fois que vous le frappez, il ne le fasse qu'une seule fois. Mais pour passer à notre point suivant, vous pouvez ajouter un hit d'événement lorsque vous atteignez un composant spécifique. Je vais sélectionner mon cube ici. Et si je clique avec le bouton droit de la souris, je peux ajouter un événement, ajouter des têtes de composants. Donc, ce coup est spécifique à ce cube. Permettez-moi de sortir d'ici et de taper simplement la chaîne d'impression. Et je vais simplement le mettre dans la file d'attente de mots quand nous appuierons sur ce Q. Donc, en cadrant mon script comme ceci, je vais cliquer sur Lire une fois de plus. Maintenant, vous pouvez voir que lorsque je touche ce cube, ces deux événements se déclenchent. Cependant, si je clique sur Ajuster la sphère, seul ce hit d'événement supérieur se déclenchera. Ce n'est pas que des composants étranges frappent parce que l'impact d'un composant est spécifique à ce cube. Maintenant, une nuance très importante à comprendre à propos de l'événement est ce qui se passe si vous avez des objets physiques dans votre niveau. Et par là, je parle d'un objet qui peut être frappé ou qui respecte la gravité , etc. Permettez-moi de cliquer sur jouer ici et de vous montrer ce que je veux dire. Vous voyez cette chaise tomber sur le sol, c'est un objet physique. Maintenant, ils sont très simples à configurer. Si vous avez une chaise, autre filet statique dans votre niveau, n'importe quel maillage statique fera l'affaire. C'est ici que j'ai trouvé cette chaise dans mon contenu de démarrage , dans le panneau Détails. Si je sélectionne mon instance de chaise , passe sous le composant de maillage statique, mais passe dans la section physique. J'ai réglé ça pour simuler la physique. Il existe maintenant toute une série de propriétés que vous pouvez configurer si un objet simule la physique. Mais dès que vous cochez cette case, il est considéré comme un objet physique. Si je regarde le hit de mon événement BP, tu as vu que cette chaise a frappé ce plan de classe d' acteur. Notez que lorsque je clique sur Jouer, aucun de ces événements ne se déclenche. Les événements de kit se déclenchent toujours si c'est le mouvement du personnage qui déclenche le coup, ces événements ne se déclenchent pas si un objet physique les touche. À moins que l'acteur ou qui souhaite détecter un succès ait une case à cocher particulière cochée. Alors allons-y et faisons-le. Je vais passer sous mes composants, mon composant cube à l'intérieur de la hanche de l'événement BP et plus encore dans le panneau Détails sous la section collision, ce que je recherche c'est que Simulation génère des événements de frappe. Si je coche cette case, puis que je clique sur Jouer. Vous pouvez maintenant voir que ces deux événements se sont déclenchés. Que se passe-t-il si je fais glisser cette chaise au-dessus, disons le cylindre et qu'elle regarde ensuite au-dessus du cylindre. Puis cliquez sur Play. Ces événements ne se déclenchent pas. Et c'est parce que je dois sélectionner mon cylindre et faire la même chose ici. J'aurais besoin de cocher cette case pour simulation, génère des événements à succès. Donc un peu de nuance très important pour comprendre leur, leur nez a frappé l"événement. L'un des événements les plus populaires utilisé dans tous nos scripts de Blueprint. Ça suffira pour offrir celui-ci. Rendez-vous dans le prochain. 36. Évitez tout dommage: Bonjour, bonjour. Notre objectif dans cette vidéo est de commencer à explorer certains des événements de dégâts disponibles dans Unreal. Maintenant, les dégâts sont évidemment une partie importante de nombreux jeux, et il est bon de savoir qu'Unreal possède déjà des fonctions et événements dans les scripts de blueprints pour aider à implémenter ces concepts. Nous allons d' abord explorer tout événement endommagé , puis partir de là. Très bien, le ThirdPersonCharacter va être la star de cette vidéo. Trouvez donc votre chemin vers ce répertoire dans le navigateur de contenu ou le tiroir de contenu. Double-cliquez dessus pour l'ouvrir. Nous allons commencer par ajouter une variable. Nous allons ajouter une variable de santé. Alors passez sous variables plus. Et nous allons ajouter une nouvelle variable simplement appelée santé. Nous allons le laisser du type flotteur. Il peut s'agir d'un nombre entier car la santé peut parfois être représentée par des nombres entiers plutôt que par des nombres décimaux. Mais nous allons y aller avec un type de flotteur. Nous allons le compiler, puis lui attribuer une valeur par défaut de 100. C'est une bonne valeur ronde. Maintenant, alors qu'Unreal possède certains concepts et événements liés aux dégâts intégrés. Il n'a aucune notion de santé. Au moins à partir de l' enregistrement d'aujourd'hui intégré à Unreal. Vous devez créer une variable de santé à l'intérieur du plan de votre personnage, puis vous pouvez la gérer à partir de là en utilisant les différents événements de dégâts. Très bien, avec cela créé, ajoutons un événement, n'importe quel dommage. Deux façons de le faire. Vous pouvez saisir les dégâts avec le bouton droit de la souris. Vous pouvez le trouver ici. Vous pouvez également le trouver dans la section Fonctions du panneau Mon plan, Vous pouvez également le trouver dans la section Fonctions du dans la liste déroulante de remplacement , il y a des événements, des dommages éventuels. Très bien, avec ces événements ajoutés, nous voulons modifier notre variable de santé d'une manière ou d'une autre. C'est ainsi que cela fonctionne. Allons-y et faisons glisser notre variable de santé dans le graphique. Nous allons l'obtenir. Lorsque cet événement se déclenche, il peut indiquer l' ampleur des dégâts qui ont été causés. Maintenant, nous voulons prendre notre variable de santé. Nous allons faire glisser un ici, taper le symbole moins que nous voulons soustraire. Nous allons donc prendre la santé de notre personnage et la soustraire de la quantité de dégâts infligés. Ensuite, une fois ce calcul terminé, nous allons mettre à jour notre variable de santé. Pour ce faire, nous pouvons le faire glisser et le déposer directement sur la broche de sortie et le régler. Nous prenons donc notre santé, soustrayons le montant des dégâts, puis nous définissons notre nouvelle valeur de santé. Plutôt simple et direct. Alors ce qu'on va faire, c'est s'éloigner de ça et ajouter un signe inférieur ou égal à. Nous allons dire si c' est inférieur ou égal à 0, alors nous allons créer une branche. S'il est vrai que nous sommes inférieurs ou égaux à 0, notre santé tombe à 0 ou moins, alors nous allons détruire l'acteur. Dans ce cas, la cible est nous-mêmes. Nous allons tout détruire. Maintenant, avant de lier cela, je vais simplement me faufiler dans un nœud de chaîne d'impression ici. Nous pouvons donc voir notre valeur pour la santé traînée hors d'ici. Nous allons taper une chaîne d'impression. Et on va y aller comme ça. Et si nous branchons notre santé dans cette chaîne, cela convertira cette valeur flottante en chaîne. C'est donc ce que cela fait ici. Il s'agit de convertir un flotteur en chaîne de caractères. Et compilons ça, assurons-nous que ce script est bon et qu'il ressemble à ce qu'il est. Maintenant, notez que cet événement ne fera rien pour l'instant car nous n'avons pas dit à cet acteur d'être impacté par le concept de dommage de quelque manière que ce soit. Nous allons le faire l'année prochaine ici dans notre éditeur de niveaux. Et allons-y et ajoutons un volume de déclenchement. Je vais le faire en venant ici, en plaçant le panneau des acteurs. Je vais ajouter une zone de déclenchement et placer quelque part devant mes joueurs. Acteur de départ. Avec ça sélectionné. Je vais régler l' épaisseur de la ligne pour qu'elle soit un peu plus épaisse afin de pouvoir la voir dans le niveau. Je vais également faire en sorte que l'étendue de la boîte soit 200 par 200 par 200. Et je vais aussi faire défiler vers le bas et décocher le jeu caché de l'acteur pour que nous puissions le voir. Très bien, une fois tout cela fait, passons à notre niveau. Plan directeur. Je vais faire un clic droit et un espace vide. Nous allons ajouter un événement En cas de collision au début du chevauchement. Nous allons vérifier si l'autre acteur qui nous a superposés était le personnage à la troisième personne, non le mode jeu. Le personnage. Si c'est le cas, ce que nous allons faire ici, c'est traîner hors d' ici et taper « appliquer des dégâts, a-ha, des dégâts appliqués ». Maintenant, ces dégâts de base ici vont nous permettre d'indiquer combien de dégâts nous aimerions avoir infligés à notre ThirdPersonCharacter. Donc ça marche comme ça. vous qui décidez de la quantité de dégâts que vous souhaitez appeler cela. Donnons un certain nombre de points, disons 25,5, quelque chose de ridicule comme ça. Il est défini ici et là quand cet événement, tout dommage appelé, il le sortira ici. Donc tu transmets ces dégâts. Très bien, une fois que tout est fait, allons-y et cliquons ici pour jouer. Et je veux être mon plan de personnage à la troisième personne. Pour que nous puissions voir ce script se déclencher ou non si nous avons tout foiré , Allons-y et cliquons sur Jouer. Et nous devrions voir si la valeur endommagée est mise à jour ici en haut à gauche parce que nous l'imprimons à l'écran. Nous allons chevaucher cela. Et je ne le vois pas. Et la raison pour laquelle je ne le vois pas, c'est parce que j'ai oublié recul dans mon plan de niveau, j'ai oublié de définir cet acteur de dégâts comme personnage à la troisième personne. Donc, si nous faisons cela, nous disons, Hey, ThirdPersonCharacter, toute cette fonction de dégâts appliquée, déclenchez-la et assurez-vous que, ce faisant, vous déclenchez tous les dégâts de cet événement. J'appelle donc cette fonction si vous définissez l'acteur de dégâts dans ce cas sur ThirdPersonCharacter, cela provoquera le déclenchement de cet événement . Essayons encore une fois. Vous devriez donc voir cette valeur de dégâts mise à jour dès que ce volume de déclenchement se chevauche. Et voilà, il a vu le feu s'éteindre. Si je recommence, vous mettrez à jour la santé jusqu'à ce que je dépasse ce seuil et boum, je suis mort. Maintenant, juste quelques notes dans mon plan de niveau. Cette classe de type de dégâts. Il est possible d' ajouter des dégâts de feu, dégâts de foudre, des dégâts d'eau, tout ce genre de choses. Dans Unreal. Il n'a pas besoin d'être réglé et ce n'est pas dans le cadre de cette vidéo comment configurer ce genre de choses. Cette icône de serveur, ce nœud indique que cette fonction n'est exécutée que sur le serveur pour les parties solo, le client local est considéré comme le serveur que j'ai pensé lancer dans ces notes. Une autre chose qui mérite d'être soulignée ici est que si je reviens à mon plan ThirdPersonCharacter et au lieu de soustraire ici, je l'ai fait. Glissé hors de cela et tapez annonce. Tu n'as pas vraiment à traiter ça comme une chose négative. Vous pourriez utiliser tout ce concept de dégâts comme moyen de guérison. Donc au lieu de soustraire, vous pouvez faire quelque chose comme ça et ajouter ce montant. Donc, si vous vouliez avoir une sorte de bassin de guérison, vous pourriez le faire aussi. Une dernière remarque à propos de tout dommage est qu'il est destiné à être utilisé pour des dommages à usage général, tels que les dommages subis par votre environnement, abri du feu ou du poison, ce genre de choses. Très bien les gars, ça va suffire pour proposer celui-ci. On se voit dans le prochain. 37. Dégâts au point d'événement: Bienvenue à tous. Eh bien, nous en sommes au deuxième de nos trois événements de dégâts. Dans le dernier, nous avons parlé de tout dommage éventuel. Quel est votre événement de dommages à usage général à utiliser pour des éléments tels que les dommages environnementaux. Et celui-ci, nous allons parler des dégâts des points d'événement. Désormais, les dégâts ponctuels sont censés être infligés par des armes à projectiles, des armes de balayage, même des armes de mêlée. Et j'en ajouterai même un quatrième ici. Nous allons déposer une boîte de physique sur tête de nos joueurs afin qu'elle puisse également être utilisée pour quelque chose comme ça. Maintenant, bien que ses fonctions soient similaires pour empêcher tout dommage, il comporte des informations supplémentaires qui peuvent être transmises, ce qui le rend idéal pour les applications de dégâts de style projectile. Maintenant, pour gagner du temps, j'ai mis en place un tas de choses avant de tourner cette vidéo, mais je vais vous montrer exactement ce que j'ai fait pour que vous puissiez jouer le jeu à la maison si vous voulez suivre cet exemple. Tout d'abord, vous placez un acteur de maillage statique dans votre niveau et le placez juste au-dessus de l'endroit où vos joueurs apparaissent dans cet acteur Player Start. J'utilise simplement un acteur de maillage statique en cubes, mais tout ira bien et vous pouvez attraper un cube en entrant ici, cube de formes. Ensuite, avec ce cube sélectionné dans le panneau Détails, j'ai sélectionné mon composant de maillage statique. Et il y a deux cases à cocher que j'étais sûr de cocher. L'une consiste à simuler la physique pour s'assurer que cette boîte va tomber sur la tête de mon personnage. Et aussi dans la section collision, je me suis assuré de simuler des événements de génération d'impact. Mettre cela sur true également, parce que je veux que cela génère un événement hit. Maintenant que cela est sélectionné dans mon plan de niveau, vous pouvez le trouver en cliquant ici, ouvrez Level Blueprints. Je clique ensuite avec le bouton droit le cube sélectionné dans le niveau, un clic droit et j'ajoute un événement Et j'ai ajouté un hit d'acteur et ça montre que c'est le nom de mon cube. Maintenant, ce que je veux faire, c'est qu'une fois que j'ai frappé quelque chose, je veux appeler cette fonction appliquer le point endommagé. Vous m'avez vu infliger des dégâts dans la dernière vidéo. Quelque chose de similaire ici. C'était l'application de tout dommage de la vidéo précédente. Nous faisons quelque chose de similaire ici. Nous allons appliquer un point de dégâts. Et tout comme avant, nous devons nourrir cet acteur endommagé, avant que ce ne soit un personnage à la troisième personne. Ici, nous allons emprunter un chemin un peu différent. Nous allons sortir notre résultat de frappe de nos coups quand notre cube touche quelque chose. Et tout ce que vous avez à faire est de faire glisser ici et de taper break, puis de casser le résultat de ce hit, vous pouvez extraire toutes sortes d'informations sur le hit qui s'est produit entre ce cube et ce qu'il a frappé. L'une de ces choses que vous pouvez extraire est les acteurs à succès. Donc, si vous branchez votre acteur principal dans l'acteur de dégâts, nous pouvons appeler cet événement de dégâts ponctuels sur le plan Hit Actor. Nous y reviendrons dans un instant. Nous pouvons également indiquer d' où vient ce coup. Ce que je fais ici est hors de sa tête, nous cassons le résultat du coup et je dis, Hé, où est-ce que cela s'est produit, l'emplacement x, y et z. Et nous transmettons cela au coup à partir de la direction fournissant essentiellement les coordonnées x, y et z où cet impact se produit. Une autre chose que vous devez faire ici avant de compiler est de transmettre les informations de ces événements de coup dans les informations de frappe de votre fonction d' application de dégâts de points. Une fois que tout cela est fait, vous pouvez le compiler et l'enregistrer. Et tout cela est très bien. Mais la prochaine chose que vous devez faire est de passer à notre plan de personnage de troisième personne. Encore une fois, dans le navigateur de contenu, vous pouvez trouver votre ThirdPersonCharacter à cet endroit. Ici, j'ai configuré dégâts ponctuels de cet événement et toutes les choses que je voulais voir se produire. Alors tout d'abord, où obtenez-vous les points de cet événement endommagés ? Eh bien, vous pouvez cliquer avec le bouton droit de la souris et saisir des points de dégâts. Vous pouvez le trouver dans le menu contextuel. Sinon, si vous ne l' avez pas déjà ajouté à votre graphique, vous pouvez passer sous fonctions puis dans la section de remplacement, vous pouvez trouver la fonction endommagée par un point ici comme Eh bien. Il n'est pas listé ici car il est déjà ajouté à mon graphique. Maintenant, une fois que le hit apparaît dans notre plan de niveau, une fois de plus, nous passons le Hit Actor et nous savons qu'il va nous frapper un ThirdPersonCharacter. Il va appeler cette fonction endommagée par point, ce qui entraînera le déclenchement de cet événement. Et ce que nous disons ici, c'est que nous voulons le faire une seule fois parce que c'est un événement qui, lorsqu'il touche des choses dans notre niveau, ce cube peut être lié. Cela pourrait toucher notre personnage plusieurs fois. Nous voulions enregistrer un seul résultat, donc nous n'allons dépasser ce temps que 0,1 fois. Ce que je fais ici, c'est que je transmets la quantité de dégâts que j'ai spécifiée ici dans ma fonction d' application des dégâts ponctuels. Ici, je dis juste 50,5 juste parce que ce chiffre est transmis par nos dégâts de points d' événement. Donc je soustrait cela de notre variable santé ici et je la définit comme notre nouvelle santé. Je suis juste en train d' imprimer ça à l'écran. Ensuite, la dernière chose que je fais ici, c'est que je vais apparaître dans l'émetteur à l'emplacement. C'est l'ancien système de particules ici, le système de particules en cascade. J'utilise juste une explosion ici. Et ce que je fais en dehors des dégâts des points d'événement , c'est juste ici. Ce coup vient de la direction. Je transmets cette information, sors d'ici à l' endroit où je veux que l'explosion se produise. Quels en sont les résultats ? Maintenant, vous avez vu le flux d' exécution juste en haut. Et me voici dans mon personnage de troisième personne. Refaisons-le. À partir de mon plan de niveau. un petit zoom arrière. Alors encore une fois, gardez un œil sur ce script. Bam. Vous pouvez voir qu'il tire plusieurs fois parce qu' il touche le sol en plus de toucher mon personnage. Maintenant, si vous vouliez utiliser le nouveau système de particules au lieu de cet émetteur d'apparition à l'emplacement, vous pouvez le supprimer. Et si vous avez des particules de Niagara dans votre projet, vous pouvez simplement en spécifier une ici. J'ai une douche à pièces qui n'a pas l'air aussi cool que cette explosion, mais regardez-la ici. Maintenant, une chose que je n'ai pas encore mentionnée, mais je dois le faire, c'est que si vous allez utiliser ce point de dégâts dans une instance comme je l'utilise, vous devez être sûr que vous n' utilisez que ce point d'événement Endommagé ? Regarde ce que j'ai fait plus haut. J'ai déconnecté mon événement de tout dommage. Maintenant, si je branche ça aussi et que je remarque que je fais cette modification de santé ici pour, eh bien, il en résultera que les deux événements se déclencheront. Et vous pouvez voir ma santé chuter en dessous d'un niveau négatif. Quand tu appelles. Si j'applique des dégâts ponctuels, vous allez également appeler non seulement des dégâts ponctuels d'événement, mais également des dégâts d'événement, car les dégâts ponctuels sont techniquement des dégâts. Il suffit donc d'être conscient de cette instance également. Notez maintenant que bien que ces événements soient similaires, l'avantage des dégâts ponctuels d' événement est que l'emplacement peut être transmis. Vous avez d'autres choses que vous pouvez également transmettre ici, mais cet endroit est le principal d'entre eux. Très bien les gars, ça va tout faire pour celui-ci. On se voit dans le prochain. 38. Dommages radiaux de l'événement: Vous voilà donc en train de vous occuper de vos affaires , puis vous marchez sur une mine vous subissez de gros dégâts. Vous survolez la moitié de l'écran et vous plongez jusqu'à la mort. Événement. Les dégâts radiaux sont à l'origine de tels cas et des jeux Unreal Engine. Et ce qui rend cet événement unique par rapport aux deux précédents, c'est qu'il est parfait pour les dégâts de zone d'effet. Avec les dégâts radiaux dus à un événement, vous pouvez spécifier un point d'origine où les dégâts maximaux sont appliqués, ainsi qu'un rayon sur lequel l' atténuation peut être appliquée. Ainsi, plus vous vous éloignez de l'origine, moins votre personnage subit de dégâts. Très bien, j'ai donc donné un exemple avant de tourner cette vidéo et je vais vous expliquer exactement ce qui se passe ici. Suivez-nous si vous voulez jouer à la maison. Donc, ce que j'ai fait ici, c'est que j'ai placé une simple sphère de déclenchement dans mon niveau. Vous pouvez le trouver en accédant au panneau des acteurs du lieu. Et dans mon onglet de base, je place simplement le doigt d'un Trèves dans mon niveau. Ici, je fixe simplement le rayon de ma sphère à 1 000. Et je fais aussi apparaître cela en passant simplement sous le champ Où se trouve ? Encore une fois, la section de rendu, rendu, rendu, rendu. Ça y est. Je choisis de ne pas avoir ce jeu caché. Je règle également l'échelle du panneau d'affichage de l' éditeur. C'est cette icône jusqu'à cinq, juste pour que ce soit bien évident, pour voir ensuite, ce que j'ai fait, c'est la largeur sélectionnée par cette actrice, je suis passée à mon plan de niveau. Et à l'intérieur d'ici, j'ai créé une référence au fait que cela déclenche la peur en maintenant la touche RT enfoncée et en cliquant avec le bouton gauche de la souris, tant que vous l'avez sélectionnée dans le niveau. Et puis je suis sortie de là et j'ai trouvé la position de l'acteur. Maintenant, ce que je fais ici, c'est qu'en appuyant sur la touche E, vous pouvez obtenir n'importe quelle combinaison de touches de votre choix. Une fois de plus, Level Blueprints reconnaîtra les événements d'entrée. Je suis alors en train d'apparaître et d' émettre à cet endroit, le point central de ma sphère Je suis juste en train d'augmenter l' explosion pour qu'elle soit très grande. Encore une fois, si vous ne voulez pas utiliser les anciens émetteurs en cascade, vous pouvez créer un système d'apparition sur place pour les effets des particules du Niagara. Et puis c'est le nœud clé dont nous parlons ici, qui dégâts radiaux en cas de chute. Maintenant, notez que si je clique avec le bouton droit de la souris et que je laisse un espace vide et que je tape « appliquer le radial », vous pouvez appliquer un dommage radial et également appliquer un dommage radial en cas de chute. Nous appellerons ces deux l'événement de dégâts radiaux que nous allons utiliser dans peu de temps. Cependant, je préfère celui-ci un peu mieux car il permet spécifier un rayon intérieur et un rayon extérieur ainsi que base, puis des dégâts minimaux. Cela vous permet de spécifier une plage d'atténuation. Donc, en gros, ce que je veux dire ici, permettez-moi de m'en débarrasser, c'est mon rayon intérieur. Une fois de plus, ma sphère a une taille de 1 000 unités irréelles. C'est ça juste ici. Le rayon de la sphère est de 1 000. De retour ici, je dis que le rayon intérieur est de 200 unités irréelles, le rayon extérieur est de 1 000 unités. Les dégâts à l'épicentre de l'origine et dans ce rayon intérieur seront de 100. Donc, tout ce qui se trouve dans ce rayon intérieur subira le maximum de dégâts. Dans le rayon extérieur, à la limite extrême, je vais infliger au moins un dégât. Maintenant, je l'ai inscrite comme valeur de chute endommagée. Cela détermine la rapidité dégâts tomberont du point central, points d'origine aux bords. Vous pouvez jouer avec ce chiffre pour des points d'origine aux bords. Vous pouvez jouer avec ce chiffre pour obtenir une chute plus ou moins extrême. Et puis les autres entrées sont toutes facultatives. Mais pour que le système fonctionne, cela suffit. Maintenant, en ce qui concerne mon plan de personnage à la troisième personne, je mets les choses en place. Ainsi, mon événement a été endommagé radialement, ce que vous pouvez à nouveau obtenir en cliquant avec le bouton droit de la souris, en tapant radialement endommagé, il y a cet événement dommage radial. Une autre façon d'obtenir cet événement est de passer par la section remplacements de fonctions. Vous pouvez le trouver ici si vous ne l'avez pas déjà ajouté à votre graphique. Et je vous transmets ici ce reçu endommagé. Je soustrais cela de ma variable santé et définis comme ma nouvelle valeur de santé. Maintenant, le montant des dégâts transmis le long du mur dépend vraiment de la mesure dans laquelle mon personnage était au centre de ces dégâts au moment où ils se sont produits. Maintenant, de retour ici, j'imprime également cette valeur de santé à l'écran afin voir combien de points de vie ont réellement été soustraits de mon niveau de base 100. Alors ce que je fais aussi ici c'est un petit peu plus. Ce n'est pas vraiment nécessaire pour que cela se produise. Mais ce que j'ai fait ici, c'est que je suis en train de récupérer mon composant de capsule. J'ai juste ajouté une référence à cela. Et j'ai fait un set de simulation de fonction physique ici. Cochez cette case. C'est ce qui va faire voler mon personnage dans les airs. Et c'est ce qui va lui faire voler dans les airs une impulsion radiale, impulsion au point d'impact. Tout ce que je fais ici, c'est transmettre l'origine, le point central de mes dégâts radiaux, juste ici, je passe le long qui déclenche, la position de la sphère comme origine. Et c'est là que je dis que j'envoie une impulsion, imaginez-la comme une onde de pouls invisible. Le rayon de cette impulsion sera donc de 1 000. Et j'ai fixé la force avec laquelle vous pouvez jouer avec ces valeurs à un demi-million. Maintenant, de retour à notre niveau, vous pouvez voir mon joueur de départ L'acteur va commencer juste à l'extérieur de ce rayon. Donc, si je devais cliquer sur Play et que mon plan de personnage à la troisième personne est maintenant ouvert et que j'appuie sur cette touche E. Vous pouvez voir que je ne subis aucun dommage radial parce que mon personnage ne se trouve pas dans ce rayon. Cependant, une fois que je suis à portée, notez maintenant que je suis à peine en train de mettre les pieds dans ce rayon. Regardez en haut à gauche. Cela montrera combien de points de santé soustraits de ma valeur initiale de 100. Donc je vais, je suppose que je vais me retrouver avec une valeur de 89 ou quelque chose comme ça parce que je suis à peine là, donc je vais appuyer sur la touche E pour obtenir 87. Ainsi, près de 13 points de vie ont été soustraits en marchant à peine . Et essayons ça. Encore une fois. Ceci, je vais faire un pas droit vers le milieu. Cela devrait donc faire un maximum de dégâts. Et si nous revenons à notre carte de test, vous pouvez voir que les dégâts radiaux appliqués diminuent. Cela montre qu'à l'intérieur de ce rayon intérieur de 200, je devrais faire 100 dégâts. Voyons donc si c' est bien le cas. Permettez-moi d'ouvrir mon plan de personnage à la troisième personne. Encore une fois, appuyez dessus et en haut à gauche, il devrait afficher 0.0. Et c'est le cas. Vous pouvez donc voir, comme dit, simuler la physique et le pouls radial de la tête. Tout est fait pour le plaisir et les jeux. Maintenant, une dernière information à transmettre ici, tout comme les dégâts par points. Si vous avez également des dégâts. vous infligez des dégâts radiaux , chaque événement en déclenchera deux. Maintenant, je devrais faire quelques dégâts à mon personnage voir ce texte Bonjour ici dès que j'appuie sur la touche E à l'intérieur d'ici. Vous pouvez donc voir que Hello est apparu et qu' une partie de la santé a été soustraite. Très bien, les gars, il y a eu des dégâts radiaux. Récapitulons rapidement les différents dégâts. Tout dommage est donc bénéfique pour l'environnement. Lorsque vous n'avez subi aucun dégât à un endroit précis. C'est parfait pour traverser le feu ou les gaz toxiques, ce genre de choses. Les dégâts ponctuels sont utiles pour spécifier un endroit donné où le dommage s'est produit. Idéal pour les projectiles qui touchent le joueur. Les dégâts radiaux conviennent aux explosions et permettent de spécifier un point d'origine où les dégâts sont maximaux. Et ce type de dommage peut s'atténuer au fur et à mesure qu'il s' éloigne de son origine. Cela va clore tout cela. Nous vous verrons dans la prochaine vidéo. 39. Événement détruit: Bienvenue à tous. événements détruits sont le sujet de cette vidéo et notre objectif est de découvrir les causes de l' incendie d'un acteur et comment nous pouvons utiliser cela dans un script. Pour cette vidéo, je vais utiliser notre plan de niveaux ici. Vous pouvez le trouver ici, ouvrez Level Blueprint. Et je vais également utiliser nos plans de personnages à la troisième personne. Vous pouvez le trouver ici dans ce répertoire. J'ai également effectué quelques travaux de configuration à l'avance. Si vous la suivez en même temps que les vidéos précédentes sur les différents nœuds de type Apply Damage, tout cela vous semblera très familier. Cependant, si vous passez directement à cette vidéo, laissez-moi vous montrer ce que j'ai fait à l'avance pour préparer la présentation de l'événement détruit. Maintenant, pour commencer, j'ai placé une boîte de déclenchement dans mon niveau et je n' ai fait que dimensionner la boîte à 200 x 200 x 200, régler l'épaisseur de ma ligne sur dix. Et j'ai aussi fait en sorte que dans la section de rendu où se trouve cette section de rendu, encore une fois, elle est là. J'ai dit que le jeu caché d'acteur ne devait pas être contrôlé. Puis, avec cette case de déclenchement sélectionnée dans mon niveau, dans le plan de niveau, j'ai cliqué avec le bouton droit de la souris. J'ai créé une publicité sur Actor Begin Overlap pour cette case de déclenchement extraite de l'autre acteur nous choisissons pour notre personnage à la troisième personne afin de m'assurer que c'est bien le personnage à la troisième personne qui nous chevauche. Et puis si c'est le cas, nous allons infliger des dégâts à notre personnage à la troisième personne Je lui inflige 25 points de dégâts ici. Ensuite, dans le ThirdPersonCharacter Blueprint, cela devrait également vous sembler familier si vous le suivez dans les vidéos précédentes. En cas d'événement, tous les dégâts sont annulés. Et encore une fois, cela s'appelle lorsque cette fonction endommagée appliquée ici dans notre plan de niveaux, se déclenche. Ça se déclenche alors. Tout ce que je fais ici, c'est prendre notre état de santé actuel , qui commence à 100. Nous allons soustraire le montant des dégâts infligés ici même dans notre fonction de dégâts appliquée dans le plan de niveau 25. Nous allons soustraire cela de notre état de santé en tant que nouvelle santé. Et si notre état de santé inférieur ou égal à zéro, nous allons détruire l'acteur. Maintenant, c'est là la fonction importante. Parce que lorsque cette fonction Destroy Actor est appelée, Event Destroy se déclenche également. Donc, si je devais simplement jouer dès maintenant, c'est ce que j'aurais. Je clique sur Play ici. Permettez-moi de définir mon personnage comme objet de débogage, faire ressortir à nouveau ma fenêtre de jeu. Ici, en haut à gauche, vous allez voir que la valeur de santé diminue. Rappel, mon système de santé n'est pas du tout raccordé à mon compteur ici. Nous pourrions changer cela plus tard. Peut-être que nous en aurons 75 ou 50. Vous voyez cet événement se déclencher au-dessus et puis, boum, notre personnage est détruit, notre personnage est détruit, mais nous pouvons utiliser les événements détruits pour faire en sorte que quelque chose d'autre se produise. Ajoutons donc l'événement détruit, et il existe plusieurs manières d'ajouter celui-ci. Nous pourrions cliquer avec le bouton droit de la souris et détruire un espace vide, les événements de saisie. C'est un moyen. La deuxième méthode, bien sûr, se trouve dans le panneau Mon plan, sous la zone des fonctions, vous pouvez annuler les événements, détruire la cible qui sera un acteur. Et comme vous pouvez le voir, notre Destroy Actor, la cible est inactive. Donc, dans ce cas, notre personnage à la troisième personne, nous disons : «  Hé, détruis-nous ». n'y a donc aucune sortie ici. Nous sommes en train de nous détruire. Une fois que cela sera appelé, nous passerons un appel à cet événement pour qu'il démarre. Très bien, faisons en sorte que quelque chose se passe ici. Sortons d' ici et saisissons l' émetteur de spawn à l'emplacement. Encore une fois, vous pourriez créer un système de reproduction à un endroit qui est le système de particules du Niagara. Je vais juste utiliser l'explosion de la vieille école. On y va. Et bien sûr, nous devons fournir un emplacement pour cela. Il suffit donc de cliquer avec le bouton droit de la souris sur un espace vide et de taper get actor location. La cible est notre troisième personne, notre personnage est sa localisation. Et faisons autre chose, c'est nous en débarrasser. Et faisons naître l' acteur de sa classe. Faisons apparaître dans du feu, notre plan produit un effet de feu. Nous devons fournir une transformation d'apparition. Je vais donc cliquer avec le bouton droit de la souris. Nous allons transformer l'acteur. Encore une fois. La cible, c'est nous-mêmes. Tu es un personnage à la troisième personne. Et enfin, faisons glisser la souris vers le bas et imprimons la chaîne. Et au lieu de la chaîne, bonjour, disons quelque chose comme un stéroïde D détruit, si je peux bien l'épeler. Très bien, si nous chevauchons ce volume de déclenchement, nous allons infliger des dégâts à notre personnage à la troisième personne. Ces dommages seront répercutés sur notre valeur sanitaire ici même, une fois que notre santé sera inférieure ou égale à zéro, et c'est vrai. Nous allons détruire cet acteur. Cela va provoquer le déclenchement de l'événement détruit. Et puis il va faire tout ça ici. C'est toujours une bonne idée de compiler. Assurez-vous que votre script est prêt à fonctionner. Gardons ça, et allons-y et jouons. Et laisse-moi le déplacer vers haut pour que tu puisses voir ce tir. C'est parti. 12, que l'état de santé est en baisse. Trois maintenant, regardez juste au-dessus de la fenêtre de jeu. Eh bien, pour que l'événement soit détruit. Boum. Et voilà. Nous avons provoqué cette explosion, et nous avons également provoqué ce feu à effet de plan. Maintenant, j'aimerais continuer et vous montrer un autre exemple avant de terminer cette vidéo. Et juste pour te montrer ce que j'ai fait ici , dans mon niveau, j'ai ajouté un cône juste au-dessus des limites de mon volume de déclenchement. Vous pouvez le trouver dans le panneau des acteurs de votre place ici. Mais n'importe quel maillage statique fera l'affaire si vous voulez jouer avec le gars sélectionné. Dans mon plan de niveau, j'ai fait défiler l'écran vers la droite, là où vous ne pouviez pas le voir sur la droite auparavant. Je vais juste étendre les fonctionnalités. Nous endommageons notre joueur. Ce que je veux faire ici, c'est m'occuper de ça. Donc, en plus d'infliger quelques dégâts à notre personnage, je vais attendre 3 s la première fois que je superpose cette case de déclenchement et je vais détruire notre cône. J'ai obtenu une référence à mon cône ici parce qu'une fois cette option sélectionnée, si je maintiens la touche Alt enfoncée, je peux cliquer avec si je maintiens la touche Alt enfoncée, le bouton gauche de la souris et apporter une référence à mon cône. Donc je dis, hey Cone, tu es l'acteur cible que je veux détruire. Maintenant, en bas. ce cône est également sélectionné, vous pouvez cliquer avec le bouton droit de la souris sur un espace vide et dire « Hé, quand tu seras détruit ». Encore une fois, je vais vous montrer comment j'ai obtenu ce OnDestroy. Voilà, j'ai sélectionné ce cône. Je peux ajouter des événements et dans la section du jeu, vous pouvez ajouter « détruit ». Et si je le sélectionne tout de suite, je vais juste me lancer et dire «  hé, je t'ai compris ». Alors ce que je fais, c'est extraire des informations de mon acteur détruit. Je fournis cet acteur ici même. Je dis, hé, je veux te transformer. Faisons apparaître un exemple de prélèvement de BP, puis émettons un son. Cela se produira donc la première fois que nous superposerons cette boîte de déclenchement. Donc, si l'on ne tient pas compte de tous ces dégâts infligés au personnage à la troisième personne dans 3 s, certains vont détruire notre cône, puis cet événement détruit se déroulera et nous aurons cette apparition. Allons-y, jouons-y. Compilons ça d'abord. Assurez-vous que ça a l'air bien. ce qui est de la planification, permettez-moi de configurer mon objet de débogage pour qu'il soit ma carte de test et de faire ressortir à nouveau ma fenêtre de jeu. Maintenant, la première fois que je le superpose en 3 s, ce cône va se transformer en micro. Et voilà. Donc, quelques utilisations de l'événement détruit. Vous m'avez vu en montrer quelques-unes maintenant. La première serait de générer une particule ou un son sur un lieu de destruction. Le deuxième serait de faire apparaître et d'autres acteurs, comme les toilettes tombent lorsque vous tuez un ennemi. Très bien, les gars, ça suffira pour celui-ci. Nous vous verrons lors de la prochaine. 40. Événements personnalisés: événements personnalisés sont le sujet de cette vidéo, et il s'agit d'un sujet très important car les événements personnalisés font partie des événements les plus utilisés dans tous les scripts de plan directeur. Notre objectif dans cette vidéo est donc de découvrir ce qu'ils sont, comment ils sont ajoutés et pourquoi ils sont utiles. Désormais, un événement personnalisé est un événement que vous pouvez nommer et appeler pour qu'il se déclenche quand vous le souhaitez. D'accord, donc voir c'est croire, je vais utiliser principalement le plan du personnage à la troisième dans cette vidéo, mais je vais essayer un peu le plan de niveau. Alors allez-y, ouvrez-les. Je vais commencer par le plan du personnage à la troisième personne. Et tout d'abord, nous devons ajouter l'un de ces événements personnalisés. Eh bien, comment y parvenons-nous ? Cliquez avec le bouton droit de la souris et saisissez un espace vide dans le mot personnalisé. Et dans la catégorie Ajouter un événement, nous avons ajouté un événement personnalisé. Maintenant, dès que je fais cela, cela va ajouter des événements à mon graphique, mais cela va m'inviter à lui donner un nom. ce que j'appellerai Add Health. Désormais, si à tout moment vous souhaitez modifier le nom de votre événement personnalisé, vous pouvez le faire de deux manières. Vous pouvez simplement double-cliquer dessus et cela vous donnera la possibilité de le modifier ici. Ou avec cet événement, le nœud a ajouté ce fournisseur client et ajoutez-le dans le panneau Détails. Vous pouvez également en changer le nom ici. D'accord, donc en ajoutant de la santé. Allons-y et faisons en sorte que cet événement ajoute réellement de la santé chaque fois qu'il est organisé. Maintenant, pas maintenant. Nous n'avons rien qui puisse réellement appeler cet événement. Nous nous occuperons de cela dans un petit moment. Mais pour que cela fonctionne réellement, ajoutons notre variable santé. Je vais le chercher. Je veux faire glisser ce type sur le bouton plus. Nous allons y ajouter un certain montant. Ajoutons 010. Ça a l'air bien. Ensuite, je vais faire glisser ma santé en plus de ce résultat afin que nous puissions améliorer notre état de santé. Nous retrouvons donc notre santé, nous allons y ajouter dix , puis nous allons l'améliorer. Ça a l'air bien jusqu'à présent. Allons-y et imprimons-le également à l'écran. Alors imprimez une chaîne. Si je prends cette sortie de mon site health et que je la branche à la chaîne, je vais obtenir un petit nœud de conversion pour convertir un type de données en un autre, un float en chaîne qui l' imprimera sur mon écran. Et puis sortons également d'ici et saisissons l' émetteur d'apparition à l'emplacement. Une fois de plus, vous pouvez créer un système, le système de particules du Niagara. Je vais juste utiliser l'explosion de la vieille école parce que j'aime l'utiliser pour à peu près tout. C'est très visuel, non ? Alors, où allons-nous apparaître et exploser ? Eh bien, trouvons la localisation de nos acteurs ici. Pourtant, facteur de localisation. La cible, c'est nous-mêmes, le personnage à la troisième personne. Connectons-le ici. Et ensuite, jouons un son également. Faites glisser quelques sons. 2D. Le son 2D est un son qui ne se trouve pas dans une région donnée. C'est juste génial pour les sons des menus. Au fait, je vais compiler, compiler, réussir. L'un ou l'autre fera l'affaire, d'accord, compilez-le et sauvegardez-le. Ça a l'air d'être un bon script. Très bien, nous avons donc besoin de quelque chose pour que cet événement se produise. Ce sera donc un exemple assez académique, mais pour faciliter les choses, je vais faire un clic droit dans un espace vide. Vous pouvez saisir une seule touche. Et je dirais qu'en appuyant sur une touche, nous allons nous arrêter là. Et maintenant, si je tape Ajouter une santé, vérifiez ceci. J'ai un nœud que je peux ajouter, un nœud de fonction d'appel appelé AddHealth. Donc, ce que je vais essentiellement faire ici c'est que lorsque j'appuie sur une touche, je demande cet événement personnalisé appelé AddHealth se déclenche. Il s'agit d'une connexion sans fil et c'est l'un des avantages de l'utilisation d'événements personnalisés et la confidentialité de ces connexions sans fil. Maintenant, on pourrait très facilement dire : « Hé, en appuyant sur une touche, fais tout ça ». Cependant, vous avez parfois des scripts très compliqués et vous voulez que les choses restent claires et simples. C'est un bon moyen de créer un déclenchement sans fil, un appel sans fil pour cet événement. ce qu'on appelle ça, ce qui va faire en sorte que tout ce script se produise. Allons-y, compilons et sauvegardons. Allez-y, jouez ici. Et je vais essayer de tout intégrer. Alors regarde. Une fois que j'ai appuyé sur une touche, tout cela va se produire. Vous allez voir cet émetteur se produire. Vous allez entendre un son, et cetera. C'est parti. Et je peux continuer à le faire encore et encore et encore. Ces connexions sans fil sont donc géniales, mais ce ne sont pas vraiment les seuls avantages que vous pouvez tirer des événements personnalisés. Avec les événements personnalisés, vous pouvez également demander cet événement se produise à partir d'un autre plan. Allons-y et organisons cet événement depuis notre plan de niveaux. Donc, si vous avez oublié comment accéder à votre plan de niveau à partir de maintenant, vous y êtes pour la 100e fois. Et je vais cliquer avec le bouton droit de la souris sur un espace vide et je vais juste ajouter la touche 7 ou tout autre événement clavier. Ensuite, je vais cliquer avec le bouton droit de la souris et laisser un espace vide. Nous allons trouver le personnage du joueur. Nous allons nous attarder là-dessus. Nous en avons besoin pour passer à un personnage à la troisième personne. Parce que nous devons fournir un objet à notre casting du personnage à la troisième et cela suffit pour obtenir le personnage du joueur. Ce faisant, nous vérifions si le personnage notre joueur est un personnage à la troisième personne ? Et si c'est le cas, nous pouvons parler à notre personnage à la troisième personne d' une manière ou d'une autre. Cela inclut l'organisation d'un événement personnalisé. Donc, pour que cela fonctionne, vous devez vous assurer d'avoir compilé votre plan de personnage à la troisième personne. C'est très important ici. Une fois que vous l'aurez compilé, vous pourrez désormais trouver cet AddHealth dans notre plan de niveaux. Revenons ici, sortons de votre personnage à la troisième personne et saisissons « Ajouter une santé ». Et écoutez, encore une fois, nous avons cette vocation de fonction en matière de santé. C'est le même type de nœud que celui que nous avions dans notre ThirdPersonCharacter. Ajouter un objectif de santé est un personnage à la troisième personne. Dans notre plan de niveaux, la cible d'AddHealth est le personnage à la troisième personne. Très bien, compilez ceci, sauvegardez, jouez et secouez-le. Je peux appuyer sur une touche. Et la seule clé est encore une fois l'ajout. Certains appellent cet événement personnalisé depuis le ThirdPersonCharacter. Mais maintenant je vais appuyer sur la touche 7. Et mon niveau est défini comme option de débogage ici. Vous allez donc voir ce feu s'éteindre. sommes à sept. On peut aussi l'appeler comme ça. L'un des principaux avantages d' un événement personnalisé est donc une fois que vous avez obtenu une référence à ce plan, en l'occurrence, à notre ThirdPersonCharacter. Vous pouvez ensuite le récupérer et trouver cet événement personnalisé. Vous pouvez passer un appel à cet événement client. Bien, cela étant dit, passons à certaines nuances, à d' autres choses que vous pouvez faire avec ces événements personnalisés. Je vais revenir à mon plan de personnage à la troisième personne ici. Et ce que je vais faire, c'est sortir de cette petite boîte rouge. Qu'est-ce que c'est ? Il s'agit d'un délégué de sortie. Alors, à quoi puis-je m'en servir ? Eh bien, donnons un exemple. Je vais cliquer avec le bouton droit de la souris sur un espace vide ici et taper des événements. Commencez à jouer. Cela était lié à ma création du widget, à mes widgets HUD. Olivia le déconnecte en maintenant la touche Alt enfoncée. En cliquant avec le bouton gauche de la souris, je vais voler l'événement et commencer à jouer rapidement. Je vais vous en parler ici en ajoutant un événement personnalisé sur la santé. Ensuite, je vais m'en éloigner et saisir chronomètre réglé par événement. Au début du jeu. C'est notre personnage à la troisième personne qui apparaît dans le jeu. Nous pouvons déclencher un événement quel que soit l'événement que nous y associons. Maintenant, cela fonctionne non seulement pour un événement personnalisé, mais je le montre ici avec un événement personnalisé. Cela pourrait également fonctionner pour d'autres événements. Vous pouvez voir l'événement B se dérouler et d'autres événements ont également ce type de délégué. Donc je vais prendre ça, brancher ici, et je vais régler mon temps à 5 s. Et je vais aussi régler ça pour qu'il y ait une boucle. Voyons maintenant ce que je veux dire ici avec ces événements personnalisés. Je vais dire qu'un étang commence à jouer. Nous allons appeler cette fonction, ce chronomètre réglé par événement, pour qu'il se produise. Ce qui va se passer ici, c'est que toutes les 5 s, cet événement connecté à cette fonction de minuterie réglée par événement va se déclencher. Et cela se produira toutes les 5 s parce que cette case à cocher en boucle est cochée. Alors jetez un œil à ça. Compilons donc ça et jouons. Aucun employé de l'événement B ne s'est donc déjà produit. Toutes les 5 s. Peut attendre encore 5 s. Cet événement commence donc dès le début. Une fois que j'ai commencé mon jeu, mon personnage répond. À partir de là. Vous n'allez plus voir ce feu s'éteindre, mais il continuera à fonctionner toutes les 5 s, bam, bam, bam, bam, bam, bam. Très bien, maintenant que vous savez qu'une fois l'événement client créé et ajouté à votre graphique, c'est à vous de vous assurer appeler pour que cet événement client se déclenche. Parfois, cela peut être un peu ennuyeux lorsque vous testez des choses, car les conditions que vous avez configurées pour appeler cet événement personnalisé sont peut-être un peu complexes. Y a-t-il quelque chose que vous pouvez faire à des fins de test afin faciliter le déclenchement de cet événement client ? Eh bien, avec cet événement personnalisé sélectionné dans le panneau Détails, vous avez une case à cocher pour l' éditeur d'appels. Allez-y, vérifiez cela. C'est une étape très importante ici, une fois que c'est coché, continuez et cliquez sur cette option de compilation. Une fois que vous aurez fait cela, remarquez que cette icône située juste à côté de votre événement personnalisé va passer de cette icône en forme de flèche à cette sorte de petit objet dans le losange. Ce que cela va faire maintenant, c'est si nous revenons à notre éditeur de niveaux, une fois que j'aurai joué, nous verrons apparaître notre personnage à la troisième personne. Il sera présent dans notre Outliner. Je pourrai ensuite sélectionner cela. Et dans le panneau Détails. Il y aura dans le bouton AddHealth sur lequel je pourrai continuer et cliquer pour déclencher manuellement un événement personnalisé. Je fais en sorte que cela se produise. J'ai besoin d'une sorte de fenêtre latérale un peu. Je vais cliquer sur Play. Très bien, voici ma fenêtre de jeu ici. Maintenant, chez moi, mon rédacteur principal. va falloir le décoller un peu, désolé pour ce manque de place. Il y a en jaune mon personnage à la troisième personne, je vais sélectionner celui qui y est apparu pour que la coloration jaune l'indique. Et ici, dans le panneau Détails. Si je fais une recherche sur AddHealth, je peux maintenant trouver des boutons dans AddHealth, donc je viens de le faire, je viens de le configurer. Donc, ici, dans l'éditeur, je peux appeler manuellement cet événement personnalisé. Notez donc qu'une fois que j'ai cliqué dessus, tous les scripts suivants se produiront, ce qui créera une explosion dans OneNote. Donc, si vous regardez ici alors que je clique sur Ajouter de la santé, cela appelle cet événement personnalisé, bam, bam, bam, bam. Vous constatez également une amélioration de votre santé. Mais bien sûr, ce n' est pas tout à la caisse. Que pouvons-nous faire d'autre avec un événement personnalisé avec cette option sélectionnée dans le panneau Détails J'ai cette section de saisie. À quoi pouvons-nous l'utiliser ? Eh bien, permettez-moi de cliquer sur ce bouton Plus ici et de vous montrer un exemple rapide. Nous pouvons créer une entrée. Remarquez comment cela vient d' apparaître sur une nouvelle entrée de paramètre, et voici le nom de celui-ci. Alors allons-y et nommons-le. Appelons cela la santé pour ajouter. Et vous pouvez modifier le type. Remarquez que j'ai mis à jour le nom et que je l'ai mis à jour ici. Je ne veux pas que ce soit un booléen, donc je vais le changer pour qu'il soit un flotteur. Et je vais simplement modifier mon script comme suit. Permettez-moi d'y aller et de faire en sorte que notre santé ajoute croisons pas les fils, n'est-ce pas ? Nous allons appeler AddHealth. Lorsque nous appelons AddHealth, nous allons découvrir la quantité de santé que nous voulons ajouter, l' ajouter à notre santé existante et la définir comme notre nouvelle santé. Maintenant, notez que tout cela est un peu confus, du moins à ce stade car l'entrée est ce que l'on appelle cela. Et c'est sur le côté droit d'un nœud. Et comme je l'ai déjà mentionné, les sorties se trouvent sur le côté droit d'un nœud. Les entrées se trouvent sur le côté gauche d'un nœud. Tout cela est un peu trompeur ici, mais cela a du sens si vous faites défiler la page vers le bas et que vous notez que cet appel AddHealth de cet événement personnalisé a ajouté une entrée ici, la santé à ajouter. Ainsi, en ajoutant cette entrée à notre événement personnalisé, vous l'avez ajoutée en tant qu'entrée sur l'organisation de ces événements personnalisés. Alors changeons cela en, passons à 25. Et maintenant, si je continue, compilez, sauvegardez, jouez. Notez que chaque fois que j'appuie sur une touche, cet événement personnalisé se déclenche. Chaque fois que je le fais, je vais dire « ajouter 25 points de vie à notre santé actuelle et faire de cela notre nouvelle santé ». Alors, on y va. Vous pouvez voir que cela augmente de 25 à chaque fois. Alors, pour récapituler rapidement, pourquoi utiliser des événements personnalisés ? Eh bien, tout d'abord, si vous voulez organiser un événement personnalisé dans le cadre du plan que vous avez créé, cet événement personnalisé, vous pouvez créer ces connexions sans fil qui permettent de garder les choses en ordre, et propre. Mais le principal avantage d' un événement personnalisé réside dans le fait qu'il est créé dans un seul plan. Tant que vous y référence, avec un plan, comme nous le faisons ici dans notre plan de niveau, vous pouvez appeler cet événement personnalisé, qui est l'atout le plus important à ce sujet. Ou des gars qui feront tout pour cette vidéo, on se revoit dans la prochaine. 41. Aperçu des variables: D'accord, avec les événements qui se passent dans le rétroviseur, nous allons porter notre attention sur le sujet des variables et notre objectif dans ces vidéos spécifiques d' apprendre et les variables est de programmer, ou dans notre cas, des scripts de plans. D'accord, alors qu'est-ce qu'une variable ? Eh bien, vous pouvez considérer les variables comme des conteneurs contenant un type spécifique d'informations. Et j'adore le fait que dans l'irréel, ces contenants aient quelque sorte la forme d'une capsule. Si vous imaginez une capsule capable de contenir quelque chose, vous avez une idée de ce que sont les variables. Ils contiennent quelque chose, dans ce cas, contiennent certaines données et en fait des types de données spécifiques en fonction de leur type. Maintenant, ces conteneurs, ces variables existent dans un plan spécifique. Donc, en ce moment, je suis dans mon plan de niveau. Ces variables qui sont créées dans mon panneau Mon plan n'existent que dans ce plan spécifique. Si je passe à mon exemple de micro BP c'était un plan de classe d'acteur. J'ai quelques variables ici, le son de capture étant l'une d'entre elles. J'ai également une variable Delta Seconds. Ils n'existent qu'à l'intérieur de mon exemple de pick-up BP. Jetons un coup d'œil à notre personnage à la troisième personne. Certaines variables existent juste à l'intérieur de mon ThirdPersonCharacter. Maintenant, ces conteneurs, ces variables peuvent être créés. Ces conteneurs, ces variables peuvent avoir une valeur par défaut qui leur est attribuée ou ils peuvent être vides. Et en regardant notre personnage à la troisième personne, j'ai cette variable de santé qui a actuellement une valeur par défaut de 100. Et le contenu de ces conteneurs peut être modifié au fil du temps. Leur contenu peut être varié. Comme nous pouvons le voir ici, un personnage à la troisième personne commence avec une valeur de santé de 100. Mais vous avez vu dans les vidéos précédentes modifier cette variable de santé pour qu'elle change. Il n'est pas nécessaire qu'il reste à 100. Si je subis des dégâts, ils peuvent descendre à 75, 60, etc. Ou je peux me soigner à nouveau et retrouver ma pleine santé et 100 points de vie. Alors, où pouvez-vous créer ces variables ? Eh bien, il existe différentes manières de le faire dans le panneau My Blueprint. La première méthode consiste à cliquer simplement sur ce bouton Ajouter ici. Vous pouvez y créer une variable. Une autre méthode consiste à accéder au panneau Mon plan, rechercher la section des variables et à cliquer sur ce bouton plus ici. Il convient donc de noter que certains plans peuvent avoir hérité de variables. C' est-à-dire des variables fournies avec la classe parent dont votre plan actuel hérite. Cependant, ils n'apparaissent pas par défaut ici dans mon panneau de plans. Tu peux les exposer. Nous pourrions donc le faire en cliquant sur cette icône en forme d'engrenage et vous obtiendrez ce petit menu volant, affichant les variables héritées. Allez-y et cliquez sur cette coche signifie que cette catégorie est affichée. Et maintenant, vous voyez tout un tas de catégories différentes apparaître dans votre section des variables. Et vous pouvez les développer en cliquant simplement sur l'un de ces triangles. Permettez-moi de développer cette catégorie de pions ici. Et maintenant, vous pouvez voir toutes vos différentes variables dans le panneau Mon plan avec le curseur. C'est un peu ennuyeux de cliquer dessus individuellement comme ceci pour voir quelle est leur valeur par défaut. Y a-t-il un moyen plus simple ? Bien sûr qu'il y en a. Si je clique sur le bouton des valeurs par défaut de la classe tout en haut de mon plan, je peux voir toutes les différentes variables qui existent pour cette classe parente est le caractère, cette spécificité de BP , personnage à la troisième personne. Notez que j'ai une catégorie de variables. Et sur le côté droit, il affiche toutes ces mêmes variables et toutes leurs valeurs par défaut. C'est plutôt pratique. Bouton par défaut de cette classe. Notez également que les variables que nous avons créées plus tôt dans le cours contiennent la variable health et ainsi de suite. Ils appartiennent à une catégorie appelée les valeurs par défaut. Et WPP HUD appartenait à la catégorie par défaut. Donc, si nous revenons aux valeurs par défaut de notre classe, encore une fois, nous pouvons voir que nous avons une catégorie par défaut et que celles-ci existent actuellement en dessous. Notez maintenant que les différentes classes parentales ont des quantités différentes de variables héritées. Mais si vous cliquez sur les valeurs par défaut de cette classe, vous pouvez voir toutes les variables que vous pouvez modifier à propos d'un plan donné, y compris celles que vous avez créées, et vous pouvez tout voir leurs valeurs par défaut également, très pratiques. Maintenant, il convient de noter qu' une classe donnée peut être associée à tout un tas de variables. Donc, pour faire des composants, donc si je devais passer en revue et sélectionner composante de mouvement de mon personnage dans le panneau Composants. Vous pouvez voir que cette composante de mouvement, cette composante de déplacement de personnage, est associée à un grand nombre de variables. Ce sont toutes des variables car leur contenu peut être modifié. Notez maintenant qu'un jargon courant que vous entendez souvent en matière de variables est que vous pouvez obtenir la variable ou définir la variable. Maintenant, permettez-moi de passer rapidement à mon Event Graph. Et je vais simplement utiliser mon produit plus sain. Si je clique avec le bouton gauche de la souris et que je le fais glisser vers l'extérieur dans le graphique, je fais simplement un clic gauche et je le fais glisser. Et j'ai relâché. Cela va dire : voulez-vous obtenir la valeur de votre santé ou voulez-vous définir votre valeur santé ? Explorons-les donc. En l'obtenant. Nous pouvons dire « Hey ». Il y en a combien ici ? Et mettons-le dans un autre nœud. Dans ce cas, nous disons quelle est la quantité de santé contenue dans cette capsule, n'est-ce pas ? À l'inverse, je peux cliquer avec le bouton gauche de la souris, faire glisser et dire « Réglons la santé ». Maintenant, avec ce type de nœud, un setter, vous pouvez déterminer le niveau de santé auquel il va être modifié. Encore une fois, une variable peut être modifiée. Nous obtenons ici le contenu actuel. Ici, nous définissons le contenu comme valeur de cette variable. Donc, si je voulais changer la valeur de notre santé, je pourrais dire, vous savez quelle santé, je veux que vous ayez 50 ans. Maintenant, je viens de le coder en dur en tapant un chiffre. Mais il pourrait y avoir une autre variable qui pourrait y être associée et qui déterminerait qu'il s'agit d'un nouveau montant de santé. Notez cependant qu' avec un getter, vous extrayez simplement ces données de cette variable. Avec un setter. Tu dois brancher un câble d'exécution. Et Execution Wire doit régler ça. Ainsi, un événement ou un autre nœud menant à cela doit y être intégré. Et vous pouvez également en tirer quelque chose si vous voulez continuer avec votre script, mais vous devez avoir quelque chose dans cette épingle d'exécution ici pour définir, c' est-à-dire modifiez la valeur de cette variable. Maintenant, quelques raccourcis que vous pouvez utiliser lorsque vous essayez d'obtenir ou de définir un nœud. Vous m'avez vu, il clique avec le bouton gauche de la souris et vous obtenez ce petit menu pour l'obtenir ou le configurer. Voici un raccourci : si vous maintenez la touche Ctrl enfoncée, cliquez avec le bouton gauche de la souris et que vous la déposez ainsi, vous obtenez cette variable. Inversement, si vous maintenez la touche Alt enfoncée, cliquez avec le bouton gauche de la souris, glissez et déposez, vous obtenez un setter pour cette variable. Il est donc très important de comprendre un jargon, que vous obtenez la valeur d'une variable ou que vous définissez cette variable sur une nouvelle valeur. Enfin, une chose très importante à retenir ici est que vous devez compiler un plan afin de définir une valeur par défaut. Je vais donc passer à mon exemple de BP, ici, c'est ce type. Et disons simplement que je voulais ajouter une variable qui indiquera le nombre de points de vie nécessaires pour soigner notre personnage une fois que nous l'aurons superposée. Je pourrais donc créer une variable en cliquant sur ce bouton plus. Nous appellerons cela des quantités de guérison. Cependant, dans le panneau Détails, il est indiqué que je ne peux pas lui donner de valeur par défaut à moins de la compiler. Donc, si je clique en haut gauche à côté de ce point d' interrogation jaune, compiler signifie que c'est prêt. Je peux maintenant lui donner une valeur par défaut. Je dirais 25. Génial. C'est également important car si vous essayez d' accéder à cette variable depuis un autre plan, c'est une étape nécessaire. Et juste pour le démontrer, permettez-moi de vous montrer que j'ai une instance de ce plan, mon exemple de hausse de la tension artérielle dans mon niveau, je vais passer mon plan de niveau, ouvrir le niveau Plan. Je vais maintenir la touche R enfoncée et cliquer avec le bouton gauche de la souris pour créer une référence à cet exemple de capture. Et maintenant, si je devais m'en sortir et taper ce que j'ai appelé cela revient à guérir. Je pourrais maintenant obtenir la quantité à soigner si j'avais besoin de la trouver et de l'imprimer à l'écran ou quelque chose comme ça. Ou je pourrais m'en sortir et taper la quantité pour soigner. Et oups, pas encore. Cela revient à guérir. Nous pourrions fixer ce montant. Donc, si je voulais remplacer la valeur par défaut ici par une autre valeur, encore une fois, c'est ce que les variables vous permettent de faire pour modifier le contenu de ce conteneur. Je peux dire, tu sais quoi, je ne veux pas que tu guérisses 25 ans. Je veux que tu n'en guérisses que cinq à la place. Je pourrais le faire aussi. Très bien, les gars, ça va se terminer pour ce rapide aperçu des variables. Nous vous verrons dans la prochaine vidéo. 42. Booléen: Bienvenue à tous. Dans cette vidéo, notre objectif est d' apprendre ce qu'est une variable booléenne, comment en créer une et comment utiliser lors de la rédaction de scripts de plans. Alors tout d'abord, qu'est-ce qu' une variable booléenne ? Eh bien, une variable booléenne est une variable qui contient des informations vraies ou fausses. Et nous en avons parlé dans la dernière vidéo, les variables sont essentiellement des conteneurs qui contiennent des données. Une variable booléenne est un conteneur qui contient simplement des informations vraies ou fausses. Imaginez donc une capsule et à l'intérieur se trouve un morceau de papier. Et sur ce bout de papier , il est écrit vrai ou faux. C'est tout ce que cela peut être, vrai ou faux. Et en fonction de son contenu, vous pouvez l'associer à quelque chose comme un nœud de branche afin de créer un chemin d'exécution ramifié. Si c'est vrai, fais-le. Si c'est faux, fais-le. Me voici donc dans mon plan de personnage à la troisième personne, et nous allons en montrer un exemple ici. Commençons par créer une variable booléenne en sous les variables du panneau My Blueprint, ce petit bouton plus ici. Et nous allons créer une variable appelée can jump. Et d'habitude, j'aime mettre un point d'interrogation après. Je vais appuyer sur Entrée ici. Personnellement, et c'est ma préférence personnelle. J'aime nommer mes variables booléennes avec un point d'interrogation. Essentiellement, est-ce vrai ou faux ? Maintenant, je peux changer le type de variable soit en cliquant ici, et vous pouvez voir que c'est booléen par défaut pour moi, je peux cliquer juste là et la modifier, ou est-ce que cette variable sélectionné dans le panneau Détails ? Je peux également changer le type de variable ici. Juste une anecdote amusante pour toi. Lorsque vous créez une nouvelle variable, le type de la variable sera défini comme étant le dernier type de variable que vous avez créé. Alors, qu'allons-nous faire avec ça, Can Jump ? Eh bien, tout d'abord, nous devons lui donner une valeur par défaut. Pour ce faire, nous devons compiler le plan directeur. Alors allons-y et compilons-le. Et une fois cela fait, nous pouvons définir une valeur par défaut. Je vais dire oui, nous pouvons sauter par défaut, cochez cette case. Coché signifie vrai, désélectionné signifie faux. Allons-y et cochons cette case. Allons-y maintenant et utilisons cette variable booléenne. Pour ce faire, je vais créer un peu d' espace entre notre action de saisie Jump, qui se déclenche lorsque nous appuyons sur la barre d'espace, et notre fonction de saut ici. Donc, avec notre variable de saut vers le bas dans la section Mon plan, cliquons avec le bouton gauche de la souris et faisons glisser la variable vers le bas dans notre graphique d'événements. Voulons-nous l'obtenir ou le configurer ? Dans ce cas, nous voulons en connaître le contenu. Nous voulons savoir si nous pouvons sauter. Ce que je vais faire ensuite, c'est m'en éloigner et ajouter un nœud de branche, l' un des nœuds les plus courants dans tous les scripts Blueprint. Vous pouvez voir que ce nœud de branche peut prendre un type de variable rouge qui est un type de variable booléen. C'est la condition qui nous permet d' y ajouter quelque chose pour évaluer : « Hé, quel est le contenu de cette variable ? Maintenant, ce ne sont que des faits amusants. Si je clique avec le bouton gauche de la souris et que je casse ce fil, nous pourrions difficilement définir cette condition comme vraie ou fausse, vraie ou fausse. Mais je veux lire le contenu de cette variable. Je définis donc ceci comme entrée du nœud de branche. Maintenant, nous allons passer ça entre les deux. Ici, je vais couper ce fil en maintenant touche Alt enfoncée et en cliquant avec le bouton gauche de la souris. Et je vais configurer mon script de telle sorte qu'une fois que j'aurai appuyé sur la barre d'espace, ce qui déclenchera cet événement, nous évaluerons si cette variable est vraie ou fausse ? Si c'est vrai, nous sauterons. Si c'est faux, nous ne ferons rien. Actuellement, elle est définie sur True. On peut donc s'attendre à ce que nous sautions. Allons-y et compilons. Et jouons. Et si je définis ici mon objet de débogage comme étant mon ThirdPersonCharacter. Permettez-moi de poursuivre et de poursuivre. Maintenant, vous allez voir ce script se déclencher juste ici. Quand j'appuie sur la barre d'espace. Vous verrez que je peux en fait sauter une fois que je l'aurai sorti. Au fait, ce stop jump va se déclencher. Mais comme cela s'avère vrai, je peux aller de l'avant et sauter. Maintenant, si je devais changer cela, je vais maintenir la touche Ctrl enfoncée, cliquer avec le bouton gauche de la souris et passer à False. Maintenant, nous allons voir, est-ce que Ken Jump est réglé sur faux ? Eh bien, ce n'est pas le cas. Donc, si je devais jouer, vous verrez maintenant que j' appuie sur cette barre d'espace. Mais il ne dépasse jamais ce nœud de branche qui meurt ici parce que le contenu de cette variable peut sauter. Les variables booléennes définies sur true ne sont pas définies sur false, donc cela fait en sorte que notre personnage ne puisse pas sauter. D'accord, certes, c'était un exemple plutôt académique, mais passons à quelque chose d'un peu plus fidèle à la réalité. Allons-y avec ce scénario dans lequel tes personnages viennent d' entrer dans un bâtiment bondé. Et souvent, dans les jeux, vous constaterez que lorsque vous vous trouvez à l'intérieur d'un bâtiment bondé , cela empêche votre personnage de courir. Ils empêchent votre personnage de dessiner une arme. Et dans notre cas, nous allons dire que notre personnage ne peut pas sauter. Maintenant, mon ordinateur tombe en panne entre les petites coupures. Assurez-vous donc d'avoir configuré votre script sauté d'action de saisie comme suit. Nous voulons dire can jump, qui est défini sur true par défaut. Nous allons le rediriger et nous assurer que si c'est vrai, nous allons dire oui, vous pouvez sauter. Ce que nous allons faire ici c'est à l'intérieur de notre plan de niveau, modifier le contenu de cette variable. Ainsi, lorsque nous sommes à l'intérieur d'un volume de déclenchement, nous empêchons notre personnage de sauter. Et quand nous en sommes à l'extérieur, nous le retournons pour qu'il puisse sauter. Allons-y et faisons-le. Il faut maintenant revenir à notre niveau. À l'intérieur d'ici. Nous allons placer une boîte de déclenchement. Et encore une fois, tu peux le faire en tombant. Ici. Apportez votre panneau d'acteurs à votre assiette grâce à cet onglet de base, vous trouverez votre boîte de déclenchement. Placez-le devant vos joueurs. Commencez acteur. Je vais rapidement le dimensionner jusqu'à 100, 200, 200. Permettez-moi de régler l'épaisseur de la ligne à environ dix. Quelque chose de beau et épais. Je ne vais pas trop m'inquiéter pour le policier. Et ci-dessous, je vais modifier le rendu pour que le jeu Actor Hidden End ne soit pas coché. Cela nous permettra de voir ça. Maintenant, cette case de déclenchement est sélectionnée. Passons à notre plan de niveaux. Vous pouvez afficher votre plan de niveau en vous rendant ici et ici, en cliquant avec le bouton droit de la souris. Et cette case de déclenchement est sélectionnée dans nos niveaux. Nous pouvons y ajouter un événement. Ajoutons-en un pour commencer le chevauchement. Et nous allons également en ajouter un pour le chevauchement des extrémités. Ce que nous voulons faire, c'est vérifier qui était l' autre acteur. Nous voulons vérifier s'il s'agit du personnage à la troisième personne. Je vais donc sortir d'ici, taper la troisième personne que nous pouvons attribuer à notre personnage à la troisième personne. Comme ça. Si c'est le personnage à la troisième personne qui nous chevauchait, devinez quoi ? Nous pouvons accéder à l'intérieur de notre plan de personnage à la troisième personne. Et nous pouvons accéder aux variables qui s'y trouvent, y compris celles qui peuvent sauter une variable booléenne que nous venons de créer. Donc, à vrai dire, je vais régler mon saut de dix, je vais taper et je peux sauter comme ça. Et voici ma variable. Je peux l'obtenir ou le configurer. Dans ce cas, je souhaite le configurer. Je dois donc dire que lorsque notre personnage chevauche cette case de déclenchement, nous ne pouvons pas sauter. Nous allons laisser cela comme faux. Cliquez avec le bouton gauche de la souris pour mettre en évidence ces deux nœuds, contrôlez C pour copier, contrôle V pour coller. Je vais connecter ça comme ça et comme ça. Et nous allons dire que lorsque nous aurons fini superposer cette boîte de déclenchement, nous dirons oui, vous pourrez sauter à nouveau. Donc, à l'intérieur de la boîte de déclenchement, nous allons dire : « Non, tu ne peux pas en sortir ». Nous allons dire, oui, vous vous souvenez qu'ici, dans notre plan de personnage à la troisième personne, nous vérifions le contenu de cette variable par défaut, lorsque nous appuyons sur la barre d'espace, nous vérifions le contenu de cette variable par défaut. Mais dans notre plan de niveaux, lorsque nous recouvrons cette case de déclenchement, nous la changeons en faux. Quand on y met fin, on le redevient vrai. Allez-y, compilez-le rapidement. Assurez-vous que notre script est beau. Sauvegardez-le. Allons-y, jouons et formulons cette phrase. Laisse-moi juste avancer un peu plus haut. ne peux pas vraiment, je ne peux pas le déplacer pendant que nous jouons. Permettez-moi donc de le noter ici. Joue encore une fois. Très bien, on y va. Je suis en dehors de la barre d'espace de la boîte de déclenchement. Oui, je peux sauter. Nous allons y placer mon personnage. Vous voyez, il change maintenant cette variable pour qu'elle soit fausse, en passant la souris dessus. Je peux le constater également. Permettez-moi d' appuyer sur la barre d'espace. Je ne peux pas sauter. Cependant, une fois que je l'ai quittée, cette variable redevient vraie et je peux sauter. Très bien, examinons quelques cas d' utilisation booléens possibles que vous voyez courants dans les jeux. question qui se pose est la suivante : est-ce que la porte est vraie ou fausse ? Avez-vous la carte-clé, par exemple, diriez-vous de tirer avec une arme ? Il te reste un animal, vrai ou faux ? Et si vous pouviez récupérer un article ? En êtes-vous assez proche, vrai ou faux ? Et si vous pouviez équiper un objet ? Êtes-vous suffisamment haut, vrai ou faux ? Et si vous pouviez acheter un article ? Avez-vous assez d' argent, vrai ou faux ? Tout cela est possible. Exemples de cas d'utilisation d'une variable booléenne. Très bien, les gars, ça suffira pour proposer celui-ci. À la prochaine. 43. Entièrement: Dans cette vidéo, notre objectif est de découvrir ce qu'est une variable entière et comment elle peut être utilisée dans vos propres projets de jeu. Nous allons commencer par notre plan de personnage à la troisième personne. C'est donc là que vous pouvez le trouver dans votre navigateur de contenu ou votre tiroir de contenu. Double-cliquez dessus pour l'ouvrir. Et avant même de créer une variable entière ici, parlons de ce qu'est un entier pair. Eh bien, c'est un conteneur. Ce type de variable est un conteneur contenant informations sur les nombres entiers. C'est-à-dire des nombres sans point décimal. Il peut s'agir de nombres positifs ou négatifs. Maintenant, vous pouvez penser à quelques exemples de cas d'utilisation où des nombres entiers sont utilisés. Des éléments tels que les valeurs de score sont souvent imprimés en nombres entiers. L'argent valorise, la quantité d'or ou d'argent, ce genre de choses que vous possédez. Ou qu'en est-il du niveau d'un personnage ? De niveau 1 à 100 ? Il s'agit généralement de nombres entiers. Désormais, les nombres entiers sont également souvent utilisés pour orienter la logique. Par exemple, vous pouvez vérifier si la valeur donnée d'un nombre entier de points d'expérience gagnés a atteint un certain seuil. Et si c'est le cas, le joueur passe au niveau , d' accord, créons une variable entière. Voici mon panneau de plans. Cette fois, je vais en créer un en cliquant juste ici sous le bouton Ajouter. Créons une variable. Et par défaut , le type sera identique à celui de votre dernière variable créée. Cela commence donc par un booléen. Je vais appeler cela le total d'expérience gagnée. Et vous pouvez changer le type de variable ici , ce que je vais faire. Nous voulons définir ce nombre comme entier et non comme entier 64, mais nous parlerons de ces différences un peu plus tard dans cette vidéo. Vous pouvez donc le modifier ici dans le type de variable ou dans le panneau Détails Vous pouvez également modifier le type de variable ici. Nous parlerons de ces différences plus tard dans le cours. Mais pour l'instant, sachez simplement que le type de variable que vous souhaitez modifier se trouve dans ce menu déroulant. Un peu plus de nuances pour expliquer pendant que nous sommes ici, nous pouvons définir une plage de curseurs pour cette variable ainsi qu'une plage de valeurs. Eh bien, qu'est-ce que cela signifie ? Eh bien, pour vraiment comprendre ce point, compilons notre plan afin de pouvoir définir une valeur par défaut. Et maintenant, si nous définissons une plage de curseurs et essayons de zéro à 50 000. Comme ça. Et notre fourchette de valeurs est, disons 0 à 100 000. Nous avons essentiellement fixé quelques limites quant à la portée de cette valeur. Maintenant, la plage de curseurs apparaît lorsque vous cliquez dessus avec le bouton gauche de la souris, voyez comment l'icône en forme de flèche est passée du curseur de ma souris aux flèches gauche et droite, je peux cliquer avec le bouton gauche de la souris. Et si je déplace ça vers la gauche, je ne peux pas descendre en dessous de zéro. Cependant, si je le déplace vers la droite, je peux atteindre un plafond de 50 000, soit la plage du curseur. Cependant, si je devais cliquer dessus et inscrire un chiffre , j'essaierais 200 000. C'est difficile de le saisir et appuyez sur Entrée. Cela va le plafonner à ma fourchette de valeurs Ici, cela signifie que ma fourchette de valeurs est comprise entre 0 et 100 000. C'est le maximum que je puisse définir. La valeur du curseur détermine quantité si vous cliquez avec le bouton gauche de la souris ici, quantité que vous obtiendrez si vous cliquez simplement dessus avec le bouton gauche de la souris et que vous le faites glisser. Si vous cliquez dessus, la plage de valeurs est Quels sont les nombres maximum et minimum ? Vous pouvez saisir des données en dur. Je vais le remettre à zéro pour le moment. Passons maintenant à notre graphique d'événements et créons un script simple pour utiliser cette variable entière. Je vais cliquer avec le bouton droit de la souris et laisser un espace vide. Je vais taper au clavier et je vais rechercher l'événement clavier. N'importe lequel d'entre eux fera très bien l'affaire. Mais je vais chercher x parce que nous allons faire quelque chose qui vaut nos points d'expérience ici. Alors, lorsque nous appuyons sur la touche X, que voulons-nous faire ? Eh bien, nous allons prendre notre total d'expérience gagnée. Je vais maintenir la touche Ctrl enfoncée, cliquer avec le bouton gauche et faire glisser la souris pour obtenir cette variable, dont le contenu est actuellement nul. Et puis je vais m' en tenir à ça. Si vous utilisez le bouton Ajouter un opérateur plus, vous y arriverez. Nous allons en ajouter 100. Je vais juste m'y atteler. Ensuite, je vais définir une nouvelle valeur d'XP gagnée. Je vais donc maintenir la touche enfoncée, en fait, je vais juste cliquer avec le bouton gauche de la souris et faire glisser et déposer ceci ici. Je vais simplement maintenir la touche Alt enfoncée, cliquer avec le bouton gauche de la souris et faire glisser. Mais si je laisse tomber cette variable ici même sur cette sortie, ils me donneront un setter. D'accord ? Eh bien, nous allons faire à partir d' ici, c'est traîner. Imprimons cette chaîne. Imprimons la quantité sur notre écran. Apporte une petite conversion, convertissant un type de données entier en un type de chaîne de données. Je vais ensuite partir d'ici. Et nous allons rechercher un nœud supérieur ou égal à. Nous allons dire que si notre total d'expérience gagnée est supérieur ou égal à 500. Et je vais juste m'asseoir. Sur le nœud lui-même, je pourrais contenir ces invariables eux-mêmes, mais passons simplement à la valeur absolue de 500. Faites glisser le pointeur dessus, insérez un nœud de branche. Nous allons connecter ça comme ça. Et nous allons dire que si c'est vrai, si le total de l'expérience que nous avons gagnée est supérieur ou égal à 500, nous allons nous contenter d'ici. Faites une autre impression, sérigraphiez, imprimez une sérigraphie, imprimez une chaîne. Et notre chaîne ici va simplement se lire sur Gratz, votre niveau deux. Et changeons simplement la couleur du texte ici pour qu'elle soit un peu nocive, comme le rivage rose vif. Et fais-le apparaître à l'écran pendant 5 s. Voici donc nos scripts ici. Nous pouvons cliquer avec le bouton gauche de la souris et faire glisser le pointeur pour placer une zone de commentaire autour de ce clic gauche et faire glisser surligner ceux qui tapent tous sur le CQI. Et nous appellerons cela R en utilisant un entier pour augmenter le niveau du script. Je vais changer la zone de commentaire ici dans le panneau Détails en noire. Très bien, compilez ceci pour vous assurer que votre script est prêt à fonctionner. C'est ce qui se passe ici. Allons-y, jouons et voyons que nous utilisons cette variable entière. OK, donc chaque fois que j'appuie sur la touche X, permettez-moi de définir mes objets de débogage ici sur mon ThirdPersonCharacter. Chaque fois que j'appuie sur la touche X, tu vas voir ça se déclencher. En haut à gauche. J'ai 100 XB. Nous partons de zéro, puis nous avons ajouté 100. Notre nouveau total est de 100. Encore une fois, 200300400500 félicitations, vous êtes au niveau deux. C'est donc un exemple d' utilisation d'une variable entière. Très bien, essayons un autre exemple cette fois en accédant à cette variable à partir un autre plan, notre plan de niveaux. Je vais revenir à notre niveau ici. Faisons en sorte qu' une boîte de déclenchement soit placée dans notre niveau. Tu m'as vu faire ça plusieurs fois. Je vais placer une boîte de déclenchement dans mon niveau. Je vais juste le redimensionner un peu. Allons-y 200 x 200, changeons l' épaisseur de la ligne à dix. Tu es douée pour ça maintenant, je vais passer à la section Rendering. Assurez-vous que l'exactitude du jeu caché n'est pas cochée. Avec cette option sélectionnée. Je vais passer à notre plan de niveau. Dans n'importe quel espace vide, dans n'importe quel graphique de votre choix. Je vais cliquer avec le bouton droit de la souris. Nous allons ajouter un événement pour cette boîte de déclenchement. Lorsque nous commençons à le superposer, nous allons sortir de l'autre acteur, voir s'il s'agit du personnage à la troisième personne. Et si c'est le cas, nous pouvons maintenant extraire certaines informations de notre personnage à la troisième personne. C'est-à-dire que nous pouvons accéder à toutes les variables qui se trouvent dans notre ThirdPersonCharacter Blueprint. Encore une fois, une fois que vous avez une référence quelconque à un objet donné, dans ce cas, notre personnage à la troisième personne. Vous pouvez accéder aux variables appelées fonctions qu'il contient. C'est cetera. Je vais donc saisir le total d'expérience gagnée. Allons chercher ce montant. Et partons d'ici. Fais la même chose. Nous allons y ajouter 100. Ensuite, allons-y et réglons cette traînée variable à partir d'ici, XB total. Nous pouvons le régler. Bien entendu, avec les centres, vous devez acheminer et exécuter le fil d'exécution. Et définissons cela comme le nouveau montant d'XP. Compilons donc cette sauvegarde. Et maintenant, chaque fois que nous les chevauchons, nous augmentons notre expérience totale de cette manière. C'est parti. Donc, en regardant en haut à gauche, je le superpose une fois, et je ne l'ai pas imprimé à l'écran. Il serait donc probablement utile de le faire. Faites glisser ce type dans la chaîne d'impression. Je ne vais pas monter de niveau et j'espère juste montrer que cela augmente réellement cette variable. Très bien, voici nos scripts, compilez, sauvegardez, jouez. Lorsque nous superposons cette case de déclenchement, 100, recouvrons à nouveau, 200, 300, etc. Imaginez que vous puissiez donner des points d' expérience à votre personnage s'il atteint le sommet de la montagne, ce genre de choses. Enfin, plus tôt dans cette vidéo, j'ai dit que je décrirais un peu la différence entre un entier et un entier de 64 variables. Permettez-moi donc de revenir à mon plan de personnage à la troisième personne. Je vais créer temporairement une variable entière 64. Allons-y et faisons-le. De plus, je vais appeler ça int 64. Nous allons le remplacer par une sauvegarde de compilation de type variable de 64 entiers . La différence est la plage des valeurs possibles. Ainsi, avec un entier 64, vous pouvez avoir une plage de valeurs plus large. Encore une fois, c'est entre le positif et le négatif . Cliquez avec le bouton gauche de la souris et faites-le glisser complètement. Il se peut même qu'il apparaisse sur l' écran. Ce n'est pas le cas. Vous pouvez rechercher cette plage en ligne , mais en gros, avec l'entier 64, vous obtenez une gamme beaucoup plus large de nombres possibles. Ce n'est pas tout à fait infini. En 64, cela prend un peu plus de mémoire, mais ce n'est pas beaucoup dans la plupart des cas. Et à peu près tous les cas en entier devraient convenir. Permettez-moi de revenir à mon entier normal et de vous montrer la plage. Oups, je dois enlever ma casquette ici, supprimer ma casquette, supprimer. Laisse-moi juste régler ça sur aucun et ainsi de suite. Boom, c'est la limite d' un nombre entier variable qui va dans le positif et le négatif en 64, infiniment neuf. Et c'est la plage pour l'int 64. Encore une fois, cela va dans le sens positif et négatif. Les gars, ça suffira pour notre discussion sur la variable entière. Très utile, très pratique à savoir, cela suffira pour proposer celui-ci. On se voit dans la prochaine. 44. Flotteur: Très bien, bienvenue à tous. Dans cette vidéo, notre objectif est de découvrir ce qu'est une variable flottante, comment en créer une et comment utiliser lors de la rédaction de scripts de plans. Alors tout d'abord, avant de commencer ici, qu'est-ce qu'un char ? Un flottant est une variable qui contient une valeur décimale. Encore une fois, cela peut être positif ou négatif. Maintenant, dans Unreal, cette variable est souvent utilisée pour contenir une valeur temporelle ou pour déterminer un pourcentage tel que zéro à 100 %. Et cela est généralement représenté par 0,0, ce qui signifie 0 %, et 1,0 équivaut à 100 %. Nous allons présenter ici quelques cas d'utilisation différents. Je vais être dans mon personnage à la troisième personne de BP. Et je vais m'appuyer sur le script que j'ai utilisé dans la vidéo précédente lorsque nous affichions un entier. Allons-y et créons une variable. Je vais le faire en cliquant ici. Et appelons cela un délai. Nous allons fixer un délai avant afficher notre chaîne à l'écran ici. Encore une fois, nous voulons en faire une variable flottante afin que vous puissiez la modifier ici. modifiant ici, ou inversement, vous pouvez modifier le type de variable en sélectionnant cette variable dans le panneau Détails. Maintenant, une fois que nous l'avons créé, nous pouvons compiler pour définir une valeur. Encore une fois, les flottants ont une valeur décimale Essayons donc 1,5. Ce sera le moment de retarder l' impression de notre chaîne. Introduisons notre variable de flux en maintenant la touche Contrôle enfoncée, en cliquant avec le bouton gauche de la souris et en la faisant glisser, vous obtiendrez un getter de cette variable. Et vous pouvez voir que les chars sont de cette couleur vert citron. Ensuite, ajoutons simplement un nœud de retard pour que je puisse cliquer dessus avec le bouton droit de la souris. Un espace vide. Tapez le délai. Voici notre nœud de retard. Et laisse-moi juste le mettre en douce ici. Comme ça. Donc, encore une fois, pour ce nœud de fonction de retard, nous pourrions avoir du mal à définir nous pourrions avoir du mal à définir un délai qui est actuellement par défaut à 0,2 s. Ou nous pouvons à nouveau saisir une valeur flottante, sur le côté gauche, cela demande une entrée. Et l'entrée que je recherche est un flotteur. Vous pouvez donc le coder en dur ou le stocker dans une variable. Nous le stockons donc ici. Notre délai actuel est fixé à 1,5 s. Ainsi, en appuyant sur la touche X, nous allons connaître le total de nos points d'expérience gagnés. Nous allons en ajouter un. Et nous allons définir cela comme nouvelle variable pour le total XB gagné par cet entier. Une fois que ce chiffre est égal ou supérieur à 500. Une fois que c'est vrai, nous allons retarder de 1,5 s, puis imprimer le message disant « Félicitations », vous êtes de niveau 2. Compilons notre script. Assurez-vous que c'est bon d' aller le sauvegarder. C'est parti. Joue. Laissez-moi juste le mettre ici pour que vous puissiez voir tout cela fonctionner. OK, donc en appuyant sur cette touche X, nous n'avons pas encore dépassé ce seuil. Vous pouvez voir ce montant ici. Et nous affichons une valeur étrange pour x p gagné parce que j'ai oublié de remettre l'expérience gagnée à zéro dans la dernière vidéo. Je dois donc arranger ça. Remettons ce chiffre à zéro. Ça va tout gâcher. Compilez, sauvegardez, jouez encore une fois. X J'ai obtenu 100, 200 300 400,500 XP en retard , puis félicitations pour votre niveau 2. Maintenant, vous pouvez voir qu'une fois que nous l'avons dépassé, ce compte à rebours est compté à rebours ici dans le script, ce qui est très pratique. Lorsque j'appuie à nouveau dessus, parce que nous dépassons ce seuil, vous pouvez constater parce que nous dépassons ce seuil, vous que le compte à rebours est très pratique. Ensuite, pourquoi ne pas revenir à ce petit script dans votre plan BP ThirdPersonCharacter Blueprint, où nous étions en train de créer notre HUD et de l' ajouter à la fenêtre d'affichage. Je l'ai détruit il y a quelques vidéos. Donc, ce que je vais faire ici, c'est me laisser activer mon évent, commencer à jouer. Ça va me faire sauter un chemin jusqu'ici. Permettez-moi simplement de placer cet événement B en jeu en position. Et si vous avez détruit ce petit script, voici comment vous pouvez le récupérer. L'événement commence à jouer. Nous allons créer un widget. Il s'agit d'un nœud Create Widget. Vous pouvez redéfinir votre HUD WB P ici afin de créer ce Widget Blueprint. Ensuite, sur cette épingle, j'ai cliqué dessus avec le bouton droit de la souris et je l'ai promue variable afin encapsuler avec n'importe quelle variable. Ensuite, nous l'avons ajouté à la fenêtre d'affichage. Une fois tout cela fait, nous cliquons sur Play. Nous pouvons voir que ce compteur de santé est réajouté à notre écran ici. Maintenant, tout cela est pertinent, car nous allons utiliser une variable flottante pour déterminer le nombre de points de vie affichés sur ce compteur de santé. Donc. À l'intérieur de votre esprit Panneau de plan de votre personnage à la troisième personne. Il y a quelque temps, nous avons créé une variable de santé. Si vous ne l'avez pas fait, vous pouvez le faire. À présent. Actuellement, il est défini sur une valeur par défaut de 100. Maintenant, j'ai mentionné que les valeurs flottantes sont souvent utilisées pour avoir une valeur comprise entre 0,0 et 1,0 afin de déterminer un pourcentage de 0 % jusqu'à 100 %. Nous allons donc fixer cette valeur flottante à 1,0, ce qui signifie une santé complète. Et puis en bas, j'ai eu un script pour régler la visibilité de ce HUD. Allumez-le et éteignez-le. Je vais juste détruire celui-ci à la place Quand j'appuierai sur la touche 5, j' augmenterai légèrement notre santé pour que nous puissions voir une baisse. Je vais donc maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche de la souris et faire glisser ceci vers l'intérieur. Ensuite, je vais sortir d' ici et je vais ajouter la touche moins, la touche soustraire. Et je vais juste dire qu' il faut le diminuer de 0,1, soit 10 %. Ensuite, nous allons le faire glisser et déposer sur la sortie afin de régler l'état. OK, nous avons donc actuellement ce bout de script cours dans notre ThirdPersonCharacter. Nous pouvons le compiler et le sauvegarder. Maintenant, si j'appuie sur sa touche cinq maintenant, vous verrez que rien n'est arrivé au compteur lui-même. Et juste pour le prouver, j'appuie sur F5 et il semblerait que, d' accord, les indicateurs de santé ne baissent pas. C'est parce que nous devons lier cette variable à ce compteur. Cela va donc nous obliger à passer à l'actif WPP HUD, à y travailler. Nous pouvons donc localiser cette ressource en accédant à ce nœud ici, en cliquant ici pour parcourir cette ressource dans le navigateur de contenu. Ça y est. Et allez-y, ouvrez-le. OK, à l'intérieur d'ici nous voulons cliquer sur notre barre de progression. Nous pouvons le faire ici même dans la mise en page visuelle ou dans la hiérarchie. Vous pouvez sélectionner ce widget de barre de progression. Ensuite, dans le panneau Détails, sous la section de progression, vous pouvez voir que nous avons cette valeur actuelle et qu'elle est actuellement de 1,0 %. Encore une fois, ce compteur passe de 0,0 à 1,0. Donc, si je clique avec le bouton gauche, que je fais glisser et que je déplace ceci vers la gauche, si je regarde le compteur sur le côté gauche, cette barre verte baisse au fur et à mesure que je la décrémente de 1,0 à 0,0. Donc, c'est très bien. Mais comment associer notre valeur de santé à notre personnage de troisième personne, ce droit, cela, comment l' associons-nous ce widget en particulier ? Eh bien, nous devons créer une reliure ici. Et nous pouvons le faire en sélectionnant cette barre de progression, juste là où se trouve cette valeur actuelle. Vous avez cette petite option de blocage. Allez-y et cliquez dessus. Nous voulons créer une reliure. Cela va nous faire passer de notre onglet Designer à notre onglet Graphe. Une fois que nous l'avons fait, allons-y. Créez une reliure. Et maintenant, ce que nous avons fait, c' est créer une fonction, un onglet graphique appelé Obtenir le pourcentage. Nous pouvons le renommer. Je vais le faire maintenant. Et cela nous a donné ces deux nœuds. Tout d'abord, renommons ceci. Je vais cliquer dessus, appuyer sur F2, et je vais l'appeler Get Player Health, comme ça. Et puis en maintenant la touche Contrôle enfoncée, la souris tourne. Et zoomons un peu là-dessus. Ce que nous voulons faire, c' est cliquer avec le bouton droit sur un espace vide dans Get Player Character. Nous pouvons le traîner et le lancer en personnage à la troisième personne. Tu m'as vu faire ça plusieurs fois. Voyons où se trouve cette entrée, alors pourquoi la scène se passe ainsi ? Et une fois que nous l'avons fait, nous avons accès à toutes les variables ou fonctions, ou nous pouvons appeler des événements personnalisés dans notre ThirdPersonCharacter. Eh bien, nous voulons extraire cette variable de santé. Alors sortons d'ici, saisissons, retrouvons la santé. Il y a cette variable de santé flottante. Et regardez, il s'agit d'une entrée flottante. Nous pouvons enregistrer notre état de santé tel qu' extrait de notre personnage à la troisième personne et le renvoyer. Nous pouvons donc le compiler et l'enregistrer. Tout ce que nous faisons maintenant, c'est associer ThirdPersonCharacter est une variable de santé à cet indicateur. Et cela va faire grimper ce pourcentage. Je devrais peut-être changer la couleur du vert citron. Fait quelque chose d'un peu plus sombre. Passons au bleu foncé, quelque chose comme ça. Rendez-le un peu plus visuel ici et compilez la sauvegarde. Nous pouvons cliquer sur Play à partir d'ici. En fait, faisons-le à partir de notre personnage à la troisième personne. Nous pouvons voir ce script fonctionner. Cliquez sur Jouer à partir d'ici. D'accord ? Et nous avons créé notre widget santé dès le début du jeu. Et maintenant, si j'appuie sur la touche 5 , la santé diminue de 10 % à chaque fois que cela se reflète également dans notre compteur de santé ici. Alors, on y va. 555-55-5555 par cinq, tout en bas. Et maintenant, jetez un œil à ça. Maintenant que nous avons une variable flottante de santé associée à notre ThirdPersonCharacter. Et maintenant que cette variable est liée à ce compteur à l'intérieur de notre HUD WPP. Nous pouvons revenir à la toute première partie du cours où nous avons créé cet exemple de micro BP et faire sorte que, lorsque notre personnage le saisit, une partie de sa santé est restauré. Donc, si vous avez oublié où se trouvait ce plan, nous avions un aperçu des scripts de contenu dans ce répertoire ici . Je vais double-cliquer dessus pour l'ouvrir. À l'intérieur, nous allons créer un petit espace entre notre nœud ThirdPersonCharacter situé ici et cette diffusion du son, afin que vous puissiez le déplacer vers la droite. Eh bien, nous allons le faire ici. Essayons de tout cadrer pour que vous puissiez le voir. Nous allons sortir de notre personnage à la troisième personne. Nous allons retrouver sa santé. Cette variable flottante. Eh bien, nous allons alors ajouter quantité de santé que nous voulons soigner chaque fois que nous chevauchons ce plan. Nous allons donc ajouter une autre variable ici. Appelons cela santé pour ajouter. Il s'agira également d'une variable flottante. Nous devons le compiler afin de lui donner une valeur par défaut. Examinons donc 20 % de la santé de notre personnage, il ne faut pas oublier que notre santé se situe sur une échelle associée à notre compteur de santé allant de 0,0 à 1,0. Donc 0,2 équivaudrait à 20 % de santé. Nous allons le glisser-déposer dans notre graphique. Nous allons l'obtenir. Nous allons ajouter ces deux chiffres ensemble, les faire glisser hors d'ici, taper le bouton plus pour créer un nœud publicitaire, comme ceci. Ensuite, nous allons sortir de notre personnage à la troisième personne et nous allons améliorer cette santé. Nous voici donc en train de retrouver la santé. Nous ajoutons cette quantité de points de vie chaque fois que nous recouvrons sa collection. Et nous allons définir cela comme la nouvelle variable de santé. Encore une fois variables, vous pouvez mettre à jour leurs valeurs. D'accord, donc ce sera notre scénario, non ? Il existe un script mis à jour. Compilons ce petit bonus ici que je veux ajouter à notre santé en ajoutant, allez-y et sélectionnez cette variable. Si vous cochez cette case intitulée instance modifiable, cela fera en sorte que dans notre éditeur de niveaux, nous puissions réellement modifier le niveau nous puissions réellement modifier de santé que ce plan peut donner. Et nous pouvons le modifier pour chaque instance. Compilons donc et disons-le encore une fois. Et je vais traîner les choses et j'en ai un exemple actuellement dans mon niveau. Permettez-moi de continuer et de maintenir la touche Alt enfoncée, de cliquer avec le bouton gauche de la souris et de faire glisser. J'en ai donc deux. Et une fois la seconde sélectionnée dans le panneau Détails, j'ai cette santé à ajouter qui est exposée maintenant, une fois que nous avons coché j'ai cette santé à ajouter qui est exposée maintenant, une fois que la case intitulée Instance modifiable, je vais modifier l'état de santé pour l'ajouter celui-ci un contre un. Nous allons dire que c'est une question de santé complète. Je peux également modifier l' échelle ici. Passons à 22,2, juste pour qu'il soit évident que ce sera le guérisseur complet. D'accord, donc avec ça, celui-ci sera le petit guérisseur. Cela va ajouter 20 % de santé. À celui-ci, nous ajouterons 100 % de santé. Allons-y, jouons-y. Et si tu te souviens, si j'appuie sur la touche 5, je peux diminuer ma santé. Ou je vais superposer le premier ici. Nous allons retrouver 20 % de notre santé. Cinq clés, un peu plus le bas et se chevauchant, et le gros joueur, et nous retrouverons la pleine santé. Et voilà. flottantes contiennent des valeurs décimales qui peuvent être positives ou négatives. Et souvent, ils sont utilisés pour contenir des valeurs temporelles ou pour contenir un pourcentage compris entre 0,0 et 1,0. Les gars, ça suffira pour proposer cette vidéo, on se revoit dans la prochaine. 45. Nom: Bienvenue à tous. Notre objectif dans celui-ci est d' apprendre ce qu'est une variable nommée, comment en créer une et comment elle peut être utilisée lors de la rédaction d'un script de plan. Il y a donc souvent beaucoup de confusion dans Unreal quant à savoir si un nom, une chaîne ou une variable de texte doivent être utilisés ou non . Au cours des trois prochaines vidéos, nous allons donc parler de certaines des différences subtiles entre les trois. Donc, en commençant par la variable name, le nom est un texte utilisé pour identifier quelque chose dans un jeu. Nous allons maintenant utiliser quelques variables de nom dans cette vidéo. Identifiez le niveau vers lequel vous souhaitez passer. Nous allons passer de ce niveau à un autre. Nous allons également utiliser un nom pour identifier socket auquel nous voulons attacher un accessoire. Cela pourrait être quelque chose comme une épée à portée de main, ce genre de chose. Maintenant, un nom, un nom est une variable qui ne distingue pas les majuscules et les minuscules. Dans une variable nommée, on utilise des caractères alphanumériques, c' est-à-dire des lettres et des chiffres. Très bien, nous allons commencer ici dans notre plan de niveaux. Donc, si ce n'est pas déjà fait, vous pouvez venir ici et ouvrir votre plan de niveau. Et créons quelques variables de nom. Donc, dans le panneau My Blueprint, nous allons ajouter une variable. Je vais appeler le premier niveau de soulignement 01. Je l'ai actuellement comme variable de nom. Cependant, si vous souhaitez le modifier, c' est là que vous pouvez le faire. Voilà le nom. Sinon, en sélectionnant cette option dans le panneau Détails, vous pouvez également modifier le type ici même. Maintenant, je veux créer un doublon de cette variable et l'appeler niveau deux. Donc, je pourrais le faire de deux manières. Tout d'abord, je pourrais cliquer dessus avec le bouton droit de la souris et le dupliquer de cette façon. Cependant, je pourrais aussi faire control plus D avec cela surligné. Afin de créer un niveau dupliqué, je veux le nommer O2. Allons-y et compilons afin de pouvoir leur donner quelques valeurs par défaut. En commençant par le premier niveau, je vais saisir mon niveau un comme carte de départ. Et remarquez comment je l' épelle en minuscules. Passez ensuite au niveau deux. Et avec cela, définissez la valeur par défaut sur Minimum, soulignez la valeur par défaut. Et je le fais en majuscules. Vous devez vous assurer que vous l'épelez correctement. Maintenant, si vous vous demandez pourquoi je les saisis comme valeurs par défaut, c'est parce que dans notre éditeur de niveaux, dans dossier des cartes du contenu de mon histoire, j'ai deux cartes qui se trouvent à l' intérieur de cette étoile. dossier de cartes de contenu. Une valeur appelée valeur par défaut minimale. Remarquez comment il est orthographié : seuls le M et le D sont majuscule, puis un niveau de carte de départ. Et remarquez que le S et le M chez le vétérinaire sont en majuscule. Je n'utilise donc intentionnellement pas exactement le même boîtier avec les variables de nom. Il n'est pas nécessaire d'avoir exactement le même boîtier. Ils ne font pas la distinction majuscules/minuscules. Très bien, pour en revenir à votre carte de test de niveau, compilez-la et enregistrez-la. Et puis, dans le graphique de votre choix, il peut s'agir du graphique d'événements par défaut ou d'un autre graphique que vous avez créé. Allons-y et créons un script simple. Je vais cliquer avec le bouton droit de la souris et taper un espace vide le clavier pour avoir un événement de clavier. Je vais utiliser la touche L car cela serait logique pour passer à un autre niveau. Je suis très zoomé ici en maintenant la touche Contrôle enfoncée , la souris pointant vers le haut. Permettez-moi de zoomer sur cet événement clé L. Ce que je vais faire, c'est partir d'ici, apporter un nœud de branche. Et si cela est vrai, nous voulons ouvrir un niveau par son nom. Et je vais dupliquer ce contrôle C, le contrôle V. Et s'il est faux, nous voulons ouvrir un autre nom de niveau. Quel est le nom du niveau ? Eh bien, regarde ça. Il cherche une entrée de nom. Maintenant, j'aurais pu le coder en dur en saisissant simplement ceci. Cependant, je stocke ces noms de niveaux dans ces variables. Je vais donc glisser-déposer le niveau un ici et le niveau deux ici. Donc, si notre condition s'avère vraie, nous passerons au niveau de notre carte de départ. Et si notre condition s' avère fausse en appuyant sur la touche L, nous passerons au niveau deux. C'est le minimum par défaut. heure actuelle, notre situation est difficile à redevenir vraie. Cependant, si je devais cliquer avec le bouton droit sur un espace vide et taper un bool aléatoire. Ce nœud pratique produira simplement une balle aléatoire choisissant au hasard vrai ou faux chaque fois que nous appuyons sur la touche L, ce qui est très pratique. C'est parti. Compilons ceci, sauvegardons-le et jouons-le. Très bien, donc en appuyant sur la touche L ici, nous devrions passer à l'un de ces deux niveaux. C'est parti. Et je n'arrive pas à voyager. Et cela doit être dû au fait que je n'ai pas copié correctement l'un des noms. Donc, niveau deux ici, vérifions la valeur par défaut minimale. Et si je reviens à mes valeurs minimales, les valeurs par défaut sont élevées. Nous devons l' épeler correctement. Je l'ai mal orthographié. Alors laisse-moi y aller et arranger ça. Il est bon d'apprendre de nos erreurs. Défauts minimaux. Jambe. Compilez donc et dites, réessayons. Encore une fois, cela ne tient pas compte des majuscules. Peu importe que ces lettres, ces caractères soient en majuscules ou non. Cependant, vous devez l' avoir correctement orthographié ? En appuyant sur la touche L, nous avons choisi le niveau correspondant à cette heure. Nous avons donc un niveau étrange ici, nous allons sortir d'ici. Cela a donc été attribué aux personnes choisies. Faisons en sorte que le niveau 1 fonctionne correctement. arrêtant de jouer à nouveau, en appuyant sur la touche L, on en a choisi un, et le tour est joué. Ensuite, nous allons utiliser une variable nommée pour associer une invite à notre ThirdPersonCharacter. Donc, si votre actif ThirdPersonCharacter n'est pas encore ouvert , cliquez deux fois dessus sous le contenu des plans à la troisième personne pour l'ouvrir. Et à l'intérieur d'ici, trouvez votre composant maillé. Nous devons effectuer un petit travail de configuration avant même d'utiliser une variable de nom. Nous allons ajouter une douille à notre maillage squelettique. Sélectionnez donc votre maillage et, dans le panneau Détails, passez sous Skeletal Mesh. Cliquez ici pour accéder à cette ressource dans le navigateur de contenu. Ensuite, vous allez vouloir double-cliquer sur ce SK M Quinn, c'est simple. Et puis en haut à droite, vous avez différents onglets. Cliquez sur cet onglet squelette et nous voulons ajouter une prise à la main de notre personnage. Voici donc notre arbre à squelettes, tous les différents os du squelette de notre personnage. Je vais donc chercher une main. Et ajoutons une prise à la main droite de nos personnages. Je vais cliquer avec le bouton droit de la souris sur cette main. Et en cliquant avec le bouton droit de la souris sur cet os de la main, nous pouvons ajouter une douille. Et nous venons d'ajouter un socket. C'est la petite icône, je vais cliquer dessus et je vais la renommer ici. Donc, le nom du socket que je vais définir étant Hand Socket comme ça. Maintenant, le fait amusant est que vous pouvez ajouter un accessoire de prévisualisation pour voir à quoi cela ressemble. Quand quelque chose est attaché à la prise ici, je vais cliquer avec le bouton droit de la souris sur cette prise manuelle. Nous allons ajouter un maillage d'aperçu. Et ajoutons une lampe, prévisualisons le maillage comme un plafonnier. De toute évidence, quelque chose comme une épée ou un poignard serait préférable ici, mais nous n'allons pas être trop précis là-dessus. Je vais juste cliquer avec le bouton droit de la souris ici, appuyer sur la barre d'espace. Vous pouvez voir comment cela pourrait être positionné de telle manière que vous pourriez le déplacer ici comme ça. Je ne vais pas m' inquiéter de faire très attention à ça. Vous pouvez le faire pivoter, quelque chose comme ça. Et encore une fois, vous pourriez passer beaucoup de temps à chercher où se trouve ce socket. Nous compensons cela par rapport à notre main ici. Vous pouvez donc saisir ici quelques chiffres pour l'emplacement et la rotation, etc. Ou vous pouvez également le modifier ici dans la fenêtre d'aperçu. Encore une fois, je ne vais pas être très précis à ce sujet. Pour le moment. Allons-y et sauvegardons ça. Ensuite, revenons à notre ThirdPersonCharacter et créons quelques variables. Pour en revenir à notre ThirdPersonCharacter, nous allons créer une variable en cliquant sur ce bouton plus. Celui-ci s' appellera Sockets Name. Je vais changer cela pour en faire une variable de nom. Et je vais modifier la valeur par défaut ici. Si je compile, comment avons-nous appelé ces prises manuelles, je vais juste mettre toutes les minuscules de vos prises manuelles. Et remarquez que ce ne sera pas exactement le même boîtier que la façon dont nous l'avons fait ici, dans notre squelette. Nous l'appelons prise manuelle avec les majuscules H et S. De retour dans notre personnage à la troisième personne, nous utilisons simplement des minuscules. Maintenant, je vais ajouter un autre composant ici en tant qu' accessoire à attacher à notre socket. Faisons comme si nous avions une sorte de source. Je vais ajouter des composants de maillage statique. Et nous l'appellerons notre épée, même si elle ressemblera à une lampe. Et une fois les composants de cette épée sélectionnés, ce composant de maillage statique apparaît dans le panneau Détails. Utilisons-la comme un treillis statique ou une lampe, un plafonnier. Je vais le positionner très, très mal. Laisse-moi juste arrêter le mouvement, Snapping juste en haut. Et je ne vais pas y consacrer beaucoup de temps. Nous allons juste faire quelque chose de fou comme ça. Bien sûr. Comme ça. On dirait que le film est sorti de Final Fantasy. Bien sûr. Ensuite, nous allons passer à notre graphique d'événements bouton droit de la souris et laisser un espace vide J'ai besoin d'une clé d'événement. Faisons les entrées R, ou en fait, faisons le clavier. Voyons ce que nous avons obtenu en ce qui concerne les événements de clavier disponibles. Passons à la touche zéro. Bien sûr, ça va marcher. Nous allons en sortir et attacher. Et ce que nous recherchons, c'est attacher un composant à un autre. J'ai plusieurs options ici. Attachons un composant, deux composants, une épée. L'épée. Oups. C'est un élément que nous voulons attacher. Le parent est la chose à laquelle nous voulons l'attacher. Dans ce cas, c'est notre maillage. Et n'oubliez pas que le maillage est l'objet auquel est associé un socket. Faisons donc glisser et déposez le nom de notre socket ici. Il y a donc deux choses que nous devons corriger ici, ce sont nos règles de localisation et de rotation. Nous voulons régler cela de manière à ce qu'il soit ciblé, comme ça. Cela devrait donc être notre script. Nous voulons attacher notre épée, c'est la cible. Nous voulons l'attacher à notre maillage parent. Et où spécifiquement, well at sont nommés socket et nous définissons le nom de notre socket comme socket manuel. Alors compilez. Disons, jouons. Maintenant, regardez cette belle épée sur le sac de mon personnage. Bien que cela ait l'air nul, permettez-moi d'appuyer sur la touche zéro et boum, il est maintenant attaché à notre prise. Tout cela grâce à ce nom, à cette variable, à ce nom de saccad. Résumons maintenant. Une variable de nom est un texte utilisé pour identifier quelque chose dans un jeu. Les variables de nom sont composées de caractères alphanumériques, c'est-à-dire uniquement de lettres et de chiffres. Et ils ne tiennent pas compte des majuscules, ce qui signifie que les majuscules, les majuscules ou les minuscules n'ont pas d'importance. Les gars, ça suffira pour cette vidéo, on se revoit dans la prochaine. 46. Chaîne: Très bien, bienvenue à tous. Dans cette vidéo, notre objectif est de découvrir ce qu'est une variable de chaîne, comment en créer une et comment utiliser lors de la rédaction de scripts de plans. Pour cette vidéo, nous allons travailler dans notre bp, un ThirdPersonCharacter, c'est le répertoire où vous pouvez le trouver. Alors allons-y et ouvrons-le tout de suite. Comme vous pouvez vous y attendre, vous pouvez créer cette variable String ici dans le panneau Mon plan en cliquant sur Ajouter une variable ou en cliquant sur ce bouton plus dans la section variable . Et je vais créer nos deux premières variables de chaîne dès le départ ici. Ce premier nom, je vais l' appeler par mon prénom. Et encore une fois, vous pouvez modifier le type de la variable soit à partir de cette chaîne déroulante, c'est ce que nous cherchons à faire ici, soit cette variable serait-elle sélectionnée dans le panneau Détails sous Type de variable ? Et je vais le dupliquer tout de suite. Je peux cliquer dessus avec le bouton droit et le dupliquer. Ou avec cette option sélectionnée, je peux utiliser ce raccourci clavier, qui est control plus D. Et je vais remplacer celui-ci par LastName. Ensuite, je vais compiler ceci afin que nous puissions lui donner des valeurs par défaut. Donc pour le prénom, je vais aller dans la section Détails et taper mr. Avec un point. Ensuite, je vais ajouter un espace blanc juste après. Nom de famille, je vais ajouter une goutte. D'accord ? Parlons maintenant de ce qu' est une variable de chaîne ? Eh bien, une variable de chaîne est une variable qui peut contenir des lettres, des chiffres ou des symboles. Ou les chaînes de caractères sont utiles pour manipuler dynamiquement du texte lors de l' exécution à l'aide de certaines fonctions prêtes à l'emploi Nous en explorerons certaines plus loin dans cette vidéo. Les chaînes peuvent être recherchées, elles peuvent être modifiées et elles peuvent être comparées à d'autres chaînes. Notez que pour cette raison, les chaînes sont préférables aux variables de nom si vous souhaitez manipuler du texte d'une manière ou d'une autre pendant le jeu. Les chaînes de caractères sont donc un peu plus chères que les variables de nom. Mais je veux dire, si vous gérez un jeu plus petit ou même un jeu plus important, je veux dire, le coût n'est pas beaucoup plus élevé. OK, créons donc notre premier script qui utilisera certaines de ces variables de chaîne. Voici donc un espace vide dans un graphique d'événements. Je vais cliquer avec le bouton droit de la souris. Je vais apporter, essayons la touche sept. N'importe quel événement de clavier fera l'affaire. Laisse-moi zoomer dessus. Et vous m'avez vu utiliser cette fonction à de nombreuses reprises en faisant glisser la souris vers le bas, imprimer une chaîne. Ce nœud peut donc accueillir une variable de chaîne. Maintenant, de nombreuses choses peuvent être converties en chaîne, mais cette épingle rose juste là, si vous passez la souris dessus, indique qu'elle cherche une variable de chaîne. Si je devais saisir le nom de notre socket, il le convertirait en chaîne. En fait, si je fais glisser le pointeur ici et que je dis toString, je pourrais le convertir en une variable de chaîne. De nombreuses autres variables peuvent également être converties en chaînes de caractères. Mais montrons nos deux variables de chaîne et comment nous pouvons les ajouter ensemble. C'est-à-dire attacher l'un à l'autre. Je vais donc maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche de la souris et faire glisser mon prénom tout en Ctrl enfoncée. Et je vais aussi avoir mon nom de famille. Autant de noms sont présentés. C'est le prénom suivi du nom de famille. Donc, une façon de manipuler ces deux chaînes distinctes est de les ajouter. Donc, si je clique avec le bouton droit de la souris dans un espace vide, je passe sous la section des utilitaires tout en bas parce que tout est par ordre alphabétique. Utilitaires. Nous pouvons entrer dans la chaîne Utilitaires. Et tout en haut, il y a une fonction appelée append qui consiste à concaténer deux chaînes ensemble pour les combiner. Nous pouvons donc prendre notre prénom et y ajouter le nom de famille. Et cela nous donnera le résultat final. Comme ça. Si je compile ceci, assurez-vous que mon script est correct ici. Épargnez, allons-y et jouons. Maintenant, lorsque j'appuie sur la touche sept, vous devriez voir mon prénom et mon nom de famille combinés ici. C'est parti. Sept, vous voyez M. vagabonder tous ensemble. Maintenant, dans cette section de chaînes d'utilitaires, de nombreuses fonctions peuvent être utilisées pour manipuler des chaînes. Laisse-moi en trouver un autre ici. Je vais effacer mon nom de famille, comme ça. Et je vais taper deux caractères en haut, encore une fois, on le trouvera dans la section des chaînes utilitaires. Je vais y aller comme ça, en l' accrochant également à la section B. Maintenant, si je devais compiler, enregistrer et jouer, ce que vous remarquerez en haut à gauche lorsque j' appuie sur cette touche sept, c'est de remarquer comment la chaîne complète du nom de famille a été modifiée en majuscules. C'est donc un peu pratique aussi. De nombreuses façons de manipuler les chaînes de caractères. L'un des principaux avantages de transformer quelque chose en chaîne réside dans les différentes fonctions permettant en chaîne réside de les manipuler. Je vais vous présenter certaines des autres fonctions de manipulation du Level Blueprint, car j'en ai préparé quelques-unes avant cette vidéo. Je vais donc sauter de mon personnage à la troisième personne et accéder nouveau à mon plan de niveau C'est ainsi que vous pouvez le faire en cliquant juste là, pour ouvrir les plans de niveau. Ici, j'ai plusieurs fonctions différentes. Il y en a bien d'autres que nous allons explorer ici. Encore une fois, vous pouvez le trouver en cliquant avec le bouton droit de la souris et en laissant un espace vide sous la section des chaînes d'utilitaires. Ici, toutes les fonctions de manipulation de chaînes que vous avez vues s'ajouter. Donc, si c'était le cas, je ferais glisser et déposer chacun d'entre eux dans ma fonction prête à l'emploi ici, mon script de fonction de chaîne d'impression qui peut être déclenché avec la touche S ici. Donc, si je devais essayer, vous verrez comment, en appuyant sur la touche S, je peux ajouter ce montant en dollars après les textos d'argent. Très pratique. Très bien, laisse-moi me débarrasser de ce type et nous passerons le temps de quelques secondes à une chaîne. C'en est un autre que j'aime beaucoup. Ce que cela va faire, et je prépare celui-ci à l'avance, c'est que j'ai modifié cette variable flottante pour qu'elle ait une valeur de 500. Donc, si je devais changer cela en secondes, combien de secondes est-ce ? Eh bien, cela fera le travail pour vous. Donc, si j'appuie sur la touche S maintenant, vous pouvez voir comment cela s'affiche sous une belle forme temporelle. Supprimons celui-ci. Essayons de diviser une chaîne. Donc, si c'est ma chaîne source du 4 juillet avec une virgule 17, 76, et que je veux la diviser en STR, c'est un peu d'accord. Ici, à gauche, j'aurai le 4 juillet. À droite de cela, j'obtiendrais 17 76. Alors allons-y et essayons-y rapidement. Diviser une chaîne. J'arrive juste à gauche de cette virgule, en appuyant sur la touche S. Le 4 juillet. Et si je devais garder le contrôle enfoncé et arriver à droite, maintenant je comprendrais qu' en fait, ce serait un espace blanc dans 17 76, mais vous ne pouvez pas voir l'espace blanc, c'est juste montrer un 17 76. Maintenant, quelque chose de cool que vous pourriez faire ici est de les convertir en variables que nous pourrions modifier. Vous pourriez donc cliquer dessus avec le bouton droit de la souris, la promouvoir comme variable et appeler cette date d'indépendance État indépendant des États-Unis de toute façon, ceux internationaux, ce serait un autre rendez-vous, espérons-le, pour votre indépendance, devriez-vous profiter de ce luxe ? Ainsi, en faisant cette compilation, vous pouvez voir comment nous avons créé la variable de cette manière en cliquant avec le bouton droit de la souris et en la transformant en variable. Notez qu'il prend automatiquement informations que vous avez codées en dur pour qu'elles fonctionnent à cet endroit et renseigne automatiquement cette variable de chaîne. Alors j'ai juste pensé que j'allais le jeter là aussi. Regardons-en une autre ici, cette fonction de remplacement. Vous pouvez également le trouver dans la section des chaînes d'utilitaires et dans le menu contextuel. Super pratique car vous pourriez voir un scénario comme celui-ci. Et encore une fois, vous avez une chaîne source qui indique que la porte est verrouillée. Vous pouvez modifier certains textes que vous spécifiez, dans ce cas verrouillés jusqu'au texte ouvert. C'est donc un autre avantage de ces fonctions de chaîne. Vous avez toutes ces différentes manières de manipuler les textes. Alors, on y va. Cela devrait dire que la porte est verrouillée, je dis qu'elle a été changée pour ouverte. Donc, en appuyant sur la touche S, la porte est ouverte. Et voilà. Une variable de chaîne est une variable qui peut contenir des lettres, des chiffres ou des symboles. Ils sont utiles car ils peuvent être manipulés dynamiquement lors de l'exécution. Et encore une fois, pour trouver toutes ces fonctions cliquez avec le bouton droit de la souris et vous voulez accéder à Utilitaires. Tout en bas, il y a une chaîne d' utilitaires et vous avez toute une série de fonctions pour manipuler ces chaînes. Eh bien, ça suffira pour celui-ci, les gars, nous vous verrons dans le suivant. 47. Texte: Bienvenue à tous. Dans cette vidéo, nous allons apprendre ce qu'est une variable de texte, comment en créer une et comment l' utiliser lors de l'écriture de plans. Il s'agit donc de la troisième variable de cette catégorie, à savoir la variable nom, la variable chaîne et la variable texte. Qu'est-ce que la variable de texte et quand doit-elle être utilisée ? Eh bien, les variables de texte doivent être utilisées pour tous les textes qu'un utilisateur peut voir pendant une partie. Des textes que vous pouvez voir sur un HUD intégré au jeu, ou peut-être des textes que vous voyez dans les menus ou peut-être sur un écran affichant les meilleurs scores, ce genre de choses. Utilisez ce type de texte que vous souhaitez localiser. Donc, si vous cherchez à traduire votre jeu et tout le texte qui l' accompagne en allemand, français, espagnol, etc. Vous allez vouloir vous assurer que ce texte est du type variable de texte. Désormais, les variables de texte distinguent les majuscules et minuscules, alors que les variables nommées ne le sont pas. Ils n'ont pas fait la distinction majuscules/minuscules. Les variables fiscales distinguent les majuscules et minuscules. Très bien, nous allons travailler un peu dans notre WB P HUD. C'est donc là que vous pouvez découvrir que nous avons créé ces vidéos il y a quelques vidéos. Nous allons également travailler un peu notre plan de personnage à la troisième personne. Vous pouvez donc également le trouver dans le dossier Blueprints à la troisième personne. Alors ouvrez ces deux gars. Je vais commencer avec mon HUD W BP. Vous vous souvenez peut-être quand nous l'avons fait il y a quelque temps. Nous n'avons fait que créer une boîte horizontale. Et à l'intérieur de cette boîte horizontale, nous avons ajouté un widget de texte ainsi qu'une barre de progression. Maintenant, je suis en bonne santé pour le moment, mais je vais changer cela dans le panneau Détails. Est-ce que vous dites simplement le nom du personnage ? Nom du personnage. Il s'agit d'une variable de type texte. En fait, si je survole ce drapeau ici, vous pouvez voir que certains textes peuvent être localisés si cette case est cochée. Je vais également changer le nom de ce widget en nom de personnage ou en textes de caractères. Que diriez-vous de ça ? Nous parlons ici de variables textuelles. Juste pour que cela soit un peu plus clair. Donc, ce que nous allons faire maintenant, c'est E à l'intérieur de notre ThirdPersonCharacter, je suis prêt à créer une variable de texte. Et je vais lui donner le nom que je souhaite à notre personnage à la troisième personne. Je vais donc monter là-bas. Nous allons créer une association ici dans peu de temps. Mais passez à votre personnage à la troisième personne. Et nous allons créer une nouvelle variable. Et nous allons appeler cela les textes de nos personnages, juste pour que les choses soient encore plus claires. Et nous allons le remplacer par un type de variable texte. Nous allons le compiler. Et je vais l'appeler mon super héros. Ça a l'air d'être un joli nom. Maintenant que cette variable de texte est créée, je vais compiler ici et enregistrer. Et maintenant, nous allons associer cette variable à notre HUD W, B P afin de pouvoir réellement lire les textes de ces super-héros. Passez donc à votre HUD WPP. Sélectionnez l'endroit où le nom du personnage est indiqué. Et dans le panneau Détails où le nom du caractère est indiqué, nous devons créer une reliure. Je vais le faire en cliquant sur la reliure. Créez une reliure. Et cela va nous faire passer de l'onglet Designer à l'onglet Graphe. C'est exactement ce qui s'est passé là-bas. L'onglet Designer vous ramène à cette mise en page visuelle. L'onglet Graph est l'endroit où vous pouvez créer un script. Et plus précisément, cela nous a permis de créer une toute nouvelle fonction. Donc, à l'heure actuelle, notre fonction s'appelle obtenir des textes de caractères. Texts is zero, ce qui est un nom horrible. Ce qui est fait, c'est qu'un tout nouvel onglet s'est ouvert ici. Et voici le nom de la fonction que nous sommes en train de créer. Je vais le renommer en passant la souris dessus. Et nous allons le renommer. F2 mentira également pour le renommer, et j'appellerai ça obtient des textes de caractères. Maintenant, ce que nous voulons faire à partir d'ici c'est un peu comme nous l'avons fait pour notre santé de Get Player. Je vais juste passer très rapidement à cette fonction en double-cliquant dessus. Nous recherchions notre personnage de joueur et nous avons sélectionné notre personnage à la troisième personne afin d' obtenir ces informations variables. Je vais mettre en évidence ces deux nœuds cliquant avec le bouton gauche de la souris et en les faisant glisser. Je vais faire Control C. Ensuite, je vais double-cliquer sur la fonction dont je viens de sortir. Je reçois des textos de personnages. Et puis ici, je vais utiliser Control V pour coller ça. Je vais faire passer ça comme ça. Et encore une fois, une fois que vous avez une référence à votre ThirdPersonCharacter, vous pouvez en extraire certaines informations, y compris les variables qui s'y trouvent. J'ai donc créé cette variable à l'intérieur de mon personnage à la troisième personne , appelée textes de caractères. Revenons donc à mon HUD WB P, dans cette fonction, je vais faire glisser la souris ici et je pourrai rechercher les textes d'un personnage. Je veux l'obtenir et regarder la valeur de retour que recherche cette fonction. J'ai mentionné que dans l'onglet Designer, ce widget de texte en particulier était lié à certains textes réels. C'est le résultat que nous recherchons ici dans notre onglet graphique. Il s'agit de rechercher la valeur de retour d'une variable de texte. Nous allons donc insérer ces textes directement ici. Comme ça. Et si je compile et que je sauvegarde et que je joue maintenant, vous remarquerez qu' en haut à gauche, il est écrit superhéros, le nom de notre personnage tel que nous l'avons spécifié dans cette variable de texte de caractère. OK, une autre chose que je voulais montrer avec une variable de texte est la façon dont vous pouvez formater certains textes, car je pense que beaucoup d'entre vous trouveront cela utile également. Maintenant, pour faire ce que je veux montrer, nous allons revenir à notre personnage à la troisième personne. Ensuite, nous reviendrons ici dans notre WPP Hudson. Ne vous contentez pas de fermer ça tout de suite. Revenons à notre personnage à la troisième personne. Comme ça. Créons de nouvelles variables de texte. Je vais passer sous Variables, cliquez sur plus. Et je vais appeler cela une étape de l'état de santé. Je vais donc modifier la valeur par défaut de l'état de santé pour qu'elle soit assez intéressante. Nous allons donc compiler ici et regarder ce que je vais taper ici. Permettez-moi de développer cela un peu. Je dirais que tu l'as fait, et ce sera un frère bouclé, désolé, crochet bouclé, pas un crochet droit qui maintient le shift enfoncé, crochet bouclé gauche, santé. Crochet bouclé droit en maintenant la touche Shift enfoncée et en appuyant sur le bouton du support, HP restant. Maintenant, tandis que. Maintenant, je l'ai fait parce qu'avec notre variable de texte ici, nous avons la possibilité de formater nos textes et modifier ce contenu ici pour le lire vous reste 100 HP, il te reste 50 PV, ce genre de choses. Maintenant, nous pouvons le faire via un nœud de format de texte. Je veux donc formater cela. Je vais faire quelques scripts ici, puis cela le reliera à notre HUD WPP. Voici donc ThirdPersonCharacter Event Graph. Je vais cliquer avec le bouton droit de la souris et essayer la touche 9. N'importe quelle touche de saisie fera l'affaire. Nike fonctionnera très bien pour le moment. Et je vais m' en aller d'ici. En fait, ne partons pas d'ici pour l'instant. Je veux parler de notre état de santé, traîner ça et nous y arriverons. Ensuite, je vais sortir d'ici et taper du texte au format. D'accord, les feuilles actuelles n'ont qu'une seule épingle, mais nous allons en ajouter une ici. Et actuellement, il est étiqueté zéro. Cependant, si je sélectionne ce nœud de format de texte, je peux modifier ici l'argument qui sera cette épingle d'entrée. Souvent, cela doit être orthographié exactement comme écrit dans notre état de santé. J'ai donc H E majuscule, H E a L T H, santé. Juste comme ça. Avec votre format, les nœuds de texte sélectionnés modifient l'argument pour qu'il soit exactement le même, et cela apparaîtra sous la forme d'une épingle de saisie sur ce nœud de format de texte. Ensuite, ce que je vais faire, c'est prendre notre variable santé ici, comme ça. Il s'agit actuellement d'un flotteur et branchez-le ici. Maintenant, il est gris, ce qui signifie qu'il peut tout absorber. Je vais donc une variable flottante, et elle indiquera : OK, si vous voulez la brancher à flot, ce sera maintenant une entrée flottante. Il le remplacera par le type d'entrées que vous y introduirez ainsi. Et le résultat, que je vais promouvoir cela en tant que variable. Cliquez avec le bouton droit sur Promouvoir Et il a créé cette nouvelle variable de texte ici appelée résultats. Je vais modifier cela pour améliorer le résultat. Je pense que ce sera un peu plus descriptif. Donc maintenant, ce que nous faisons ici, c'est que lorsque nous allons appuyer sur la touche 9, nous allons prendre notre état de santé actuel ici, cette phrase, si vous voulez, nous allons remplacer ce que nous avons spécifié ici cette santé et la raison pour laquelle nous avons cette santé exacte entre crochets sont exactement les mêmes ici dans les arguments, c' est pour qu'on puisse lire que c'est la texture que nous essayons d'échanger. Et puis le résultat sera le résultat de cette ligne, la santé étant échangée contre cette valeur flottante quelle que soit cette valeur flottante. Je me rends compte maintenant que c'est sous forme de virgule décimale. Nous allons donc obtenir une valeur de 0 à 1. Et normalement, vous devriez lire à 100 %, ce genre de choses. Mais ça va convenir à des fins de démonstration. Je vais compiler ce dernier élément que je dois faire ici si je dois lier ces résultats de santé du jour au lendemain, WB be HUD. Donc, pour ce faire, je vais revenir ici. Permettez-moi de revenir à mon onglet Designer. Je vais rapidement glisser-déposer un widget de texte quelque part là-bas. Cela n'est pas demandé pour être très précis. Ça va juste traîner ici. Je ne vais pas le montrer ou le cacher ou quoi que ce soit de ce genre. Je vais simplement appeler cela mon état de santé. Et actuellement, si je devais jouer, cela nous indiquerait simplement l'état de santé à l'écran. Comme ça, état de santé. Cependant, je souhaite lier cela à notre variable, notre variable d'état de santé à l'intérieur de notre ThirdPersonCharacter. Nous devons donc créer cette liaison en allant ici, lier, créer une liaison. Et lorsque nous sommes passés à l'onglet graphique, nous allons changer le nom de cette fonction, appuyant sur F2 ici pour obtenir l'état de santé suivant. Nous allons faire comme nous l'avons fait avec nos autres fonctions ici, je vais double-cliquer sur cette autre fonction. Nous allons saisir ces deux nœuds, contrôler C. Revenons à notre fonction d'état de santé sur laquelle nous travaillons , control v. Like this. Et maintenant, nous pouvons trouver l' intérieur de notre ThirdPersonCharacter, assurez-vous de l'avoir compilé. Nous voulons saisir cette variable de résultat de santé. Je ne devrais pas remplacer cela par Help Desk, je vais appeler cela de bons résultats pour la santé. Soyons un peu plus précis. Ils sortent de notre type de personnage à la troisième personne en termes de santé. Nous voulons obtenir les résultats sur le plan de la santé, et non sur l'état de santé. Il y en a deux qui portent le même nom. Et maintenant, si je devais compiler, enregistrer, remarquer que notre ThirdPersonCharacter, une fois que nous aurons appuyé sur la touche 9, c'est ce que nous allons mettre à jour notre résultat de santé ici. Je vais donc appuyer sur le bouton Play. Et une fois que j'appuie sur la touche 9, il te reste un HP. Eh bien, quelque part ici, dans ce personnage à la troisième personne, j'étais en train de décrémenter notre santé. Eh bien, c'était pour les malades, les cinq clés, non ? Donc en remontant ici. Et j'appuie sur les cinq touches pour réduire ma santé. Maintenant, si j'appuie sur la touche 9, cela devrait être mis à jour. Maintenant, j'ai 50 % de mes points de vie, les cinq touches abaissant, abaissant, diminuant. Je ne devrais pas avoir 20  % de santé. Je vais donc appuyer sur la touche F9. Encore une fois, vous avez également 20 % de santé. Et je pourrais le formater pour qu'il soit plus logique, mais tu comprends. Enfin, j'ai mentionné que tous les textes destinés aux utilisateurs, ce soit dans le HUD ou dans les menus, ce genre de texte que vous souhaitez faire localiser. Il doit se trouver dans une variable de texte, ce type de texte. Il doit se trouver dans une variable de texte si un utilisateur veut le lire dans différentes langues. Maintenant, comment procédez-vous avec tout ce processus qui dépasse largement le cadre de cette vidéo. Cependant, je vais vous indiquer cette documentation en particulier. Dans la documentation officielle d'Unreal Engine 5, vous pouvez vous trouver sous Docs point Unreal engine.com. Vous pouvez voir l' adresse ici. Beaucoup d'informations sur la façon de localiser des textes avec ces gars-là. Ça suffira pour celui-ci. Nous vous verrons lors de la prochaine. 48. vecteur: Bienvenue à tous. La variable vectorielle est le sujet de cette vidéo. Apprenons donc à en créer un et à en utiliser un dans certains scripts Blueprints. Alors, tout d'abord, qu'est-ce qu' une variable vectorielle ? Eh bien, une variable vectorielle est une variable qui contient trois valeurs flottantes, c' est-à-dire des nombres avec un point décimal. Ils sont généralement utilisés pour spécifier les données de coordonnées 3D x, y et z. Cependant, ils peuvent être utilisés pour contenir des données de couleur R, G et B, c'est-à-dire des données de couleur rouge , verte et bleue. Très bien, pour vous montrer quelques exemples, je voudrais utiliser notre plan de niveau, mais avant même que vous n'y alliez, assurons-nous que vous avez une place dans la boîte de déclenchement de votre niveau, car nous sommes je vais m'en servir pour montrer l'utilisation de variables vectorielles. Donc, si vous ne l'avez pas déjà fait , rendez-vous ici, sous le panneau Place Actors L'onglet de base étant sélectionné, vous trouverez une boîte de déclenchement. Allez-y et placez l'un d'entre eux dans votre niveau. Et puis tout ce que j'ai fait, c'est régler ma boîte pour qu'elle s'étende à 200, 200, 200, soit une épaisseur de ligne de dix. Et dans la section du rendu, j'ai simplement désactivé Actor Hidden et Games pour pouvoir voir ce volume de déclenchement lorsque je joue. Très bien, avec cette case de déclenchement sélectionnée, passez à votre plan de niveau. Tout de suite Ce que nous allons faire, c'est cliquer avec le bouton droit. Tu m'as vu faire ça un million de fois. À présent. Nous allons ajouter un acteur qui commence un événement de chevauchement. Nous voulons que quelque chose se produise lorsque nous superposons cette case de déclenchement, et nous voulons que cela se produise uniquement lorsque le personnage à la troisième personne est l'autre acteur. Cela nous chevauche pour sortir de là tapant Cast to ThirdPersonCharacter. La première chose que je veux faire ici, c'est simplement me déplacer vers un autre endroit. Maintenant, afin de déterminer quel emplacement nous voulons également travailler, nous pouvons le conserver dans une variable vectorielle. Passons donc à notre section sur les variables. Cliquez sur le bouton plus et appelons cela notre distorsion, également locale. Et pour la transformer en variable vectorielle, vous pouvez à nouveau cliquer ici et la définir comme variable vectorielle. Ou en sélectionnant cette option dans le panneau Détails, vous pouvez également modifier le type de variable en vecteur. Je vais compiler ici. Et nous pouvons voir qu'une fois que nous l'avons fait, la valeur par défaut est fixée à 00,0 et ce sont des valeurs décimales. Il s'agit de trois valeurs flottantes. Et vous pouvez voir, en surlignant ces coordonnées, qu' s'agit généralement de coordonnées x, y et z. Vous pouvez également cliquer sur cette petite flèche vers le bas agrandir et afficher le x, le y et le z. Ce que je vais faire ici, c'est définir cette valeur pour qu'elle soit supérieure, en l'air, au-dessus de ma boîte de déclenchement. Donc, ce que je cherche essentiellement ici, c'est que je veux superposer cela. Je vais apparaître ici. Je vais le superposer, puis je veux me diriger vers un endroit juste au-dessus avec l' idée de tomber quelque part à proximité. Ensuite, je pourrai le répéter encore et encore. Je vais donc copier l'emplacement de cette boîte de déclenchement en la sélectionnant dans le panneau Détails. Je vais cliquer avec dans le panneau Détails le bouton droit de la souris ici et copier ces coordonnées. Ensuite, je vais revenir à ma carte de tests de niveau, Level Blueprint, passer en revue les paramètres régionaux. Et ici, je vais cliquer avec le bouton droit de la souris et le coller pour coller les mêmes valeurs. Cependant, je souhaite définir ma valeur z pour qu'elle soit plus élevée afin de ne pas me retrouver dans la même case. Je vais donc définir ma valeur z ici à 2000. Sachez que selon l'endroit où vous placez votre boîte de déclenchement, vos valeurs ici seront différentes. Vous devez juste savoir que vos x et y peuvent avoir la même signification que votre boîte de déclenchement. Le Z que vous allez vouloir régler pour qu'il soit un nombre plus grand afin que vous finissiez par vous déformer au-dessus des limites de cette case. Maintenant, ce que nous voulons faire ici, c'est que lorsque nous superposons cette case à un personnage à la troisième personne, nous voulons le faire sortir de notre personnage à la troisième personne et saisir l'emplacement de l'acteur. Il s'agit d'un nœud fonctionnel qui peut déplacer votre cible. Dans ce cas, notre personnage à la troisième personne vers un nouvel emplacement. Et que savez-vous que nous stockons cet emplacement dans cette variable vectorielle ? Je peux donc cliquer avec le bouton gauche de la souris et le faire glisser et déposer juste en haut de notre nouvel emplacement. Et je vais le compiler pour m'assurer que notre script est beau et qu'il l'est Sauvegardons-le, et allons-y et jouons. Donc, une fois que je l' ai superposé, je devrais me diriger vers un endroit situé quelque part au-dessus. C'est parti. On y va. Vous pouvez voir que je n'arrête pas de tomber dedans encore et encore. Laisse-moi essayer de m'éloigner de là. Boucle infinie. Mais tu as compris l'idée. Vous pouvez maintenant voir comment étendre ce script ici même à un effet sonore, peut-être à un effet de particules plus petites à l'endroit où nous chevauchons cette boîte de déclenchement et à la distorsion vers les paramètres régionaux. Mais l'emplacement de la boîte de déclenchement, c'est un exemple d'utilisation d'une variable vectorielle. Utilisons maintenant à nouveau une variable vectorielle et utilisons-la pour spécifier une couleur. Pour cela, je vais cliquer avec le bouton gauche de la souris sur cette distorsion pour localiser Control D pour la dupliquer. Cela dupliquera cette variable et je vais simplement appeler cette nouvelle couleur. Je vais simplement ajouter une clé de saisie ici. Essayons la touche 9, je ne connais pas , pour voir si elle est disponible. Les neuf touches, Bien sûr, n'importe quel événement d'entrée suffira. Et je vais faire glisser ça et taper la chaîne d'impression. Et il va imprimer le texte Bonjour. Cependant, si je développe cela vers le bas, je peux spécifier une couleur de texte. Maintenant, si je passe la souris sur cette épingle d'entrée, cela indique que ce type de variable est une structure de couleur linéaire. C'est le type de variable qu'il recherche. Et nous pouvons en créer une en cliquant dessus avec le bouton droit de la souris et en la transformant en variable. Mais l'idée ici est de montrer comment une variable vectorielle peut être utilisée pour spécifier une couleur. Maintenant, si je sélectionne ma nouvelle variable de couleur ici et que je compile pour pouvoir ajouter une valeur ici. Il copie les données provenant de ma distorsion vers les paramètres régionaux. Permettez-moi donc de le remettre à 00,0. Maintenant, si vous utilisez une variable vectorielle pour spécifier une couleur RGB, vous devez savoir que ces valeurs vont essentiellement de 0,0 à 1,0. Vous spécifiez essentiellement le pourcentage de rouge ou de vert que vous voulez et le pourcentage que vous voulez de bleu. Je vais définir ma nouvelle couleur ici à 1,0 pour la valeur r, le b et le g, je vais laisser zéro. Donc, je dis essentiellement de me donner 100 % de rouge, pas de vert et pas de bleu. Maintenant, si j'essaie de le glisser-déposer au-dessus de la couleur de mon texte, c'est parce qu'ils ne peuvent pas le faire. Cependant, si je le fais glisser et déposez, je l'obtiens. Ensuite, je le fais glisser dans la saisie de couleur du texte. Cela va convertir mon vecteur en un type de structure de couleur linéaire. Maintenant, en faisant cela, je peux compiler, enregistrer, m'assurer que mon script est prêt à fonctionner. Allons-y et jouons. Maintenant, lorsque j'appuie sur la touche 9, vous verrez que le texte Hello apparaît en rouge et qu'il est piloté par ma variable vectorielle où je l'utilise pour spécifier une valeur de couleur R, G et B. Et voilà. Les variables vectorielles sont couramment utilisées comme points d'apparition ou de réponse, ou peut-être comme points de départ et d'arrivée d'une plateforme mobile. Et nous y reviendrons plus tard lorsque nous donnerons une leçon sur l' utilisation des nœuds de chronologie dans les scripts de plans. Les gars, ça suffira pour celui-ci. On se revoit dans le prochain. 49. Rotateur: Bienvenue à tous. La variable rotateur est la vedette de cette vidéo. Apprenons donc comment en créer un et comment il peut être utilisé dans un script de plan directeur. Tout d'abord, qu'est-ce qu'un rotateur ? Eh bien, le rotateur est une variable qui contient des informations de rotation. Désormais, les objets peuvent être pivotés autour de trois axes différents, le x, le y et le z. Et cela peut indiquer dans quelle mesure nous voulons un objet donné fasse pivoter un objet donné, le stockant dans ces variables de rotateur. Maintenant, avant de passer à tout cela, je voudrais juste indiquer ici, avec tous les objets sélectionnés dans votre niveau comment la rotation tourne autour d'un axe donné. Donc, à l'heure actuelle, vous pouvez voir que mon volume de déclenchement est sélectionné ici, ma boîte de déclenchement, et que je suis actuellement dans mon mode de déplacement, actuellement dans mon mode de déplacement, indiqué par celui-ci pour le widget fléché. Maintenant, si je devais passer en mode rotation, nous pouvons voir comment, si nous tournons autour de l'axe X , la flèche rouge apparaît ici. Cela implique de bouger comme ça. Il se déplace autour de cet axe. De même, notez notre axe Y pointé dans cette direction. Si nous devions changer cela en rotation, nous le déplacerions autour de cet axe. De même, si notre axe Z est pointé vers le haut et vers le bas, si nous tournons autour de cet axe, nous le déplaçons essentiellement comme ceci. Faites-le pivoter comme ça. Je dois être grammaticalement correct. accord, avec cela, j'ai également apporté une modification supplémentaire entre les vidéos en créant un tout nouveau dossier ici et en cliquant simplement avec le bouton droit de la souris sur notre dossier de scripts, créant un nouveau dossier et en l'appelant acteur. Bp's. Ce que j'ai fait ici, c'est que j'ai déplacé tous mes plans qui se trouvaient dans mon dossier d'aperçu. Il suffit de les glisser-déposer, cliquer avec le bouton gauche de la souris et de les faire glisser dans le dossier de mon nouvel acteur BP. Parce que cela semblait être un nom plus descriptif. Dossier de présentation. Il a en quelque sorte dépassé sa durée de vie utile. Je vais donc créer un nouveau plan ici, dans les dossiers de mes nouveaux acteurs BP. En cliquant avec le bouton droit de la souris, nous allons créer une nouvelle classe de plan. Ce seront des plans de classe d'acteur. Alors choisissez un acteur. Et je vais donner un nom à cette porte rotative BP Underscore. Nous allons créer des variables de rotateur dans ce plan. Tout d'abord, allons-y et double-cliquez dessus pour l'ouvrir. Et je ne veux pas ajouter quelques composants. Donc, le premier composant que je vais ajouter en entrant dans ma section de composants sera une boîte, une boîte, une boîte. Laisse-moi juste faire une recherche par case. Ça y est. Collision de boîtes. Et une fois cette option sélectionnée, j'ai quelques détails que je souhaite définir à cet effet dans le panneau Détails. Je souhaite définir l'emplacement sur moins 45 et l'emplacement z sur 110. Vous verrez pourquoi dans peu de temps. Allons un peu en l'air comme ça. De plus, je vais modifier l'étendue de la boîte pour qu'elle soit de 170 dans le x, 60, dans le y, 110, dans le z. Elle est donc un peu grande, quelque chose comme ça. Très bien, une fois cela fait, nous allons ajouter un composant de maillage statique. Je vais ajouter ceci. Nous recherchons un maillage statique. Et actuellement, ce maillage statique est attaché à notre boîte. Nous allons régler ce problème dans un petit moment. Je vais appeler ça mon grillage de porte. Très bien, une fois cette option sélectionnée dans le panneau Détails, je voudrais définir notre maillage statique comme cliquez sur cette petite liste déroulante, porte de soulignement S M. Il s'agit maintenant d'un actif qui se trouve dans le dossier Starter Content Prompts. Honnêtement, vous pouvez utiliser n'importe quel type de porte, comme une grille, mais celle-ci fonctionne bien. Alors allons-y et utilisons-la. Remarque : ce maillage ne présente aucune collision. Je sais que vous pouvez simplement le parcourir, mais ce sera parfait pour montrer la rotation d'un grillage de porte. Allons-y et plaçons ça. Maintenant, j'ai mentionné qu' il est actuellement attaché à notre boîte. Je vais juste le glisser-déposer sur le dessus de notre boîte pour qu' il ne soit pas attaché. Ça ne devrait pas être trop grave, mais juste pour jouer avec moi à la maison. D'accord ? La prochaine étape que nous allons faire est de créer quelques variables. Donc, dans la section Mon plan, sous la section variable et cliquez sur le bouton plus. Nous allons l'appeler en premier, la rotation de départ localisée, non la rotation de localisation. Nous allons changer le type ici pour qu'il s'agisse d'un rotateur. Ensuite, je vais le sélectionner à nouveau et faire Ctrl et D pour le dupliquer. Ce sera de l' art et de la rotation. Donc, avec cela, nous allons compiler afin de pouvoir définir certaines valeurs ici, commencer la rotation, assurez-vous de la sélectionner. Nous voulons que ce soit 0,0. Ensuite, allez-y et sélectionnez votre fin de rotation. Nous voulons simplement que notre rotation et le long de l'axe Z soient de 90. Donc, vous savez, si vous ouvrez une porte à 90 degrés, vous allez essentiellement commencer par celle-ci, comme si c'était une vue aérienne. Et puis la fin sera un peu comme ça, non ? Il va juste l' ouvrir. Faites-le pivoter d'ici comme ça avec ma souris. C'est sympa, M. Waldroup. Très bien, ensuite, allons-y et écrivons un peu de script dans notre graphique d'événements. Nous avons donc certains nœuds d'événements ici par défaut, nous pouvons cliquer avec le bouton gauche de la souris pour les supprimer. Et maintenant, nous voulons que quelque chose se produise lorsque nous commencerons à superposer cette case. Et puis quand nous avons fini de superposer cette boîte, et c'est cette boîte juste ici, j'ai sauté sur l'onglet de ma fenêtre d'affichage. Revenons donc à mon graphique d'événements. Je vais cliquer avec le bouton droit de la souris sur le composant de ma boîte. Nous allons ajouter un événement lorsque nous commencerons à le superposer. Ensuite, cliquons à nouveau dessus avec le bouton droit de la souris sur événement pour le chevauchement des extrémités. Nous voulons maintenant préciser que c'est le personnage du joueur qui nous chevauche. Maintenant, je pourrais choisir mon personnage à la troisième personne. Cependant, il existe un autre moyen de m'y prendre. J'aimerais donc vous présenter différentes techniques. Je vais taper avec le bouton droit de la souris dans Obtenir le personnage du joueur. Et ce que je vais faire ici, c'est vérifier si l'autre acteur est égal. Je vais juste taper le symbole égal. Si cela correspond à mon personnage de joueur. S'ils sont égaux, je vais maintenir la touche B enfoncée et apporter un nœud de branche comme ça. L'autre acteur est égal à mon personnage de joueur. Ce que je veux faire, c'est ouvrir la porte. Maintenant, pour ce faire, nous allons utiliser un nœud de chronologie. Maintenant, j'ai une vidéo complète qui sera consacrée à ce sujet plus tard dans le cours. Nous allons donc sauter un peu le pas. Cette vidéo ne vise pas à créer une chronologie. Donc, si vous ne comprenez même pas parfaitement ce qui se passe ici, soyez indulgent avec moi. Même si je vais faire de mon mieux pour expliquer le plus rapidement possible, cliquez avec le bouton droit de la souris sur un espace vide et recherchez un nœud temporel. Une fois que vous avez saisi le mot chronologie, il sera pesé en bas pour ajouter une chronologie. Et c'est un nœud très spécial. Et l'une des choses qui vous permettra de le faire est de lui donner un nom. Je vais appeler cela ma rotation de porte. Vous pouvez voir qu'il contient de nombreuses épingles d'entrée, de nombreuses épingles d'entrée d'exécution où nous pouvons le jouer. Nous pouvons nous arrêter à ce nœud, vous pouvez double-cliquer dessus afin spécifier une animation s'il s'agit d'une chronologie. Nous allons animer notre porte selon une chronologie donnée. Si nous double-cliquons dessus, nous pouvons ajouter une chronologie à notre fenêtre ici J'ai donc simplement double-cliqué dessus. Nous avons notre nœud chronologique de rotation des portes juste en haut. Nous voulons ajouter une piste. Nous voulons ajouter spécifiquement une piste flottante. Si je passe à la piste ici, cliquez sur le bouton Plus. Nous voulons ajouter une piste flottante. Un Float Track nous permet de modifier une variable flottante au fil du temps. Nous ajoutons donc un Float Track. Nous pouvons renommer cette piste et je vais appeler cette rotation. Maintenant, ce que je veux faire, c'est préciser certains points dans le temps. Je peux donc ajouter un point à ce graphique en cliquant avec le bouton droit de la souris et en ajoutant une clé. C'est une façon de l'ajouter. Et avec ce premier point, ajouté cette première image-clé, comme on l'appelle, je vais spécifier un temps nul. Une valeur de zéro. Appuyez sur Entrée. Et cela va me permettre de me retrouver ici même. Ensuite, je vais cliquer à nouveau avec le bouton droit sur une autre touche. C'est une façon de procéder, ou je peux maintenir la touche Shift enfoncée et cliquer avec le bouton gauche de la souris. C'est une autre façon d'ajouter une clé. Je vais sélectionner cette clé. Et je vais régler l'heure à un, c'est-à-dire à 1 s, et la valeur à un. Maintenant, il va le sauter du haut de l'écran ici. Mais si vous cliquez sur ces flèches, vous pouvez l'encadrer comme ça. Maintenant, je souhaite également modifier la durée de ma piste ici pour qu'elle soit actuellement de 1 s au lieu de 5 s. Cela indique essentiellement la longueur que je veux que cette piste dure. Je veux que ce soit aussi long que ma dernière image-clé ici, je veux qu'elle soit de 1 s. Donc, ce que je vais essentiellement faire ici, c'est que je vais changer la valeur d' une variable flottante nommée rotation depuis zéro, une valeur de zéro à 0 s à une valeur de un 1 s plus tard, cela va se faire lentement, progressivement, ce 0-1 en 1 s. Maintenant, cette variable flottante de rotation, si je reviens à mon événement graphique ici, notez que cela s'appelle rotation. Vous pouvez maintenant voir que ma chronologie de rotation des portes a une sortie, et cette sortie est une valeur flottante. Il va générer cette valeur flottante. Et encore une fois, si je reviens dans cette chronologie en double-cliquant dessus , en double-cliquant dessus. Je vais changer la valeur de ce 0-1 progressivement en 1 s. Maintenant, c'est utile car nous pouvons l'utiliser pour générer ce que l'on appelle une boucle. Donc, si je clique avec le bouton droit de la souris et que je place un espace vide, je peux rechercher un nœud appelé rotateur. Cela va prêter à confusion au début, mais je vais décrire comment cela fonctionne. Le nœud d'alerte nous permet de passer d'une valeur à une autre sur un laps de temps donné. Et en fait, si nous faisons pivoter ou si nous passons la souris sur le dessus de ce nœud, cela indique que nous allons interpoler linéairement entre a et b en fonction de la valeur Alpha que nous lui fournissons. Donc ça va fonctionner comme ça. Une rotation va aller de 0 à 1. C'est la valeur. Cela va aller entre 0 et 1 en 1 s. Lorsque Alpha vaut zéro, la valeur de ce nœud commence à tourner. Notez que notre rotation de départ est essentiellement de 00,0. Maintenant, comme notre valeur de rotation passe de 0 à 1, nous allons progressivement passer de notre valeur a à notre valeur b. Donc, si notre rotation se déroule comme suit, 0-1 en 1 s, elle s' éloignera continuellement de a à B pendant 1 s, cela va nous déplacer de a à b. Notre rotation finale va donc précisez notre rotation finale. Nous commençons par cette rotation. Nous terminons avec cette rotation. Maintenant, tout va bien, mais la valeur de retour ici doit être connectée à la fonction de rotation relative définie. Ou nous allons faire ici en disant : « Hé, le maillage de la porte », c'est le composant que nous voulons faire pivoter, glisser-déposer sur notre graphique. Ensuite, faites glisser le pointeur vers l'extérieur. Nous voulons définir votre rotation relative. Cela modifie votre rotation par rapport à votre point de départ. Notre configuration finale ressemblera donc à ceci. Parcourons cela pour le comprendre un peu plus en profondeur. Maintenant, en superposant ce volume de déclenchement, nous allons découvrir si c'est le personnage du joueur qui a joué le rôle principal, l'autre acteur qui nous a superposés. Si c'est vrai, nous allons jouer, jouer cette chronologie. Elle va passer de 0 à 1, une valeur de rotation si la valeur flottante est supérieure à 1 s. Et ce faisant, en modifiant la valeur de cette variable de 0 à 1, nous allons passer de notre rotation de départ à notre rotation finale en 1 s. C'est ce que cela fait. Et le retour de ce mouvement d'un point a à un point B indiquera à notre grillage de porte de tourner pendant cette seconde. Allons-y et donne-nous une tribu. Nous n'allons même pas nous inquiéter de notre chevauchement final pour le moment. Mais pour ce faire, nous devons glisser-déposer dans notre niveau. Glissons-le et déposons dans notre niveau. Je vais le placer juste ici. Nous allons continuer et cliquer sur Jouer. Et tu sais quoi ? Pour ce faire, je dois m'assurer que nous le faisons dans une nouvelle fenêtre d' éditeur comme celle-ci. Et aussi, je vais le faire à partir de notre plan ici afin que vous puissiez voir le script à l'œuvre. Alors laisse-moi juste rentrer ici. Nous allons cliquer sur Play ici. Notre configuration de débogage repose sur une porte rotative. Apportez-le sur notre fenêtre de jeu ici. Et si je le superpose, vous pouvez voir qu'il l'a pivoté de 90 degrés. Maintenant, comme vous pouvez le voir, une fois que je m'éloigne de ce volume de déclenchement, il ne le baisse pas ou quoi que ce soit d'autre. Et il a déjà réglé la rotation pour qu'elle soit ouverte. C'est donc ouvert. Maintenant, je veux en finir avec ça. Nous avons juste besoin d' utiliser une configuration similaire à celle que nous avons ici. Donc, ce que je vais faire, c'est en traîner un ici. Tapez le signe égal. Une fois de plus, nous allons découvrir si un autre acteur est à la hauteur du personnage de notre joueur. Une fois de plus, nous allons copier notre branche C, la commande V. Et s'il est vrai que l'autre acteur a mis fin à notre chevauchement, si c'est vrai, nous allons inverser cette chronologie. Nous allons inverser la rotation de cette porte. Compilons donc ceci. Enregistrez en cours de jeu. Je vais l' emporter ici pour que vous puissiez voir le script démarrer. Très bien, donc la chronologie est jouée. Alors mettons fin à notre chevauchement. Surveillez le lancement du script. Ouvrez Sesame. Des bas, juste comme ça. Et voilà. Dans cette vidéo, nous utilisons la variable rotator pour spécifier un emplacement de départ pour notre grillage de porte, ainsi qu'une rotation finale pour notre grillage de porte. C'est aussi simple que cela, les gars qui feront tout pour cette vidéo. On se voit dans la prochaine. 50. Transformer: Bienvenue à tous. La variable de transformation est celle que nous traitons dans cette vidéo Nous allons montrer comment en créer une et comment elle peut être utilisée lors de la rédaction de scripts de plans. Maintenant, une excellente utilisation de la variable de transformation consiste spécifier un point dans un niveau auquel vous souhaitez peut-être répondre. Désormais, la variable de transformation est une variable qui contient des données de position, de rotation et d'échelle. En fait, si vous regardez dans le panneau de droite, dans le panneau Détails de n'importe quel acteur que vous avez sélectionné dans votre niveau, vous pouvez voir des informations de transformation le concernant. En fait, si je sélectionne mon joueur principal ici, vous pouvez voir le lieu indiqué, sa rotation et l'échelle. Il s'agit donc essentiellement d'une variable composée de neuf valeurs flottantes, trois pour chaque position, la rotation et l'échelle 9 au total. Maintenant, pour gagner du temps, j'ai mis en place un tas de choses avant de tourner cette vidéo. Alors laissez-moi vous montrer ce que j'ai fait et je vais vous guider étape par étape. Pour commencer, mon acteur de départ se trouve juste là. Comme pour de nombreuses autres vidéos, j'ai ajouté une boîte de déclenchement à mon niveau. Et tant que vous avez votre joueur, votre place, le panel d'acteurs disponible, que vous pouvez intégrer sur place. Vous pouvez vous procurer une boîte de déclenchement juste là. Et puis j'ai aussi trois acteurs cibles, 12.3. Et vous pouvez trouver ces gars si vous recherchez dans le panneau des acteurs du lieu et que vous recherchez simplement une cible, vous trouverez un acteur cible. Ils sont essentiellement excellents pour spécifier un point dans l'espace. Ces icônes n' apparaîtront pas pendant que vous jouez. Toutefois, lorsque vous les sélectionnez, vous pouvez voir leur emplacement. Utilisez également leurs données de localisation ou de rotation. Et j'aime les utiliser à ces fins. Maintenant, pour passer à notre plan de niveaux, permettez-moi de vous montrer le script que j'ai créé ici. Examinons donc notre plan de niveau, commençant par définir des points d'apparition aléatoires. Donc, pendant toute cette vidéo, nous allons utiliser une variable transformée. Donc, ce que vous voulez faire ici, c'est dans le panneau Mon plan sous la section des variables, cliquez sur le bouton plus et créez une toute nouvelle variable. Il devrait être de la variété Transform, et je l'appelle point de réponse. Maintenant, si vous le compilez, vous constaterez que vos valeurs par défaut sont des zéros, des zéros, zéros et que l'échelle est 111, essentiellement les vraies valeurs par défaut. Maintenant, ce que nous allons faire ici, c'est qu'au début de la partie, partie, vous pouvez le trouver en cliquant avec le bouton droit de la souris et en recherchant Event Begin Play. Nous voulons définir notre point de réponse, c' est-à-dire le renseigner avec certaines données car nous ne voulons pas garder la position et la rotation, tout ce genre de choses entre zéro, zéro et zéro. Alors, qu'allons-nous redéfinir cette valeur ? Les variables, leur contenu peuvent être modifiés, ils peuvent être définis. Ce que j'ai fait ici, j'ai trouvé une référence aux trois points cibles. Maintenant, je nomme ces points cibles, cible 0,0, la cible 0,1 et le point cible. Et puis ce que vous pouvez apporter en référence à ces références , c'est revenir à votre niveau. Vous pouvez le sélectionner, puis un par un avec l'option sélectionnée, vous pouvez maintenir la touche R enfoncée et cliquer avec le bouton gauche de la souris, comme ceci. est plus amusant. Si je devais sélectionner ces trois points cibles là-bas, ils sont tous sélectionnés, puis appuyer sur RT et cliquer avec le bouton gauche de la souris, je pourrais immédiatement faire apparaître des références aux trois. Joli truc. J'aime beaucoup celui-ci. Ensuite, j' ai traîné sur chacun d'eux. Et j'ai dit, donne-moi que les acteurs se transforment. Je dis, donnez-moi, donnez-moi ces données ici pour chacun de ces points cibles donnés. Ensuite, je suis sortie d'ici en voiture et j'ai tapé make array. Donc, en gros, je crée une liste de différentes transformations, différentes données de transformation à partir de la cible 0.0, point cible et de la cible 0.2. J'ai donc une liste de trois transformations possibles. Ce que j'ai ensuite fait, c'est sortir de la drogue d'ici, j' tapé des informations et je voulais avoir une référence, ce type juste là. Et puis je fais glisser le curseur vers l'arrière et j'ai tapé un entier aléatoire dans la plage, je dis de me donner une de ces transformations dans cette liste et de la porter à 0-2. Vous devrez peut-être ajuster ces chiffres en fonction nombre de points cibles différents que vous avez connectés à cette matrice. Donc je dis de me donner 01 ou deux, c'est ma fourchette, de zéro à deux. Et je vais définir le résultat comme point de réponse. Cela va donc changer au début du jeu. Nous allons mettre à jour nos points de réponse à un emplacement donné. L'un de ces trois sera choisi au hasard. Maintenant, il s'agit simplement de définir ces points de réponse, cette variable de transformation, mais nous n'avons pas réellement obtenu et utilisé cette transformation de points de réponse. Donc, ci-dessous, j'ai un script supplémentaire. Et cela devrait être comme suit. Ce que j'ai fait ici, c'est en commençant par superposer cette boîte de déclenchement et encore une fois, avec cette boîte de déclenchement résélectionnée dans votre plan de niveau, vous pouvez cliquer avec le bouton droit sur un événement pour cela et faire chez un acteur commencent à se chevaucher. Nous pouvons traîner ici et ensuite faire un casting pour notre personnage à la troisième personne. Nous voulons faire quelque chose lorsque notre personnage à la troisième personne chevauche cette case de déclenchement. Et ce que nous faisons ici c'est faire plusieurs choses, et c'est là qu' intervient un nœud de séquence , où ils ont séquencé l'autre. Nous pouvons dire « fais ceci », puis « fais ceci ». Et nous pouvons en fait ajouter des éléments supplémentaires si nous cliquons sur ce bouton plus en bas. Mais c'est essentiellement une bonne façon de dire « faites ceci, puis ceci, puis tout ce qui vient après ». Donc, la première chose que nous voulons faire après que notre personnage à la troisième personne se chevauche, c'est détruire notre personnage de joueur actuel, notre personnage à la troisième personne actuel. Nous voulions le détruire. Ensuite, ce que nous allons faire immédiatement après, c'est créer un acteur issu de la classe. Maintenant, notez qu'il s'agit d'un acteur d' apparition provenant du nœud de classe. Cependant, une fois que vous aurez renseigné la classe avec notre ThirdPersonCharacter, le nom sera mis à jour ici, mais il s'agit d'un acteur de spawn issu du nœud de classe. Maintenant, ce que vous devez faire ici, c'est spécifier une transformation d'apparition. Et c'est là que nous utilisons notre variable de transformation que nous avons créée et que nous la remplissons, nous revenons ici lorsque nous commençons à jouer. Sans ça. Si vous compilez, cela générera une erreur et me laissera le faire. Je vais le décomposer en maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche de la souris. Donc, si je devais compiler, je dirais : « Hé, vous devez avoir une transformation de spawn branchée pour que nous puissions la brancher. Et puis ce que nous faisons à partir de là, c'est cliquer avec le bouton droit de la souris dans un espace vide dans get player controller. Et hors de ça, et ça doit être hors de ça. Si vous faites glisser la souris hors de cette zone parce que la cible est un contrôleur, vous pouvez rechercher ce nœud propriétaire. En le possédant, en le faisant glisser hors de là et en saisissant un nœud de possession, vous pouvez choisir un pion à posséder. Nous allons créer ici un nouveau personnage à la troisième personne. Ici, nous disons : « Hé, nous voulons apparaître ou nous voulons posséder ce personnage à la troisième personne avec notre manette de jeu ». Nous parlerons plus en détail des manettes de plus tard dans le cours. Allons-y et compilons ici. Et voici notre script pour détruire le joueur, puis répondre un autre, terminer par le posséder. Tout cela est donc encadré ici. Si vous voulez mettre la vidéo en pause ici et y jeter un coup d'œil, c'est parti. OK, allons-y et jouons à nouveau. Et voyons cela en action. Ça va être un peu petit ici. Mais j'espère que vous pourrez voir certains de ces fils se déclencher. Allons-y et jouons. Et nous avons déjà défini un point de réponse. Permettez-moi de commencer et de régler mon objet de débogage à mon niveau. Maintenant, une fois que j'aurai superposé cette boîte de déclenchement, vous allez nous voir détruire l'acteur. Et puis immédiatement après avoir créé un nouveau personnage à la troisième personne et l' avoir possédé. C'est parti. Et cela montre ce point au-delà du niveau. Et il est en train de choisir à nouveau le même, car ce n'est qu'au début de la partie que nous réglons notre variable de transformation sur notre variable de transformation l'un de ces trois points cibles. Cependant, si vous deviez faire quelque chose comme ça, sortez d'ici revenez ici. Chaque fois que je superpose cette case de déclenchement et que je la réinitialise, je choisis au hasard l'un de ces trois points cibles que je souhaite définir comme variable de réponse. Essayons donc ça. Tellement superposés. Je réapparais derrière. Redécouvrons-le à nouveau. Sur la gauche, cette fois en arrière. Encore une fois, il s'agit de le choisir au hasard. Il y a autre chose que je voudrais mettre en valeur ici. La variable de transformation permet d'extraire ces données uniques de localisation, de rotation et d'échelle. Désormais, cette variable de transformation contient toutes ces données. Mais si vous ne vouliez extraire qu'une partie de ces données, vous pourriez le faire. Et pour ce faire, vous pouvez faire glisser le pointeur hors de cette épingle et taper par points. Laisse-moi juste casser ce fil. suffit de cliquer dessus avec le bouton droit de la souris pour diviser l'épingle Struct. Désolée pour ça. Nous pouvons ici décomposer les points de réponse transformés en données de localisation, de rotation et d'échelle. Et comme vous pouvez le constater, une variable transformée se compose essentiellement de données vectorielles, de données rotateur et de données vectorielles. De même, à partir de cette transformation d'apparition ici dans notre acteur d'apparition à partir du nœud de classe, je pourrais cliquer dessus avec le bouton droit de la souris et diviser cette épingle entre les données de localisation, de rotation et d'échelle. Si vous n'aimez pas ce niveau de granularité, vous pouvez cliquer avec le bouton droit sur ces épingles et les recombiner en une seule transformation unique. C'est ce qu'on appelle une épingle recombinée et frappée. Alors j'ai juste pensé que j'allais le jeter là aussi. Alors voilà. Une transformation, une note variable pour quelque chose comme la spécification d'un point de réponse. Ça suffira pour offrir celui-ci, les gars, à la suivante. 51. Acteur (objet): Bienvenue. Dans cette vidéo, notre objectif est de découvrir ce qu'est un acteur, une variable, comment en créer un et comment utiliser lors de la rédaction de plans. Maintenant, divulgation complète, cette vidéo sera en grande partie une revue de notre vidéo de référence aux objets d'exécution de classe BP que nous avons réalisée plus tôt dans le cours. Maintenant, si je joue ici, cela me servira de petit rappel. Lorsque nous appuyons sur la touche fléchée, c'est ce que nous avons écrit dans cette vidéo. Lorsque nous appuyons sur la touche zéro, nous envoyions une trace de ligne dans le monde comme ça. Et lorsqu'il y a un objet caché en haut à gauche, le nom de l'objet sur lequel nous sommes en train de toucher est affiché. Et une fois que nous avons défini une variable à cet acteur, nous pouvons appuyer sur la touche 9 pour la faire disparaître. Ce faisant, pendant que nous étions en train de le faire, nous définissons une variable acteur chaque fois que notre trace de ligne détectait un succès. Revenons maintenant à notre BP ThirdPersonCharacter situé dans notre dossier Blueprints à la troisième personne et voyons les scripts que nous y avons assemblés. Donc, ce que nous faisons ici, c'est qu'en appuyant sur une touche de saisie, j'utilisais la touche fléchée. Nous envoyions une trace linéaire commençant à emplacement de notre acteur et se terminant au point de terminaison de notre trace de ligne, variable que nous avions créée dans la section des composants ici. C'est dans notre fenêtre d'affichage juste ici. Il s'agit d'un composant d'erreur qui est également répertorié en tant que variable sous le point de terminaison du traçage linéaire de votre composant. C'est ainsi que nous avons appelé ce composant en forme de flèche. Vous commencez donc une trace en ligne chez nos acteurs. Nous nous arrêtons à cette flèche. Et nous envoyons ça, cette ligne tracée dans le monde entier le long du canal Visibility. Nous avons également défini la durée de ce type Draw Debug sur quatre. Nous pouvons donc voir la trace de cette ligne. Et si nous détectons que nous touchons quelque chose, si cela a effectivement touché quelque chose, cette valeur de retour s'avère vraie. Nous allons jouer un son. Et puis nous allons également détailler les succès ici. C'est ce que tout cela fait. Nous sommes sortis d'ici et nous sommes en train de réussir. Et nous étions en train de découvrir ce que nous avions touché. Et nous définissons cela dans un type de variable acteur. Maintenant, nous pouvons le créer en cliquant avec le bouton droit de la ici et en choisissant promeut deux variables dans ce menu contextuel. Ou la façon dont vous pouvez créer une variable acteur est terminée dans la section variable, vous pouvez cliquer sur le bouton plus et simplement taper actor var. Et puis voilà, il s'agit de le régler immédiatement sur acteur parce que c'est la dernière variable que j'ai dite. Mais tu pourrais faire une recherche d'acteur. Et dans les types d'objets, vous souhaiterez choisir la référence de l'objet acteur. Parlons maintenant de ce que sont les références d'objets valides. Eh bien, par exemple, les objets peuvent inclure des lumières, des mailles statiques, des caméras, des signaux sonores ou d'autres acteurs de plan. Ici, nous détectons simplement ce que nous touchons et le définissons comme acteur. Peu importe qu'il s'agisse d'une chaise en maille statique ou autre. Quel que soit ce maillage, cela n'a pas vraiment d'importance. Quelle que soit la collision avec laquelle notre tracé linéaire entre en collision. Il va définir cela comme notre variable d'acteur. Ensuite, nous imprimons simplement le nom de celui-ci à l'écran. Maintenant, si nous stockions cela dans variable acteur, c'est parce qu' une fois que notre trace de ligne touche quelque chose et que cela nous fixe, nous voulons qu'il soit capable de le détruire. Et c'est ce que faisait ce script ici. En appuyant sur la touche 9, nous avons découvert quel est le contenu de cette variable Hit Actor, de cette variable d'acteur ? Si c'est valide, cela signifie qu'il y a quelque chose dedans. Si c'est vrai, nous voulons le détruire. Le contenu de ce Hit Actor pourrait donc changer. Permettez-moi simplement de vous montrer que je clique sur Play ici. Et encore une fois, je vais appuyer sur le bouton, laissez-moi simplement définir mon objet de débogage. Voici mon B, mon personnage à la troisième personne. Révélez mon personnage une fois de plus. Je vais donc envoyer cette trace de ligne dans le monde en appuyant sur la touche V zéro. Et puis en haut à gauche, vous verrez le nom de l'objet sur lequel je tape. Clé zéro. Je ne suis pas assez proche. Je dois me rapprocher un peu. On y va. Stat, preview, mesh, peu importe ce que c'est. Donc, si je choisis la Nike, disparaîtra évidemment. Mais si je disais de rejouer ce scénario et de faire la même chose, je commencerais par appuyer sur la touche zéro pour le régler. Cependant, je peux réinitialiser le contenu rendant sur cette chaise en appuyant sur la touche zéro. Alors maintenant, si c'est ce qui est considéré comme mon acteur à succès ici. Donc maintenant, si j'appuie sur la Nike, cela ne détruira pas ça. Ça va détruire ma chaise parce que c' est le dernier set de Hit Actor. Voici la Nike, Boom By Chair. Maintenant, juste pour montrer que cette variable acteur n'a pas besoin d'être un maillage statique. Cela pourrait être quelque chose comme une lumière. Je vais définir cela à partir d'un autre plan. Et aussi juste pour montrer que vous pouvez le définir à partir d' un autre Blueprint. Je vais donc revenir à mon niveau ici, et je vais placer une lumière dans mon niveau. Vous pourriez placer une fois à votre place, un panel d'acteurs. C'est ici que vous pouvez trouver les lumières. Ou bien, tu peux venir ici et les lumières fleurissent. Vous pouvez ajouter une lumière de cette façon, une lumière ponctuelle fera l'affaire. Il suffit de glisser-déposer l'un d'entre eux dans notre niveau. Je vais juste faire cette somme de couleurs nocives comme le rose. Ensuite, ce que je vais faire, c'est accéder à mon plan de niveau, ouvrir le plan de niveau. Et nous dirons cela lorsque j' appuierai sur une touche à l'intérieur d'ici, et nous verrons quels types de touches sont disponibles ici. Je n'ai utilisé que la touche la plus proche, alors utilisons les deux touches, non ? Je suis dans mon graphique d'événements juste ici, nous allons taper les deux touches avec le bouton droit de la souris. Allons faire une recherche par clavier. C'est ainsi que vous pouvez trouver très facilement ces événements de clavier. Appuyez sur les deux touches. Et ce faisant, nous allons cliquer avec le bouton droit sur le bouton droit pour obtenir le personnage du joueur. Ensuite, si nous sortons de là, nous pouvons passer à notre personnage à la troisième personne. Encore une fois. Une fois que vous avez accès à votre personnage à la troisième personne. Et oui, je me rends compte que j'ai une référence de personnage stockée ici, sur la gauche. Je pourrais utiliser ça aussi. Mais une fois que je l'ai, je peux sortir d'ici et trouver ces variables Hit Actor tant qu'elles ont été créées et que je les ai compilées. Encore une fois, nous essayons d' extraire cet acteur ou une variable et de le définir à partir de notre plan de niveaux. Sortons d'ici, saisissons Hits Actor. Nous allons installer le Hit Actor. Et que voulons-nous faire pour The Hit Actor ? Eh bien, si je maintiens la touche R enfoncée et que je clique avec le bouton gauche de la souris, je peux définir ce point comme mon point lumineux. Comprenons ce qui se passe ici. Permettez-moi de le compiler rapidement, assurer que les scripts sont prêts à être utilisés. Donc, à partir du plan de niveau, je passe au plan de mon personnage chaque fois que j'appuie sur les deux touches, et je vais définir la variable acteur à l'intérieur de mon personnage à la troisième personne pour qu'elle soit le point lumière. Et puis, dans mon plan de personnage à la troisième personne, je vais appuyer sur la touche 9 afin détruire le contenu de cette variable Hit Actor, laquelle elle serait remplie dans ce cas avec laquelle elle serait remplie dans ce cas ce point lumineux. Alors allons-y et jouons-nous une pièce. Je n'ai pas vraiment de bons moyens de mettre en valeur les deux, en fait, je peux les montrer tous les deux. Peu importe. Je vais jouer ici. Nous commençons donc par notre carte de test de niveau ici. Je vais configurer mon option de débogage pour qu'elle soit la carte de test. OK, alors découvrons la lumière. Vous ne pouvez pas voir l'icône lumineuse, mais vous pouvez voir cette lumière sur le sol pour savoir qu'elle est là. Je vais appuyer sur les deux touches. Cela va donc renseigner cette variable d' acteur avec la lumière ponctuelle. Très bien, c'est maintenant réglé. Passons maintenant à mon personnage à la troisième personne. Et encore une fois, je dois rouvrir cette fenêtre. Oups, tu vois, on y va. Alors maintenant, quand j'appuie sur la touche 9, regardez cette lumière disparaître, et voilà. Dans cette vidéo, vous avez donc appris à créer une variable d'acteur et définir et à la manipuler d'une manière ou d'une autre. Et nous avons même fait de la communication inter-Blueprint . À quoi pourrait servir quelque chose comme ça ? Eh bien, imaginez un système de fabrication dans un jeu où vous devrez peut-être interagir avec des objets récoltables dans votre monde. Et votre objet, votre objet récoltable peut être ce que votre personnage se rapproche le plus d'une fleur, d' un morceau de bois, ce genre d'objet votre personnage se rapproche le plus d'une fleur, d' un morceau de bois, peut toujours être désigné comme acteur récoltable avec laquelle vous essayez d'interagir. Très bien les gars, ça suffira pour cette vidéo, on se revoit dans la prochaine. 52. Choses à savoir variables (partie #1): Très bien, bon retour. Dans cette vidéo, notre objectif est d'apprendre certaines choses importantes à savoir lorsque vous travaillez avec des variables dans Unreal. Maintenant, ce ne sont pas vraiment des trucs et astuces en soi. s'agit plutôt d'une explication de certains concepts clés des options de variables . Vous devez savoir comment initialiser une variable, comment définir une variable comme publique ou privée, et même cela signifie. Et comment exposer la variable à des cinématiques ou lorsqu'elle est générée. Tout d'abord, nous allons parler de l' initialisation des variables. Et pour le démontrer, je vais travailler sur les plans de mes personnages à la troisième personne. Si tu as oublié où se trouve ce type, j' y accède dans notre dossier Blueprints à la troisième personne, où se trouve ton BP, personnage à la troisième personne. Alors, qu'est-ce que cela signifie d' initialiser une variable ? Eh bien, cela signifie lui donner une valeur initiale d'une manière ou d'une autre. Maintenant, nous donnons souvent une valeur par défaut à une variable lorsque nous créons la variable, mais pas toujours, nous pouvons initialiser et vider la variable lorsqu' un événement se produit, cela peut être un événement de chevauchement, il peut s'agir d'un événement d'entrée, quelque chose de cette nature. Considérez cet exemple que j'ai configuré avant cette vidéo dans mon ThirdPersonCharacter. Tout d'abord, j'ai créé dans le panneau My Blueprint une variable appelée warp to locale. Et elle est du type variable vectorielle. Maintenant, ce que je fais ici, c'est que j'ai joué à Event Begin. N'oubliez pas que vous ne pouvez commencer qu'un seul événement sur un graphique ici. ce que j'ai ajouté. Et ce que je fais, c'est que dès que nous commençons à jouer, ce personnage apparaît dans mon niveau, dans départ de mon joueur. Quand il apparaît, nous obtenons simplement la localisation de nos acteurs. Dans ce cas, notre personnage à la troisième personne. Et nous définissons cet emplacement comme coordonnées à l'intérieur de cette variable vectorielle. Donc, par défaut ici, mes valeurs pour cette variable de distorsion vers les paramètres régionaux sont 00,0. Cependant, une fois que je commence à jouer, le contenu de celui-ci est initialisé. Ils sont échangés vers l'emplacement de mon acteur où mon personnage à la troisième personne. Ensuite, j' ajoute simplement un peu de script pour utiliser cette variable maintenant initialisée, cette variable renseignée. Une fois que j'ai appuyé sur la touche numérique de mon clavier, je vais définir la position de mon acteur. C'est ce plan, c'est l'acteur cible lui-même à cet endroit donné, la distorsion par rapport à la localisation locale. Alors revoyez cela sur ma carte ici. J'ai placé cette chaise juste à côté de l'endroit où je suis en train de pondre. Parce que n'oubliez pas que nous sommes un personnage apparu juste à cet endroit. Au début d'une pièce où notre personnage répond, nous allons définir la position de notre acteur comme l'endroit où nous voulons le déplacer vers le nouvel acteur ou, eh bien, notre personnage à la troisième personne se trouve dans une position précise. Donc, essentiellement, qu'est-ce qui est en jeu ici. Maintenant, cette variable a déjà été initialisée avant même que je définisse mon objet de débogage ici, donc cela s'est déjà produit. Et maintenant, une fois que je l'aurai remis en place, vous verrez, je vais m'éloigner de ce point. Mais cette distorsion des paramètres régionaux a été définie à l'endroit où je suis apparu. Ainsi, chaque fois que j' appuie sur la touche numérique, la touche plus de mon clavier, le symbole plus. Il va revenir directement à cet endroit parce que c'est l'emplacement d'initialisation. bouton Plus, peu importe. Bouton Plus C'est une habitude qui consiste à initialiser une variable pour lui attribuer une valeur initiale. Ensuite, parlons des variables publiques par rapport aux variables privées et de ce que cela signifie. Et pour cet exemple, je vais utiliser mon exemple de micro BP. L'un d'entre eux place mon niveau, puis j'ai double-cliqué dessus pour l' ouvrir, ici. Donc, si vous vous souvenez d'une vidéo précédente, nous avons créé une santé pour ajouter une variable float. Et sur le côté droit, ici, où nous avons ce globe oculaire rapproché pour certaines de ces autres variables à ajouter à la santé, il suffit de cliquer dessus pour afficher l'icône du globe oculaire. Et ce faisant, ce champ modifiable de cette instance a cette case à cocher. Cette case à cocher équivaut donc à un globe oculaire non exposé ici. Donc, peu importe si je clique dessus pour fermer. La case à cocher modifiable de cette instance va être définie sur False. Et si je clique dessus, cela va être activé. Peu importe laquelle de ces options vous choisissez, vous changez la même propriété. Maintenant, avec ça allumé. Et vous pouvez voir dans l'info-bulle ici qu'il est indiqué qu'il s'agit d'une variable modifiable publiquement. Qu'est-ce que cela signifie ? Donc, une fois que vous avez défini cela, vous le compilez, vous revenez à votre éditeur de niveaux. Quoi qu'il en soit, c'est-à-dire pour n'importe quelle copie de celui-ci, ce plan a ajouté à votre niveau. Cette variable que vous avez définie pour être modifiable publiquement est désormais accessible une fois que vous avez sélectionné cet objet dans votre panneau de détails, vérifiez-le. Cette variable d'ajout saine peut désormais être modifiée pour chaque instance de ce plan. Si je devais maintenir la touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser le pointeur, j'ai maintenant une deuxième instance de ce plan, le niveau MI. Donc, pour cette instance du plan, je pourrais modifier mon état de santé pour le porter à 0,5. En ce qui concerne cette instance du plan directeur, je pourrais fixer ce chiffre à 20  %, ce taux de guérison à 50 %. C'est ainsi que nous avons eu cette configuration. Il s'agit donc d'une variable publique. Il est égal au champ modifiable de cette instance ici. Maintenant, un peu plus loin de cette instance, le champ modifiable est cette option privée. Si nous cochons cette case pour une variable donnée, nous avons fait en sorte que cette variable ne puisse pas être modifiée à partir de plans externes. Donc, ce que je vais faire ici, c'est compiler ça. Je vais enregistrer, puis je vais accéder à mon plan de niveau ici. Remarquez que j'ai mon exemple de pick-up BP, l'un d'entre eux est sélectionné, c'est bon. L'un ou l'autre fera l'affaire. J'ai sélectionné le numéro deux ici, mais l'un ou l'autre fera l'affaire. Je vais passer à mon plan de niveau. Je vais maintenir la touche R enfoncée et cliquer avec le bouton gauche de la souris pour faire référence à cet exemple, puis le récupérer. Et maintenant, je vais faire une recherche pour cette variable appelée Health à ajouter. Et on y va. Je vais sortir de là et taper santé pour ajouter. Et vous voyez, je ne le trouve même pas ici. Elle n'apparaît pas car elle est définie sur privée, ce qui signifie que je ne peux pas modifier ou accéder à cette variable à partir d'un plan externe tel que le Level Blueprint. Cependant, si je devais revenir à mon exemple de pick-up BP ici, je vais décocher cette case. Je vais compiler, enregistrer et revenir à mon plan de niveau. Je vais sortir d'ici et taper santé pour l' ajouter et là, je peux l'obtenir ou le définir. Ce qui est étrange, c' est que vous pouvez avoir une variable définie pour être publique. C'est-à-dire que vous pouvez accéder et modifier depuis l'éditeur. Vous pouvez également le définir comme privé. Ce n'est ni l'un ni l'autre. Vous pouvez le régler sur les deux. Cela embrouille beaucoup de monde, mais il peut être défini pour être public, ce qui signifie que vous pouvez le modifier depuis l'éditeur. Et il peut également être défini sur Privé, ce qui signifie qu'une fois qu'il est défini sur Privé, vous avez essayé faire sortir de l'enregistrement enregistré à partir d'un autre plan. Vous ne pouvez pas trouver cette variable ni y accéder. Pourquoi voudriez-vous faire ça ? Eh bien, cela pourrait être une solution de sécurité intégrée pour vous assurer ne pas modifier quelque chose que vous n'aviez pas l'intention de modifier. Ensuite, explorons cette option exposée lors de l' apparition que vous trouvez sur les variables. Qu'est-ce que ça fait ? Pour ça ? Je vais utiliser notre porte rotative BP. Nous avons créé ce plan de classe d'acteurs lorsque nous avons exploré le type de variable rotateur. Et si vous avez oublié où c'est, il un dossier BPS dans le dossier BPS de nos acteurs. Nous avons tout déplacé. Nous avons transféré tous ces plans d' après-cours de notre dossier de présentation vers le dossier de notre acteur BP. À l'intérieur d'ici, allez-y et sélectionnez variable de votre rotateur de fin de rotation. Et dans le panneau Détails, nous voulons définir ce paramètre pour qu'il soit affiché lors de l'apparition. Maintenant, quand tu compileras ça, ça va te crier dessus. Et quand ce sera le cas, on dira « hé, c'est génial ». Vous l'avez marqué comme exposé lors de l'apparition. Mais pour cela, nous devons également le marquer comme étant modifiable par instance. Alors vas-y et fais-le également. Les deux doivent être cochés pour être affichés . Ils sont exposés lors de la fonction d' apparition ici. Donc, une fois que les deux sont vérifiés, compilez-le à nouveau. Ensuite, ce que nous allons faire, c'est passer à notre plan de niveau. Donc, si vous ne l' avez pas déjà ouvert, venez ici, ouvrez Level Blueprint. Et nous allons mettre en place un script simple. Je vais cliquer avec le bouton droit de la souris dans un espace vide. N'importe quel événement d'entrée fera l'affaire. Je vais juste ajouter F h parce que cela semble être une bonne contribution de ma part. Nous allons nous éloigner d'ici et faire apparaître un acteur de la classe. Maintenant, n'oubliez pas qu'avec ces nœuds, vous devez leur fournir une transformation d' apparition. Je vais donc juste saisir la transformation. Reprenons la transformation de nos joueurs, commençons à agir ici, j' ai sélectionné celui que j'ai sélectionné dans mon niveau. Donc, avec cette option sélectionnée , revenez à mon plan de niveau en maintenant le clic gauche enfoncé pour obtenir une référence à celui-ci. Sorti de cette transformation encore en acteur. Nous allons le brancher. Et que voulons-nous voir apparaître à cet endroit ? Eh bien, nous allons faire apparaître l' une de nos Doris qui fait tourner la pression artérielle. Je vais faire défiler la page vers le bas. Où se trouve cette porte rotative ? C' est la porte rotative BP. Maintenant, dès que je l'ai fait, j'ai défini cette classe comme étant la classe dans laquelle je voulais apparaître. Vérifie ça. Ma variable de fin de rotation a été exposée lors de cette fonction d' apparition. Nous pouvons donc définir ici une rotation autre que la valeur par défaut. Maintenant, j'avais fait en sorte que la porte s'ouvre à 90 degrés. Cela signifie qu'il s'ouvrirait. Normalement, une porte s'ouvre, mais je peux l'ouvrir encore plus ici. Alors allons-y et essayons ça. Et je vais régler ce chiffre à 135. Maintenant, si je devais continuer et jouer à ça, je vais cliquer sur Jouer ici. Et je ne vais même pas définir mon option de débogage ici pour montrer que ce script démarre, mais croyez-le bien, je vais quitter cette étoile de joueur ici. Donc, en retirant cela, je vais appuyer sur F8. Boum, cette liaison Doris, même si elle est un peu plus haute que si elle est parfaitement posée au sol, c'est parfaitement normal qu'elle flotte dans les airs. Je vais superposer ce volume de déclenchement. N'oubliez pas qu'il y a un volume de déclenchement qui détecte lorsque mes personnages se chevauchent et que lorsque je le superpose, il s'ouvre à plus de 90 degrés, il s'ouvre à 135 degrés. Alors voilà. Exposez lors de l'apparition, vous devez cocher cette case et cocher l'instance modifiable pour qu'elle apparaisse. Quand tu fais apparaître un acteur de la classe. 53. Choses à savoir variables (partie #2): Enfin, je voulais montrer cette case à cocher exposée à la cinématique que l'on trouve sur certaines variables, pas sur toutes. Et je vous expliquerai lesquels vous pouvez et ne pas les trouver plus tard dans cette vidéo. Donc, pour cet exemple, je suis de nouveau à l'intérieur de mon pick-up BP. Dans le panneau Mon plan, j'ai créé une nouvelle variable vectorielle. Je l'ai appelé échelle. Et après avoir compilé, j'ai fixé mon échelle à 11,1. Allons-y et cochons également cette case Exposé aux cinématiques. Alors allez-y et compilez. Maintenant, pour montrer ce que nous voulons montrer, vous exposez cette variable à une cinématique. Nous devons ajouter une cinématique à notre niveau. Pour ne pas faire ça, nous allons revenir à notre niveau juste en haut de la barre d'outils, vous avez cette petite icône de presse-papiers. Allez-y, cliquez dessus, et nous voulons ajouter une séquence de niveaux qui soit une cinématique. Allons-y et faisons-le. Et une fois que nous aurons cliqué dessus, il sera demandé où souhaiterions-nous enregistrer cet actif ? Mettons-le dans un nouveau dossier. J'ai sélectionné un script ici. Je vais cliquer avec le bouton droit de la souris. Je vais créer un nouveau dossier, appelez-le séquence. En fait, je vais appeler ça des cinématiques, comme ça. Et je vais le laisser dans une nouvelle séquence de niveaux, je m'appellerai Shore. Et une fois que j'ai fait cela, je clique sur Enregistrer. J'ai maintenant ajouté un nouvel acteur à mon niveau. C'est ce qu'on appelle une nouvelle séquence de niveaux. Il est du type d'acteur de séquences de niveaux. Et à côté de mon navigateur de contenu, j'ai également exposé une nouvelle fenêtre appelée Sequencer. Maintenant, ce que cette fenêtre entière vous permet de faire, c'est de modifier quelque chose au fil du temps pour créer une sorte de cinématique. Pour ce faire, nous devons donc ajouter une piste. Donc, si je clique sur le bouton du morceau en bas, je veux ajouter un acteur à mon séquenceur. Ici, dans le petit menu fleuri, je peux choisir un acteur de mon niveau. Remarquez que tous les acteurs ici existent également dans mon plan et, tout en haut à droite, je voudrais ajouter mon exemple de micro BP. Je l'ai réduit à un seul dans mon niveau actuellement. Je vais donc ajouter cela. Et maintenant, je peux cliquer sur ce bouton Plus ici pour approfondir l'intérieur de mon exemple de pick-up BP et regarder en bas. J'ai une propriété d'échelle qui a maintenant été exposée à une cinématique. Ce séquenceur est une cinématique. Maintenant, sur cette petite mouche, je vois qu'il s'agit d'un vecteur et je peux le modifier. Je peux choisir x, y ou z. Peu importe lequel vous choisissez. Je vais choisir x ici. Il va maintenant exposer variable à cette chronologie, à cette cinématique. Et si je clique sur cette petite liste déroulante, vous pouvez voir que je peux maintenant modifier le x, y ou z de cette variable vectorielle au fil du temps. Maintenant, cette échelle s' affiche actuellement en images par seconde. C'est ce que signifie ce 30 FPS. Nous pouvons le modifier soit par cadres, soit ce que j'aime faire, c'est cliquer dessus. Et j'aime bien changer cette heure à la place. Donc Showtime en secondes, comme ça. Et maintenant, pour moi, c'est un peu plus logique. Je peux changer les choses de 0 s actuellement à 5 s. Je peux aussi étendre cela, mais nous n'allons pas en créer un. C'est assez long. D'accord, alors qu'est-ce que je veux faire ici ? Je souhaite modifier l'une de ces propriétés d' échelle en 5 s. Je vais donc modifier uniquement l'échelle z. Je pourrais tous les modifier, mais je vais ajouter une image-clé à 0.0 s ici en cliquant sur ce bouton plus. Nous disons donc que je veux que la valeur d'échelle de cette variable vectorielle soit un dans le z à 0 s. Ensuite, je vais déplacer le curseur de ma chronologie jusqu'à 5 s. Ensuite, je vais cliquer à nouveau sur le bouton plus. Mais cette fois, je vais dire qu'à ce stade de la chronologie, j'ai ajouté une autre image-clé. C'est ce que signifie ce point rouge. Je vais dire qu'à ce stade, je veux que l'échelle Z soit de cinq, donc nous allons de 1 à 5. Et si je déplace ce curseur, remarque que la valeur de l'échelle Z change avec le temps. Tout cela est très bien sauf que nous n'utilisons pas vraiment cette variable dans notre exemple de capteur de pression artérielle, nous l'avons exposée, nous avons exposé variable vectorielle d' échelle à notre cinématique ici. Et nous allons l'ajuster par rapport à cette cinématique ici. Mais nous n'avons pas encore de script qui puisse réellement en tirer parti. Alors faisons-le ensuite. Pour cela, nous allons ajouter une boîte de déclenchement à notre niveau. Et je vais le faire assez rapidement ici. Je vais l' augmenter en taille, je vais à nouveau modifier l'étendue de la boîte à 200, 200 dans le panneau Détails. Je vais à nouveau changer l'épaisseur de la ligne à dix , comme ça. Ce séquenceur de niveaux, acteur , acteur juste là, peu importe où vous le placez dans le niveau, d'ailleurs. Ensuite, je vais faire ça pour que nous puissions le voir. L'acteur qui rend le jeu caché à faux. Et puis, une fois cet acteur sélectionné, je vais passer à mon plan de niveau, en cliquant avec le bouton droit de la souris. Je ferai quelque chose quand nous commencerons à les superposer. La première chose que nous allons faire, c'est de faire sortir le casting d' ici à une troisième personne. Nous allons faire quelque chose avec nos chevauchements de personnages à la troisième personne à. Ce que nous voulons faire, c'est trouver une référence à notre séquence de niveaux ici. Alors allez-y et cliquez à nouveau dessus dans votre plan de niveau. En maintenant la touche R enfoncée, cliquez avec le bouton gauche de la souris pour y faire référence. Ensuite, je vais sortir de là et taper le jeu de mots. Nous voulons jouer avec notre lecteur de séquences. C'est l'option que nous recherchons. Nous disons essentiellement : « Hé, joue cette cinématique, donc elle devrait être branchée comme ça ». Ça diffusera la cinématique. Cela modifiera donc réellement cette propriété. Mais cela va modifier cette propriété d' échelle en 5 s. Mais nous ne sommes pas encore en train de créer de script montrant réellement cette croissance. Donc, pour que cela se produise, il s'agit d'une configuration très alambiquée. Je vais cliquer avec le bouton droit de la souris, cocher un événement. Chaque cadre. ce que nous voulons. Sélectionnez votre exemple, reprenez-le dans le niveau. en revenir à notre plan de niveau, nous allons maintenir le clic gauche sur l'arché enfoncé pour y faire référence. Nous allons sortir d'ici. Nous allons fixer une échelle mondiale trois D pour la collision de la sphère. Parce que notre sphère entre en collision, tout y est lié. Et déplace-le comme ça. Ensuite, nous allons également sortir de notre exemple de capteur et trouver cette variable d'échelle. Je dois faire défiler l'écran vers le bas pour obtenir notre échelle. Comme ça. Notez donc que notre échelle est par défaut de 11,1. Donc, à chaque image, ça va être lu. Cela va provoquer la collision de notre sphère ici, qui est l'élément le plus fondamental de tout ce qui est attaché à ce 2111. Cependant, une fois que j'aurai superposé cette case de déclenchement, nous indiquerons à cette séquence ou à cette partie qui servira chronologie pour modifier la valeur de cette variable, 1 à 5 en 5 s. de chronologie pour modifier la valeur de cette variable, 1 à 5 en 5 s. est notre cinématique. Donc tu peux mettre la vidéo en pause ici, regarder ça si tu veux jouer à la maison, je vais la compiler. Allons-y, jouons-y. Déplacez-le un peu sur le côté. Vous pouvez donc voir notre exemple de pick-up à l'arrière. L'échelle reste constante. Permettez-moi de placer mon objet de débogage juste là pour que vous puissiez voir Event Tick se déclencher à chaque image. Mets-le à nouveau sur ma fenêtre de jeu. Donc, une fois que je me suis superposé, c'est plus de 5 s, vous devriez le voir augmenter en taille. C'est parti. C'est plutôt mignon. Et c'est effectivement ce qui s'est produit. C'est donc une très longue façon de montrer ce que fait exactement cette option exposée au cinéma. Donc, juste pour rétablir cette case à cocher exposée à la cinématique, vous pouvez la trouver sur des variables booléennes, entières, flottantes, chaînes, transformations vectorielles, et variables d'acteur. Vous ne le trouverez pas pour les noms, textes ou les variables rotateurs. Très bien les gars, ça suffira pour proposer cette vidéo, on se revoit dans la prochaine. 54. Conseils et astuces variables: Bienvenue. Dans cette vidéo, nous allons passer revue les conseils et astuces essentiels que vous devez absolument connaître pour travailler avec les variables de la manière la plus efficace possible. Nous allons parler des différentes manières d'obtenir et de définir des variables. Nous allons voir comment promouvoir une variable. Nous allons parler de la façon de catégoriser les variables et de leur donner des infobulles. Enfin, nous allons parler de la façon de modifier les types de variables. Commençons par notre plan de personnage à la troisième personne BP pour faciliter cette discussion. Donc, si vous ne l'avez pas ouvert, vous pouvez le trouver dans des plans à la troisième personne. C'est là que vous pouvez trouver le personnage à la troisième personne. Et une fois à l'intérieur, explorons comment obtenir et définir des variables de trois manières différentes dont nous allons parler ici. Tout d'abord, explorons les trois manières différentes d' obtenir une variable, c'est-à-dire de découvrir quel contenu existe à l'intérieur de cette variable. Et pour cela, nous allons nous débarrasser de cette gamme GET de santé ici parce que nous allons l'explorer. La première méthode consiste donc à cliquer avec le bouton gauche de la souris et à faire glisser. Et puis, dans notre petite boîte de dialogue ici, lorsque nous relâchons notre clic gauche, nous pourrions obtenir la santé. C'est le moyen numéro un. Deuxième méthode, je peux maintenir la touche Ctrl enfoncée, cliquer avec le bouton gauche de la souris, faire glisser, relâcher, cliquer de la souris, pour obtenir une réponse. Et la troisième méthode, moins courante mais très efficace, consiste simplement à cliquer avec le bouton gauche de la souris et à la faire glisser sur une épingle de saisie pour un nœud donné. Donc, une fois que nous l'avons glissée et déposée dessus, le contenu de cette variable sera très pratique. Très bien, parlons de la définition d'une variable. Donc, juste ici, nous avons un centre en place. Je vais le laisser là pour le moment. Mais ce que nous allons faire ici, c'est cliquer avec le bouton gauche de la souris alors que la première consiste à choisir Définir la santé dans ce menu. Si vous cliquez avec le bouton gauche, faites glisser, relâchez, cliquez avec le bouton gauche de la souris. La deuxième méthode consiste à maintenir la touche Alt enfoncée. Cliquez avec le bouton gauche, faites glisser, relâchez, cliquez avec le bouton gauche de la souris. C'est la deuxième façon d'en trouver le centre. Et la troisième façon de définir le contenu d'une variable. Je vais donc juste supprimer ce type pour le moment, en faisant simplement glisser et déposer sur la broche de sortie d'un nœud donné, et cela fera également apparaître un centre. Ainsi, le réglage à nouveau vous permet de modifier le contenu de cette variable. Ensuite, parlons de la promotion vers une variable dont vous savez déjà que vous pouvez créer des variables en cliquant ici, ajoutant une variable, ou en passant sous cette variable et en cliquant sur le bouton plus. Cependant, la promotion d'une variable est la troisième façon de créer une variable et elle est très pratique pour plusieurs raisons. Premièrement, il peut vous donner le type de variable dont vous avez besoin dès le départ. Donc, en utilisant ce nœud comme exemple ici. Supposons donc que nous ayons notre variable de santé et que nous souhaitions y ajouter un certain montant. Eh bien, nous pouvons simplement cliquer avec le bouton droit sur cette épingle et cela nous donnera le type de variable dont nous avons déjà besoin, dans ce cas, un flottant pour qu'il puisse cliquer avec le bouton droit, promouvoir et je clique, je peux appelez cela santé pour ajouter. Le deuxième avantage de la promotion vers une variable est que si nous la compilons, nous pouvons voir qu'elle saisit automatiquement la valeur qui se trouvait à l'intérieur de ce nœud. Si vous y avez déjà placé une valeur et que vous l' avez promue en variable, puis que vous la compilez, la variable sera automatiquement renseignée avec la valeur qu' elle contenait . C'est donc très pratique. Il convient de souligner ici que vous pouvez promouvoir une variable sur n'importe quel nœud, non seulement du côté entrée, mais également du côté sortie. Donc, côté sortie de ce centre de santé, je pourrais cliquer dessus avec le bouton droit de la souris, promouvoir en variable, et l'appeler à nouveau variable ma santé. Je ne sais pas pourquoi vous voudriez définir votre ou définir une nouvelle variable par la suite, mais peut-être voudriez-vous faire quelque chose comme ça. Donc, promouvoir une variable est un moyen très pratique obtenir le type de variable que vous recherchez réellement, ainsi que de le définir avec le contenu qui y était déjà défini. Maintenant, ce que j'aime vraiment dans la promotion vers une variable, permettez-moi de passer à mon exemple de capteur BP, c'est que nous avons parlé de certains types de variables très courants ici, mais il en existe également d'autres plus obscurs également. Par exemple, j'ai ce nœud 2D Play Sound, voici un exemple de micro IBP. Et j'ai ce que l' on appelle les paramètres de concurrence. Vous vous demandez peut-être, je ne sais même pas ce que c'est, mais je voudrais m'y attarder et voir ce que je peux changer. Eh bien, vous pouvez cliquer avec le bouton droit sur cette épingle. Vous pouvez le promouvoir en tant que variable, le compiler. Ensuite, dans le panneau Détails, vous pouvez voir les éléments que vous pouvez définir à propos de cette variable. Et il se peut que vous ne puissiez rien voir, que cela n'ait aucun sens pour vous. Mais c'est un excellent moyen de savoir quels ces différents types de broches, quelles sont ces différentes variables du côté entrée d'un nœud ou du côté sortie de la broche. C'est un excellent moyen d'apprendre ces choses. Très bien, ensuite, parlons de la création catégories dans lesquelles vos variables pourront être intégrées. Maintenant, au fur et à mesure que vos scripts se compliquent, il se peut que vous ayez de plus en plus de variables sur le côté gauche et que vous souhaitiez un moyen de les classer. Eh bien, vous pouvez créer des catégories dans lesquelles ils pourront vivre. Laissez-moi simplement sélectionner par état de santé pour ajouter ici. Et dans le panneau Détails, nous avons une catégorie. Actuellement, toutes ces catégories se trouvent dans ma catégorie par défaut, du son capté aux paramètres de concurrence. Je pourrais en créer un en sélectionnant simplement ce champ de catégorie ici. Au-delà de cela, je vais appeler cela ma catégorie de santé. Très bien, maintenant que vous voyez dans le panneau Mon plan, j'ai créé une catégorie de santé et mon état de santé à ajouter existe à l'intérieur de cette catégorie. Je peux maintenant ajouter d'autres variables à cette catégorie. Je pourrais dire : « Hey, scale », je veux que tu vives dans cette catégorie également en la sélectionnant simplement. Et maintenant, si je clique sur cette liste déroulante, je vais pouvoir trouver la santé dans cette liste déroulante. Vous pouvez donc créer une nouvelle catégorie en la remplaçant simplement et en saisissant un nouveau nom de catégorie. Cependant, une fois que vous avez créé une catégorie, vous pouvez choisir de définir une variable à l'intérieur de cette catégorie en choisissant cette option ici. Ou je peux simplement faire glisser une variable vers le haut dans cette catégorie. Donc, cinq, c'est essayer de faire glisser ce son captant et de le placer juste ici, en haut de la gamme. Regardez ce qui va se passer ici. Il va être réorganisé pour le placer automatiquement dans cette catégorie de santé. Maintenant, cela est également utile pour créer ces catégories. Parce que nous allons vérifier ça ici. Ma santé, à ajouter. Ce petit globe oculaire est vérifié, ce qui rend cette instance modifiable. Toute variable définie pour être modifiable par instance. Encore une fois, en compilant ceci ici juste pour être sûr de l'avoir, revenez à ma carte de test. J'ai l'un de ces exemples de micros BP ici, dans mon niveau supérieur, dans le panneau Détails. Avec celui sélectionné, je peux voir mes différentes catégories que je peux modifier à ce sujet. Maintenant, l'une des catégories que je peux modifier est mon état de santé pour l'ajouter et la vérifier. Il n'est plus répertorié dans une catégorie appelée par défaut. Il est désormais répertorié dans une catégorie appelée Santé à ajouter. Allons-y et essayons de créer une catégorie supplémentaire ici dans notre exemple de pick-up BP. Laisse-moi changer d'échelle. Je veux dire, cela n'a pas vraiment de sens d'avoir cela dans une catégorie de santé en soi. Deuxièmement, changeons-la en une catégorie appelée échelle. Et je vais configurer cela pour qu' il soit modifiable par instance. Nous devons compiler après avoir défini cette variable pour qu'elle soit modifiable par instance afin de pouvoir ensuite trouver cette variable exposée dans notre éditeur. Donc, avec cette option sélectionnée, j'ai maintenant une catégorie de santé à ajouter à l'intérieur. Et une catégorie d'échelle avec une variable d' échelle à l'intérieur. Maintenant, pour quoi voudriez-vous créer ces catégories ? Eh bien, dans quelque chose comme votre personnage BP ThirdPersonCharacter, vous pouvez avoir certaines variables qui sont toutes liées au nom de votre personnage, prénom, nom de famille, deuxième prénom. Il se peut qu'il s'agisse de certains attributs de personnage que vous souhaitez tous catégoriser. Ce serait une chose courante. Cela peut être lié à la santé ou à des dommages. Vous pourriez créer une catégorie de santé et de dégâts, ce genre de choses. Voyons maintenant comment ajouter des infobulles, deux variables. Ensuite, je vais revenir à mon exemple de pick-up BP. Donc, pour n'importe laquelle de mes variables, je peux ajouter une description, une infobulle. Remarquez que lorsque je passe la souris sur mes variables actuellement, cela indique que mon état de santé est simplement un flottement en captant un son qui indique que l'échelle de description de base indique simplement qu'il s'agit d'une variable vectorielle, mais vous pouvez en modifier le contenu, les textes de l'infobulle si vous voulez. Avec mon état de santé à ajouter sélectionnez dans le panneau Détails, mon champ de description. Je peux changer cela pour qu'il s'agisse la quantité de points de vie à ajouter Enter. Et maintenant, si je passe la souris sur cette santé pour ajouter une variable, cela ne dit plus flotteur double précision ou quoi que ce soit d'autre, habitude de dire double précision flottante. Il dit maintenant que c'est la quantité de santé nécessaire pour ajouter les textes que j'ai mis juste là-bas. Enfin, je voulais juste souligner que si vous voulez vraiment changer de type de variable, vous pouvez, et vous savez, vous pouvez changer le type de variable soit ici en cliquant dessus, choisissant un nouveau dans la fenêtre contextuelle ici, ou dans le panneau Détails, vous pouvez également le modifier ici. Cependant, si vous le faites, il y a certaines choses que vous devez savoir. Donc, compte tenu de mon état de santé à ajouter une variable flottante sélectionnée dans le panneau My Blueprint, je vais changer le type de variable pour qu'il soit un entier. Maintenant, une fois que vous aurez fait cela, vous allez avoir une petite boîte contextuelle disant : «  Hé, vous pourriez rompre certaines connexions ici. Es-tu vraiment sûre de vouloir le faire ? Allons-y et changeons ce type de variable. Mais vous remarquerez que lorsque vous le ferez, vous aurez ce dicton : «  OK, nous l'avons trouvé ici même sur le graphique ». Votre exemple de prélèvement de tension artérielle ajoute votre santé à ajouter. Il était là. Maintenant je vais sortir d'ici. Et vous allez voir ça ici en disant : «  Eh bien, c'était un nombre flottant, c'est maintenant un entier. Alors, que faites-vous ici ? Eh bien, vous pouvez résoudre ce problème en cliquant avec le bouton droit de la souris sur ce nœud pour l'actualiser. Il reconnaît maintenant que, hé, vous le remplacez par un entier. Mais maintenant tu as du travail à faire ici. Nous avons rompu ce lien et je pourrais également le connecter ici. Et dans ce cas, cela va apporter un, il va juste le convertir très bien. Mais d'autres cas ne fonctionneront pas très bien. Vous devez donc vraiment faire attention à ne pas rompre vos connexions chaque fois que vous modifiez vos variables. Maintenant, nous n'avons ajouté qu'une seule instance de cette variable ici. Cependant, si vous vouliez trouver tous les endroits où cela pourrait exister, corrigez toutes ces références de cette variable. Vous pouvez cliquer dessus avec le bouton droit de la souris pour trouver des références. Ce faisant, vous pouvez trouver où se trouve cette variable n' importe où dans ce graphique. Et même au-delà de ce graphique, si vous utilisiez cette variable, vous l'appelez à partir d'un autre Blueprint. Vous pouvez cliquer sur ce petit bouton ici pour trouver où cette variable a été obtenue ou définie dans n'importe quel autre Blueprint. C'est donc très pratique de savoir comment cliquer avec le bouton droit de la souris pour trouver des références. Vous allez faire apparaître cette petite fenêtre contextuelle. Vous pouvez double-cliquer dessus pour y accéder directement. Et puis, si vous voulez savoir où cette variable fait référence à d'autres plans, vous pouvez cliquer ici pour le faire. Très bien, les gars. Cela va clore le tout pour cette vidéo. Ça va tout faire pour les variables. Nous vous verrons lors de la prochaine. 55. Aperçu des fonctions: Très bien, bon retour à tous. Dans cette section du cours, nous allons officiellement nous concentrer sur le thème des fonctions. Et même si vous m'avez vu utiliser un tas de fonctions dans nos discussions sur d'autres sujets liés aux scripts Blueprint. C'est ici que nous les décomposons dans leur intégralité, parlant de toutes les nuances des fonctions. Notre objectif dans cette vidéo est donc de découvrir rapidement quelles sont les fonctions. Donnez quelques exemples de la façon dont ils sont utilisés dans Unreal. Enfin, expliquez où vous pouvez les trouver. Tout d'abord, qu'est-ce qu'une fonction ? Eh bien, pour faciliter cette discussion, je suis dans mon Level Blueprint et j'ai placé quelques nœuds de fonctions. Une fonction est un nœud de plan qui fait simplement quelque chose, effectue une opération spécifique. Alors, quel genre de choses ai-je placées avant que vous n'entendiez, eh bien, vous pourriez apparaître et devenir acteur. C'est pour faire apparaître un objet dans votre jeu qui pourrait vous être utile. Vous pouvez créer un effet de particules. Il s'agit de l'ancien système VFX, du système d' effets visuels en cascade ou d'un système de particules plus récent connu sous le nom de Niagara. Vous pouvez créer un widget destiné à afficher un plan de widget, qui est souvent utilisé dans le HUD ou les menus de fin de partie. Tu peux émettre un son. Vous pouvez changer le lieu d'un acteur, toutes sortes de choses qui peuvent être faites avec des fonctions. Les fonctions peuvent désormais prendre des entrées et renvoyer celles d'Albert. Pour rappel, les entrées se trouvent sur le côté gauche d'un nœud. Les sorties se trouvent sur le côté droit du nœud. Unreal est déjà livré avec toute une série de fonctions, si je devais cliquer avec le bouton droit et un espace vide et explorer l' une de ces catégories, vous verrez tous ces S Here sophistiqués. Ils sont en bleu ou en vert. Ce sont toutes sortes de nœuds de fonctions prêts à l'emploi auxquels vous avez accès. Vous pouvez désormais créer vos propres fonctions dans un plan et les appeler quand vous le souhaitez. Nous en parlerons dans quelques vidéos ici. Dans cette présentation générale des fonctions , il convient de noter cette présentation générale des fonctions , il convient de que lorsque vous travaillez avec des fonctions dans Unreal, vous remarquerez qu'elles se déclinent en deux versions différentes. Vous avez du bleu, que l'on appelle des fonctions impures, et elles ont cet en-tête bleu. Et si je vais à droite, vous avez des fonctions vertes , appelées fonctions pures. Maintenant, la principale différence entre celles-ci est que ces fonctions vertes et pures n'ont pas de broches d'exécution côté entrée ou sortie, alors que les fonctions impures bleues en ont. Nous avons maintenant une vidéo complète dédiée aux fonctions impures par rapport aux fonctions pures. Nous en reparlerons donc plus tard, mais je voulais simplement le souligner pendant que nous sommes ici. Une autre différence que je voulais souligner entre les différents nœuds de fonction est que parfois leur en-tête est un peu plus descriptif que les autres. Et bien, qu'est-ce que je veux dire par là ? Si nous regardons certains de nos nœuds de fonction ici, car ce sont des systèmes de génération à cet emplacement, c' est tout ce que ce nœud de fonction dit à propos du système de génération à l'emplacement. Maintenant, comparez cela avec ce nœud juste ici, définissez l'emplacement de l' acteur. Et juste en dessous, il est écrit que la cible est l'acteur. Celui-ci demande une cible dont nous voulons modifier l'emplacement. Celui-ci ne contient aucun sous-descripteur de sous-titres en dessous. Maintenant, remarquez que celui-ci définit aussi bien la cible matérielle est un composant primitif. Je peux fournir un maillage dont nous voulons changer le matériau. Si je passe à mon ThirdPersonCharacter Blueprint, je place également quelques nœuds de fonction ici. Ils disent tous que la cible est un personnage, cible est un personnage, que la cible est un personnage, etc. Ainsi, différentes fonctions ont des cibles différentes. Dans ce cas, tous ces nœuds de fonction sont spécifiques à une classe de caractères. Alors que dans notre carte de test de niveau, certains de ces nœuds de fonctions ne sont spécifiques à aucune classe ou à un composant donné. Les fonctions peuvent avoir des cibles différentes. Il peut avoir une cible composante, d'acteur, une cible de personnage, des choses de cette nature. Et nous y reviendrons plus en détail dans un moment. Enfin, je voulais vous parler de l'endroit où vous pouvez trouver des fonctions dans un graphique. Eh bien, vous pourriez le faire de différentes manières. méthode la plus courante consiste à cliquer avec le bouton droit sur un espace vide. Ici. Si je clique sur le menu déroulant de mon acteur, voici où vous pouvez trouver de nombreuses fonctions différentes. Encore une fois, ils se présentent sous la forme de fonctions impures de saveur bleue, ou de saveur verte, c' est-à-dire de fonctions pures. Et ceux-ci sont disponibles dans n'importe quelle catégorie. Vous en trouverez une tonne qui sont déjà préfabriqués pour vous. Maintenant, vous pouvez également rechercher une fonction donnée. Encore une fois, l'acteur de la classe est courant. Donc, si vous savez ce que vous recherchez, vous pouvez simplement le taper dedans, apparaître un acteur de la classe. Une autre chose que je tiens à souligner ici est que les fonctions peuvent être sensibles au contexte ou non. Et c'est cette case à cocher juste ici. Elle est cochée par défaut. Et laissez-moi simplement vous montrer comment cela peut modifier les résultats ici. J'ai donc cet acteur de génération de Class Blueprint, et j'ai déjà placé un exemple de micro BP dans la classe ici. Si je devais m'en sortir, regardez maintenant que ma case à cocher contextuelle est cochée et que le meilleur acteur se trouve ma catégorie la plus populaire. C'est avec la fonction contextuelle cochée. Un acteur est la catégorie la plus importante. Passons maintenant à cette fonction de création de widget juste ici. Laisse-moi sortir d'ici. Notez que l'option contextuelle est cochée. Cependant, je ne vois même pas cette catégorie d'acteurs en haut de la liste parce que ceux-ci vont renvoyer deux types de choses différents. Celui-ci va renvoyer un objet widget. Celui-ci va retourner mon exemple de micro BP parce que c'est le cours que j'ai inscrit ici. Maintenant, si vous êtes dans ce menu contextuel, passez la souris sur cette case contextuelle ici. Et vous cliquez sur ce petit menu volant. Vous pouvez décider dans quels contextes il va trouver en fonction des fonctions disponibles. Ce plan, sous forme d' info-bulle, indique qu'il va inclure des fonctions et des variables qui appartiennent à ce plan. Si la case components est cochée, elle inclura des fonctions appartenant à des composants de ce plan et/ou d'autres classes cibles. Et puis des bibliothèques qui doivent inclure toutes les autres fonctions accessibles dans le monde entier. Et encore une fois, nous avons une vidéo complète dédiée aux bibliothèques de fonctions dans un court laps de temps. Maintenant, si vous avez des fonctionnalités spécifiques que vous souhaitez créer, vous pouvez créer vos propres fonctions dans le panneau Mon plan, dans la catégorie des fonctions, vous pouvez créer vos propres fonctions juste ici. Tu peux les appeler comme tu veux. Vous pouvez créer la fonctionnalité qui se trouve à l'intérieur de ce nœud de fonction. Ensuite, il suffit de glisser-déposer ce nœud de fonction de votre onglet Mes plans dans votre graphique. Mais nous en reparlerons également plus tard. Très bien les gars, il y a un aperçu des fonctions dans les plans Unreal Engine. Nous vous verrons dans la prochaine vidéo. 56. Fonctions d'acteur: Bienvenue. Dans cette vidéo, notre objectif est d' apprendre ce que sont les fonctions des acteurs, d' explorer comment les trouver et d'en démontrer quelques-unes. Nous avons terminé dans la dernière vidéo de présenter un aperçu général des fonctions de notre Level Blueprint. Et je parlais de la façon dont certaines fonctions avaient ce sous-titre en dessous, y compris celui-ci pour localisation de l'acteur qui dit que la cible est l'acteur. C'est donc ce dont nous parlons dans cette vidéo. Nous parlons de la fonction d' acteur. Alors, qu'est-ce que la fonction d'un acteur ? Eh bien, c'est simplement une fonction qui cible, c' est-à-dire qui affecte un acteur spécifique que vous lui fournissez. Maintenant, la cible peut être elle-même, mais dans le cas d' un Level Blueprint, soi n'est pas très utile. Nous devons vraiment dire : « Hé, quelle est la chose que nous essayons de faire ? Et dans ce cas, quel nouvel emplacement allons-nous essayer de lui donner ? Maintenant, je vais revenir à mon niveau ici, et j'ai ajouté un maillage statique à mon niveau. Si tu veux jouer le jeu à la maison. Cela se trouve dans mon dossier d'invites de contenu lancé par le contenu. Je place l'un de ces gars à mon niveau. Cela étant fait, j'ai également modifié la mobilité ici pour qu'elle soit mobile. Et cela va être important pour la fonction que nous allons essayer de définir. Une fois cela fait, assurez-vous que vous avez sélectionné ces acteurs de Static Mesh dans votre niveau. Et je vais accéder à mon Level Blueprint, déjà ouvert ici. Mais encore une fois, c'est ainsi que vous pouvez accéder à votre Level Blueprint. Maintenant, peu importe le graphique dans lequel vous vous trouvez. J'ai deux graphiques ici, mon graphique des types de nœuds et mon graphe d'événements. Mon Event Graph est un peu plus propre, donc je vais y aller. J'ai déjà une référence à cela dans mon graphique. Maintenant, pour y faire référence, il suffit de maintenir la touche R enfoncée et de cliquer avec le bouton gauche de la souris ou dans le menu contextuel. Si vous l'avez sélectionnée, vous devriez être en mesure de la rechercher et de créer une référence en cliquant avec le bouton droit de la souris et en choisissant directement à cet endroit. L'une ou l'autre option suffira pour vous. C'est donc l'acteur que nous voulons cibler. Donc, si nous sortons d' ici et que nous relâchons, nous avons coché la case contextuelle ici, ce qui signifie que si nous explorons l'une de ces catégories, nous pouvons trouver des fonctions spécifiques fonctionnera pour cet acteur donné, y compris quelque chose comme Destroy Actor. Notez que cela dit que la cible est un acteur. Je pourrais faire entrer un événement d'entrée et en appuyant sur cet événement d'entrée, nous pourrions détruire l' acteur qui est notre cible. Nous parlons de fonctions d'acteur. Essayons-en donc quelques-uns ici. Nous avons vu cet acteur Destroy une fois de nombreuses fois. Alors, apportons-en un peu plus. Je vais donc m' éloigner d'ici. Et je vais saisir le lieu de tournage de l'acteur. Et je peux voir que c'est dans la catégorie de la transformation. C'est ainsi que vous pouvez voir où il se trouve. Maintenant, c'est la raison pour laquelle nous avons dû régler notre maillage ici pour qu'il soit mobile. Parce que si on ne le définit pas pour qu'il soit mobile, on va avoir des plaintes. Lorsque nous compilons. Je vais définir mon nouvel emplacement. Au lieu de brancher une variable, je vais juste la définir ici sur, disons, 1 000. Et ça va juste le déplacer quelque part dans les airs. Continuons encore une fois, nous pouvons faire plusieurs choses. Je vais faire de la rotation des acteurs de plateau, c'est aussi dans la catégorie transformation. OK ? Nous allons donc procéder ainsi et noter que nous utilisons la même référence comme cible pour les fonctions de plusieurs acteurs ce qui est tout à fait acceptable. Je vais m'en sortir et faire un set d'acteurs à l'échelle 3D. Cela fait également partie de la catégorie de transformation. Enfin, je vais m'en sortir encore une fois et nous allons fixer la durée de vie. C'est dans la catégorie des acteurs, donc différentes fonctions peuvent se retrouver dans différentes catégories, mais si vous en connaissez le nom, vous pouvez simplement le taper ci-dessus. Maintenant, je n' ai aucune entrée ici pour le moment, alors cliquons avec le bouton droit de la souris, zoomons, laissons un espace vide. Faisons la touche que je n' ai pas encore utilisée, la touche 7. Faisons la touche 7. Bien sûr, ça ira très bien. Donc, lorsque nous appuyons sur la touche sept, nous allons vouloir définir la position de nos acteurs quelque part dans les airs. Le site 001000 dans le monde. Ensuite, nous allons maintenir le flux d'exécution et définir la rotation de nos acteurs. Je n'ai pas défini de rotation ici, donc définissons-la à 45,45 juste pour l'incliner légèrement afin que nous puissions voir quelque chose de différent de ce qu'il est actuellement. Ensuite, nous allons maintenir le flux d'exécution ici. Nous voulons lui donner une nouvelle échelle. Faisons 44.4, quelque chose d'assez gros. Et ensuite, puisons ici sur la durée de vie. C'est donc le temps qu' il va vivre avant d' être détruit, moins que ne l'est notre durée de vie. Allons-y 5 s. D'accord, alors remarquez que toutes ces fonctions prennent en compte, chez un acteur cible. Nous pouvons utiliser la même référence et l' intégrer à la note d'entrée cible de toutes ces informations. Je vais donc compiler ici, en déplaçant cela vers la gauche. Nous allons jouer, laissez-moi définir mon objet de débogage pour qu'il soit ma carte de test. Et voici mon acteur. Dès que j' appuierai sur la touche 7, vous verrez bang, bang, bang, bang. On y va. Sept. Quelque part dans les airs. Il est pivoté, il est grand. Et après 5 secondes de boom, ça fait un adieu. Vous pouvez donc voir qu'il a joué cette fonction sur cet acteur donné. Et toutes ces choses ont changé l'emplacement, la rotation, l'échelle et la durée de vie. Alors, vous l' avez. Fonctions de l'acteur. Vous pouvez les trouver en faisant glisser la souris sur un acteur donné, en le recherchant ou en faisant simplement une recherche ici pour voir quels types de fonctions sont à votre disposition. Très bien, ça va tout faire pour celui-ci, les gars, on se voit dans le prochain. 57. Fonctions de cours: Très bien, bon retour. Dans cette vidéo, notre objectif est d' apprendre ce que sont les fonctions de classe, d' explorer comment les trouver, puis d'en démontrer quelques-unes. Alors, tout d'abord, qu'est-ce qu' une fonction de classe ? Eh bien, c'est simplement une fonction qui ne peut être utilisée que par un type spécifique qui est une classe spécifique. Maintenant, de quoi parle-t-on ici ? Eh bien, si nous revenons à notre navigateur de contenu et qu'il m'a vu cliquer avec le bouton droit de la souris plus tôt dans le cours dans un espace vide de mon navigateur de contenu, si je viens dans la classe Blueprint, ce sont les différentes classes dont nous parlons, les différentes classes de blueprint. Maintenant, nous avons des fonctions spécifiques à chaque classe. Et cela sera très évident à démontrer lorsque vous parlerez de notre classe de personnages, car à peu près tous les jeux que vous allez créer auront allez créer auront un personnage ou peut-être même classe, mais démontrons un personnage. Alors allez-y et ouvrez votre BP ThirdPersonCharacter. C'est là que j'ai commencé cette vidéo avec lui. Et remarquez dans mon graphique que j'ai plusieurs nœuds de fonction. Et remarquez que juste en dessous de l'en-tête ici, le sous-en-tête indique que la cible est un personnage, la fonction de saut cible est un caractère, la fonction du caractère de lancement, cible est un caractère, l'accroupissement dans et fonctions accroupies. La cible est le personnage. Ces fonctions sont spécifiques à cette classe, à cette classe de caractères. Et je peux les trouver en cliquant avec le bouton droit de la souris dans un espace vide. Et puis si je cherche le nom de cette classe mère, nous cherchons le personnage juste ici. Faisons défiler la page vers le bas. Et si on trouve un personnage en C et H il est là, juste ici. Vous pouvez retrouver ces événements. Nous sommes accroupis, nous avons sauté le personnage de lancement sur accroupi, et cetera. Ils sont donc très spécifiques à cette classe donnée de Blueprint. Maintenant, nous allons les démontrer. Et je tiens à souligner ici : avant de le faire, si vous souhaitez rechercher et utiliser ces fonctions accroupi et accroupissement, vous devez sélectionner composante de mouvement de votre personnage et la sélectionner dans le Le panneau de détails situé dans la catégorie des mouvements de navigation permet de vérifier que vous pouvez vous accroupir. Elle n'est pas cochée par défaut. Très bien, alors allons-y et essayons-les. Je vais cliquer sur Jouer ici, pour définir mon objet de débogage pour il s'agisse d'un personnage à la troisième personne. Et je vais les minimiser un peu comme ça. Vous pouvez voir évidemment que si j'appuie sur ma barre d'espace, cela fera sauter mon personnage en relâchant, cela lui fera arrêter de sauter. Si j'appuie sur la touche L, j'ai cette fonction de personnage de lancement qui définit la vitesse de lancement sur 2000 et Z, ce qui ressemble un peu à un super saut, si vous voulez. Cependant, vous pouvez toujours le faire lorsque vous êtes en vol. Donc c'est plutôt amusant. Et puis j'ai réglé l'entrée C pour accroupir et s'accroupir lorsque j'ai sorti le CQI. Maintenant, quand je le ferai, tu remarqueras quelque chose. J'appuie sur la touche C et oups, laisse-moi faire ça. Encore une fois. J'appuie sur la touche C et la caméra descend et remonte. Lorsque je m'accroupis, mon personnage n'entre pas dans une animation accroupie. J'aurais besoin de faire un peu plus de travail pour que ça fonctionne. Mais nous n'allons pas entrer dans les déclarations, le fromage et la modification de nos animations, tout ce genre de choses. Mais vous remarquerez que c' est en fait sous le capot, accroupissant mon personnage, ce qui signifie que cela baisse ma caméra, ralentit la vitesse de déplacement de mes joueurs. Puis quand je me suis accroupi, je suis revenu à hauteur normale de la caméra, à la vitesse de déplacement normale. Maintenant, quelques points méritent d'être soulignés ici pour toutes ces fonctions, la cible est le personnage, et nous n'avons rien branché sur cette cible. La cible est simplement définie sur self, qui est valide dans cette situation car c'est-à-dire notre moi est une classe de personnages nous n'avons donc rien à y brancher. Soi est une chose parfaitement valable à dire ici. La cible est nous-mêmes, qui est un ThirdPersonCharacter. Maintenant, il convient également de souligner que vous pouvez trouver l'accès utiliser ces fonctions dans un autre Blueprint. Permettez-moi donc de le démontrer rapidement en accédant à mon Level Blueprint. Vous remarquerez qu'il y a un espace vide. Si je clique simplement avec le bouton droit de la souris et que je fais une recherche pour lancer, nous avions cette fonction de lancement dans notre ThirdPersonCharacter. Je ne le trouve pas. Je peux trouver d'autres fonctions avec le mot launch it, mais pas mon personnage de lancement. La sensibilité au contexte est cochée ici. ne s'agit pas d'un modèle de classe de caractères. Tu ne le trouveras pas. Maintenant, si je désactive cette option, je peux voir que nous ne faisons pas recherche en fonction de la sensibilité au contexte. Et maintenant, sous notre personnage, nous pouvons trouver notre fonction de lancement de personnage. Cela appartient à la classe de caractères des fonctions. Allons-y et ajoutons cela à notre graphique. Et ça dit, d' accord, tu veux appeler cette fonction. C'est génial. La cible est une cellule, alors fournissez-moi une cible. Maintenant, si je devais simplement avoir un cube existant dans mon niveau, comme je l'ai placé à l'avance ici. Notez que cette option est sélectionnée. Permettez-moi d'y faire référence en maintenant le clic gauche archéen enfoncé. Si j'essaie de l'intégrer comme cible, ça va dire, non, ce n'est pas une cible valide. Tu ne peux pas le faire. La cible que nous recherchons est un personnage. Nous pourrions donc obtenir une référence à notre ThirdPersonCharacter et l'y intégrer. Et alors cela fonctionnerait. Maintenant, pour ce faire, nous devons obtenir une référence à notre personnage. J'ai cette variable de référence aux caractères que j'ai créée plus tôt dans le cours. Mais si je clique dessus avec le bouton droit de la souris et que je trouve des références, j'ai dû détruire le contenu de cette variable, donc elle n'est actuellement définie sur rien. OK ? Nous pouvons toujours obtenir une référence à notre personnage à la troisième personne par un autre moyen. Et tu m'as déjà vu faire ça. Cliquez avec le bouton droit sur le personnage Nous avons cette fonction pure qui permet renvoyer le personnage d'un joueur. Mais il ne sait pas quel personnage nous voulons rechercher ici. Faisons donc un ThirdPersonCharacter Cast to ThirdPersonCharacter. Je vais dire, d'accord, votre personnage de joueur, que c'est un personnage à la troisième personne ? Et si c'est le cas, nous pouvons appeler certaines fonctions liées à ce personnage. Et le ThirdPersonCharacter peut utiliser cette fonction de lancement de personnage car le personnage à la troisième personne est une classe de caractères qui constitue une cible valide. J'ai juste besoin de fournir une entrée ici, cliquez avec le bouton droit de la souris pour rechercher la huitième touche. Je ne pense pas que nous utilisions la huitième touche et l'une ou l'autre de nos herbes uniquement dans notre graphique des événements ici. OK, allons-y et branchons-le. Compilez, sauvegardons. Et maintenant, si je devais jouer, définissons notre objet de débogage comme tel afin que nous puissions voir ce feu s'éteindre. Et maintenant, si j'appuie sur la touche , oups, elle essaie vraiment de l'appeler, mais je n'ai pas défini la vitesse de lancement, donc ce serait un problème. C'est ça ou la vitesse de lancement doit être de 2000. Oui, c'est un détail assez important. Et en appuyant sur la touche Alt, nous pouvons maintenant appeler cette fonction de lancement. Donc, encore une fois, tant que vous avez une référence à cette classe donnée, vous pouvez appeler des fonctions spécifiques à cette classe. Très bien les gars, ça va tout faire pour cette vidéo, on se voit dans la prochaine. 58. Fonctions de composants: Très bien, donc dans les deux dernières vidéos, nous avons exploré les fonctions des acteurs et des fonctions de classe. Dans cette vidéo, nous allons explorer les fonctions des composants. Nous allons explorer comment les trouver et en démontrer quelques-unes. Maintenant, cela soulève la question suivante : qu'est-ce qu'une fonction constitutive ? Eh bien, il s'agit simplement d'une fonction qui cible doit affecter un composant spécifique d'un plan. Maintenant, pour le montrer, nous allons utiliser notre bp ThirdPersonCharacter Blueprint. C'est là que vous pouvez le trouver. Double-cliquez dessus pour l'ouvrir. Avant de tourner cette vidéo, je suis allée de l'avant et j'ai créé quelques scripts juste pour la rendre un peu plus brève dans le temps. Et sur le graphique des événements, ce que j'ai mis en place, c'est que j'ai placé les trois composants différents dans mon graphique. Maintenant, ce sont respectivement mon composant d' épée entre guillemets, c' est-à-dire un composant de maillage statique. Le prochain composant avec lequel nous allons travailler ici est notre composant maillé. Et c'est revenir à la fenêtre d'affichage ici. Ce maillage squelettique qui représente notre personnage, cette femme mannequin, si vous voulez. Et puis le dernier composant que nous avons est notre caméra de suivi. Et il suffit de revenir à la fenêtre d'affichage ou de suivre la caméra trouver ce composant juste là, cette caméra. Alors, comment les ajouter à notre graphique ? Eh bien, comme vous le savez grâce aux variables, vous pouvez simplement glisser-déposer pour les ajouter à votre graphique. Ensuite, vous obtenez une référence à ce composant donné. Et si vous faites glisser la souris hors de ces éléments, vous pouvez trouver des fonctions spécifiques à ce composant qui sont sensibles au contexte et fonctionnent avec ce composant. Donc, ce que j'ai ici est sorti de mon épée, je me suis simplement débarrassé de la drogue et j'ai fait une recherche de maillage statique fixe. Mais si vous vous demandez où cela existe, si vous allez définir un maillage statique, vous pouvez voir qu'il se trouve dans la catégorie des images statiques des composants. Et je le liste juste au-dessus maillage statique de vos composants. Donc, si nous devions simplement le sortir passer sous les composants et tomber sous un maillage statique. Vous pouvez voir que nous avons cette fonction que nous pouvons ajouter ou que nous pouvons ajouter la fonction pure pour obtenir des limites locales. Mais celui-ci est beaucoup plus visuel. Maintenant, en bas, pour ces composants de maillage, j'ai simplement fait une recherche dans la catégorie des composants, des composants, des composants du maillage skinné. Vous pouvez voir que nous avons ici de nombreuses fonctions différentes pour cela. Mais pour celui-ci, je voulais simplement changer le maillage squelettique qui y est associé. Et par là, ce dont je parle ici c'est qu'avec nos composants de maillage sélectionnés, nous allons remplacer le maillage squelettique qui y est associé. C'est très visuel. Vous pouvez donc voir que la cible ici est un composant de maillage skinné qui en parle ici. Enfin, nous avons la caméra suivante. Nous avons donc certaines fonctions spécifiques à un composant de caméra. Et vous pouvez les trouver dans le menu contextuel de la catégorie Appareil photo. Donc, il y a aussi beaucoup de fonctions ici pour jouer. Celui-ci est très visuel, le cadre, le champ de vision. Donc, encore une fois, le sous-titre indiqué indique quel composant spécifique peut être ciblé. Très bien, donc en jouant à ce super visuel ici, définissons notre option de débogage pour que vous puissiez le voir se déclencher. Donc, quand j'appuie sur la touche F, nous allons remplacer notre épée par cette balle. C'est le nouveau maillage que j'ai inséré quand j'appuie sur la touche G, notre maillage ici, cette femme mannequin plutôt qu'Aaron va aussi être échangée. C'est vrai, juste un cube. Et ce cube squelettique se trouve dans le contenu du moteur, c'est un cube squelettique. Enfin, remarquez le champ de vision ici lorsque j'appuie sur l'âge, il va changer un peu. Très bien, alors voilà, appuyez et la touche H permet de zoomer un peu comme ça. Et voilà, vous l'avez. Vous pouvez ajouter toutes sortes de composants ici, dans le panneau Composants. Il y en a des tonnes. Il suffit donc de noter que pour tout composant que vous pouvez ajouter, il peut y avoir des fonctions associées à ce composant en particulier, spécifiques à ce composant. Découvrez-les, jouez avec, apprenez par la pratique , d'accord, ça va tout faire pour cette vidéo, on se voit dans la prochaine. 59. Créer des fonctions: Très bien, bon retour à tous. Au cours des dernières vidéos, nous avons montré comment trouver les différentes fonctions qui existent déjà dans Unreal. Dans cette vidéo, notre objectif est de montrer comment créer nos propres fonctions. Maintenant, il s'agit d'un concept extrêmement puissant au sein du blueprint scripting. Il vous permet essentiellement de créer toutes les fonctionnalités que vous souhaitez. Maintenant, pour la majeure partie de cette vidéo, nous allons travailler sur notre personnage à la troisième personne de BP. Je suggère donc que vous ouvriez ce type. J'ai également ouvert mon Level Blueprint en haut. Tout d'abord, il est important de noter que les fonctions peuvent être créées dans un plan de classe ou un plan de niveau. Donc, juste pour le mettre en valeur, en commençant par mon plan de niveau ou dans le panneau Mon plan. Vous avez une section pour les fonctions. Les fonctions peuvent donc être créées ici à l'intérieur d'un Level Blueprint. De plus, dans un plan de classe comme notre ThirdPersonCharacter, vous trouverez la même section de fonctions , vous pouvez donc en créer une ici également. Bien, parlons maintenant des différentes manières créer des fonctions. Eh bien, nous avons ce bouton Ajouter juste ici. Vous pouvez cliquer dessus, créer une fonction de cette façon. Une autre méthode consiste à utiliser l'en-tête de la fonction ici, vous pouvez cliquer sur ce bouton pour créer une fonction. Et la troisième méthode, la moins évidente consiste à utiliser n'importe lequel de ces en-têtes, graphiques, fonctions, macros, variables, etc. Vous pouvez simplement cliquer avec le bouton droit de la souris, et laissez-moi simplement cliquer avec le bouton droit sur cet en-tête de graphique ici. Et cela fera apparaître le même menu que celui que vous avez obtenu lorsque vous cliquez ici. Vous pouvez donc ajouter une fonction ici. Et si je crée quand de cette façon, cela va l'ajouter à ma catégorie de fonctions. Je vais tout de suite lui donner un nom et l'appeler modifier la santé parce que je vais créer une fonction qui modifie la santé de nos joueurs. Et notez que lorsque nous avons cliqué pour ajouter une fonction, que ce soit ici , ici ou ici , nous avons également ouvert un nouvel onglet tout en haut. Donc, ce que vous avez devant vous n'est qu'un nœud d'entrée, en nœud d'entrée de votre fonction. Et ici, dans le reste du graphique, vous pouvez créer les fonctionnalités que vous voulez cette fonction ait à la toute fin, vous devez ajouter un retour, vous devez ajouter un retour notes, je vais cliquer avec le bouton droit de la souris et quelques espace vide et ajoutez un nœud de retour immédiatement, en cliquant avec le bouton droit de la souris et en saisissant en retour tout en bas, vous pouvez ajouter un nœud de retour. Encore une fois, voici où nous allons déterminer ce que fait réellement ce nœud de fonction. Mais pendant que je suis en train de le construire, je pense qu'il serait utile que, dans le graphe d'événements, je fasse simplement glisser et déposer ce nœud de fonction dans mon graphe. Nous y voilà, en le glissant et en le déposant. Maintenant, il est bleu. Voir la cible est un personnage à la troisième personne parce que nous le construisons ici à l'intérieur de notre ThirdPersonCharacter. Ce sera donc la cible par défaut. Et notez que tout ce que nous avons ici, c'est une exécution au stylo et une exécution hors épingle et une cible. Mais nous pouvons ajouter plus de broches, plus de broches de données côté entrée ou côté sortie. Et nous allons vous le montrer un peu ici dans cette vidéo. Voici donc à quoi ressemble actuellement le nœud de fonction. Et tout au long de cette vidéo, nous allons la modifier un peu. Revenons à notre fonction de modification de la santé et développons certaines fonctionnalités. Donc, la première chose que je veux ajouter à cette fonction est une entrée. Je veux être en mesure de saisir la quantité de santé ou de dégâts que notre personnage va recevoir. Pour ce faire, je dois sélectionner mon nœud d'entrée ici, mon état de modification, et dans le panneau Détails où il est indiqué les entrées, cliquez sur ce bouton plus pour ajouter une entrée. Maintenant, cela va nous permettre de le nommer tout de suite. Par défaut, il doit s' afficher sous forme de booléen. Vous pouvez toutefois modifier le type. Cela m'a été présenté sous forme de flotteur parce que je faisais un travail de préparation avant cette vidéo. Alors changez-le en flotteur. Et encore une fois, vous pouvez le faire en cliquant ici. Et changeons le nom de cette entrée pour qu'il montant des soins ou des dégâts. Maintenant, notez que si je reviens à mon graphique d'événements ici, où nous plaçons notre fonction de modification de la santé, je vois maintenant en entrée de notre fonction la possibilité de saisir une variable flottante, un soin de santé ou montant des dommages. C'est donc un peu trompeur lorsque vous développez vos fonctions ici. Vous sélectionnez ce nœud d'entrée ici, puis vous ajoutez une entrée. Et la raison pour laquelle c'est un peu trompeur, c'est que vous pensez que entrées se situent sur le côté gauche d'un non-non. Mais ici, sur cette note d'entrée, elle est affichée sur le côté droit du nœud. Donc, la première fois que j'ai appris tout cela, je me suis senti assez confus. Toutefois, dans la fonction finale que nous pouvons voir dans notre graphe d'événements, lorsque vous glissez et déposez cette fonction dans le graphe lui-même, elle apparaît sous forme d'entrée sur le côté gauche d'un nœud. Vous pouvez donc saisir une valeur flottante de santé ou de dégâts qui seront reçus. Très bien, continuons. Ce que je veux faire, c'est réduire notre santé ou les dommages que nous allons subir. Je vais apporter un signe supérieur à. Nous voulons faire quelque chose si notre santé ou notre montant de dégâts est supérieur à zéro, ou si nous voulons nous éloigner d'ici, introduire un nœud de branche. Nous devons maintenir ce flux d' exécution ici. Nous allons donc évaluer la montagne soignée ou endommagée est supérieure à zéro. Et si c'est le cas, nous allons sortir d'ici et émettre du son sur D. En fait, je vais appuyer sur Control C et Control V pour copier ceci parce que nous voulons émettre un son, ce soit vrai ou faux. Maintenant, si c'est vrai, le son que je veux jouer s'appellera le laser push. Si c'est faux, le son que je veux émettre s'appelle laser poll. Maintenant, en survolant simplement ce pôle laser, vous pouvez voir que le chemin à suivre se trouve dans les dossiers de contenu du moteur. Donc, si vous jouez le jeu à la maison, vous ne voyez pas le laser pousser un pool laser. Juste ici. Vous avez cette icône en forme d'engrenage. Assurez-vous que le contenu du moteur d'affichage est coché, puis vous aurez accès à ces deux éléments. Très bien, alors sondage laser pour ça. Donc, selon la quantité entrante est supérieure à zéro, nous allons émettre un son. S'il n'est pas supérieur à zéro, nous allons émettre un autre son. Ce sont des effets de type plus positifs ou négatifs. OK, alors ce que nous voulons également faire ici est prélevé sur le montant que nous allons saisir. Et je vais appuyer sur le symbole Plus. Nous allons y ajouter quelque chose. Nous voulons ajouter à cela que ce sera notre santé ici même. Nous allons donc faire glisser et déposer notre santé juste en plus de cela. Cela nous donnera une meilleure idée tout de suite. Nous allons donc ajouter cela, la quantité entre dans notre santé. Ensuite, nous allons régler cela de telle sorte que nous puissions simplement glisser-déposer notre santé sur la sortie pour placer un centre. Maintenant, ce que je veux faire, c'est amener par ici pour pouvoir le porter comme ça. Et comme ceci, lorsque je dis essentiellement ici, c'est que peu importe, le montant entrant soit supérieur à zéro ou non, je veux ajouter cela à mon état de santé actuel. Je vais émettre un son, qu'il soit supérieur à zéro ou non, qu'il soit positif ou négatif, puis nous allons le définir comme notre nouvelle valeur de santé. Ensuite, je vais intégrer cela à notre retour. Enfin et surtout, je peux le glisser-déposer sur le nœud renvoyé pour ajouter une épingle à notre retour. Pour noter qu'une fois que je l'ai fait, suffit de le glisser-déposer dessus. Il va ajouter une sortie juste ici. Mais nous voulons probablement nous donner un meilleur nom que celui que l'on obtient simplement en sortie. Je vais donc nommer cette santé actuelle. Comme ça. Maintenant, quelque chose d'autre que je veux faire ici , c'est être en mesure de renforcer cette santé parce que disons simplement que nous sommes déjà pleine santé et que la quantité entrante ajoutera à notre santé que nous pourrait techniquement avoir plus de 1,0 point de vie. Nous pouvons avoir une santé de plus de 100 %. Donc, la façon dont vous pouvez vous assurer que cela est limité à une valeur donnée pour introduire un nœud de serrage. Pour que je puisse sortir d'ici. Tapez dans la pince. Nous voulons serrer notre flotteur et nous assurer qu'il est de 0 à 1. C'est plutôt sympa. Je vais donc simplement l' intégrer comme ça pour m'assurer que même si nous recevons une quantité saine, cela améliorera notre santé et la portera au-dessus de 1,0. Que peu importe ce qu'il va rester à 1.0, ne peut pas dépasser cela, alors assurez-vous de le faire également. Maintenant, jette un coup d'œil. C'est notre, c'est notre fonction ici même. C'est une fonctionnalité que nous ajoutons à notre graphique de ventilation avec sa fonction de modification de la santé ajoutée à notre graphique, nous avons cette quantité de dégâts de guérisseur en entrée, et du côté de la sortie, nous peut produire notre état de santé actuel. Maintenant, quelques détails importants avant de terminer cette vidéo dans le panneau Détails avec vos fonctions sélectionnées, jetez un œil à nos entrées ici. On a ce talon ou on les a abîmés. Et nous avons cette petite flèche déroulante. Si vous cliquez dessus, vous pouvez définir une valeur par défaut pour cela. Donc, actuellement, c'est 0.0, ce que vous pouvez voir reflété sur le nœud de la fonction lui-même. Si je devais le changer à 0,5, vous verrez qu' une fois que j'ai appuyé sur Entrée, ce sera trop difficile. Mets ça dedans. OK. Je ne le veux pas vraiment pour l'instant, mais j'ai juste pensé à souligner que vous pouvez y définir une valeur par défaut. Laissez-moi le remettre à zéro. Et vous avez également cette option de passe par référence. Qu'est-ce que ça veut dire ? Eh bien, il est passé par une option ref ou transmis par référence vous permet de dire à la fonction que quelle que soit la variable que vous y insérez, c' est la variable que vous souhaitez modifier. Cela vous permet essentiellement d'obtenir et définir une variable en même temps. Nous allons maintenant aborder ce sujet un peu plus en détail dans la vidéo suivante. Mais je tiens simplement à souligner que si je devais cocher cette case, notez que cette épingle va également changer à partir de cette sorte de forme circulaire. Un peu plus de cette forme de diamant. Très bien, je vais le décocher pour l'instant. Et encore une fois, nous allons vous le montrer un peu plus dans la vidéo suivante. Une autre chose que vous devez savoir ici est que si je devais double-cliquer sur cette fonction, notez que je suis dans mon graphe d'événements. Regardez ce qui se passe. Double-cliquez. Je suis passé de mon graphe d'événements à mon graphe de fonctions. Donc, voici un moyen rapide et facile de voir ce que fait cette fonction. Et vous serez redirigé directement vers votre graphe de fonctions. Conseil très pratique. Quelques autres remarques concernant les fonctions que vous créez. Vous ne pouvez pas avoir de nœuds latents tels qu'un nœud de retard ou une chronologie au sein de votre fonction. C'est une limitation des fonctions. Et autre chose à noter à propos des fonctions. Avec les fonctions, vous n'obtenez qu' une seule épingle d'exécution entrante et une seule exécution de sortie, c'est-à-dire une exécution entrante, une exécution sortante. Si vous en avez besoin de plus, les macros sont la solution. À l'avenir, nous ajouterons des vidéos sur les macros. Mais les gars, cela va offrir un suivi dans la prochaine vidéo où nous parlerons des fonctions d'appel. voit là-bas. 60. Fonctions d'appel: Très bien, dans la dernière vidéo, nous avons fini de créer une fonction dans notre bp ThirdPersonCharacter. C'est ainsi que nous en avons fait la cible, quel que soit l'endroit où vous créerez votre fonction, qui sera la cible. Dans cette vidéo, nous allons apprendre comment appeler cette fonction à appeler cette fonction fois à partir d'un plan de classe situé ici dans notre ThirdPersonCharacter, et d'un plan de niveau. Revenez donc directement dans votre plan ThirdPersonCharacter. Et si vous avez oublié où c'était, vous avez vécu quelque part sous un rocher. Voici le chemin à suivre pour double-cliquer sur ce type pour l'ouvrir. Maintenant, je l'ai ajouté à mon graphique dans la dernière vidéo. Permettez-moi de le supprimer et de le rafraîchir ici savoir comment l'ajouter à notre graphique ici, je vais cliquer avec le bouton droit de la souris et un espace vide. Donc, à la recherche d'un nœud d'événement, car nous voulons commencer par un événement F3. F3, je ne sais pas parce que je me suis dit qu'il n'était pas utilisé. Maintenant, nous pouvons ajouter cette fonction à notre graphique de plusieurs manières . Un moyen est de cliquer avec le bouton droit sur un espace vide ici et de le rechercher. Modifier la santé, c'est une façon de l'ajouter. Dans l'autre sens, laissez-moi simplement le supprimer en le glissant et en le déposant depuis notre section des fonctions ici. Faites glisser. Et si vous le déposez dans le volet d'exécution juste ici, il va le connecter tout de suite. Ensuite, nous allons simplement en sortir et ajouter un nœud de chaîne d'impression. Hein ? Et associons cela à notre état de santé actuel à la chaîne juste pour vous rafraîchir, si vous double-cliquez sur votre nœud de fonction ici. Eh bien, ce que nous faisons, c'est encaisser une quantité de points de vie ou de dégâts. Nous allons ajouter cela à notre état de santé actuel. Nous allons le situer entre ces deux chiffres et nous allons définir comme notre nouvelle valeur de santé. Ensuite, nous allons transmettre cela à l' autre volet de notre fonction ici. Dans ce cas, nous allons le transmettre à partir de ce nœud. Remarquez l'état actuel, c'est-à-dire la broche de sortie de notre fonction ici. Et nous allons simplement l' imprimer à l'écran. De plus, nous devons coder en dur le montant des soins ou des dégâts. Donc, nous allons commencer par quel niveau de santé ? Eh bien, dans notre état de santé modifié, ici, notre variable de santé. C'est ce que nous allons commencer avec 1.0 points de vie. C'est la même chose que ce que nous voyons dans le panneau My Blueprint avec cette variable de santé sélectionnée 1.0. Alors, avec quoi voulons-nous modifier cela ? Encore une fois, nous pouvons guérir ou endommager. Donc ce que je vais faire, c'est régler ce montant à un montant dérisoire. Alors allons-y à 0,5. Et parce que nous voulons que cela fasse des dégâts, faisons moins 0,5. Les chiffres négatifs vont donc faire des dégâts. Dans ce cas, les chiffres positifs vont guérir. Très bien, compilons, assurons-nous que notre script est bon. Jouez. Permettez-moi de définir mon débogage sur mon ThirdPersonCharacter ici. Si j'appuie sur F3 ici, vous pouvez voir que cela réduit notre santé de moitié. Et vous avez également vu 0,5 dans le coin supérieur gauche ici. N'oubliez pas que notre variable santé est également liée à notre compteur de santé ici. Donc, si j'appuie dessus encore une fois, vous verrez 0,0 et maintenant nos compteurs de santé auront disparu. Maintenant, si j'appuie à nouveau sur F3, santé continuera à afficher 0,0. Et c'est parce que dans ou si nous modifions la fonction de santé, nous plaçons cette modification de notre santé entre ces valeurs. Très bien, maintenant, juste pour montrer que cette fonction peut soigner et infliger des dégâts, modifions notre santé d'origine. Modifiez la valeur de santé d'origine pour qu'elle soit, nous allons dire des points. Nous allons donc commencer avec seulement 20 % de santé. Ensuite, dans notre graphique des événements, nous allons modifier nos soins ou infliger des dégâts à MT. Disons qu'à chaque fois que nous appelons cela, nous allons guérir de 10 %, 0,1. Très bien, donc ça peut fonctionner dans les deux sens. De la façon dont nous avons cette configuration, vous cliquez sur Jouer. Nous pouvons donc voir que nous commençons avec 20 % de santé. J'appuie sur F 3.3, 40%, 50%, 6070809100. Et bien sûr, si j' essayais de passer en revue cela, je ne peux pas, car en double-cliquant sur notre fonction de modification de la santé ici, je passerai à ce graphique. Nous fixons notre valeur de santé de 0 à 1. Très bien, nous avons donc prouvé que vous pouvez appeler cette fonction depuis le plan dans lequel elle a été créée. Mais pouvez-vous l'appeler à partir d'un autre plan ? Et bien sûr, la réponse est oui, vous pouvez. Tant que vous avez une référence à votre ThirdPersonCharacter dans un autre plan, vous pouvez appeler cette fonction. Et pour le prouver, nous allons utiliser notre Level Blueprint. Vous êtes revenu à votre niveau ici. Et j'ai une petite configuration que vous pouvez essayer de reproduire. Encore une fois, j'ai une boîte de déclenchement placée dans mon niveau. Et comme vous l'avez vu dans d'autres vidéos, j'ai défini l'étendue de la boîte à 200, 200, 200, l' épaisseur du trait à dix. Et j'ai simplement caché l' acteur et j'ai éteint le jeu. Dans la section de rendu pour que je puisse voir ce volume de déclenchement. Ensuite, je place simplement une particule de feu. Cela se trouve dans mon contenu de départ, dans mon contexte de démarrage. Où se trouve le dossier de particules, juste là. Un endroit qui se trouve au milieu juste pour donner à toute cette zone un aspect dangereux ? Et puis je l'ai simplement redimensionnée dix fois. Ce sera donc ma zone de danger. Et l'idée ici est que lorsque mon personnage chevauche cela, ils sont endommagés. Alors allons-y, sélectionnez votre case de déclenchement et accédez à votre plan de niveau. Donc, la première chose que nous voulons faire, c'est que quelque chose se produise lorsque nous nous recoupons. Nous allons donc cliquer avec le bouton droit sur Ajouter un événement lorsque nous le chevauchons Et bien sûr, nous avons besoin d' une référence à notre personnage à la troisième personne. Si vous cliquez avec le bouton droit de la souris et que vous créez un personnage, que vous essayez de le faire glisser hors d'ici et trouver cette fonction de modification de la santé. Tu vas te dire : «  Pourquoi je ne peux pas le trouver ? Si vous décochez la case contextuelle, vous serez comme si c'était le cas. Dans la classe BP, ThirdPersonCharacter. Oh, ça y est. Mais le problème est que vous ne pouvez pas simplement vous connecter, faire entrer le personnage du joueur ici. C'est donc un problème. La façon dont vous pouvez obtenir cette fonction de modification de la santé, laissez-moi la supprimer d' ici, est par le biais du casting. Ou si notre variable de référence de personnage se trouve ici. Si cela était réellement rempli, si nous avions des initialisations avec notre personnage à la troisième personne à l'intérieur, nous pourrions trouver la fonction Modifier la santé faisant glisser hors de là également. Cependant, nous allons utiliser le concept de casting ici. C'est une façon de vérifier si, dans ce cas est l'autre acteur c'est l'autre acteur qui chevauchait cette boîte de déclenchement. Alors sortons un personnage à la troisième personne ici et incrusté. Et si nous faisons cela, si nous vérifions si l'autre acteur était l'objet qui chevauchait la boîte de déclenchement, alors nous pouvons sortir d'ici et trouver cette modification de la fonction de santé. Et si vous cochez la case contextuelle comme je l'ai fait, et que tout à coup elle disparaît, effacez simplement la recherche traînée, tapez Modifier la santé, et vous la trouverez. Encore une fois. Une fois que vous avez une référence à votre ThirdPersonCharacter, vous pouvez appeler toutes les fonctions qui s'y trouvent. Vous pouvez référencer toutes les variables qui s'y trouvent, les obtenir ou les définir. Vous pouvez même modifier n'importe lequel des composants de l'une de leurs propriétés qui se trouvent à l' intérieur de ce ThirdPersonCharacter. Donc, obtenir une référence à quelque chose est énorme. Très bien, dans ce cas, voulons-nous soigner ou endommager notre personnage ? Je dirais qu'ils ont été endommagés. Passons donc à moins 0,1. Et cela devrait suffire , car nous allons voir notre compteur de santé diminuer. Compilons ceci. Permettez-moi de revenir dans mon ThirdPersonCharacter. Assurez-vous de remettre mon état de santé à une valeur de 11,0, 100 %. Et jouons. Je vais définir mon objet de débogage ici pour qu'il s'agisse de la carte. Je fais revivre mon personnage. Nous partons donc à 100 % de notre santé. Je recoupe le fait qu'il s'agit d'un volume de déclenchement ici, d'un peu de son là aussi. À chaque fois. Encore une chose avant de terminer cette vidéo. Dans la dernière vidéo, nous avons parlé d'une option de transfert par référence au sein de notre fonction. Et il faut que j'y revienne. Donc, pour revenir à notre fonction, me voici dans mon Level Blueprint. Je peux revenir à cette fonction en double-cliquant dessus. Et remarquez qu'une fois que je l'aurai fait, je passerai à notre Level Blueprint. Double-cliquez sur notre plan ThirdPersonCharacter où se trouve cette fonction de modification de la santé. Et cela nous a ouvert l'onglet Modifier la fonction de santé. Allez-y et sélectionnez votre fonction de modification de la santé sur le côté gauche, ou vous pouvez également cliquer sur le nœud Modifier l'entrée de santé. Et dans le panneau Détails, vous pouvez voir que nous avons ajouté un talon ou endommagé l'entrée MT. Et cela équivaut à cette entrée que vous voyez sur le nœud de fonction lui-même, vous êtes et mon Event Graph qui reviennent à l'onglet de fonction lui-même. Maintenant, cette passe par référence dont nous avons commencé à parler dans la dernière vidéo, quoi diable sert-elle ? Eh bien, visuellement parlant, ce que vous allez voir se produire ici, c'est qu'une fois que j'ai coché cette case, cette épingle de forme circulaire sera maintenant remplacée par une épingle en forme de diamant. Alors on y va. C'est maintenant une épingle en forme de diamant. De plus, la valeur par défaut est passée au revoir. Maintenant, si je compile ce Blueprint, vous remarquerez également que quelque chose d'autre se compile, nous obtenons une erreur et il va dire que ce n'est pas valide, que nous devrions y avoir une entrée connectée. Alors, de quoi parle-t-on ici ? Permettez-moi de revenir à mon Event Graph parle de cette zone ici en disant, hé, vous avez besoin de quelque chose de connecté là-dedans. Maintenant, si j'étais dans ma modification, comment fonctionne je suis comme pourquoi je n' ai aucune idée de quoi il s'agit. Il s'agit d'un lien. Vous pouvez simplement cliquer dessus. Et cela vous permettra d'y accéder directement. Donc ça dit : « Hé, branchez une variable dedans. Donc, pour le montrer, ce qui passe par référence. Est-ce que j'ai besoin de modifier un peu notre fonction de modification de la santé. Et ce faisant, je vais changer notre valeur. Au lieu de passer à une échelle de 0 à 1, je vais temporairement casser notre compteur de santé, si vous voulez. Je dirais que nous allons commencer avec une santé de dix. Imaginons que nous ayons une échelle de santé allant de 0,02 à 100,0. D'accord, alors ce que je vais faire c'est ajouter un peu de santé. Et encore une fois, je vais utiliser une échelle de zéro à 100 au lieu de 01. Disons simplement que notre santé s'ajoute, que nous allons changer pour être, ajoutons une santé. Très bien, laisse-moi y aller et brancher ça ici. Maintenant je vais voler. Je suis en quelque sorte en train de suivre notre fonction d'aide modifiée. Permettez-moi de double-cliquer dessus. Encore une fois, nous disons essentiellement : «  Hé, nous en branchons un ici. Ensuite, nous allons ajouter cela à notre santé actuelle, qui est de dix, et applaudissant entre zéro et nous allons le fixer à 100. Nous pourrions alors en avoir 11. Et si nous appuyons à nouveau sur F3, nous nous attendrons à ce qu'il passe à 12, et cetera. Mais nous allons modifier encore une chose dans notre fonction de modification de la santé. Ce que nous allons faire, c'est ajouter un nœud par incréments à cela, faire glisser hors d'ici et saisir des incréments. Nous allons augmenter ce flotteur. Et je vais reconfigurer les choses un peu ici, en maintenant la touche Ctrl enfoncée, cliquant avec le bouton gauche de la souris et en faisant glisser les choses comme ça. Nous allons prendre le résultat et l' intégrer à cela. Et branchez-le là-dedans. Oups, je l'ai raté , comme un portable. Et maintenant, notre fonction ressemble à ceci. Donc, si je compile ici, qu'est-ce qu'il se passe ? Eh bien, essentiellement, ce que nous avons en train de faire, c'est ajouter une santé. Cela est intégré à notre fonction. En ajoutant une santé, nous incrémentons ce nombre ici. Et si nous le survolons, il indique qu'il va en ajouter un à la valeur spécifiée, puis il va le définir. Donc, au lieu que la prochaine fois qu'AS augmente notre santé, qu' elle soit une, elle en sera deux. Et puis la prochaine fois , ce sera trois, et ainsi de suite. Pour en revenir à notre graphique des événements, nous devrions voir cela se refléter dans notre chaîne d'impression. Encore une fois, ce compteur ne servira à rien. Alors allons-y et jouons un rôle en disant que nous avons cet air également dans notre plan de niveau. Allez-y et cliquez sur cette carte de test de niveau. Si vous cliquez dessus, c'est parce que nous n'avons rien branché ici, je vais le désactiver temporairement. Oui. Partout où vous l'avez, il vous criera dessus et vous dira : «  Hé, vous avez besoin de quelque chose branché sur cette entrée. Très bien, jouons à ça. Donc, en appuyant sur la touche F3, nous avons maintenant 12 points de santé, 15 , santé, 19, santé, 24, santé. Et vous pouvez voir qu'il continue d'en ajouter un à la quantité qu' il ajoute à chaque fois. Maintenant que ça a commencé à 12 heures, laisse-moi jouer encore une fois. Encore une fois. Nous commençons à dix points de vie plutôt que d'en ajouter un ou nous pensons en ajouter un sauf que nous allons 10 à 12. Et la raison en est que, ici même, nous prenons cette valeur nous prenons cette valeur et nous l' incrémentons immédiatement. Et ce faisant, il s'agit d' une référence directe, comme il s'agit d' une référence directe, nous incrémentons également cette variable. Rappelez-vous que dans la dernière vidéo que j'ai dite en faisant cette passe par référence, partout où vous vous êtes connecté à cette passe par référence. Et vous n' obtenez pas seulement cette valeur, vous la définissez également immédiatement. Donc, même si cela commence comme un, chaque fois que vous passez par ici, il en incrémente un. Donc 234, et cetera, et cetera. Une petite nuance sur laquelle j'ai passé trop de temps. Très bien, vous y êtes, les gars. C'est appeler des fonctions. Vous pouvez les appeler depuis le plan dans lequel vous les avez créés ou depuis d'autres plans. Tant que vous avez une référence au plan dans lequel ils ont été créés. Les gars, je vais vous proposer celui-ci. Rendez-vous dans la prochaine. 61. Effondrer à la fonction: Très bien, bon retour à tous. Dans cette vidéo, nous allons apprendre à transformer un réseau de nœuds existant à l'intérieur d'un plan en fonction. C'est ce que l'on appelle la réduction à une fonction. Maintenant, c'est une astuce super pratique. Chaque fois que vous dupliquez une sélection de nœuds dans différentes parties de votre graphe. Donc, au lieu de faire cela, nous pourrions simplement transformer ces notes en fonction, puis appeler cette fonction quand et où vous le souhaitez. Donc, actuellement, je suis à l'intérieur de mon exemple de pick-up BP. Et disons par exemple que je vais cliquer dessus avec le bouton gauche de la souris et le faire glisser. Nous dupliquons ce bout de script encore et encore dans différentes parties de notre graphique pour quelque raison que ce soit. Au lieu de copier-coller ces nœuds, nous pouvons tous les mettre en évidence comme je l'ai fait ici. Ensuite, vous pouvez cliquer avec le bouton droit sur l'un de vos nœuds surlignés, puis cliquer avec le bouton droit sur le menu, vous pouvez le réduire pour fonctionner. C'est le sujet de cette vidéo. Je vais vous le démontrer brièvement ici, même si ce n'est pas là que j'ai intention de suivre avec cette vidéo. Je vais donc réduire cela à une fonction. Notez que lorsque je le fais, j'ai regroupé tous ces nœuds en une seule fonction. Sur le côté droit, il est écrit : comment voulez-vous nommer cette fonction ? Je vais juste le laisser comme tel temporairement. Je vais donc appuyer sur Entrée ici. Et si je plonge dans cette fonction, il y a tous les nœuds qui ont créé une fonction à partir de tous ces nœuds. Et l'avantage est que nous pouvons simplement le glisser-déposer dans d'autres parties de notre graphe et l'utiliser comme nous le ferions si nous copiions et collions tous ces nœuds. C'est donc l'avantage de cela. Encore une fois, ce n'est pas exactement là que j'avais l'intention de le faire. Alors laissez-moi contrôler Z ici plusieurs fois et le remettre à son état d'origine. Je vais compiler et le dire encore une fois. Et passons à la création d' une toute nouvelle classe Blueprint ici. Pour le démontrer, je vais cliquer avec le bouton droit de la souris et ajouter de l'espace vide à l'intérieur d'un dossier Blueprints. Je renomme ce dossier entre les vidéos de l'acteur BP en plans parce que ce ne sera pas un plan d'acteur. avec le bouton droit sur la classe Blueprint. Et la classe Blueprint que nous allons créer ici est une recherche de tremblement de caméra dans la section Toutes les classes sous Camera Shake. Et nous recherchons une base Camera Shake. Ensuite, nous allons cliquer sur Sélectionner en bas pour créer ceci. Donnons-lui un nom. Je vais appeler cela BP underscore, camera shake. Très bien, alors double-cliquez dessus pour l'ouvrir. Bref, ce que cette classe parent de base de Camera Shake nous permet de faire , c'est de spécifier certains paramètres de tremblement de caméra. Je me rends compte qu'il y a un graphique de mon plan ici. Il existe un graphique des événements et tout ce type de jazz est conforme aux autres plans. Mais le cœur d'une classe mère de tremblement de caméra est que vous pouvez spécifier certains paramètres de tremblement de caméra, puis nous pouvons lire ces paramètres de tremblement de caméra. Donc, ce que nous allons faire ici, dans le panneau Détails, c'est sous root, shake, param, cliquez sur ce petit menu déroulant, et nous voulons le définir sur le schéma de tremblement de caméra de l' oscillateur d'ondes . Une fois que nous l'avons fait, nous pouvons cliquer dessus sous forme de liste déroulante. Et j'ai défini certains paramètres à l'avance pour des raisons de temps. Entrez en dessous de ces paramètres de champ de vision F0 v. Ouvre-le plusieurs fois. Nous voulons régler notre amplitude à cinq et notre fréquence à cinq. Et le type de décalage initial sera défini sur aléatoire. Plus tard, vous pourrez jouer avec ces paramètres, mais je vous suggère de jouer ou de jouer le jeu à la maison. Vous pouvez donc voir à quel point cela fait. Et plus tard, vous pourrez revenir en arrière jouer avec elle et voir à quel point des valeurs différentes bouleversent les choses. Dans la catégorie de chronométrage, nous allons définir une durée de 0,5 demi-seconde. Aaron est le temps d'entrée et la fin du mélange. Nous allons définir une valeur de 0,2, 5,0, 0,25. Génial. Allez-y, gardez ça, et nous allons passer à notre personnage à la troisième personne. Revenons donc à notre navigateur de contenu. Plans de personnages à la troisième personne. Double-cliquez sur votre ThirdPersonCharacter pour l'ouvrir. Nous allons maintenant passer à notre graphique des événements. Nous n'avons donc plus besoin de cette fonction de modification de la santé. Et dans notre événement, les graphlets trouvent de l'espace vide. Nous avons besoin d'une contribution à l'événement ici. Donc un événement d'entrée, allons-y F. Eh bien, bien sûr, F2 semble être un bon événement d'entrée aléatoire. Et pour proposer cela, nous allons faire glisser et saisir un nœud de fonction appelé Play World Camera Shake. Ici, avec ce nœud de fonction, regardez ça. C'est un bleu, il est noté que c' est un nœud de fonction. Nous pouvons spécifier une classe. Et c'est là qu'intervient notre tremblement de caméra B P, car si nous cliquons sur ce menu déroulant. Nous pouvons intégrer les paramètres de tremblement de l'appareil photo que nous venons de configurer dans notre plan de tremblement de caméra, ce qui est très pratique. Nous devons maintenant spécifier un épicentre. C'est-à-dire, sur quoi voulons-nous baser ce tremblement de caméra, par exemple, quel est l'épicentre ? Tu sais à quel point les tremblements de terre ont un épicentre ? Eh bien, les tremblements de caméra ont également besoin d'un épicentre défini pour eux. Pour cela, nous allons dire : « Hey, basons-nous sur les composants de la capsule. C'est-à-dire que les composants de cette capsule entourent notre personnage. Basons-le autour de ça, non ? Nous avons donc les composants d'une capsule. Faisons-le glisser et déposez-le dans le graphique, pour obtenir une référence à eux. Sortons de cela en tapant encore la localisation du monde. Cela renverra les valeurs de coordonnées x, y et z. Nous allons donc dire que c'est notre épicentre essentiellement en plein milieu de notre composante capital. Maintenant, nous devons spécifier un rayon extérieur ici, essentiellement à partir de l'épicentre, jusqu'où se situe le tremblement de sa caméra ? Asseyons-nous. 500 est notre rayon extérieur. Tant que notre caméra se trouve à l'intérieur de ce rayon, ce qui devrait être le cas si vous avez laissé les paramètres de votre caméra par défaut. Mais tu peux jouer avec ça, tu peux étendre si tu veux aller un peu plus loin. Alors, ce qu'on va faire, c'est s'en sortir. Et je vais introduire un nœud appelé spawn sound attach. Maintenant, nous pouvons simplement générer un son ici, mais juste pour montrer certaines fonctionnalités différentes, nous allons générer un son et ensuite l'attacher. attacher où ? Eh bien, nous allons l'attacher à notre composant capsule ici. Encore une fois, je sais que nous n'avons pas à le faire. Nous pourrions simplement émettre un son, mais allons-y, faire apparaître et attacher ce son. Quel son voulons-nous ici ? Allons-y par une explosion, tapez explosion a à l'explosion Q. Bien que chacune d' entre elles fonctionne très bien. Et en faisant un petit zoom arrière ici. Allons-en et créons un émetteur de spawn à l'emplacement. C'est l'ancien système de particules. Si vous souhaitez utiliser un système de particules Niagara, vous pouvez créer un système d'apparition sur place. Si je fais Spawn Emitter, c'est parce que je sais que j'ai l' effet de particules d'explosion juste ici. Mais encore une fois, vous pouvez également l'utiliser dans système de particules Niagara. Et en fait, je ne voulais pas faire d' émetteur de spawn à l'endroit où je suis de ma faute, faisons un émetteur de spawn attaché. Encore une fois, juste pour montrer le milieu de génération ou l'attacher, nous pouvons utiliser différents nœuds de fonction ici. Enfoncez-vous dans cette explosion. Ça y est. Où voulons-nous attacher cette explosion ? Eh bien, je peux étendre cela à partir de mon composant capsule comme ça. Double-cliquez sur ce fil pour faire apparaître un nœud de reroutage. Et cela devrait à peu près suffire. Maintenant, ces trois nœuds de fonction sont quelque chose que je transformerais en sa propre fonction. Je les réduirais en une fonction. Oui, vous pouvez faire en sorte que des fonctions en constituent une autre. Et la raison pour laquelle je dirais que ces trois éléments sont valables pour remplir leur propre fonction. Parce qu'il y a un tas d'effets juste là. Essentiellement, un peu comme les effets de dégâts d'un joueur. Tu vas jouer un camera shake. Vous allez avoir un son d'explosion et vous allez jouer des effets de particules d' explosion. Ils vont donc tous ensemble. Il est logique de les regrouper dans un seul nœud. Maintenant, quand nous nous réduirons à une fonction, je vais laisser de côté ces deux éléments et vous verrez pourquoi dans un petit moment ici. Je vais donc cliquer avec le bouton gauche de la souris pour surligner uniquement ces trois nœuds. Ensuite, je vais cliquer avec le bouton droit sur l'un d'entre eux et je vais m'effondrer pour fonctionner. Cela va donc introduire un nœud de fonction comme celui-ci en tant que nouvelle fonction. Et donnons-lui un nouveau nom. Donc, dans la zone des fonctions où cela a été créé pour nous, appuyons sur F2 là-dessus, et j'appellerai cela simplement les dégâts du joueur. Joueur endommagé f x. Cela semble plutôt bon. Vous pouvez maintenant voir sur le côté droit que nos entrées sont déjà créées pour ce nœud de fonction, mais nous en avons quelques-unes qui sont redondantes. Je peux donc simplifier un peu cela. Permettez-moi donc de développer un peu mon panneau de détails ici. Je me suis attaché au composant et j'ai attaché un composant aussi. Mais ils se fixent aux mêmes composants. Je peux donc éliminer l'un d'entre eux. Ça fera très bien l'affaire. Maintenant, tu vas avoir ce fil rouge et ça va avoir l'air hideux. Il suffit donc de cliquer dessus avec le bouton droit la souris, d' actualiser le nœud, il s'en débarrassera. On peut se débarrasser de ce type ici. Si vous le souhaitez, vous pouvez renommer vos entrées mais épicentre et attachées au composant ou très bien, je pourrais le supprimer, vous savez, simplifier un peu plus, faire en sorte que cela ressemble un peu plus nettoyeur. Quelque chose comme ça. Si je plonge dans ce nœud de fonction, remarquez ce qui se passe. J'ai les composants de ma capsule. L'emplacement mondial de la composante catholique et son intégration dans la partie saisie de ma fonction. Dans le cadre de mon bureau. Ils sont transmis comme l'épicentre et les deux composants attachés à ce son et à l'émetteur. Maintenant, il s'en débarrassé parce que j'ai supprimé cette entrée inférieure, les deux composants attachés en fait besoin de câbler cette sauvegarde. Mais encore une fois, le même élément attaché au composant fonctionne pour les deux. Vous pouvez donc ajouter des nœuds de reroutage ici pour nettoyer tout cela, comme ça. Et en fait, je vais faire comme ça, maintenir la touche Alt enfoncée, cliquer avec le bouton gauche de la souris. Il s'agit d'une configuration valide comme celle-ci. Très bien, compilez et sauvegardez ceci. Pour en revenir à mon graphique d'événements, qui est beau et net. Allons-y, jouons et voyons à quoi cela ressemble. Je peux donc courir ici. En fait, laissez-moi définir mon option de débogage mon personnage pour que vous puissiez le voir se déclencher. D'accord, donc en appuyant sur F2, boum, vous avez vu l'appareil photo trembler un tout petit peu, un petit effet de zoom. Je peux donc me déplacer et appuyer sur F2. Et maintenant, si vous le souhaitez, vous pouvez revenir à la fonction que vous venez de créer ici. Tu pourrais changer ton son, tu pourrais changer ton explosion. Allons-y avec Flamme pour le moment, non ? Flamme, lance-flammes. En fait, pas un lance-flammes. Je veux allumer des feux. Celui que je veux faire avec quelque chose comme un feu au lieu d'une explosion en cliquant sur Play here. Lorsque vous appuyez sur F2. La raison pour laquelle j'ai choisi les feux, parce que souvenez-vous de ce que nous faisions avec ce nœud de fonction particulier, c'est que nous répondions à cet émetteur et que nous le connections. C'est donc la différence entre simplement générer un son et générer un son et l'attacher. Je voulais le montrer juste pour montrer un petit plus. Très bien, revenons à notre graphique des événements, ce que vous pourriez faire si vous ne vouliez pas et ne vouliez pas que tout cela reste réduit à une fonction. Vous pouvez cliquer dessus avec le bouton droit de la souris et étendre le nœud de cette manière. Et ensuite, ça te ramènera là où tu avais des choses. Tu voulais voir ce qu' il y avait à l'intérieur. Je vais juste appuyer sur Control Z pour l'annuler parce que j'aime que tout soit réduit à une fonction. Maintenant, juste quelques points que je voulais mentionner avant de terminer cette vidéo, permettez-moi de revenir à la fonction endommagée de mon lecteur ici. Je vais sélectionner ces nœuds, contrôle C et le contrôle V. Vous ne pouvez pas, vous ne pouvez pas avoir de nœud latent dans un effondrement de la fonction. Ce qui va se passer est irréel, je vais te crier dessus. Donc, si c'est le cas, j'apporte un nœud de retard, en maintenant le clic gauche enfoncé. Disons que je voulais les regrouper tous les quatre en une fonction. Je vais les surligner avec le bouton droit de la souris, Réduire pour fonctionner. Il va me crier dessus et me dire : « Nous ne pouvons pas le faire ». Afficher le journal des messages. Montrons le message en long et il dit : « Hé, délai ne peut pas être placé dans le graphe des fonctions ». De même, si je supprime le délai, introduisons un nœud d'événement. Faisons un Fight. Bien sûr. Essayez d'introduire un événement d'entrée ou tout autre événement dans votre fonction, comme ceci, cliquez avec le bouton droit sur Collapse to function. Vous allez également recevoir un autre message disant : «  Hé, vous ne pouvez pas non plus y avoir de nœud d' événement ». Donc, juste pour votre information, lorsque vous essayez de vous effondrer pour fonctionner. Alors les gars, vous y êtes. Réduire à la fonction, vivement recommandé s'il s' agit d'un ensemble de nœuds qui se rejoignent et qu'il s'agit simplement d'un script que vous répétez encore et encore dans différentes parties de votre graphique car cela suffira pour vous proposer celui-ci, nous vous verrons dans le prochain. 62. Fonctions pures et impures: Bonjour et bon retour. Dans cette vidéo, notre objectif est de repérer et de comprendre les différences entre les fonctions pures et impures. Nous montrerons également comment vous pouvez désigner cela pour rendre une fonction pure ou impure. Maintenant, pour faciliter cette discussion, je vais travailler à l'intérieur de mon personnage à la troisième personne. Donc, si vous voulez jouer le jeu à la maison, je suggère que vous l'ayez fait. Et encore une fois, vous pouvez accéder à votre personnage ThirdPersonCharacter en passant sous ce répertoire et en double-cliquant sur votre personnage à la troisième personne. Très bien, parlons de quelques différences entre nos fonctions pures et impures. Eh bien, pour commencer, parlons des fonctions pures. Ce sont les fonctions de couleur verte et voici quelques exemples juste ici. Elles sont généralement utilisées comme des fonctions getter qui ne font que générer des données. C'est donc l'une des clés aux fonctions pures. Ils n'ont aucune épingle d'exécution à l'entrée ou à la sortie. Donc, si vous remarquez notre dette multipliée par les secondes, nous allons simplement afficher notre temps en secondes pour obtenir l'emplacement réel, nous allons simplement générer la somme des coordonnées x, y et z. Il n'est pas nécessaire d'exécuter des pins d'entrée ou de sortie pour obtenir la valeur, dans ce cas, de notre position ou de notre heure réelles en secondes. Maintenant, quand fonctionnent-ils ? Puisque nous n'avons pas de broches d'exécution qui les traversent du côté de l'entrée ou du côté de la sortie. Quand courent-ils ? Eh bien, ils s'exécutent lorsque la valeur de retour est utilisée. Donc, juste pour le démontrer, j'ai un événement qui va enlever chaque image. Nous l'avons connecté à un nœud de fonction impure d'une chaîne d'impression. Branchons-le ici. Une valeur flottante dans une chaîne. Il va convertir ce float en chaîne. Et ce qui se passera ici, c'est que chaque image se déclenchera jusqu'à ce que cette chaîne d'impression imprime quelque chose à l'écran. Quand ce sera le cas, il reviendra par ici pour obtenir notre temps en quelques secondes. Cela s'exécute, il s'exécute lorsque sa valeur de retour est appelée. Alors laisse-moi jouer ici. Vous pouvez voir comment cela nous permet de gagner du temps de jeu en quelques secondes et cela compte à partir du moment où nous avons commencé à jouer. Une autre chose à noter à propos fonctions pures est qu' elles promettent de ne pas modifier l'état ou les membres d'une classe cible de quelque manière que ce soit. Dans notre exemple, voici notre emplacement pour trouver un acteur. La cible ici est un acteur. Et parce que nous sommes à l'intérieur de notre plan de personnage à la troisième personne, la cible ici étant soi, serait notre ThirdPersonCharacter. Ce que vous remarquerez avec ce nœud de fonction pure, c'est qu'il ne changera pas du tout l'état de cet acteur. Il va simplement renvoyer l'emplacement de notre ThirdPersonCharacter. Comparez cela avec notre fonction impure de localisation de l'acteur de scène. Non, celui-ci bleu. Celui-ci peut changer l' état de notre cible, de notre acteur ou de notre personnage à la troisième personne ici. Et il peut changer l'état en changeant son emplacement. C'est donc aussi l'une des principales différences. Donc, avec une fonction pure, vous posez une question, quel est le lieu de travail d'un acteur, par exemple et vous obtenez une réponse et une position XYZ dans ce cas. Maintenant, juste pour montrer certaines de ces fonctions pures en produisant certaines données demandées. Vous avez déjà vu les utilisateurs gagner du temps en quelques secondes. Laissez-moi simplement le brancher, obtenir l'emplacement réel. Encore une fois, cela va déclencher chaque image. Et comme je vais me déplacer, vous allez voir cette mise à jour. Obtenir la localisation de mon acteur, le ThirdPersonCharacter. Ce sont les coordonnées où se trouve le ThirdPersonCharacter actuellement le ThirdPersonCharacter dans le monde. Ensuite, je pourrais simplement sortir le nom d'affichage de notre manette de lecteur. Comme ça. Encore une fois, notre manette de jeu est un peu comme les cordes de marionnettes qui contrôlent notre mannequin ici même. La manette du lecteur , à titre de rappel ici, est configurée dans les paramètres de votre projet. C'est un peu une tangente sous les cartes et les modes. Donc, la manette de jeu que nous avons configurée dans nos cartes et modes et dans les paramètres du projet est cette manette de lecteur BP. Il s'agissait donc simplement de sortir ce nom. Encore une fois, avec une pure fonction, vous posez une question. Ce qu'est un acteur, c'est le lieu, par exemple, et vous obtenez une réponse. Et maintenant, nous tournons notre attention vers les fonctions impures, c'est-à-dire les fonctions de couleur bleue. Une chose que vous remarquerez à leur sujet, c'est qu'ils ont une exécution en épingles et en épingles. Et cela signifie que comme ils ont une exécution en broche, vous devez l'exécuter explicitement en y connectant un fil. Que vous ayez quelque chose qui sort de l'autre côté ou non , c'est totalement facultatif. Mais pour que cela fonctionne, faut qu'un fil y passe. Une autre différence entre une fonction impure et une fonction pure. Et je viens de le découvrir il y a un instant, savoir qu'une fonction impure peut mais n' pas à modifier l'état d'une classe. Donc, dans le cas de l'emplacement de notre acteur de plateau ici, cela pourrait modifier l'état. Parmi notre cible, nous sommes ThirdPersonCharacter, et cela modifierait notre état en lui donnant un nouvel emplacement. Encore une fois, cette fonction est impure car elle modifie l'état qui est l'emplacement de la classe. Dans ce cas, notre personnage à la troisième personne dans le monde. Maintenant, la question qui se pose est la comment les rendre pures ou impures ? Comment désignez-vous cela ? Eh bien, avec la fonction, sélectionnez-la ici et je vais sélectionner notre fonction Player Damage FX. Si vous la sélectionnez dans le panneau Détails, vous avez une case à cocher indiquant s'il s'agit d' une fonction impure ou d' une fonction pure par défaut Si je fais glisser et déposez cette fonction, vous pouvez la voir comme de couleur bleue. C'est une fonction impure. Cependant, si je devais cocher cette case, je pourrais en faire une pure fonction. C'est donc la version impure. Permettez-moi de le dupliquer rapidement que je fasse un clic droit sur ce lecteur. Les dommages affectent la fonction. Je vais le dupliquer. Control D est le raccourci clavier pour cela. Et je vais appeler ce joueur un effet endommagé. Et je vais mettre un espace ici et dire que c'est pur. D'accord, et vous pouvez voir qu'il a ouvert un tout nouvel onglet ici. Ce que je vais faire, c'est qu'avec cette fonction sélectionnée, je vais sélectionner l' option pure juste ici. OK ? apparaît donc maintenant que rien ne s' est passé ici, dans notre graphe de fonctions lui-même. pourrais terminer, mais je vais revenir à notre graphique des événements ici et glisser-déposer ce type dans le graphique. Encore une fois, les fonctions pures sont vertes alors que nos fonctions impures sont bleues. Notez que celle-ci n'a pas broches d'exécution de chaque côté, contrairement à la fonction impure. Maintenant, cette fonction ici ne nous est d'aucune utilité telle que nous l'avons conçue parce que nous n'avons aucun moyen de l'appeler. Et il ne produit aucun type de données. Ce n'est donc pas une bonne fonction à transformer en une fonction pure. On ne sert à rien dans ce forum. Je vais donc le supprimer. En fait, je vais supprimer cette fonction, je n'en ai pas besoin. Et je vais essayer de donner un exemple où cela pourrait avoir du sens. Pour que cela soit démontré, je vais dupliquer notre fonction de modification de la santé ici même. Si nous allons modifier notre fonction de santé ici, c'est parce que vous vous souvenez qu'à l'intérieur d'ici, laissez-moi simplement double-cliquer dessus. Nous rendions une valeur. Il pourrait donc s'agir d'un candidat pour lequel nous voudrions peut-être en faire une pure fonction. Mais je ne vais pas détruire celui-ci. Je vais simplement cliquer dessus avec le bouton droit de la souris. Et nous allons le dupliquer et je l'appellerai « Modifier la santé » moins. Et ce que je vais faire ici est terminé dans le panneau Détails, cochez cette case pour que tout soit pur. Je vais également modifier quelques éléments à ce sujet. Maintenant, j'ai cette configuration pour la transmettre par référence dans la vidéo précédente. Je vais décocher cela et je vais juste simplifier un peu ce graphique ici. Je vais donc me débarrasser de ce nœud d'incrémentation comme ça. Je vais le brancher à notre agence. Nous allons prendre notre talon ou une montagne endommagée, branchez-la ici. Tout ça a l'air bien. Juste ici. Nous allons le brancher ici et nous allons en quelque sorte nous remettre en arrière par rapport à ce que nous avions à l'origine. Ce sera donc notre pure fonction. air bien compilé à ça. Revenons à notre graphique des événements. Et allons-y, j'ai ma clé F2 juste ici. Je vais juste voler ce nœud d'événement juste ici. Ce que je vais faire, c'est intégrer notre fonction pure, pure et pure de modification de la santé, comme ça. Et remarquez qu'il n'y a pas de broches d'entrée, de broches d'exécution ou de sortie. Et je vais imprimer une chaîne. Je vais donc voler ce nœud de chaîne d'impression. Il est déjà là. Lorsque j'appuie sur F2, je vais imprimer quelque chose à l'écran. Je vais le brancher, vais convertir ma santé actuelle en une chaîne. Et cela va modifier certains états de santé. Je dois lui donner une certaine quantité de santé ou de dégâts que nous voulons modifier. Allons donc vous aider à ajouter. Ce paramètre est actuellement défini sur un. Quel est notre état de santé actuel ? Il est dix heures. Donc c'est très bien. Laisse-moi ajouter ma santé. Je vais l' intégrer à leur compilation. Oups, c'est pas ce que je voulais faire. Allons-y et jouons ici. Et je ne transporte pas du tout le compteur ce moment, ça ne m'intéresse pas vraiment . Je m'occupe donc de l'impression que nous allons voir à l'écran. Donc, en appuyant sur F2, regardez exactement où se trouve le curseur de ma souris, 11121314. Encore une fois, cela est configuré pour simplement afficher notre état de santé actuel. Nous n'avons pas besoin d'effectuer des virements en cours d'exécution à l'intérieur ou à l'extérieur. Cela simplifie donc quelque peu notre graphique. Et en fait, c'est l'une des raisons pour lesquelles vous voudriez utiliser une fonction pure. Cela rend simplement un graphique plus facile et plus clair à lire. Vous avez moins de fils d'exécution à raccorder. De plus, ils renvoient toujours les mêmes résultats prévisibles tant que toutes les entrées, dans ce cas, notre santé à ajouter, sont les mêmes, vous obtiendrez le même résultat prévisible. Mais c'est la principale raison d'utiliser une fonction pure plutôt qu'une impureté. La principale raison pour laquelle vous voudriez en convertir une en une fonction pure est avantages du compilateur, qui garantissent un code plus optimisé en arrière-plan. Je ne vais pas vous ennuyer avec les détails, mais vous pouvez les consulter en ligne si vous voulez des détails juteux et ennuyeux. Très bien les gars, ça va suffire pour offrir celui-ci, la différence est entre les fonctions pures et impures. Rendez-vous dans la vidéo suivante. 63. Bibliothèque de fonctions: Bonjour et bienvenue à tous. Eh bien, jusqu'à présent, dans notre discussion sur les fonctions, nous avons appris à créer certaines fonctions à l'intérieur d'un plan. Et c'est très bien si vous avez une référence au plan dans lequel la fonction a été créée. Cependant, que faire si vous souhaitez créer une fonction et la rendre accessible dans tous vos plans ? Que pouvez-vous faire alors ? Vous ne souhaitez pas avoir de référence spécifique à un plan. Vous voulez juste en faire une fonction d'utilisation générale disponible n'importe où. Eh bien, dans ce cas, vous voulez créer ce que l'on appelle une bibliothèque de fonctions. Notre objectif dans celui-ci est d'apprendre à le faire dans ce qu'est une bibliothèque de fonctions. La bibliothèque de fonctions permet de stocker des fonctions qui peuvent être accessibles à partir de n'importe quel autre plan. Très bien, de retour ici dans notre navigateur de contenu, allons-y et créons notre bibliothèque de fonctions. Et je pense qu'un dossier Blueprints dans la catégorie des scripts aurait du sens pour nous. Nous allons donc cliquer dessus avec le bouton droit sur un espace vide. Dans la catégorie des plans, nous avons cette entrée volante, dans le menu déroulant. Il dit bibliothèque de fonctions de plan. C'est celle que nous voulons poursuivre et cliquer dessus. Donnons-lui un nom. Je vais appeler cela mes fonctions de soulignement et je vais le mettre en majuscules juste pour rendre très odieux. Ensuite, je vais double-cliquer dessus pour l'ouvrir. Maintenant, une fois que nous aurons fait cela, il nous sera demandé de créer une fonction immédiatement. Et il y a un onglet avec ce nom correspondant tout de suite. Pour nous, je vais appeler cette fonction que nous sommes sur le point de créer un matériau maillé modifié. Et cette fonction fonctionnera exactement comme son nom l'indique. Maintenant, je vais ajouter quelques entrées à notre nœud d'entrée ici afin que nous puissions le sélectionner ou sélectionner la fonction elle-même vous permettra de les faire. Donc, la première entrée que je vais ajouter sera appelée acteur. Et nous allons changer le type d'entrée ici pour devenir simplement un acteur. Donc, sous les types d'objets, j'ai simplement fait une recherche sur un acteur. Sous Types d'objets, acteur, nous voulons une référence d' objet acteur. Ensuite, notre deuxième contribution que nous voulons ici, créer une autre, sera appelée matière. Et nous allons modifier ce type pour qu'il s' agisse simplement d'un type de matériau. Et sous le matériau des types d'objets dans le menu déroulant, nous allons le remplacer par une référence d'objet. D'accord, donc ce seront nos deux entrées. Nous allons avoir une sortie ici. Je vais donc cliquer sur ce bouton plus. Ce faisant, nous ajoutons immédiatement un nœud de retour. Appelons cette sortie un point d'interrogation sur le changement réussi. Ensuite, nous allons lui donner un type de booléen. Nous allons donc indiquer à l' autre extrémité de ce nœud de fonction si nous avons réussi ou non à modifier le matériau de notre maillage. Donc, créez un peu d'espace ici nous allons ajouter des nœuds entre les deux. La première chose que nous allons faire est de casser ce fil ici. Je vais maintenir la touche Alt enfoncée et cliquer avec le bouton gauche. Nous allons nous éloigner de notre contribution d'acteur et nous allons découvrir si notre acteur est un acteur à maillage statique. Nous allons donc choisir l'acteur de Static Mesh. Donc, en posant essentiellement la question, hé acteur que nous connectons à ce nœud de fonction, êtes-vous un acteur de maillage statique ? Et si c'est le cas, nous voulons faire quelque chose et sinon, nous voulons faire autre chose. Maintenant, la chose que nous voulons faire, tout d'abord, c'est changer une variable pour savoir si elle sera vraie ou fausse en fonction de l' échec de cette distribution ou de la véracité du fait qu'il s' agit d'un acteur de maillage statique. Nous devons donc créer une variable ici. Nous avons une section appelée variables locales. Maintenant, nous allons parler davantage de ce qu' est une variable locale dans la vidéo suivante, beaucoup plus dans la vidéo suivante. Alors jouez le jeu dès maintenant et nous verrons ensuite les différences entre les variables locales et les variables de classe. Dans la vidéo suivante, nous allons créer une variable ici, une variable locale. C'est ce que l'on appellera le succès. Complet, changez de point d'interrogation. Et j'ai appuyé sur la mauvaise touche. Alors laisse-moi essayer à nouveau. Succès. Je vais juste appeler ça un point d' interrogation sur le changement de réussite , c'est suffisant. Et je vais glisser-déposer ça en plus de cela, je vais mettre une épingle d'exécution, glisser-déposer sur le casting qui a échoué. Nous le voulons deux fois. Donc, s'il s'agit en fait d'un acteur à maillage statique, il tournera à partir de ce fil d'exécution de l' exposition. Et nous allons dire que oui, le succès, nous l'avons changé avec succès. Et s'il a échoué, nous allons dire non, nous n' avons pas réussi à le changer. Donc ça va être réglé sur faux. Ensuite, nous allons simplement sortir d'ici et taper Play Sound 2D. Nous allons émettre un effet sonore de confirmation sonore ou un effet sonore d'échec. Car là-haut, s'il réussit à changer, nous appellerons la compilation de sons un succès. C'est celle que nous recherchons. Celui-ci se trouve dans les dossiers du moteur. Donc, si vous ne voyez pas que vous jouez le jeu, vous pouvez cliquer sur ce petit équipement activer le contenu de votre moteur. Nous allons donc émettre ce son en appuyant sur Control C, Control V pour le coller ici. Si ce casting échoue, nous allons échouer, la compilation échouera. L'un ou l'autre fera très bien l'affaire. Ensuite, nous devons faire un peu de travail ici. Donc, ce que nous voulons faire ici, c'est utiliser notre acteur Static Mesh et rechercher les composants du maillage statique. Les acteurs Static Mesh sont donc constitués d'un composant de maillage statique. C'est ce qui fait de lui un maillage statique. Et à partir de cela, nous allons faire glisser et taper du matériel de montage. Il y a un nœud que nous recherchons. Et le matériau que nous voulons utiliser pour le modifier sera celui que nous saisirons dans cette fonction. Nous allons donc faire glisser le pointeur ici, je vais le brancher ici, mais je vais double-cliquer sur ce fil pour faire entrer un nœud de routage. Ok, on a presque fini ici, on a presque fini. Donc, ce que nous allons faire ici ensuite, c'est prendre cette sortie. Nous allons intégrer cela à notre matériel de décor, car si nous avons déterminé qu'il s' agit d'un acteur de maillage statique, nous voulons le jouer et même changer le matériau. Nous allons brancher cette sauvegarde ici en cas de panne du casting. Il ne s'agit pas d'un acteur de maillage statique. Nous allons passer par ici et nous allons juste revenir directement au nœud renvoyé. Nous ne voulons pas modifier le matériau dans ce cas. Maintenant, pour cette variable booléenne de modification réussie, eh bien, nous pouvons simplement intégrer le résultat de cette modification. Nous le réglons ici ou ici. Le résultat, nous pouvons l'obtenir et simplement le brancher dedans. Ce sera donc notre fonction, notre fonction de prêt qui va exister et qui constituera ma bibliothèque de fonctions. Permettez-moi de compiler ceci et de l'enregistrer tout de suite. Passons maintenant à notre ThirdPersonCharacter Blueprint, car nous avons du travail à faire à l'intérieur pour mettre en valeur cette fonction. Donc, si vous avez oublié où cela se trouve, le contenu des plans à la troisième personne double-cliquez dessus pour l' ouvrir à l'intérieur de notre ThirdPersonCharacter. Une fois que vous êtes arrivé au graphe des événements, cliquez avec le bouton droit de la souris sur un espace vide et tapez simplement mes fonctions. Et vous pouvez voir que lorsque nous commençons à le taper, il affiche notre bibliothèque de fonctions dans la section des classes. Donc, sous la classe, mes fonctions, la bibliothèque de fonctions, nous avons maintenant accès à cette fonction que nous avons créée. Il est disponible dans ce plan et dans tout autre plan. Fossa, cliquez dessus, nous pouvons voir quoi ressemble notre fonction actuellement. Il prend un fil d'exécution côté entrée, il peut en sortir un. Cela peut prendre un acteur, cela peut prendre un matériau, et il peut indiquer si nous réussissons ou non à changer le matériau sur un acteur d'entrée L'acteur y reviendra dans un petit moment. Mais pour l'instant, supprimez-le. Nous allons passer à notre onglet de fenêtre d'affichage, et nous allons ajouter un nouveau composant ici. Alors allons-y et sélectionnons notre composant capsule. Et en dessous, nous allons ajouter un composant. Et nous allons ajouter un collisionneur de sphères, collision de sphères. Maintenant, cela va agir comme une sorte de main invisible, si vous voulez. Je vais donc lui donner un nom et l'appeler main simulée. Et je vais le mettre un peu devant notre personnage. Je vais donc changer l'emplacement x pour qu'il soit, disons 60. Et je vais changer l' échelle de manière universelle en X, Y et Z 2,5, quelque chose d'un peu plus petit parce qu'elle est attachée à notre composante catholique. Lorsque nous faisons pivoter notre personnage, celui-ci tournera également. Ce que nous allons faire, c'est vérifier si cela chevauche quelque chose, puis nous allons changer tout ce qui se chevauche, ce qui sera, s'il se chevauche, un chaise, nous allons transformer ce maillage statique en une action en or. Nous allons changer le matériau de ce maillage statique. Une autre propriété que je souhaite configurer ici se trouve dans la section de rendu, je veux décocher la case Caché dans les jeux afin que nous puissions voir où cela se trouve dans le monde. D'accord, donc une fois tout cela configuré, nous pouvons le sauvegarder , revenir à votre niveau ici. Nous allons placer des maillages statiques dans notre niveau. Maintenant, j'en ai quelques unes en tête dans le dossier de contenu de l' agitateur. Vraiment, toutes les mesures statiques suffiront. Mais sous le dossier Props, je vais placer une chaise un peu autour. Je vais placer l'un de ces gars qui roule un peu et je vais placer, diriez-vous d'un cylindre de base C. Nous pouvons en trouver un en dessous, ou l'onglet Place des acteurs, mais je suis va venir juste en dessous de ces formes. Faisons un cylindre. Et je vais juste l' augmenter un peu comme ça. Une fois les trois sélectionnés, je vais maintenir la touche Ctrl enfoncée et cliquer avec le bouton gauche de la souris. donc tous les trois sélectionnés. Je veux définir quelque chose dans chacun d' eux, c'est-à-dire m'assurer qu' ils génèrent des événements de chevauchement afin que nous puissions détecter que nous les chevauchons avec notre main simulée entre guillemets. Donc, avec tous ceux sélectionnés, je peux simplement taper dans la barre de recherche ici. jute Ce que je cherche, c'est générer des événements qui se chevauchent. Alors allez-y et vérifiez cela à nouveau, assurez-vous que vous avez sélectionné les trois. Ensuite, ce que nous allons faire, c'est entrer dans notre plan de personnage à la troisième personne. Alors, retournez là-bas. Personnage à la troisième personne, rendez-vous sur le graphique des événements. Et nous voulons faire quelque chose, mais notre main simulée se chevauche, alors trouvez un espace vide. Une fois votre main simulée sélectionnée ici, vous pouvez cliquer dessus avec le bouton droit de la souris. Nous allons ajouter un événement lorsque nous commencerons à superposer ce composant. Je vais regarder notre graphique plus bas parce qu'il le veut, c'est très bien. Donc, ce que nous allons faire, c'est sortir de notre autre acteur, nous allons traîner et changer le matériau du maillage. Et je peux simplement saisir le changement ou commencer à taper le changement. Et il est assez intelligent pour savoir que, hé, essayez-vous de trouver cette fonction de matériau maillé qui se trouve dans votre bibliothèque de fonctions. Oui, c'est le cas. Maintenant, notez que cela peut sortir, cette main simulée était quelque chose qui chevauchait ce qu'elle peut produire et un autre acteur. Et dans ce cas , il va générer une référence d'objet acteur. Cette entrée d'acteur sur le matériau du maillage de changement cherche à prendre en compte une référence d'objet acteur. N'est-ce pas pratique ? Nous allons donc détecter s'il chevauche un autre acteur. Ensuite, nous allons changer le matériau. Je vais changer le matériau pour qu'il soit simplement en or. L'or vit dans le contenu des étoiles R. Et ce que nous allons faire ici, c'est ajouter un nœud de branche. Je vais saisir une branche. Sinon, si vous le supprimez et que vous le faites glisser hors d'ici, il s'agit d'une sortie booléenne. Si je tape une branche ici, elle connectera les deux fils en même temps. C'est très pratique. Ensuite, nous allons simplement imprimer une chaîne. Je vais ajouter quelques-uns de ces Control C, Control V. Et ce seront nos scripts. Donc, là-haut, si cela fonctionne, nous allons imprimer à froid. Ici. Nous allons saisir aucun changement. Très bien, allez-y, compilez et sauvegardez ça. Donnons-lui un dramaturge. Donc, en cliquant sur le bouton R plus, je définirai notre objet de débogage comme étant notre ThirdPersonCharacter qui est apparu et je l'étendrai légèrement. D'accord, si je regarde devant mon personnage, il y a cette sphère rouge, c'est ma main simulée. Vous pouvez le voir pivoter, tourner en même temps que mon personnage. Donc, quand je superpose la chaise, vous voyez que cela a changé la matière très gentiment. J'ai changé le matériau là-bas, et notre cylindre l'y change également. C'est une bonne fonction globale, si vous voulez. Nous pouvons l'utiliser dans notre ThirdPersonCharacter ici. Mais montrons également comment vous pouvez l'utiliser dans votre Level Blueprint. Car après tout, quel est l'intérêt de créer une bibliothèque de fonctions si vous ne pouvez pas accéder aux fonctions qu'elle contient de n'importe où. Revenez à notre onglet de carte des tests de niveau juste ici. Ouvrons le Level Blueprint et je vais juste introduire une touche de saisie. N'importe quelle touche de saisie le fera. Je fais un clic droit sur un espace vide. Essayons la touche 7. Et il pensera que j' utilise la touche sept pour autre chose, je le sais ? Au fait, si vous cliquez sous votre pelouse ici et que vous l' étendez vers l'extérieur, cela vous montrera quels sont les différents événements que vous avez à faire. Donc, pour la clé à sept, je vais sortir d'ici, rechercher un matériau de maillage de rechange. Et encore une fois, parce que cette fonction existe dans notre bibliothèque de fonctions créée et que nous pouvons la trouver dans le Level Blueprint. Bien sûr. Et je dois fournir un acteur ici. Choisissons donc l' un de nos acteurs. Je vais m' assurer que mon cylindre est sélectionné ici. Revenir dans mon plan de niveau, maintenant le clic gauche enfoncé. Branchons-le là. Et je vais changer le matériau ici. Allons à Cobblestone. Quelque chose de pavé. Bien, compilez, enregistrez. Jouons. Réglez notre objet de débogage à notre niveau. Ramenez notre carte. Et bien sûr, je peux les toucher. Ils vont quand même changer l'or. Maintenant, si je touche le cylindre ici, il deviendra doré parce que c'est tout ce qui est configuré dans mon plan de personnage. Mais si j'appuie sur la touche 7 ici, nous pouvons voir que nous allons le transformer en pavés. C'est donc une excellente fonction globale que nous y avons créée. Très bien, terminons cette vidéo en parlant des avantages et des inconvénients des fonctions d' une bibliothèque de fonctions. Eh bien, les avantages incluent que vous pouvez accéder à cette fonction depuis n'importe quel plan. C'est un excellent gain de temps. Si c'est une fonction que vous pouvez utiliser à de nombreux endroits, vous savez, vous n'avez pas à écrire le même script à plusieurs endroits, plusieurs fois, ce genre de choses. Maintenant, les inconvénients incluent le fait d'avoir plus de mal à référencer des données spécifiques au plan, par exemple mon plan de personnage à la troisième personne. Si j'ajoute une fonction, par exemple peut-être une fonction de santé de modification qui dépendait beaucoup de certaines variables et vivait à l'intérieur d'ici. Eh bien, ce type de fonction sera mieux loti dans ce plan spécifique. Ou si j'avais une fonction qui dépendait beaucoup de certains composants d'un plan donné. Cette fonction serait mieux lotie dans une classe Blueprint elle-même plutôt que dans une bibliothèque de fonctions. Très bien les gars, cela va tout faire pour celui-ci dans cette discussion sur les bibliothèques de fonctions. bientôt dans la vidéo suivante. 64. Variables locales: Bienvenue. Dans cette vidéo, notre objectif est de vous familiariser avec le concept de variables locales. Maintenant, dans cette vidéo, nous allons expliquer ce que sont les variables locales, elles diffèrent des variables de classe, comment les créer et les utiliser, et quels types de choses vous devez savoir concernant leur accessibilité dans les plans. Maintenant, dans la dernière vidéo, nous utilisons une variable locale, appelée Success change, une variable locale booléenne. Et j'ai mentionné que nous y reviendrions dans une prochaine vidéo, c'est-à-dire cette future vidéo. Maintenant, notez quelque chose à propos des variables locales. Nous ne pouvons créer des variables locales ici qu' à l'intérieur des fonctions, à l'intérieur de la bibliothèque de fonctions, la bibliothèque de fonctions du plan. Nous ne pouvons pas créer de variables de classe. Nous n'avons qu'une section de variables locales. Alors, de quoi parlons-nous ici ? Variables de classe ou variables locales ? Eh bien, pour faciliter cette discussion, j'ai ouvert mon ThirdPersonCharacter Blueprint. Sautez jusqu'ici. Et si nous regardons dans notre panneau ThirdPersonCharacter Blueprint, nous avons une section sur notre panneau ThirdPersonCharacter Blueprint, les variables. Ce sont des variables qui appartiennent à notre classe de caractères, nous pouvons donc appeler ces variables de classe. Mais vous remarquerez quelque chose ici dans le panneau Mon plan. Nous ne voyons pas variables locales ici dans la bibliothèque de fonctions, nous voyons une catégorie appelée variables locales. Où se trouve-t-il dans un plan de classe, nous ne voyons qu'une section variable. Eh bien, pour voir les variables locales, vous devez sélectionner une fonction ou votre script de construction également. Donc, si je sélectionne ma fonction Modifier la santé ici, double-cliquez dessus pour l'ouvrir. Vous avez peut-être remarqué que dès que je l'ai fait, j'ai maintenant accès à une section de variables locales juste ici. Si je saute dessus, reviens à mon Event Graph. Notez que les variables locales vont disparaître. Il n'y est plus. Très bien, revenons donc à notre fonction de modification de la santé. Très bien, parlons maintenant de certaines des différences entre les variables de classe et les variables locales. Eh bien, pour commencer, lorsque vous créez une variable ici même dans le panneau My Blueprint, vous créez une variable de classe, une variable qui appartient à cette classe parente. Désormais, toute variable que vous souhaitez obtenir ou définir à partir d' un autre plan doit être une variable de classe. Maintenant, pour donner un exemple, disons que dans votre plan de niveau, vous avez fait référence à votre vous avez fait référence à ThirdPersonCharacter et que vous vouliez modifier la variable de santé de votre personnage à la troisième personne. Peut-être qu'il y a une zone dans le niveau qui inflige dégâts ou soigne le ThirdPersonCharacter. Eh bien, dans ce cas, pour accéder à notre ThirdPersonCharacter il y a une variable de santé depuis l'intérieur du Level Blueprint. Vous devez vous assurer que cette variable de santé existe en tant que variable de classe. Désormais, les variables locales peuvent être créées à l'intérieur d'un graphe de fonctions. Les variables locales ne sont visibles que par la fonction dans laquelle elles ont été créées et non par les autres fonctions ou par le graphe d'événements. Maintenant, créons-en une ici à l'intérieur de notre fonction de modification d'une santé. Maintenant, je pourrais en créer un en cliquant sur ce bouton plus juste ici, dans la catégorie des variables locales. Cependant, je vais en créer un en cliquant avec le bouton droit sur une épingle. Tant que vous essayez de passer à une variable à l'intérieur d'une fonction, vous avez la possibilité de passer à une variable locale. Je vais donc cliquer avec le bouton droit de la souris juste ici sous mon flotteur de serrage Tmax. Et en cliquant avec le bouton droit de la souris, nous allons passer à une variable locale qui une variable locale qui créera cette variable juste ici. Appelons cela ma santé maximale. Et ce que vous remarquerez maintenant, c'est que cette variable locale n' existe dans aucun autre graphe de fonctions ici, si je vais dans la fonction fx endommagée de mon lecteur, en double-cliquant sur cette locale La variable est introuvable. De même, si je devais cliquer avec le bouton droit sur la fonction endommagée de ce joueur et que je recherchais la santé maximale. Il n'est pas disponible ici. Si je consulte mon graphique d'événements et que je le cherche, je ne vois aucune variable locale ici et soit je clique avec le bouton droit de la souris, max, la santé n'est pas là aussi. En fait, si je désactive l' option contextuelle, elle ne s'affiche pas. Cette variable de santé maximale au sein de la fonction Maya modify health est locale uniquement pour cette fonction. Et si vous ne la voyez plus ici, vous pouvez cliquer sur cette petite flèche déroulante et elle vous indiquera où elle se trouve. Encore une fois. À ce stade, vous vous demandez peut-être quel est l'intérêt des variables locales. Pourquoi en ai-je même besoin ? Pourquoi puis-je créer toutes les variables de classe et utiliser ces variables locales aider à réduire l'encombrement pour les éléments qui ne sont pertinents que dans le contexte d'une fonction. Vous ne voulez pas remplir une longue liste de variables de classe ici alors certaines ne sont en fait nécessaires que dans une fonction donnée. C'est pourquoi, pour des raisons d'organisation, il est judicieux de simplement créer une variable locale pour garder les choses propres et nettes. Deuxièmement, cela permet également de se prémunir contre vos propres erreurs. J'ai deux variables ici. J'ai une santé et une santé maximale très similaires. Maintenant, je veux peut-être m' assurer que, hé, je ne pourrai jamais modifier ma santé maximale. Il ne sera accessible que depuis cette fonction. Eh bien, c'est un bon candidat pour la transformer en variable locale afin de m'assurer que je ne modifie pas accidentellement cette variable depuis un autre plan. Très bien, montrons cela un peu plus loin en créant une toute nouvelle fonction pour commencer ici dans notre ThirdPersonCharacter. Donc, dans la catégorie des fonctions, nous allons ajouter une nouvelle fonction. Je vais appeler cela Turbo Run, qui fera exactement ce que vous pensez qu'il va faire. Maintenant, à l'intérieur, nous allons faire référence à notre composante de mouvement des personnages. Dans notre composant de mouvement des personnages, nous avons accès à un paramètre appelé vitesse de marche maximale. Nous voulons faire quelque chose avec notre vitesse de marche maximale. Il s' assèche donc ici et cela fait référence à notre vitesse de marche maximale. Nous allons obtenir cette valeur, qui par défaut commence ici à 500. Ensuite, ce que nous allons faire, c'est faire glisser un ici, appuyer sur le bouton plus, nous allons y ajouter quelque chose. Ensuite, nous allons définir notre vitesse de marche maximale. Donc, en vous éloignant une fois de plus du mouvement de votre personnage, définissez la vitesse de marche maximale. Nous allons y aller comme ça et comme ça. Maintenant, nous voulons ajouter une variable locale afin de déterminer le gain de vitesse que nous voulons donner à notre personnage lors d'une course terrible. Voilà ce que je vais faire. Je vais ajouter de la valeur ici, dans les années 2000. Ensuite, je vais cliquer avec le bouton droit sur cette épingle. Nous allons en faire une variable locale, donc nous allons la promouvoir. Et nous allons voir cela peuplé ici. Donnons-lui un nom appelé turbo speed boost. Et maintenant, vous pouvez voir que, parce que nous l'avons promu avec cette valeur déjà définie, il va également définir cette valeur directement ici. C'est donc une petite astuce pratique que j'aime beaucoup. Très bien, compilons ça. Assurez-vous que tout cela ressemble à Skippy. Passons ensuite à notre graphique des événements. Et je vais trouver un espace vide ici. Et nous allons introduire un événement d'entrée. Voyons ce que nous avons à disposition ici. Maintenant, nous avons accès à beaucoup de choses différentes. Je vais cliquer avec le bouton droit. Nous allons utiliser les deux clés. Bien sûr. Faisons la saisie ou saisissons le clavier juste là. J'apporte deux clés. dehors de cela, nous allons glisser-déposer notre exécution du terminal. Et si nous relâchons la clé, ce que nous voulons faire, c'est intégrer notre composante de mouvement des personnages de cette manière. Ensuite, nous allons partir d'ici, faire un autre set, maximum, vitesse de marche. N'oubliez pas que la valeur par défaut était 500, donc redéfinissons-la à 500 dès que nous relâcherons les deux touches. Ce sera donc notre script Turbo Run. Remarquez donc qu'il y a une fonction d' exécution terrible ici. Il contient cette variable locale. On peut double-cliquer dessus accéder à cette fonction. Nous avons obtenu cette vitesse turbo, ce boost, cette variable locale. Très bien, maintenant allons-y et jouons à ça. Je vais compiler ici, enregistrer et jouer, configurer notre débogage. Objectez à notre ThirdPersonCharacter. Nous pouvons très bien courir partout en beauté. Cependant, lorsque j' appuie sur les deux touches, nous zoomons très bien. Nous sommes nuls en train de courir, je le relâche et je ralentis. Pour résumer ici, vous pouvez rechercher et trouver des variables locales à partir du graphique où elles ont été créées. C'est terrible. Ici nous pourrions rechercher et trouver cette variable locale. Vous ne pouvez pas rechercher et trouver de variables locales dans le graphe d'événements du plan dans lequel elles ont été créées. Donc, dans le graphe des événements ici, nous ne pouvons pas trouver cette variable locale. Vous ne pouvez pas non plus rechercher et trouver cette variable locale qui est la variable locale turbo run ici. Vous ne pouvez pas trouver que si vous le recherchez dans une autre boucle, un autre plan, même si vous avez une référence à notre ThirdPersonCharacter ici, vous ne pouvez pas trouver de référence à cela. Maintenant, une dernière remarque sur les variables de classe. Il convient de noter que si vous cliquez sur le bouton des valeurs par défaut de cette classe à l'intérieur de n'importe quel Blueprint. Vous avez accès à n'importe quelle classe Blueprint, désolé, pas aux paramètres de classe, classe par défaut. Vous avez accès à toutes vos différentes variables de classe. Les voici juste à côté du panneau Mon plan. santé peut bondir, etc. Dans notre panneau de détails, nous pouvons également les trouver tous ici. Notez que si vous deviez le modifier ici, disons que nous devions changer notre état de santé de dix à 100, disons, Entrez. Et maintenant, je devais sélectionner ma variable de santé ici. Il va mettre à jour cette valeur par défaut. Peu importe où vous le modifiez. Vous pouvez modifier les valeurs de vos variables à partir d'ici ou dans la section des valeurs par défaut de la classe je voudrais le souligner également, n'est-ce pas ? Ça suffira pour cette vidéo. Rendez-vous dans la prochaine. 65. Fonctions Choses à savoir: Bon retour. Dans cette vidéo, notre objectif est de vous présenter de très bonnes choses à savoir sur l'utilisation des fonctions. Ce sont des choses qui ne justifiaient pas nécessairement une vidéo complète, mais qui devraient certainement être abordées lors de la discussion sur le sujet des fonctions. Pour cette vidéo, je vais ouvrir une variété de plans, des plans de niveau ThirdPersonCharacter, etc. Je vais donc commencer par mon contenu ThirdPersonCharacter Blueprint, plans à la troisième personne. La première chose que nous allons aborder ici est de savoir comment déboguer une fonction. Maintenant, ce sera quelque chose auquel je consacrerai un module entier plus tard dans le cours , mais cela mérite également d'être mentionné ici. J'ai donc ici un script très simple. Quand j'appuie sur les deux touches, je vais faire mal tourner mon personnage. Et quand je le relâcherai, je retrouverai ma vitesse de déplacement normale. Vous pouvez maintenant voir que j'ai ajouté un commentaire sur ce nœud en cliquant avec le bouton droit de la souris et en ajoutant un commentaire sur le nœud Si j'appuie sur F9, F9 agit comme une bascule ici et vous pouvez voir comment cela modifie cette infobulle. Je peux ajouter ce que l'on appelle un point d'arrêt qui permettra au code de s'arrêter ici même à ce stade, dès que nous aurons atteint ce point de la chaîne d'exécution. Vous pouvez donc imaginer que si vous aviez tout un tas de nœuds connectés ensemble, cela bloquerait le jeu dès que vous atteindrez ce point. Maintenant, pourquoi voudrais-tu faire ça ? Eh bien, parfois, vous pouvez avoir des conséquences inattendues dans vos scripts. Il se passe quelque chose que tu n'avais pas intention de faire, peu importe. Et vous devez geler le jeu, parcourir le code, parcourir votre script pour découvrir ce qui se passe. C'est l'utilisation d'un point d'arrêt. Et je vais juste vous montrer brièvement comment cela peut geler votre jeu. Je vais donc appuyer sur le bouton de lecture ici. Remarquez que j'ai mes points de rupture ici. Vous pouvez également cliquer avec le bouton droit et supprimer un point d'arrêt, désactiver un point ou activer ou désactiver ce point d'arrêt, l' activer ou le désactiver. On y va. Planète. Je vais définir mon objet de débogage comme étant mon ThirdPersonCharacter et les ramener sur ma fenêtre de jeu. Donc dès que j' appuierai sur les deux touches, je passerai immédiatement à ce script et je bloquerai le jeu ici. À partir de là, avec ce nœud sélectionné et vous pouvez voir cette flèche rouge géante qui ressemble à «  oui, c'est le gars que nous essayons de sélectionner ». Vous avez ici une série de boutons qui vous permettent de décider de ce que vous souhaitez faire. À partir de là, vous pouvez localiser le nœud actuellement actif, ce qu'il est actuellement. On peut entrer dans ce nœud et ça va me faire entrer dans la fonction elle-même. Revenons-en à mon graphique d'événements. Je pourrais me déplacer, ce qui signifie que si j'avais plus de nœuds ici, cela pourrait m'empêcher de passer au suivant. Et puis celui-ci doit sortir de ce nœud pour être exécuté dans le graphe parent. Encore une fois, j'ai toute une section de vidéos à venir dont nous parlerons, mais les points d'arrêt, vous pouvez les ajouter à n'importe quel nœud. Je vais arrêter cette année en cliquant simplement sur le nœud et en activant et en désactivant avec la touche F9. Bien, ensuite, pour toutes les fonctions que vous avez créées dans le panneau Détails, vous pouvez ajouter des mots clés. Et ce que cela vous permet de faire, c'est que lorsque vous cliquez avec le bouton droit sur un espace vide ici, si vous recherchez l'un de vos mots clés ici, il trouvera la fonction que vous recherchez. Nous pourrions donc faire quelque chose de loufoque ici. Je vais ajouter des mots clés ici tels que le violet. Et je vais les séparer avec un lave-vaisselle à virgule. Et si tu comprends cette blague et d'où elle vient, je te retire mon chapeau. Compiler et enregistrer Et maintenant, si vous faites une recherche en cliquant avec le bouton droit sur le violet, il trouve une fonction terrible. Monkey, trouve cette fonction ainsi que le lave-vaisselle. Je tape juste un plat et il le trouve déjà. Maintenant, notez que cela fonctionne non seulement dans le plan dans lequel cette fonction a été créée, mais si je passe à mon niveau de test du plan au niveau de la carte, tant que vous avez une référence à ce plan ici, Je peux parler à mon ThirdPersonCharacter Blueprint. Je peux sortir d'ici. Tapez en violet, trouve cette fonction singe ou lave-vaisselle. Alors, tu y vas. Mots clés. C'est ainsi que vous pouvez trouver une fonction à l'aide du ou des mots clés de votre choix. Ensuite, explorons ce champ de titre de nœud compact que vous avez à votre disposition pour toutes les fonctions que vous avez créées. Cela vous permet de simplifier un peu votre Node. Je ne l'utilise pas beaucoup, mais peut-être que certains d'entre vous aimeront travailler de cette façon. Je vais donc changer le titre de mon nœud ici pour qu' il ne s'agisse pas d'effets endommagés par les joueurs. Je vais le simplifier et simplement ajouter les effets du lecteur. Et dès que j'aurai appuyé sur Entrée, ce titre sera terminé, ainsi que toutes ces épinglettes. Nous y voilà, en appuyant sur Entrée. Vous pouvez voir maintenant que j'ai réduit ce nœud dans une version simplifiée. Player Effects est désormais le titre compact du nœud. Et toutes ces étiquettes à épingles ont disparu. Maintenant, vous pouvez toujours voir quels types de données ces épingles recherchent en passant simplement la souris dessus. Il s'agira de rechercher respectivement un objet, un vecteur et un élément récepteur. Certains d'entre vous préféreront peut-être travailler de cette façon. Je ne le sais pas, mais je pensais qu'il le jetterait de toute façon. Ensuite, je voudrais parler de ce que fait ce champ de spécificateur d'accès pour une fonction que nous avons créée. Cependant, pour ce faire, je dois créer une classe enfant de notre ThirdPersonCharacter ici afin de vraiment rendre justice à cette justice. Maintenant, l'héritage de classe est un sujet que j' aborderai plus tard dans le cours. Cependant, encore une fois, pour montrer ce spécificateur d'accès, je dois le faire maintenant. Donc, de retour dans mon navigateur de contenu, je vais cliquer avec le bouton droit sur mon ThirdPersonCharacter et je vais créer une classe Child Blueprint. Et je vais laisser ce nom en appuyant simplement sur Entrée. Et ce que je vais ensuite faire, c'est retourner dans mon ThirdPersonCharacter et parler de ce spécificateur d'accès. Nous avons donc trois paramètres différents ici : public, protégé et privé. Cela permet donc de déterminer quels plans peuvent accéder à une fonction. Dans ce cas, notre fonction de santé modifiée, publique, est le paramètre par défaut. N'importe quel autre objet peut appeler cette fonction tant que nous y faisons référence, ce qui signifie que je peux utiliser cette fonction de modification de la santé ici dans ce plan que nous avons créé avec lui. Je pourrais également y accéder à nouveau depuis notre Level Blueprint, tant que vous avez une référence à votre ThirdPersonCharacter, je peux trouver mon Dieu, si phi health est là. Revenir à mon ThirdPersonCharacter. Changeons maintenant r, modifions la santé d'un public trop protégé. Cela signifie que la fonction ne peut être appelée que par le plan actuel, c'est-à-dire notre ThirdPersonCharacter Blueprint, ainsi que par tous les plans dérivés du plan actuel. Alors je peux le trouver ici ? Oui, je peux glisser-déposer. Je peux y accéder. Utilisez-le là-bas. Si je passe à mon enfant ThirdPersonCharacter, que je saute sur le graphique des événements, que je clique avec le bouton droit de la souris et que je fais une recherche pour modifier la santé. Il y a cette fonction. Je peux le trouver ici aussi. Cela montre que notre classe mère ici est notre bp ThirdPersonCharacter. Donc oui, vous pouvez l'utiliser dans le plan d'origine que vous avez créé. Vous l'avez créé dans ou dans la classe pour enfants. Enfin, revenons à notre bp ThirdPersonCharacter. Sélectionnez notre option Modifier la santé. Et changeons cela de protégé à privé. Cela signifie que la fonction ne peut être appelée que depuis le plan actuel. Donc oui, je pourrais le glisser-déposer ici. Je pourrais appeler cette fonction. Cependant, si je devais accéder à ma carte de test de niveau, traînée hors d'ici, faire une recherche sur MOD if phi health, je ne trouverais que cette fonction pure. Parce que si je regarde en arrière dans mon ThirdPersonCharacter, souvenez-vous que j'ai actuellement deux versions de la fonction Modify health. Le fichier Modify Health Pure est actuellement configuré pour accéder au spécificateur public, ce qui signifie que je peux le trouver dans le Level Blueprint. Cependant, modifier la santé est actuellement étiqueté comme privé, ce qui signifie que je ne le trouve pas ici. Modifier la santé ? Nan. Maintenant, si je passe au plan de mon enfant, vous pouvez voir qu'il est toujours disponible et c' est parce qu'il était toujours là avant que je change ce spécificateur d'accès en privé. Cependant, si je devais retourner dans mon enfant, supprimez-le, cliquez avec le bouton droit de la souris, faites une recherche pour modifier la santé. Je ne le trouve plus. Donc, juste un petit bout de table là aussi. Donc, le spécificateur d'accès, vous avez le public, le protégé et le privé. Maintenant, je vais vous montrer ce que fait cette case à cocher Call in editor. Mais pour ce faire, je vais créer une toute nouvelle fonction ici. Je vais cliquer sur ce bouton Plus. Et je vais appeler ça mon Super Jump. À l'intérieur de cette fonction que je suis en train de créer. Je vais juste faire glisser le caractère de type In Launch. Et la seule chose que je vais faire ici est de changer notre vitesse Z pour qu'elle soit de 2000. Vous remarquerez maintenant que notre fonction ici est identique à cette fonction de personnage de lancement elle-même. Mais pour montrer cet appel dans la case à cocher de l'éditeur, je voulais faire quelque chose de super simple. Donc, une fois cette fonction créée, sélectionnez-la et cliquez sur cette case à cocher Appel dans l'éditeur, ce que cela nous permet de faire, Compiler et enregistrer ici également. Revenons à notre éditeur de niveaux. Je vais m'en assurer avec mes trois points sélectionnés ici. Je vais jouer dans une fenêtre sélectionnée. Je vais cliquer sur Play. Maintenant, je joue dans la fenêtre d'affichage que j'ai sélectionnée. Je vais sélectionner mon ThirdPersonCharacter. Et je pourrais faire une recherche pour Super Jump. Et nous pouvons voir que dans la catégorie par défaut, j'ai ce super bouton de saut. Si je clique dessus, il appellera simplement cette fonction. Vous remarquerez maintenant que dans le BP ThirdPersonCharacter lui-même, je n'ai créé que cette fonction. Je n'ai pas de touche de saisie pour appeler cette fonction, mais c'est un excellent moyen de simplement tester la fonctionnalité sans aucune touche de saisie ou quoi que ce soit de ce genre. Vous pouvez simplement le tester pour voir immédiatement ce qu'il fait. Maintenant, il y a un petit problème que vous devez connaître, et c'est-à-dire. Notez que mon Super Jump, laisse-moi arrêter de jouer ici. Notez que ma fonction ici n'a pas d' entrées ou de sorties. Si je devais sélectionner quelque chose comme les effets endommagés du joueur, vous pouvez voir que j' ai quelques entrées ici. Je n'ai aucune sortie sur celui-ci, mais je pourrais retourner quelque chose. Cliquons dessus et revenons. Et nous pourrions renvoyer l'émetteur de spawn attaché. Nous allons le glisser-déposer là comme ça. Maintenant, si je devais prendre la fonction d'effet des dégâts de mon joueur, je vais cliquer sur cet appel, l' éditeur, la case à cocher, la compilation, la sauvegarde. Retournons ici et jouons. Pour sélectionner mon ThirdPersonCharacter, faites défiler l'écran vers le bas. Je vais retrouver ces boutons , et c'est parti. Dans la catégorie par défaut, je peux trouver mon bouton Super Jump Call Editor. Cependant, je ne trouve pas le même bouton pour les effets de dégâts du joueur même si cette case est cochée. Maintenant, pourquoi ça ? Eh bien, je ne connais pas la réponse exacte à cela, mais je suppose qu'il serait assez difficile d'appeler manuellement une fonction qui dépend de certaines données qui doivent être entrées dans la fonction lui-même afin de fonctionner correctement. Maintenant, je tiens à souligner que pour toutes les fonctions que vous avez créées dans le panneau Mon plan, si vous cliquez dessus avec le bouton droit de la souris, vous avez la possibilité de convertir la fonction en événement. Qu'est-ce que ça veut dire au juste ? Eh bien, plongeons-nous dans notre terrible course, une fonction ici. Et je peux le faire en double-cliquant dessus. Cela ouvrira ce graphe de fonctions. Et remarquez que cette fonction prend simplement la vitesse de marche maximale de mes personnages, c'est à quelle vitesse ils se déplacent. Il va y ajouter un petit booster et l'ajouter pour créer notre nouvelle vitesse de marche, notre nouvelle vitesse de déplacement. Alors remarquez cette configuration ici. Je vais revenir à mon graphique d'événements. Et ce que je vais faire, c'est cliquer avec le bouton droit sur mon terminal, exécuter une fonction. Nous allons convertir cela en événement. Et quand je le ferai, il va essentiellement sortir tout code qui se trouvait à l'intérieur de cette fonction qui a modifié mes caractères, max, marche, vitesse, et partout dans le graphe des événements lui-même. Maintenant, remarquez que notre terrible fonction d' exécution n' existe plus ici, dans notre zone de fonctions. Au lieu de cela, nous voyons un événement personnalisé appelé turbo run, du même nom. Il faut maintenant l'appeler pour que ce script puisse s'exécuter. Donc, quelque chose à souligner ici, vous ne pouvez pas le faire si la fonction possède des sorties. Et par là, je veux dire que nous allons double-cliquer sur notre fonction de modification de la santé ici. Cette fonction possède une sortie. Donc, si j'essaie de cliquer dessus avec le bouton droit de la souris, en convertissant cette fonction en événement, vous recevrez un avertissement disant que vous ne pouvez pas le faire. J'ai donc pensé que je pourrais le souligner pendant que nous sommes ici également. Maintenant, pourquoi ferais-tu quelque chose comme ça ? Pourquoi convertir l' une de vos fonctions en événement ? Eh bien, il est peut-être plus facile pour vous de lire votre script de cette manière éclatée. Ou peut-être avez-vous décidé qu'il était préférable de le faire sous la forme d'un script unique plutôt que d'une fonction que vous pourriez vous imaginer vouloir utiliser à plusieurs endroits. Maintenant, encore quelques choses ici. terminer cette vidéo. N'oubliez pas que vous devez compiler, c'est-à-dire appuyer sur ce bouton juste ici. Vous devez compiler pour accéder à de nouvelles fonctions à partir d'autres plans. Si vous avez ajouté une nouvelle fonction ici, vous en avez créé une nouvelle et vous vouliez y accéder depuis, par exemple, votre Level Blueprint. Vous devez d'abord compiler avant de pouvoir le faire. Une autre chose qui mérite d'être mentionnée ici est que vous pouvez avoir fonctions à l'intérieur d'autres fonctions que vous créez. Je l'ai donc montré ici en ayant une fonction que j'ai créée appelée Super jump et en ayant cette fonction à l'intérieur de cette fonction. Enfin et surtout, pour les fonctions, vous ne pouvez pas avoir de nœuds latents à l'intérieur. Et par là, je veux dire, je parle de nœuds de retard qui cliquent avec le bouton droit de la souris. Et je vais juste faire une recherche sur le retard ici. Je n'arrive même pas à l'ajouter ici. Toutefois, dans le graphe d'événements, vous cliquez avec le bouton droit sur delay. Vous pouvez trouver un délai ou un délai récupérable. Vous ne pouvez pas non plus ajouter de nœud connu sous le nom de nœud de chronologie. Des choses tellement importantes à retenir pour les fonctions, n' est-ce pas les gars, ça va tout faire pour cette vidéo. De bonnes choses à savoir. Nous vous verrons dans la prochaine. 66. Aperçu des macros: Très bien, au cours des prochaines vidéos, nous allons porter notre attention sur le sujet des macros. Et plus précisément, dans cette vidéo, nos objectifs sont d'apprendre ce que sont les macros expliquer en quoi elles sont similaires ou différentes des fonctions. Nous allons également explorer quelques macros préexistantes courantes et la façon dont elles sont construites. Enfin, nous allons parler des endroits où trouver des macros dans les plans. Tout d'abord, qu'est-ce qu'une macro ? Eh bien, une macro est essentiellement une collection de nœuds qui font quelque chose de similaire à une fonction à cet égard. Et j'ai quelques macros juste devant moi, dans mon Level Blueprint. Maintenant, Unreal est livré avec toute une série de macros prêtes à l'emploi que vous pouvez utiliser. À partir des macros standard présentes dans le contenu du moteur, que je vais vous montrer ci-dessous, vous pouvez créer vos propres macros à l'intérieur d'une classe Blueprint, un plan de niveau ou d'une macro de plan bibliothèque. Et encore une fois, dans les prochaines vidéos, nous vous montrerons comment faire tout cela. Alors, tout d'abord, explorons quelques macros courantes. Et comme vous l'avez vu précédemment, vous avez quelques nœuds de macros. L'une est la macro flottante de comparaison, l'autre est dedans, est une macro valide. y a tout juste un instant, j'ai mentionné qu'une macro est essentiellement une collection de nœuds qui font quelque chose de similaire à une fonction. Et nous pouvons le voir en double-cliquant sur l'une de nos macros ici. Et je vais simplement double-cliquer sur comparer float ici. Ce faisant, je vais ouvrir un nouvel onglet appelé Macros standard. Il s'agit d'une bibliothèque de macros composée d' un ensemble de macros qui existent déjà ici dans Unreal. Et notez que nous avons également ouvert un onglet de comparaison Float dans cette bibliothèque de macros. Et cela montre tous les nœuds connectés ensemble pour créer cette macro de comparaison flottante. Sur le côté droit, nous pouvons voir que si nous sélectionnons notre entrée ici, nous pouvons voir que ce flottant de comparaison de macros appartient à la catégorie des nombres flottants mathématiques. Donc, si je devais explorer notre collection de macros, math float, nous pouvons voir qu'il y a notre macro flottante de comparaison. Vous pouvez maintenant les développer tous pour voir toutes les différentes macros qui existent dans cette bibliothèque de macros. Maintenant, si je fais remarquer cela, c'est parce que si je devais revenir à mon plan de niveau ou à tout autre plan ici. Et il suffit de cliquer avec le bouton droit et de laisser un espace vide et je vais maintenant faire une recherche pour comparer float. Nous pouvons voir que c'est la catégorie dans laquelle se trouve cette macro particulière, la catégorie mathématique flottante telle que spécifiée ici. Chariot mathématique. Passons maintenant rapidement à quelques similitudes et différences entre les macros et les fonctions . Donc, en commençant par les similitudes, les deux macros des fonctions gagner du temps car elles peuvent stocker des séquences de nœuds couramment utilisées avec des entrées et des sorties pour l'exécution et le transfert de données. Ainsi, au lieu de placer cette séquence de nœuds à plusieurs endroits de votre graphe, vous pouvez simplement créer une seule macro ou une fonction peut faire de même. Et cela vous fera gagner du temps car vous condensez ces nœuds en similitudes les uns avec les autres. Vous pouvez modifier la fonctionnalité d' une macro ou d'une fonction à un endroit central, un graphique. Ici, nous avons notre propre graphique de comparaison. Vous pouvez modifier la fonctionnalité ici et les modifications seront répercutées sur n'importe quelle autre macro que vous avez placée dans un autre plan. Une autre similitude est qu'ils sont réutilisables. Vous pouvez réutiliser cette macro dans de nombreux autres plans. Vous pouvez l'avoir dans plusieurs plans. Vous pouvez utiliser la même macro dans le même plan. De plus, les macros et les fonctions autorisent les variables locales et nous avons une vidéo complète sur les variables locales. Mais essentiellement, une variable locale est une variable qui est simplement référencée et utilisée par cette fonction individuelle, ou dans ce cas une macro. Maintenant, la différence est que les macros peuvent avoir plusieurs pins d'exécution en entrée et en sortie. Et nous pouvons le voir ici dans notre macro flottante de comparaison. Si je sélectionne ce nœud d'entrée ici, vérifiez-le. Nous avons une entrée d'exécution, mais nous avons trois broches de sortie d'exécution. Et si cela ne ressort pas assez clairement de nos entrées et sorties, revenons sur le nœud final, dans notre Level Blueprint, jetez-y revenons sur le nœud final, un coup d'œil. Nous avons une entrée d'exécution et trois sorties. Maintenant, vous pouvez les nommer d'ailleurs. Donc, si je reviens à nos macros standard ici, vous pouvez saisir le nom qui n'a pas à être exact. Vous pouvez le mettre sous forme de symbole, symboles et de lettres, tout ce que vous voulez y mettre. Une autre différence, et c'est la clé, c'est que les macros qi peuvent contenir des nœuds latents alors que les fonctions ne le peuvent pas. Donc, quand je parle d'ici, encore une fois , pour revenir à mon plan de niveau, laissez-moi simplement faire défiler la page vers la droite. Je suis juste dans mon graphe d'événements, donc je ne suis pas dans un graphe de macros ou de fonctions en lui-même. Ces types de nœuds se trouvent ici, nœuds latents, ceux avec cette petite icône d'horloge. Si je passe la souris sur ce nœud, cette fonction de retard, il est même indiqué dans l'info-bulle tout en haut qu'il s'agit d'un nœud latent. C'est ce que signifie cette icône d' horloge. Il s'agit d'un nœud sensible au facteur temps. N'importe quel nœud tardif comme celui-ci, ou un nœud de chronologie. ce qui concerne le temps, vous ne pouvez pas les placer dans des fonctions. Cependant, les macros, ça va. Enfin, les macros ne peuvent pas être appelées à partir d'autres plans. Comme une fonction peut le faire. Juste pour le démontrer rapidement. Si je devais entrer dans mon personnage à la troisième personne ici, je vais simplement créer une macro temporaire rapide. Je vais appeler ça mon intérimaire. Je vais l'appeler macro temp. Que diriez-vous de cette température macro ? Je vais compiler ceci. Et puis, dans mon Level Blueprint, si je trouve que j'ai mes quatre touches, si je devais traîner hors de cela et que je fais une recherche de macro maintenant, je ne la trouve pas. Je ne le trouve pas, alors que je pourrais trouver quelque chose comme ma fonction de super saut. Super saut. Ça y est. Vous ne pouvez donc pas appeler des macros qui se trouvent dans un autre plan à partir d'un autre plan. Bien, alors où pouvez-vous tous trouver des macros dans Unreal ? Eh bien, il existe une bibliothèque de macros ici. Nous avons nos macros standard. Eh bien, où est-ce que cela existe dans notre navigateur de contenu ? Si je reviens à notre onglet de niveau ici, vous devez vous assurer que contenu de votre moteur d'émission est vérifié ici. Et je viens de passer sous Paramètres Afficher le contenu du moteur. Et voici le chemin vers le dossier de du plan de l' éditeur de contenu ressources du plan de l' éditeur de contenu intégral de l'éditeur de contenu. Et voici vos macros standard. Et vous pouvez voir dans l' infobulle que le type de plan est une bibliothèque de macros. En double-cliquant dessus, il va simplement revenir dans cet onglet. Voici toute une série de macros différentes qui sont disponibles à partir de n'importe quel plan. Où pouvez-vous trouver d'autres macros ? Eh bien, j'en ai quelques-uns disponibles ici dans mon Level Blueprint. Si je saute sur le graphique de mes types de nœuds dans les yeux, zoome sur mes nœuds de contrôle de flux ici. Ce sont tous des nœuds de contrôle de flux. Nous allons consacrer toute une section du cours aux prêts de contrôle des flux, mais ce sont toutes des macros. Vous remarquerez donc que les macros ont cet en-tête gris. C'est un moyen simple d'identifier une macro. Il a cet en-tête gris. Et juste pour prouver que ce sont des macros, si je double-clique sur l'une d'entre elles, permettez-moi de double-cliquer sur ma porte ici. Qu'est-ce que tu sais ? Cela me ramène à mes macros standard. Il s'agit en effet d'une macro. Que pouvons-nous trouver d'autre pour les macros ? Eh bien, vous pouvez créer vos propres macros, et je peux le montrer ici dans notre ThirdPersonCharacter. Nous avons créé une macro temporaire. Bien sûr, il est vide pour le moment, mais il contient une section pour les macros Level Blueprint. Il contient une section pour les macros afin que vous puissiez les créer ici. N'importe quel autre plan, vous pouvez créer des macros dans lesquelles nous allons faire la vidéo suivante. Alors les gars, cela va tout faire pour celui-ci sur notre aperçu des macros, nous vous verrons dans la prochaine vidéo. 67. Création de macros: Bienvenue. Notre objectif dans cette vidéo est d'apprendre où et comment créer une macro et mieux faire ressortir les différences entre les fonctions et les macros. Nous allons créer notre macro de manière à ce qu'il soit impossible dupliquer une fonction, car nous allons inclure certains nœuds tardifs à l'intérieur de notre macro, en plus d'avoir plusieurs des broches de sortie d'exécution, ce qui, encore une fois , ne peut pas faire. Nous allons travailler ici dans notre bp ThirdPersonCharacter. Voici donc le chemin pour le trouver, ainsi que notre Level Blueprint. Ayez donc ces deux à portée de main. Nous allons commencer dans notre ThirdPersonCharacter. Maintenant, à l'intérieur, il vous suffit de descendre le panneau Mon plan et, dans la section macro, de cliquer sur le bouton Plus. Et nous allons créer une macro appelée on fire. Quel nom génial qui va vous enthousiasmer pour ce qui est à venir. Bien, sélectionnez maintenant votre nœud d'entrée ici. Créez un petit espace entre les deux ici. Et si l'un ou l'autre est sélectionné, je vais ajouter quelques entrées à cela dans le panneau Détails en cliquant sur le bouton plus. Je vais maintenant ajouter une série d'épingles. La première, je vais simplement appeler et appuyer sur Entrée. Nous pouvons maintenant définir le type de broche que nous voulons pour une entrée. Si nous cliquons ici, nous avons un tas de variables parmi lesquelles nous pouvons choisir, ainsi qu'un stylo d'exécution. Vous n'aviez pas cette option dans une fonction. Nous allons en ajouter quelques autres ici. Cliquez donc à nouveau sur ce bouton plus. Nous allons appeler cela un effet, un retard. Et ça va être un char. Et en cliquant à nouveau sur ce bouton plus, cela aura pour effet de retarder. Et puis à nouveau le bouton plus, et nous allons appeler cet effet trois délais. Ce seront des chars. Ensuite, nous allons ajouter quelques sorties ici. Nous allons en ajouter trois. Le premier sera appelé spawn effect one, et il s' agira d'une sortie d'exécution hors pin. Enfin, nous en avons pris deux autres. Ils vont tous les deux être exécutés maintenant aussi. Et ils s'appelleront aussi Control C, Control V, spawn effect. Et effet d'apparition 3. Hein ? Maintenant que cela est fait, mettons les nœuds qui vont se trouver entre les deux, nous n' avons vraiment pas besoin de beaucoup d'espace. Donc, hors de notre épingle, nous allons faire glisser et introduire un nœud de séquence. Ce nœud va sortir de ces broches de manière séquentielle. Nous pouvons ajouter plusieurs épingles ici. J'ai juste besoin d'en ajouter un troisième. Donc, dès que nous en arriverons là, nous allons tirer le premier, le deuxième et le troisième dans une succession si rapide que cela va sembler instantané. Nous allons également ajouter trois nœuds de retard. Ainsi, si vous maintenez la touche D enfoncée et que vous cliquez avec le bouton gauche, vous pouvez retarder les nœuds en maintenant la touche d enfoncée et en cliquant avec le bouton gauche Et nous allons les connecter comme ceci, 12.3. Et l'ampleur du retard vient de l'extérieur de notre macroéconomie. Tout ce qui sera branché sur notre délai ou nous pouvons le configurer directement dans le nœud lui-même. Donc on va y aller comme ça. Et puis, à partir de ces complétions, nous allons les brancher sur nos sorties comme ceci. Donc, une macro très simple, nous allons la prendre en quelques minutes. Nous allons ensuite passer à 12,3 de ces délais de manière séquentielle , puis nous allons sortir. Donc, juste pour montrer à quoi cette macro particulière ressemblera cette macro particulière dans le graphe des événements. Nous allons placer l'un d'entre eux ici, glisser-déposer notre macro. C'est le look final. Donc, cela se traduit ici par un nœud macro, un nœud à tête grise qui ressemble à ceci. Nous avons nos trois broches de sortie. Sont pour les broches de saisie trois flotteurs en une exécution au stylo. Maintenant, il convient de souligner ici que, comme notre macro contient des nœuds de latence, il s'agit de nos nœuds de retard. Nous voyons cette petite icône d'horloge, cette icône latente juste ici, sur la macro elle-même. J'ai pensé que je devais le souligner. Très bien, développons notre script ici, en utilisant notre macro. Je vais donc commencer par un événement personnalisé. Cliquez donc avec le bouton Nous allons créer un événement personnalisé pour rechercher des événements personnalisés, ajouter un événement personnalisé Je vais nommer ce joueur, prendre feu à des points d'exclamation. Et je vais l' intégrer directement à notre macro on Fire. Et maintenant, je pourrais y ajouter des variables flottantes. J'ai apprécié la flexibilité de cette macro à cet égard. Toutefois, pour gagner du temps, je vais simplement saisir quelques chiffres. Je vais le coder en dur si vous voulez. Donc 0,2 sera notre effet de retard. Notre prochain effet sera de 4 s. Dans notre prochain, il sera de 6 s. Donc, je cliquais juste sur la tabulation pour vous faire passer au champ suivant. Ensuite, ce que nous allons faire, c'est à partir de chacun d' eux que nous allons apparaître et produire des effets. Alors traînez dessus et tapez spawn actor from class. Nous allons maintenant utiliser trois de ces nœuds. Permettez-moi donc de tout ramener ici un petit peu. Créez donc un acteur à partir des nœuds de classe Control C, Control V et Control V. Pour vous présenter tout cela ici. Et le premier acteur dans lequel nous allons apparaître sera de la fumée. C'est de la fumée à effet de plan. Nous pouvons le trouver dans le pack de contenu de démarrage. Encore une fois, vous pouvez utiliser ce que vous voulez ici, mais je vais d'abord fumer. Le second, je vais ajouter des étincelles, qui se trouvent également dans ce pack de contenu de démarrage. Et le dernier sera le feu. Donc oui, de la fumée, des étincelles puis du feu. Nous devons maintenant saisir une transformation de spawn. Je vais donc prendre notre composant capsule et simplement passer à notre fenêtre d'affichage ici Notre composant capsule est quelque chose qui entoure notre personnage, donc il va l'apparaître en plein milieu ici. Revenons donc à notre graphique des événements. Je vais faire référence à l' art Capsule Component Drag à partir de cela. Nous voulons transformer le monde. Et nous pouvons intégrer cela trois acteurs d'apparition à partir de notes de cours. Très bien, nous allons en avoir un peu le fil, mais j'espère que cela ne vous gâtera pas trop. Maintenant, cela ne suffit pas parce que nous les créons, mais nous voulons les associer à quelque chose. Je vais donc m'éloigner de notre acteur de la classe. Notez ici la valeur de retour et je vais dire attacher À l'acteur, désolé, attaché deux composants. Celui que je cherche ici, attaché à des composants. Très bien. Maintenant, le parent sera notre composant de capsule. Je vais donc essayer de choisir une configuration comme celle-ci. Je vais faire glisser la souris par ici, mais je vais double-cliquer sur ce fil pour faire comme ça. règles sont maintenant là. Je veux les configurer pour qu'ils atteignent des cibles comme ça, comme ça et comme ça. Très bien, et je vais passer à Control C et Control V, ces trois nœuds comme celui-ci. Alors pourquoi ce type et ce gars-là sont-ils là, oups ? C'est dans la cible, les parents dans la cible. Ça va là-bas, ça va là-bas. Et on peut prendre ça, le composant de la capsule, et l'y glisser en douce. Donc, essentiellement, ce script entier est censé faire sur ceux-ci donnés lors du déclenchement de cet événement personnalisé. Nous allons entrer ici et nous allons à nouveau retarder de ces montants en double-cliquant sur cette macro. Nous allons faire chacune de ces opérations lorsqu'il s'agit de retarder les appels pour que nous puissions ensuite générer l'effet donné. Nous allons donc apparaître dans la fumée plutôt que dans les étincelles, que dans le feu, et nous allons finalement l'attacher à notre personnage. Compilons ceci et enregistrons. D'accord, c'est la majeure partie du travail, mais il nous reste encore un peu de travail à faire. Revenons donc à notre niveau ici. Et nous allons placer quelques éléments pour que cela ressemble à une zone dangereuse. Je vais donc placer des déclencheurs sphériques. J'ai donc mon panel d'acteurs. Vous pouvez le trouver en cliquant juste en dessous, plaçant le panneau des acteurs afin de pouvoir placer ce panneau. Et notre idée ici dans la catégorie de base. Je vais placer une sphère de déclenchement dans mon niveau. Comme ça. Je vais définir le rayon de la sphère dans mon panneau de détails sur 200, comme ça, quelque chose d'un peu grand. Et puis, dans le dossier de contenu de démarrage , je vais aborder les particules. Et je vais juste glisser et déposer mon feu P juste au-dessus de la peur des déclencheurs ici dans mon outliner pour qu' il soit attaché à, eh bien, il ne va pas l'attacher là, mais Je peux le glisser-déposer ici. Ensuite, je peux le glisser-déposer au-dessus de mes déclencheurs, peur de l'attacher. Et la raison pour laquelle il est bon de l' attacher. Ce n'est qu'un renseignement. Si je déplace la sphère, le feu vient avec elle, mais je peux déplacer le feu indépendamment pour qu'il se trouve juste au-dessus. Je cherche juste quelque chose qui semble un peu dangereux ici. Faisons en sorte que l'ampleur de notre feu soit, je ne sais pas, trois fois plus grande. Cinq fois cette baie. Oui. Quelque chose d'un peu dangereux. C'est bon. Revenez en arrière et sélectionnez votre sphère de déclenchement car nous allons l'utiliser dans notre plan de niveau. J'ai mon onglet Level Blueprint juste ici. Je vais cliquer avec le bouton droit sur cette sphère lorsque le déclencheur est sélectionné. Nous allons faire quelque chose lorsque nous commencerons à les chevaucher. Tu m'as vu faire ça plusieurs fois. Donc, ce que nous allons faire, c'est nous éloigner de l'autre acteur. Nous allons découvrir qui c'est. Nous allons donc sortir de cette scène, faire Cast to ThirdPersonCharacter. En gros, nous posons la question ici. Quand quelque chose chevauche cette sphère de déclenchement, nous allons dire : « Hé, découvrons quel est l' autre acteur. S'il s'agit d'un ThirdPersonCharacter, alors faisons quelque chose. Eh bien, ce que nous voulons faire ici c'est appeler. Nous voulons appeler cet événement personnalisé que le joueur prend feu. Maintenant, la raison pour laquelle nous avons cette configuration, c'est parce que nous ne pouvons pas appeler cette macro depuis notre Level Blueprint, même si elle est compilée et que notre macro vit ici à l'intérieur de notre personnage à la troisième personne. Je ne peux pas simplement appeler au feu. Il recherche le joueur qui prend feu. Il s'agit de nos événements personnalisés, mais nous ne pouvons pas appeler cette macro directement depuis un autre Blueprint. C'est donc l'une des différences entre les macros et les fonctions. Voici donc notre appel pour ces événements personnalisés. Je vais compiler ceci. Ça a l'air bien. Donc, cela va le dire dans notre ThirdPersonCharacter, ceci pour démarrer. Très bien, jouons un rôle, un moment de vérité. Cliquez sur Play. Je vais juste essayer de minimiser cela un peu pour que vous puissiez voir ces scripts se lancer ici. Nous allons simplement faire apparaître notre ThirdPersonCharacter, et ce sera notre objet de débogage là-bas. Une fois que nous nous retrouvons, cela coupe la fumée, elle est attachée à nous. Nous sommes en train de faire des étincelles la zone d'entrejambe et maintenant nous sommes en feu. Donc, en effet, ce travail est conçu. Il convient donc de souligner ici que nous avons créé une macro. Nous ne pouvions pas appeler cela macro ou directement à partir de notre plan de niveau. Dans cette macro, cependant, nous avons pu utiliser le nœud delay, certains nœuds latents , que vous pouvez utiliser dans une macro. De plus, ce qui a rendu cette macro différente et spéciale d'une fonction, c'est que nous pouvions avoir plusieurs broches de sortie d'exécution. Vous pouvez également avoir plusieurs exécutions dans des stylos. Dans ce cas, nous avions juste plusieurs pins de sortie d'exécution, mais vous pouvez les avoir à chaque extrémité de la macro. Très bien les gars, c'est tout pour créer une macro, je vous verrai tous dans la prochaine vidéo. 68. Collapse à la macro: Bon retour. Dans cette vidéo, notre objectif est d' apprendre à améliorer nos vies en regroupant un ensemble de nœuds en un seul nœud macro. Maintenant, c'est l'une de ces actions de qualité de vie que vous pouvez effectuer pour créer une certaine partie du script en utilisant un seul nœud. Pas beaucoup. Maintenant, montrons-le. Nous avons déjà créé script destiné à simuler un lancer de pièces, ce qui signifie que nous aurons deux résultats possibles, tête ou queue. Ensuite, nous allons réduire cette fonctionnalité dans une macro qui dans une macro qui peut être utilisée n'importe où dans notre ThirdPersonCharacter ? Oui, encore une fois, je suis dans mon ThirdPersonCharacter Blueprint. J'ai préparé un script à l'avance, et voici mon script de citation, unquote coin flips. Essentiellement, ce que je fais, c'est lancer mon personnage pour simuler un lancer de pièces. Nous allons lancer notre personnage en l'air comme si nous allions lancer une pièce en l'air. Nous les lançons simplement 850 dans la direction Z. Ensuite, nous allons émettre un son juste pour coïncider avec le lancement de notre personnage. Cet effet sonore se trouve dans le contenu de votre moteur. D'ailleurs, si vous ne savez pas comment activer le contenu de votre moteur, mettez ces dossiers à votre disposition. De retour dans le navigateur de contenu la section Paramètres, vous pouvez simplement vous assurer que l'affichage du contenu du moteur est activé. Tu devrais être capable de trouver cet effet sonore. Ensuite, nous allons retarder de 2 s. Ce sera la durée de notre lancer de pièces ici. Ensuite, nous avons introduit un nœud de branche. Et ce que nous faisons ici, c'est définir une condition, ou une condition est que nous aurons un entier aléatoire, un ou deux, c'est notre plage. Et si c'est égal à un, alors cela sera égal à vrai. Et nous allons jouer le son du succès si ça finit par être un deux. Et encore une fois, cela ne peut être qu'un ou deux, alors ceux-ci ne sont pas égaux parce que deux ne seraient pas égaux à un, alors ce serait faux. Et nous jouions le son raté de compilation, qui serait notre S of x raté. Et ces deux effets sonores se trouvent dans les mêmes dossiers de contenu. Très bien, nous voulons donc convertir cela en macro, le réduire en macro. Maintenant, une chose que vous devez savoir, c' est que lorsque vous essayez de le faire, nous voulons uniquement placer ces nœuds ici, afin que vous puissiez cliquer avec le bouton gauche et faire glisser votre souris si vous essayez accidentellement d'introduire vos événements d'entrée, comme j'ai raison Ici, laissez-moi juste vous montrer ce qui se passe. Cliquez avec le bouton gauche et faites glisser Et maintenant, si je clique avec le bouton droit sur de mes nœuds sélectionnés ici, nous avons la possibilité de réduire en macro. Donc, en essayant de faire cette largeur, cette clé d'événement ici, nous allons recevoir un avertissement disant que Collapse to Macro échoue, alors que si nous affichons le journal des messages, cela indiquera que vous ne pouvez pas placer ce cinq entrez ici, donc nous allons nous en débarrasser cette fois. Nous allons cliquer avec le bouton gauche de la souris et faire glisser le pointeur autour de ces nœuds, laissant les cinq entrées de côté. Clic droit. Nous allons nous réduire à une macroéconomie. Et nous pouvons le voir dans la section macro, nous avons maintenant la possibilité de donner un nom à cette macro. Je vais donc retourner ma page et nous allons appeler ce coin flip. Oui, en suivant mes notes, Coin Flip. Vous pouvez voir que c'est lié, mais nous devons faire un peu de travail à l'intérieur de notre macro pour pouvoir double-cliquer dessus ici. Et à quoi ressemble notre macro actuellement. Mais nous voulons travailler un peu plus sur ce point. Nous avons donc simplifié un peu notre vie en condensant ces nœuds en un seul nœud dans notre graphe d'événements ici. Mais je veux quand même modifier certaines choses. Donc, tout d'abord, je vais sélectionner mon nœud d'entrée ici. Et je veux définir mon nom d'entrée ici au lieu d'exécuter pour qu' il soit simplement n. Ensuite, moi , mon nœud de sortie, je vais ajouter quelques sorties. De plus, je vais l'appeler des têtes. Et nous allons faire en sorte que ce soit une épingle d'exécution. Ensuite, nous allons cliquer sur le bouton Plus une fois de plus. Nous allons l'appeler queues. Et ce sera également dans l'exécution du PIM. Et encore une fois, si cela aboutit à un vrai, ce seront essentiellement nos têtes. Nous allons donc connecter cela à nos têtes. Et si cela finit par être faux, on obtient deux ici, ce n'est pas égal à un. Ce sera notre queue. Donc, si nous revenons à notre graphique des événements maintenant, nous pouvons voir que notre macro Coin Flip a été mise à jour. Notez que nous avons une exécution en pin et deux en out. Également. Nous avons cette icône latente ici pour indiquer qu'elle se trouve à l'intérieur de cette macro. Et encore une fois, vous pouvez double-cliquer dessus pour ouvrir votre macro. Nous avons un nœud latent à l'intérieur, oui, nœuds LinkedIn tels que des retards peuvent exister à l'intérieur d'une macro. Ils ne peuvent pas exister à l'intérieur d'une fonction. Très bien, revenons à notre onglet Event Graph ici. Et je veux étendre notre script à partir de chacune de ces épingles ici. Nous allons dire que si notre jeu de pièces finit par se transformer en têtes, nous allons faire santé de notre personnage soit pleine. Avant le tournage de cette vidéo, j'ai pris notre variable de santé ici et je me souviens elle est connectée à notre hotte ou à notre compteur de santé. Et je l'ai réglé à 0,1, ce qui signifie que nous allons commencer avec 10 % de santé. Je vais maintenir la touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser la souris pour faire apparaître un setter. Et je vais le mettre à 1.0. Nous serons en pleine santé si nous obtenons des résultats. Et ce que nous allons faire de bout en bout, nous allons tuer son personnage parce que ça a l'air amusant. Nous allons donc introduire notre maillage, une référence à notre maillage. Alors, prenez votre composant de maillage ici. dehors de cela, nous allons nous attarder, nous avons une option appelée set simuler la physique. La cible pour cela sera notre composant primitif, c'est-à-dire notre maillage juste ici. Et tout ce que nous avons à faire ici, c'est de le confirmer. Et je vais vous laisser en suspens quant à ce que cela va faire. Très bien, allez-y, compilez ici et enregistrez. Et nous allons y donner une pièce de théâtre. Donc, en jouant, laissez-moi définir mon objet de débogage pour qu'il soit notre personnage , pour le remettre en marche. Vous pouvez donc voir que je commence avec 10 % de santé. Si j'appuie sur la touche cinq, une fois de plus, cela va entrer dans notre macro et déterminer si nous obtenons des résultats en tête ou en queue. Alors, on y va, cinq clés. Je suis en pleine santé. Cela m'a fait sauter tout de suite, puis m'a envoyé en pleine santé. Parce que le saut, si vous voulez, le lancement de notre personnage, c' est-à-dire notre pièce, retournez le début de celui-ci. Laisse-moi essayer à nouveau. Cinq touches, sautez tout de suite. Quelques secondes plus tard, nous avons retrouvé toute notre santé, continuons jusqu'à ce que nous obtenions le résultat de la queue ici. Alors sautez 2 s plus tard, nous allons découvrir le résultat et simuler la physique. Il a traversé le sol, laissant son épée derrière lui. Et voilà, vous l'avez. Si vous avez une collection de nœuds que vous souhaitez condenser en un seul nœud. Et peut-être qu'il n'y a pas de note tardive. Ou vous devez disposer de plusieurs broches d'entrée ou de sortie d'exécution. Envisagez de la convertir en macro ou de la réduire en macro. Vous devrez peut-être faire un petit travail de réparation, comme nous l'avons fait ici avec notre nom d'entrée et en ajoutant quelques sorties ici. Mais c'est un moyen très pratique de simplifier vos graphiques, les gars, qui fera tout pour cette vidéo. Rendez-vous dans la prochaine. 69. Bibliothèque de macro: Bonjour. Dans cette vidéo, notre objectif est de montrer comment créer et ajouter des macros dans notre propre bibliothèque de macros. Alors, qu'est-ce qu'une bibliothèque de macros ? Eh bien, c'est similaire à une bibliothèque de fonctions que nous avons créée dans la dernière section des vidéos, en ce sens qu'il s'agit d'un endroit centralisé pour stocker les macros créées que nous créons. Mais quelles sont les grandes différences entre une bibliothèque de fonctions et une bibliothèque de macros, entre une bibliothèque de fonctions et une bibliothèque ces dernières ne sont accessibles qu'à partir de plans qui partagent la même classe parente, une bibliothèque de macros. Maintenant, cela semble un peu confus ici. Restez avec moi pendant que nous créons notre bibliothèque de macros. Très bien, je suis donc dans mon dossier de scripts Blueprints sur mon navigateur de contenu. Je vais créer ma bibliothèque de macros ici. Alors allons-y et cliquez avec le bouton droit. Et nous allons trouver des plans dans, dans le petit menu des flyers. Nous avons la bibliothèque de macros Blueprint. Donc on va commencer et choisir ça. Et maintenant, nous allons voir s'il va nous demander choisir une classe pour parents. Nous allons donc choisir une classe de parents de personnages qui sera similaire à notre personnage à la troisième personne. Notre ThirdPersonCharacter appartient à la classe des personnages. Très bien, nous allons donc cliquer dessus. Et il va nous demander de le nommer et je l' appellerai mon caractère de soulignement. Je vais faire toutes les casquettes. Pourquoi ne pas utiliser des macros pour souligner les caractères ? Ensuite, allons-y et double-cliquez dessus pour l'ouvrir. Et maintenant, vous remarquerez que dans notre bibliothèque de macros, encore une fois, notre classe parente est le caractère. Nous avons la possibilité d'accéder à toutes les variables natives de cette classe et de les utiliser. Elles sont natives de cette classe et toutes répertoriées ci-dessous. Donc, sous le personnage, nous avons obtenu un maillage , un mouvement de personnage, etc., de nombreuses catégories différentes. Comparons maintenant cela avec notre personnage à la troisième personne, qui est la classe de personnage mère dans le panneau Mon plan. S'il s'agit de variables, assurez-vous que si vous cliquez sur cette icône d'engrenage , vous avez affiché les variables héritées. Jetez un œil à cela. Dans la catégorie des personnages, vous trouverez le maillage, le mouvement des personnages, etc. Ce sont toutes les mêmes variables qui sont natives de cette classe, la classe de caractères. Vous pouvez donc les trouver ici dans notre ThirdPersonCharacter et ici dans notre bibliothèque de macros, notre bibliothèque de macros de caractères, nous y avons également accès. OK, allons-y et créons notre macro ici dans notre bibliothèque de macros de caractères. Maintenant, une fois que nous avons ouvert cette bibliothèque de macros, une macro a été créée pour nous ici. Vous pouvez voir l'onglet juste ici. Allons-y et donnons-lui un nouveau nom. Donc, je vais juste cliquer dessus, appuyer sur F2, et je vais appeler cela le changement de vitesse maximale. Et c'est exactement ce que cette macro va faire, c'est modifier la vitesse de déplacement maximale de nos personnages. Je vais donc créer un petit espace ici entre notre nœud d'entrée et notre nœud de sortie ici. Alors allons-y et créons quelques entrées et sorties pour cette macro Je vais créer une entrée ici, en cliquant sur ce bouton plus juste en bas. Et le premier va simplement être appelé. Ce sera une exécution au stylo. Ensuite, je vais en créer un de plus. Et celui-ci s'appellera new speed. Nous allons lui donner une nouvelle valeur de vitesse, et celle-ci sera un flotteur. Et pour ce qui est de nos résultats, j'en ai quelques-uns en tête. Nous allons cliquer dessus une fois, et nous allons l' appeler marche. Ce sera en cours d'exécution. Ensuite, nous allons créer deux autres plus, plus. Le prochain sera en cours d'exécution, et le suivant s'appellera sprint. Et ce sont toutes des épingles d'exécution. Très bien, ce que nous allons faire ici, c'est à nouveau glisser notre composant de mouvement de personnage L'un des avantages de créer, dans ce cas, une bibliothèque de macros de personnages est que nous avons accès à toutes les variables de caractère natives, y compris notre composant de mouvement des personnages. Nous allons le faire glisser dans notre graphique. que nous allons obtenir. Maintenant, vous remarquerez quelque chose ici quand je le ferai glisser ici. Et je viens de le publier, nous ne pouvons obtenir que des variables ici dans notre bibliothèque de macros. Et cela vaut pour chacun d'entre eux. Si je devais le faire, je sauterais et j'essaierais de le faire entrer. Nous ne pouvons pas définir de variables ici dans notre bibliothèque de macros. Il est important de noter qu' avec une bibliothèque de macros, vous ne pouvez obtenir que ces variables, vous ne pouvez pas les définir. Mais ça va. Eh bien, nous allons faire ici pour atteindre l' intérieur de notre composante de mouvement des personnages. Et nous allons taper set max, walk, speed. Maintenant, cette variable se trouve à l'intérieur de notre composant de mouvement des personnages. Et juste pour le ramener un peu à la maison, j'ai mon ThirdPersonCharacter juste ici. Si je sélectionne la composante de mouvement de mon personnage, j'ai une variable de vitesse de marche maximale qui se trouve à l'intérieur de cette composante de mouvement du personnage. OK, donc nous allons lui donner une nouvelle vitesse. Comme ça. Ensuite, je vais faire glisser et introduire un nœud de branche. Ensuite, je vais m'éloigner d'ici. Et j'ai plusieurs nœuds de comparaison que je souhaite intégrer. Donc, je vais faire un nombre inférieur ou égal à un. Je vais encore traîner un ici, et je vais faire un plus grand que, juste plus que. Ensuite, je vais faire glisser une fois de plus et je vais faire des petites boucles inférieures ou égales à ou juste moins égales à ce que l'on appelle ça. Pour les valeurs de celles-ci, je vais en brancher 200 pour ce n'est pas un plugin, je vais juste le coder en dur. 200 pour ça. Nous allons faire plus de 200 pour cela et 1 200 pour cela. Et nous allons lire, je vais vous lire tout cela dans un instant. Comment allons-nous interpréter tout cela. Dans un instant. Je vais faire apparaître un autre nœud de branche en maintenant la touche B enfoncée en cliquant avec le bouton gauche de la souris. Et je vais intégrer cela à notre marche, au faux que je vais traîner et pour que vous entendiez le terme, je vais les traîner ici et le faux je vais entraîner ici. Et encore une fois, je vais interpréter tout cela pour vous dans un instant. Et je vais le faire glisser ici, l'introduire et le nœud, ce sera un booléen AND. Et du booléen juste là. Brancher ça ici. Nous branchons ça ici et ça ici. Très bien, M. Laundry, vous êtes passé par là assez rapidement. En quoi tout cela se traduit-il ? Très bien, alors voici comment ça va fonctionner. Nous allons donner une nouvelle vitesse à cette macro. Nous pouvons donc modifier régler la vitesse de déplacement maximale de nos personnages. Si c'est inférieur ou égal à 200, si c'est vrai, nous allons produire de la marche. Nous allons donc continuer à nous étendre au-delà de notre macroéconomie et à faire quelque chose lorsque nous détecterons que nous marchons. Maintenant, si nous détectons que nous allons à une vitesse supérieure à 200 et inférieure ou égale à cette valeur, ici, 1 200. Si c'est vrai, alors nous serons considérés comme des coureurs. Cependant, si cela s' avère faux, alors nous serons considérés comme du sprint, ce qui signifie que nous allons atteindre une vitesse supérieure à 1 200. Maintenant, allons-y et utilisons cette macro dans notre ThirdPersonCharacter Blueprint. Une petite note ici, il n'est pas nécessaire de compiler ici. Vous n'avez pas besoin de compiler dans une bibliothèque de macros. En fait, c'est grisé, mais nous pouvons continuer et le sauvegarder. Et dans notre bp ThirdPersonCharacter, nous pouvons continuer et cliquer dessus avec le bouton droit de la souris. Et nous pouvons faire une recherche pour changer la vitesse maximale. Et ça y est. Voici notre macro que nous venons de créer dans notre bibliothèque de macros. Et créons nos scripts pour en tirer parti. Nous allons donc ajouter une touche de saisie tout en début de page. J'ai utilisé la touche cinq et je l' ai supprimée entre les vidéos. Il semble que je ne l'ai nulle part dans mon graphique pour le moment, faisons les cinq entrées Kishore Five. Donc, ce que nous allons faire ici, c'est appuyant sur la touche 5, nous allons modifier le maximum, le mouvement et la vitesse de nos personnages . En quoi voulons-nous le changer ? Eh bien, cliquons avec le bouton droit sur un espace vide et je vais faire un flottement aléatoire dans la plage. Nous pouvons donc adapter ce type à notre nouvelle vitesse. Ainsi, chaque fois que nous appuyons sur la touche 5, nous pouvons choisir une valeur, et je vais choisir une valeur, 1 à 2 000. Donc, chaque fois que vous appuyez sur la touche 5, cela nous donnera une valeur dans cette plage. Lorsque nous relâcherons cette touche, nous allons vouloir remettre la vitesse de déplacement de notre personnage à ce qu'elle est normalement. Donc, si nous glissons et déposons notre composante de mouvement de personnage dans notre graphique et que nous voyons la vitesse de marche maximale de nos personnages en ce moment, elle est de 500. Donc, si on traîne ici, on peut régler la vitesse maximale de marche. Donc, lorsque nous lancerons ceci, nous allons remettre notre vitesse de marche maximale à 500. Donc, presser va le régler à cette nouvelle valeur et le libérer, cela va le remettre en arrière. Et tout ce que nous allons faire avec chacun de ces éléments, nous pourrions faire quelque chose de plus. Je veux dire, je pourrais jouer un effet de particules ou autre. Je vais juste imprimer une chaîne à l'écran. Nous allons donc faire plusieurs tirages. Strings, c'est tout d'abord dire marcher et appuyer sur Control C, Control V. Control V. Control V. Vous pouvez deviner ce que je vais brancher dans chacun de ces champs. Cela va dire courir. Et celui-ci va dire sprint. Sprint, sprint, ring. Ce n'est pas si important que ça. Compilons ceci. Sauvegardons, et jouons à ce réglage, à notre objet de débogage, personnage énorme ou à la troisième personne, afin de voir ce script s'exécuter sur le côté gauche. D'accord, donc je ne fais que marcher, marcher, marcher. Lorsque j'appuie sur la touche 5, regardez en haut à gauche, en dessous du mot Superhero. Donc cinq, en courant. Je le renvoie à cinq. Courir ne semble pas beaucoup plus rapide. Cinq, au sprint. Cinq sprints. Maintenant, la course à pied a la plus grande portée, 200-1200. Je voulais le faire marcher, alors ils sprintent, appuient à nouveau sur F5 et courent. Encore une fois. La course à pied peut être assez proche du sprint. Au sprint, fais de la course maintenant, il faut à peine plus de 200. Courir, courir. Allons nous promener ici. Je vais continuer jusqu'à ce que je commence à marcher. Nous y allons à pied. Nous pouvons donc voir que cette macro fonctionne bien. Bien, maintenant, il est important de noter ici que nous avons pu trouver et utiliser cette macro ici à l'intérieur de notre personnage à la troisième personne, car les deux sont ThirdPersonCharacter et notre bibliothèque de macros partage la même classe parentale. Si vous allez évidemment sur notre Level Blueprint. Ouvrons notre plan de niveau ici. Et même si j' ai une référence à notre personnage ici, organisons un événement et commençons à jouer à coup sûr. Commencez même à jouer. Et nous devions donner du caractère au joueur. Et puis, tu sais, Cast to ThirdPersonCharacter, quelque chose comme ça. Et nous devions essayer de découvrir que le changement vitesse maximale traînait hors d'ici, avait changé Max. Vous ne pouvez pas trouver cette macro ici dans votre Level Blueprint. Vous ne pouvez pas simplement cliquer avec le bouton droit sur espace vide et trouver la vitesse maximale de modification parce que cela n'a pas de classe parente, parce que c'est un plan de niveau, mais même à l'intérieur d'une autre classe, mais un plan comme notre exemple de pick-up, contient la classe d'acteurs parents. Donc, si je devais cliquer avec le bouton droit ici et modifier la vitesse maximale, je ne la trouverais pas non plus à l'intérieur. C'est donc une chose importante à noter car cette macro a été créée dans une bibliothèque de macros avec la classe de caractère parent. Nous ne pouvons le trouver et l'utiliser que dans tous les autres plans qui partagent la même classe parent. Donc, étant donné cette nuance qui sous-tend une bibliothèque de macros, la nécessité de définir une classe parente, quels seraient les avantages d'utiliser une bibliothèque de macros ? Eh bien, imaginez que vous avez peut-être un jeu de combat et que vous avez toute une série de personnages que vous pouvez incarner, comme vous voudriez peut-être avoir des macros que tous les personnages pourraient partager et utiliser. Quelque chose comme choisir entre une tante au hasard ou peut-être un changement de tenue, ce genre de choses. Je veux dire, ici, tout ce que je fais c'est choisir un flotteur aléatoire à portée, et ensuite je décide si je marche, si je cours ou si je sprinte . Peut-être pourrions-nous lui donner un entier aléatoire en fonction de l'entier sélectionné. Nous pourrions jouer une chose de cette nature enseignée au hasard. Maintenant, si vous voulez contourner cette limitation de la bibliothèque de macros, il y a une petite astuce que vous pouvez faire pour vous assurer que vos macros sont disponibles n'importe où. Et cela afin de vous assurer que la classe parent de votre bibliothèque de macros appartient à la classe d'objets. Maintenant, pour revenir à ce point, laissez-moi simplement cliquer dessus avec le bouton droit de la souris sur un espace vide et je vais introduire, disons, un nœud de porte. Et si je fais cela, c'est pour pouvoir double-cliquer dessus et accéder rapidement à notre bibliothèque de macros standard. accédant, nous pouvons trouver où cela se trouve dans notre navigateur de contenu. Il se trouve dans le dossier des ressources du plan de l'éditeur de contenu du moteur . Encore une fois, pour voir cela, vous pouvez vous assurer que l'affichage du contenu du moteur est activé. Et si nous accédons à notre bibliothèque de macros standard, nous pouvons voir que notre classe parent est object. Maintenant, pour en revenir à notre navigateur de contenu, si je devais cliquer dessus avec le bouton droit sur des espaces vides, si nous devions créer une nouvelle bibliothèque de macros, plans, une bibliothèque de macros de plans. Découvrez-le ici dans la section Tous les cours. Vous pouvez voir que toutes les autres classes héritent de l'objet. Donc, si vous deviez créer une bibliothèque de macros standard contenant la classe d'objet parent, n'importe quelle autre classe pourra l'utiliser. Par conséquent, pourquoi vous pouvez trouver des nœuds tels que des nœuds porte dans n'importe quel autre plan. Très bien les gars, je vais tout faire pour celui-ci. Nous vous verrons dans la prochaine vidéo. 70. Tableau: Bienvenue à tous. Dans cette section du cours, nous allons revenir au sujet des variables, car jusqu'à présent, nous n'avons parlé que d'un seul conteneur de variables. Et en particulier, ce dont nous parlons ici, c'est avec un type de variable sélectionné, vous avez sur le côté droit la possibilité de choisir le type de conteneur. Nous n'avons créé que des variables uniques. Nous n'avons pas parlé de tableaux, d'ensembles ou de cartes. C'est donc l'objet de cette section du cours, qui traite de ces différents types de conteneurs variables. En particulier, pour ce cours, nous allons apprendre ce qu'est un tableau. Nous allons montrer comment en créer quelques-unes, puis donner un exemple de la façon dont elles peuvent être utilisées. Alors, tout d'abord, qu'est-ce qu'un tableau ? Un tableau est un conteneur de variables qui peut stocker une collection de valeurs d'un certain type de données. Maintenant, des termes plus pratiques dans tableau sont une liste de choses similaires. Il peut s'agir d'un tableau de valeurs flottantes, d'un tableau de textes, de sons, d'objets, etc. Maintenant, chaque entrée de la liste a un index entier associé ou ce que l'on appelle une clé associé à celui-ci. Cela signifie que nous pouvons rechercher une entrée donnée dans la liste si nous le voulons ou si nous en avons besoin. Très bien, me voici à l'intérieur de mon plan ThirdPersonCharacter. Créons donc notre tout premier tableau. Et nous allons commencer par accéder au panneau Mon plan. Nous allons créer une nouvelle variable, en cliquant sur ce bouton plus, je vais appeler celui-ci des phrases d'accroche. Et le type ici sera une variable de texte. Ensuite, dans le panneau Détails, nous pouvons définir le type de conteneur, sur le panneau Détails, nous pouvons définir le type de conteneur, lequel je vais cliquer sur ce menu déroulant et choisir un tableau. Maintenant, je dois compiler mon plan. Et quand je le ferai, cela me permettra d'ajouter X éléments à ma liste. N'oubliez pas qu'un tableau est essentiellement une liste et que vous pouvez déterminer le nombre d' éléments qui existent dans cette liste. Je vais cliquer sur ce bouton Plus juste en bas, trois fois 12.3. Et mon premier slogan sera « hé, hé ». Mon deuxième sera High Diddley Bow. Et mon prochain film va être relâché. Notez maintenant que les variables de tableau ou types de conteneurs sont plutôt désignés par ces grilles colorées trois par trois indiquent qu'il ne s'agit pas de variables uniques standard. Et vous pouvez le voir, représenté non seulement ici, mais aussi en bas de votre panneau My Blueprint sous la section des variables, vous voyez cette icône gaufrée trois par trois qui indique que cette variable est un tableau, un tableau de variables de texte. Maintenant, quelque chose qui mérite d' être mentionné ici est que vous pouvez réorganiser vos valeurs dans ce tableau en cliquant à peu près ici et en faisant glisser une valeur au-dessus, ou en faisant glisser la souris vers le bas, comme suit. Sur le côté droit, vous pouvez également cliquer sur cette petite flèche déroulante pour insérer, supprimer ou dupliquer une entrée. Je vais donc insérer juste pour le montrer et ensuite le supprimer rapidement. Très bien, maintenant allons-y et utilisons ce tableau. Je vais donc apporter une clé d'événement ici. Clic droit. Je vais utiliser les cinq touches. Ensuite, ce que je vais faire, c'est ajouter mes phrases d'accroche. Je veux donc y aller, donc je vais maintenir la touche Ctrl enfoncée , cliquer avec le bouton gauche et faire glisser. Ça me donnera une meilleure idée. Ensuite, je veux faire glisser ici et taper gets, je veux obtenir une référence ici. Désolée, mais je voudrais en obtenir une copie. Et qu'est-ce que je veux en tirer ? Eh bien, je peux choisir quelle entrée de ce tableau, 01 ou deux. Et encore une fois, il s'agit d'une liste à base zéro. vais commencer par compter à zéro laquelle de ces entrées je souhaite renvoyer. Donc, quel que soit le numéro que je tape ici, il correspondra à l'entrée que je souhaite renvoyer. Et je vais choisir quelque chose au hasard ici. Je vais donc faire glisser la souris vers l'arrière et taper un entier aléatoire dans une plage. Et je dirais 0-2, parce que c'est ma fourchette, 0-2. Si nous devions aller plus haut pour dire que nous le plaçons dans une plage de 0 à 3 et que nous renvoyons le chiffre trois, nous obtiendrions simplement un résultat nul et aucune flèche ne serait lancée. Nous obtenons simplement un résultat nul. Je vais faire glisser le texte ici, taper du texte à imprimer. Et nous allons le brancher ici. Alors, jouons-y rapidement . Laisse-moi compiler ça, pour m' assurer que tout va bien. Et je clique sur mes options de jeu ici. Je ne veux pas simuler, je suis dans un avion et une nouvelle fenêtre d'édition. Je vais le définir comme objet de débogage afin que nous puissions voir ce script se lancer. Et pas à OBS. On y va. Quand j'appuie sur la touche 5. Bonjour Diddly. Bonjour. Salut Diddly Hill, ça sonne vraiment. Vous pouvez voir que je spamme la touche cinq, je reçois l'une de ces différentes options au hasard. Maintenant, jetez un œil à cela. Nous avons actuellement trois phrases d'accroche dans notre gamme. Cependant, encore une fois, il s'agit d'une variable. Nous n'avons pas à conserver ces trois éléments ici. On pourrait les échanger. Essayons quelque chose comme ça. Je vais apporter une clé à quatre. Pour les entrées. Nous le faisons pour le clavier, voici mes quatre touches. Ce que je vais faire , c'est définir mon slogan. Je vais maintenir la touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser. Nous allons le mettre sur cette épingle pour faire venir un setter. Et ce que je vais faire à partir de cela, c'est de le faire glisser vers l'arrière et de taper make array. Donc, ce nœud, je vais ajouter trois pins. Ce que je vais faire, c'est définir clairement quels seront les trois éléments de cette course ? Je vais y mettre de la pâte. Et dans ma deuxième entrée ici je vais le mettre dans Smithers. Et le troisième sera celui des mois de Nelson. Haha. Alors découvrez ce que nous avons à faire ici. Laisse-moi juste le réduire un peu , le mettre ici. En cliquant sur le paramètre de lecture, il se peut que cela soit déjà mon objet de débogage. Tout cela est très bien. Donc, si je commence par appuyer sur la touche 5 et que je vais juste le spammer, vous verrez les entrées d'origine dans mon tableau. Maintenant, je vais appuyer sur la touche F4 et cela va remplacer ces entrées. Je vais donc appuyer dessus une seule fois. Regardez ce feu s'éteindre, boum. Ça s'est déclenché. Alors maintenant, quand j'appuie sur la touche cinq, les entrées, les éléments ce tableau ont été modifiés. Il lira donc ainsi les nouvelles entrées que je viens de mettre ici, je les ai échangées, je change le contenu de ce tableau. Très bien, essayons de créer quelques autres tableaux. Créons-en un de plus ici dans le panneau Mon plan, sous les variables, en cliquant sur ce bouton plus, je l'appellerai mon tableau de sons. Maintenant, je vais changer le type de variable ici pour qu'il soit des fichiers d'ondes sonores, des ondes sonores. Ainsi, sous les types d'objets « onde sonore », nous voulons choisir la référence de l'objet. Il fait déjà partie des types de conteneurs de variables matricielles. Donc, c'est très bien. Et je vais créer une autre variable ici, en cliquant sur le bouton plus. Et celui-ci va devenir mon groupe d'acteurs. Et je vais changer le type ici pour qu'il soit de variété des acteurs sous les types d'objets, acteur de la référence de l'objet. OK, maintenant je vais compiler les deux. Et pour ma gamme de sons, je vais saisir trois d'entre elles, donc 12.3. Et ici, je peux insérer quelques sons. J'opterai pour trois d'entre eux. J'ai une double fenêtre ferme toutes les trois, nous ferons tout cela, par exemple saké. Var underscore assez proche pour mon troisième, je vais simplement passer à l'interface utilisateur flottante. Vous pouvez donc imaginer, disons que j'ai eu toute une série de bruits de klaxon de voiture. Si vous voulez une touche géniale sur votre clavier, cela fera sonner le klaxon de votre voiture. Il peut s'agir de trois variations différentes de ce son. Peut-être que tu veux juste en choisir un au hasard. OK, donc tout cela est bien suffisant pour ma gamme actuelle. Je vais faire 12.3. Cependant, je vais les laisser vides pour l'instant. Je vais compiler ceci et enregistrer encore une chose. J'ai oublié de cocher cette instance de case modifiable, alors assurez-vous de la cocher également. Allez-y, compilez et gagnez encore un temps. Ce que je vais faire, c'est qu'une fois que j'aurai joué à ce jeu, je définirai quels objets feront partie de ce tableau d'acteurs. Notez donc que ce tableau actuellement cette liste est vide. Donc, ce que je vais faire, c'est revenir à mon niveau ici. Je vais ajouter trois objets. Ça n'a pas vraiment d'importance. Je vais juste faire un cube, une sphère et un cylindre. Comme ça. OK, j'ai installé ces trois-là. Revenons à notre personnage à la troisième personne. Je vais juste échanger nos tableaux ici, juste modifier un peu nos scripts ici. Donc, ici, sous les phrases d'accroche, nous allons nous débarrasser de ces quatre ou cinq clés. Je vais faire apparaître mon tableau de sons en maintenant la touche Ctrl enfoncée, en cliquant avec le bouton gauche et en faisant glisser. Nous allons faire glisser un type ici, obtenir, nous voulons en obtenir une copie, les brancher. Donc, en fait, je ne veux pas imprimer de texte ici. Je veux émettre un son. Faites jouer du son. Désolée, sortons d'ici et tapons Play Sound 2D, comme ça. Et quand j'appuie sur mes quatre touches, les supprime ici, je vais attraper mon acteur, lever une touche Ctrl enfoncée. Cliquez avec le bouton gauche pour apporter une référence à cette fin, je vais faire glisser la souris hors de ce type dans gets, nous allons obtenir une référence. Copiez, et non pas une référence. Je les fais toujours foirer. Je vais faire un entier aléatoire dans une plage pour cela. Donc Control C, control V. Maintenant, ce que je vais faire ici, c'est que nous allons faire traîner ça et nous allons juste détruire un acteur. Donc, quand j'appuie sur la touche quatre, je vais à nouveau détruire l' une d'entre elles, c'est actuellement un tableau vide. Nous allons donc compiler ceci. Ce script va être beau ici. Je vais aller de l'avant et passer à mon niveau. Nous n'allons pas voir ces scripts démarrer. Mais si vous avez besoin de revenir ici et de les référencer, c'est très bien. Ok, on y va. Bien, maintenant que mon personnage est dans mon niveau, je peux le voir peuplé ici dans l'Outliner. Je vais sélectionner mon ThirdPersonCharacter. Maintenant, je dois définir les trois éléments de ma gamme d'acteurs. Je vais donc le rechercher ici avec mon ThirdPersonCharacter sélectionné. Faites une recherche sur un tableau d'acteurs. Et notez que je n'ai encore rien trouvé ici. Je vais donc cliquer sur ces flèches déroulantes, et je vais les définir pour qu'elles soient respectivement le cube, le cylindre et la sphère. Donc un cylindre cubique pour le suivant. La sphère est quelque part là-dedans. Il y a une sphère. OK ? Et laissez-moi faire apparaître ma fenêtre de jeu une fois de plus. Très bien, en appuyant d'abord sur cette touche 5, nous allons entendre des sons. Tout va bien. Très bien, et maintenant mes quatre montres clés disparaissent lorsqu' elles sont sélectionnées. Les carrés ont-ils disparu ? J'appuie à nouveau sur la touche F4, rien ne disparaît non plus, j'ai dû sélectionner à nouveau cet élément. sphère a disparu, et enfin, le carré a disparu. Vous pouvez donc voir ces différents tableaux fonctionner. Maintenant, si je reçois cette erreur, c'est parce qu'elle essayait de détruire quelques acteurs. Voilà, j'appuyais sur mes quatre touches. Il essayait de choisir un entier et une plage aléatoires, il essayait juste de choisir l'un de ces trois. Maintenant, le premier qui est détruit est le cylindre, qui, je crois, était également constitué d'éléments . Je peux me tromper là-dessus. Une fois qu'il sera détruit et qu'il aura choisi à nouveau le même numéro, il va générer cette erreur quand j'ai arrêté de jouer en disant : « Hé, j'essaie de te détruire acteur, mais tu as déjà a été détruit. Mais encore une fois, tout cela est à des fins académiques. Très bien, il reste encore un peu de temps à faire. Avant de terminer, je voulais le souligner pour n'importe quel tableau, et reprenons nos phrases d'accroche ici. Chacun d'entre eux aura les mêmes options à votre disposition si vous en avez bu et que vous vous trouvez dans la section utilitaires, tableau d'utilitaires, vous avez une multitude d'options différentes que vous peut être utilisé pour modifier pour modifier votre tableau. Vous pouvez y ajouter des éléments. Vous pouvez faire glisser la souris hors de cette zone et saisir du texte en clair. Vous pouvez vider votre tableau. Nous pourrions donc ajouter un autre élément à notre tableau ici. Celui-ci effacerait complètement le tableau. Vous pouvez ajouter le tableau qui doit contenir un tableau de phrases d'accroche. Vous avez peut-être une deuxième série de phrases d' accroche et vous pourriez les combiner. Tu pourrais, j'ai commencé par hasard. Vous pouvez sélectionner une entrée aléatoire dans votre tableau et également renvoyer l'index. Cela sélectionnerait donc une entrée aléatoire qui renverrait l'index. Ainsi, avec n'importe quel tableau, vous avez une multitude d'options avec lesquelles vous pouvez jouer pour modifier ce tableau une manière ou d'une autre. Et encore une fois, vous pouvez les trouver ci-dessous, tableau d'utilitaires. Vous en avez également beaucoup plus à votre disposition. Très bien, merci de savoir avant de terminer, que les valeurs d'un tableau, encore une fois, sont des valeurs d' index basées sur zéro, ce qui signifie que le premier indice est zéro, et non un. Les tableaux constituent un excellent moyen de stocker une liste de ces mêmes types de données. Où l'utiliseriez-vous ? Eh bien, j'ai eu une gamme de fruits que j'ai créés dans un jeu de style Pac-Man que j'ai créé dans Unreal il y a quelque temps. Une autre chose à noter à propos des tableaux est que vous pouvez récupérer une entrée spécifique d'une liste en obtenant une copie, comme nous le faisons ici. Ou vous pouvez obtenir de l'air ou une entrée aléatoire, comme nous le faisons ici. Donc, si vous voulez obtenir une copie spécifique, vous pouvez simplement casser ce fil et dire : «  Hé, je veux l'élément zéro ». L'approche aléatoire ferait quelque chose comme ça. Plus tard, lorsque nous parlerons du contrôle de flux, nœuds montreront comment parcourir chaque entrée du tableau en utilisant une boucle for ou while afin de faire quelque chose à chaque entrée de la liste ou de conduire une certaine logique basée sur le fait qu'une entrée donnée est trouvée dans la liste. Bon les gars, ça va tout faire pour celui-ci. Nous vous verrons dans la prochaine vidéo. 71. Ensemble: Bienvenue. Dans cette vidéo, notre objectif est de découvrir ce qu'est un conteneur de variables définies. Montrez comment en créer un, puis donnez un exemple de la façon dont ils peuvent être utilisés. Tout d'abord, définissons ce qu'est un ensemble d'événements. Eh bien, un ensemble est comme un tableau dans la mesure où il s'agit d'un conteneur de variables qui peut stocker une collection de valeurs du même type de données. Ici, dans mes types de variables. Sur la droite, j'ai différents types de conteneurs, un ensemble de tableaux ou une carte. Nous en parlons donc dans cette vidéo, par exemple, nous pourrions avoir un ensemble de trésors cachés que vous êtes invité à trouver dans une collection de niveaux de trésors cachés. Maintenant, l'une des particularités d'un ensemble est que toutes les entrées d' un conteneur d'ensembles doivent être uniques, sans doublons. Nous allons aborder plus en détail les différences entre les tableaux et les ensembles ici Je vais créer quelques variables ici dans mon Level Blueprint. Mais pour cet exemple, vous pouvez également le faire dans votre ThirdPersonCharacter. Vous avez oublié comment ouvrir votre Level Blueprint directement ici. Plan de niveau ouvert. Passons ensuite à notre panneau My Blueprint et créons quelques variables. En cliquant sur ce bouton plus. Une fois, je vais en créer un appelé trésors cachés, tous, je vais changer de type ici pour qu'il s'agisse d'un nom. Nous allons donner des noms à des trésors cachés. Ensuite, dans le panneau Détails, je vais changer le type de conteneur ici de simple à ensemble. Ensuite, je vais cliquer dessus avec le bouton droit et je vais le dupliquer. Vous pouvez voir le raccourci clavier pour ce contrôle plus D. Et cela s' appellera trésors cachés. Trouvé. Et puis une fois que j'ai compilé, je peux ajouter quelques entrées ici, des éléments d'ensemble différents. Commençons donc par tous les trésors cachés. Je vais cliquer sur ce bouton plus une fois. Et si vous essayez de cliquer dessus une deuxième fois, cela indiquera que vous ne pouvez pas en ajouter un autre tant que vous n'en avez pas ajouté une, une entrée ici. Je vais donc appeler cette statue en or. cliquant à nouveau sur le bouton plus, je vais appeler celui-ci collier. La raison pour laquelle vous ne pouvez pas en ajouter une autre alors qu'elle indique « aucune » est qu'elle essaierait de créer une entrée dupliquée qui indiquerait également « aucune ». N'oubliez pas que les ensembles ne peuvent pas avoir de doublons. Cliquez à nouveau sur ce bouton plus. Nous appellerons cela de la poterie ancienne. Poterie. Poterie. Bien sûr. Poterie ancienne. En cliquant à nouveau sur le bouton plus, nous allons l'appeler un parchemin de sagesse. Et en cliquant à nouveau sur le bouton plus, nous allons l'appeler un emblème de guerrier. Très bien, maintenant je vais vous présenter quelques trésors cachés trouvés ici. Et en fait, tu sais quoi ? Je veux vraiment avoir quelques doublons ici. Je vais donc supprimer celui-ci. Et je vais vous expliquer pourquoi nous allons le supprimer pour nous assurer que nos noms sont orthographiés exactement de la même manière. Je vais donc cliquer dessus avec le bouton droit de la souris. Nous allons dupliquer cela. Encore une fois. J'appelle cela trouvé, et je vais le compiler dans. Une fois que je l'ai compilé, je peux voir toutes ces mêmes entrées. Supprimons juste quelques-uns des miens ici, donc je vais supprimer le collier en cliquant ici. Supprimer conservera la statue en or. Gardons également un parchemin de sagesse. Peu importe ceux que nous conservons, mais gardez-en quelques-uns juste là. Maintenant, notez que certains types de variables ne peuvent pas utiliser d'ensembles. Si je devais sélectionner ma variable booléenne, disons, ici et passer aux types de conteneurs. Je ne peux pas préparer de set pour ça. Je peux aussi le faire pour une technologie de variable de texte, un rotateur ou une transformation. Vous pouvez définir tous les autres comme type de conteneur défini. J'ai juste pensé que j'allais le mettre ici aussi. Maintenant, si je fais glisser une référence à l'un de mes ensembles ici et que je la fais glisser hors de celui-ci, cela libère de l'espace vide sous la section de l'ensemble d'utilitaires. Vous voyez que j'ai tout un tas de fonctions différentes à ma disposition pour manipuler les données d'une manière ou d'une autre, façonner ou former de nombreuses fonctions spécifiques aux ensembles. Ce que je vais faire ici, c'est accélérer la vidéo rapidement après les avoir ajoutées, et parler rapidement de certaines des différentes options qui s' offrent à vous. Très bien, et voici un tas de ces fonctions dont je viens de parler et qui sont spécifiques à Set. Vous pouvez y ajouter un élément. Vous pouvez y supprimer un élément. Vous avez des comparaisons entre deux ensembles différents, ce genre de choses. Maintenant, une chose qui mérite d'être soulignée ici, si vous deviez simplement cliquer avec le bouton droit de la souris et espace vide, comme je l'ai fait avec ce nœud un espace vide, comme je l'ai fait avec ce nœud ici en recherchant un nœud union. Il possède ces excellentes broches d'entrée et de sortie. Ce sont des entrées et des sorties génériques, ce qui signifie que quel que soit le type de données connecté en premier à une entrée ou à une sortie, c'est le type de données que prend le reste de l'entrée ou de la sortie. Et juste pour le démontrer, elles sont grises en ce moment, si je devais brancher ceci pour dire que celle-ci est en haut, vous pouvez voir qu'elles deviennent toutes violettes pour représenter le type de variable de nom. Là-bas. Pour supprimer cette sortie et en placer une sur le côté sortie, il va changer le côté d'entrée pour qu'il adopte la même couleur, le même type également. Très bien, en ce qui concerne mon plan de niveau, j'ai commencé à créer un script présentant un exemple pratique de la façon dont les sets peuvent être utilisés dans un jeu. Donc, quand j'appuie sur les trois touches, je vais découvrir la différence entre deux ensembles différents. Mon top set contiendra tous les trésors que j'ai besoin de trouver dans un niveau donné. Mon dernier set va me donner les trésors que j'ai découverts jusqu'à présent. Ce que cette note de différence va faire c' est qu'elle va toutes les afficher. Je n'ai pas trouvé de différence entre un set et un autre. Donc, je ne peux pas simplement sortir d' ici et taper une chaîne d'impression. Donc je ne peux pas, cela ne va pas imprimer les noms de tous les éléments de l'ensemble qui ne sont pas trouvés actuellement. Donc ce que je dois faire ici est traîné hors d'ici. Cela me donnera le trésor qui en résultera est introuvable. Et je vais taper dans deux tableaux. Ce que cela me permettra de faire, c'est de sortir un tableau de tous ces différents éléments de l'ensemble. La différence entre les deux. Et avec ça, je peux sortir d'ici et en apporter un pour chaque boucle. Nous n'avons pas encore parlé des nœuds de contrôle de flux qui apparaîtront dans la section suivante. Mais ce que ce nœud de contrôle de flux va me permettre de faire , c'est de parcourir chaque élément de ce tableau, chaque élément de cette liste, puis de les afficher à l'écran ici. Et il les affichera à l' écran via une chaîne d'impression. Donc, pour chaque élément de ce tableau, nous allons le prendre et convertir ce nom en chaîne afin de pouvoir sortir. Compilons ici, pour nous assurer que notre script s'affiche bien. Sauvegardez-le. Nous allons jouer. Vous pouvez y définir votre objet de débogage sur votre carte de test si vous ne l' avez pas déjà fait. Et maintenant, si j'appuie sur ces trois touches, vous pouvez voir que ce sont les trois éléments que je n'ai pas encore trouvés. Je ne fais que spammer avec trois touches. C'est la différence entre mes ensembles complets et mes ensembles trouvés. Très bien, alors maintenant, essayons autre chose ici. Je vais apporter le clavier VY, la touche V, je ne sais pas. Et avec cela, je vais faire référence à mes trésors cachés découverts. Je vais m'éloigner d'ici et taper AD. Assurez-vous de choisir la fonction d'ajout dans cette catégorie définie ici. Et nous allons ajouter un collier. Nous allons dire que nous avons trouvé le collier maintenant. Nous allons donc l'ajouter à notre liste de trésoriers liés. Il s' agirait donc essentiellement d'or, d' statue, d'un rouleau de sagesse et puis d'un collier. Alors compilez, sauvegardez. Maintenant, quand je joue, quand j'appuie sur les trois touches, ça va dire, hé, il te manque ces trois-là, mais maintenant je vais appuyer sur la touche V. Nous allons dire, oui, nous avons trouvé le collier maintenant, clé en V. OK, donc ça a été ajouté à ma liste de mille. Maintenant, quand j'appuie sur les trois touches, je vais dire que ce sont vos deux personnes manquantes. Nous avons trouvé le collier. Très bien, terminons cette vidéo en parlant de certaines similitudes et différences entre les tableaux et les ensembles, commençant par quelques similitudes. Eh bien, les tableaux et les ensembles stockent une collection de valeurs du même type. Les deux vous permettent d'ajouter et de supprimer des éléments, et vous m'avez vu le faire au cours des deux dernières vidéos. En ce qui concerne les différences, l' ordre des éléments est différence dans les tableaux, vous avez une liste ordonnée. Les ensembles sont considérés comme non ordonnés. Maintenant, en ce qui concerne l'unicité des éléments, les tableaux peuvent contenir des éléments dupliqués. ensembles ne peuvent pas avoir de doublons, et c'est l'une des principales différences entre les tableaux et les ensembles. Les ensembles ne peuvent pas contenir de doublons. Les tableaux peuvent, en ce qui concerne les différences fonctionnelles, rechercher et obtenir un élément individuel via une recherche d'index, car ils sont ordonnés. Et juste pour le montrer rapidement, j'ai une panoplie de comédiens ici. Si je fais glisser et déposez cela et que je l' obtiens, je peux faire glisser hors d'ici et obtenir, je peux obtenir un élément individuel dans ce tableau, n'importe quel nombre ici, encore une fois, commençant par la liste zéro, je suis actuellement Je n'ai rien dans ce tableau. Mais oui, vous pouvez obtenir un élément donné spécifié par un index. Maintenant, en ce qui concerne les ensembles, ils ne peuvent pas rechercher ou obtenir un élément individuel. Cependant, les sets sont excellents effectuer des comparaisons entre les listes, comme vous venez de me voir le faire avec ces trésors cachés, toutes les listes et mes trésors cachés, ensemble illimité ou un tableau, que devez-vous faire avec ? Eh bien, j'opterais pour un set si la commande n'est pas du tout importante. L'unicité des éléments est une exigence. autre côté, optez pour un tableau si l'ordre est important, mais que les éléments sont dupliqués, ce qui n' est pas grand-chose. Désormais, les ensembles ont également l'avantage d'être légèrement plus performants que les baies. C'est donc peut-être quelque chose à garder à l'esprit également. Mais encore une fois, les tableaux sont parfaits si vous devez rechercher un élément individuel dans cette liste. Les ensembles sont parfaits si vous devez comparer un ensemble à un autre , ce genre de choses. Très bien les gars, ça va faire, offrez cette vidéo. Rendez-vous dans la prochaine. 72. Carte HiRez: Bienvenue. Dans cette vidéo, notre objectif est d'explorer ce que sont les conteneurs de variables cartographiques, comment les créer et comment les utiliser dans un projet de jeu vidéo. Maintenant, voir c'est croire que celui-ci sera plus facile à démontrer qu'à en parler. Nous allons donc passer directement à la création d'un. Maintenant, nous allons créer ce conteneur de variables cartographiques dans notre manette BP Player. C'est un atout que nous avons créé lors de notre événement. Passez le curseur sur la vidéo. Si vous voulez revenir en arrière et revoir cela dès que possible. Si vous ne savez pas comment créer une manette de jeu, je vais vous donner une introduction rapide, un petit rappel ici. Pour ce faire, en cliquant avec le bouton droit de la souris, en passant sous la classe Blueprint, vous souhaitez créer un contrôleur de joueur. Et puis vous le nommeriez ainsi quelque chose comme BP Player Controller. Mais après cela, vous devez l'associer car vous êtes un contrôleur de joueur actif pour le projet dans lequel vous travaillez. Et vous pouvez le faire dans vos paramètres. Paramètres du projet sous les cartes et les modes. C'est ici que vous pouvez vous placer dans cette classe de manette de joueur. Maintenant, nous allons avoir quelques vidéos plus tard dans le cours où nous avons parlé spécifiquement de ces plans connus sous le nom de plans Framework. Mais il y a une raison précise pour laquelle je veux montrer ce conteneur de variables de carte à l'aide d'une manette de lecteur BP, mon plan de manette de jeu ici. Et c'est parce que plan d'une manette de joueur est associé, dans notre cas, à ThirdPersonCharacter. Maintenant, dans un jeu réel, votre personnage peut mourir et lorsqu'il reçoit une réponse, toutes les variables du plan de personnage de ce joueur reprennent leurs valeurs par défaut. Maintenant, quelque chose comme dans une variable d'inventaire, où elle contient le nom d'un objet et quantité que vous avez de cet objet, il serait préférable de le stocker dans un plan de manette de joueur car si votre personnage meurt, votre personnage meurt dans ces variables, réinitialisez une manette de jeu qui reste active, pour ainsi dire, elle reste persistante tout au long de votre session de jeu. Ainsi, si votre personnage mourait, ces valeurs ne seraient pas effacées à l'intérieur de la manette de votre joueur. Très bien, avec leur manette de jeu créée et définie dans les paramètres de votre projet sous les cartes et les modes. Classe de manette de joueur. Plongeons à l'intérieur d'ici. Et si vous obtenez cette petite fenêtre qui dit : «  Hé, ce ne sont que des données, seulement un plan. Nous pouvons cliquer ici pour ouvrir l'éditeur de plan complet et voir ce que nous voulons voir. Bien, la première chose à faire ici est de créer une variable. En fait, avant de faire cela, je voudrais supprimer toutes ces variables héritées juste pour simplifier cette section du panneau Mon plan, elles sont toutes héritées de notre classe mère du joueur. variété de contrôleurs. Je peux donc les saluer en cliquant sur cette icône d'engrenage. Décochez Afficher les variables héritées et cela simplifiera un peu cela. Alors allons-y et ajoutons la variable souhaitée ici. Je vais nommer cet inventaire parce que c'est une bonne chose à stocker dans un plan de manette de joueur. Encore une fois, un personnage joueur peut mourir et répondre et mourir et variables de réponse d'un contrôleur persisteront tout au long de votre session de jeu, le contrôleur de jeu ne mourra pas. Considérez cela comme si les cordes de la marionnette contrôlant la marionnette peuvent se détacher de la corde encore et encore. Bien, une fois cette option sélectionnée dans le panneau Détails, nous allons modifier notre type de variable ici, booléenne en chaîne, puis notre conteneur de variables d'un conteneur unique à une carte. Cela me permet maintenant d'ajouter un type de données secondaire ici. Je veux donc avoir une chaîne pour les noms de mes articles d'inventaire. Et puis je vais avoir un entier pour dire combien de cet article je possède. Je pourrais donc avoir des choses comme potion de santé, trois d'entre elles , une potion, trois de ces casques en cuir, un qui n'en protégerait pas un, et cetera, et cetera. Maintenant, pour ajouter des éléments à ce type de variable, je vais cliquer sur Compiler ici. Et nous pouvons voir dans notre panneau Détails, que nous pouvons ajouter des éléments. Je vais cliquer sur ce bouton plus une fois. Si j'essaie à nouveau de cliquer dessus, cela me dira que non, tu ne peux pas le faire. Maintenant, avec une variable de carte. Il s'agit d'un conteneur qui stocke une collection de paires clé-valeur les clés et les valeurs pouvant être de différents types de données. Encore une fois, dans ce cas, ma clé sera la chaîne. Le nom de mes clés d' articles d'inventaire doit être unique. Donc, pour la première fois ici, je vais appeler cette potion de santé. Et je vais le dire. J'en ai trois par défaut. potion de santé sera donc ma clé, et ici, ma valeur sera représentée par un entier. Ils ne doivent pas nécessairement être uniques. Ils peuvent être identiques, et je vais le représenter ici en ajoutant un autre élément ici. Les touches, dans mon cas, les cordes, doivent donc être uniques. Je vais faire en sorte que ce soit un homme, une potion. Et je vais définir trois comme valeur par défaut pour cela. Et ajoutons-en quelques autres ici, juste pour le plaisir. Je vais ajouter que c'est sûr. Casques en cuir Nous en avons un. Et en cliquant sur le signe plus, j'ai un bouclier en bois et j'en ai un. Très bien, maintenant j' ai ma collection de paires clé-valeur dans ce conteneur de cartes. Désormais, les cartes sont excellentes car elles des recherches et une récupération efficaces de ces valeurs à l'aide permettent des recherches et une récupération efficaces de ces valeurs à l'aide de ces clés associées. Bien, maintenant je veux créer une autre variable ici, et elle entrera en jeu un peu plus tard. Je vais donc cliquer sur ce bouton Plus et je vais nommer cet article à utiliser. Et je veux que ce soit du type de variable de chaîne. Avant de le définir comme type de variable de chaîne, je vais le définir temporairement sur un booléen. Maintenant, il convient de noter que vous ne pouvez pas avoir certaines variables sous forme de cartes. Donc, si je devais essayer de dire, « Hé, variable de type booléen », je voudrais vous avoir sur une carte. Tu ne peux pas le faire. Certains types de variables ne peuvent donc pas utiliser de cartes. Elles incluent des variables booléennes, des textes, rotateurs et des variables de transformation. Alors j'ai pensé que j'allais le lancer tout de suite. Ils ne peuvent pas être et ne peuvent pas utiliser le conteneur de variables cartographiques. D'accord, maintenant je veux changer ce type de données ici de booléen à une chaîne. Et nous allons compiler ceci afin de pouvoir définir une valeur par défaut. Et ce sera l'océan de manne. Donc, comme son nom l'indique, ce sera notre objet pour utiliser un homme potion qui entrera en jeu plus tard ici. Ensuite, nous voulons créer de nouveaux plans de classe d'acteurs. Revenez donc à votre navigateur de contenu. Je vais le mettre dans le dossier des scripts Blueprints. On va le mettre dedans. Je vais donc cliquer avec le bouton droit sur un espace vide, nous allons créer une nouvelle classe de plan. Ce sera de la variété des acteurs et nous allons nommer cette potion de manière soulignée de BP. Ensuite, nous allons double-cliquer sur ce type pour l'ouvrir. Tout d'abord, nous allons ajouter quelques composants , puis définir quelques détails. Donc, le premier composant que je souhaite ajouter est un composant de sphère. Pas ce type de sphère, mais plutôt un collisionneur de sphères, une collision de sphères. C'est ce que je recherche. Et je vais régler le rayon de la sphère ici à 70. Et puis, une fois que les composants de votre lance sélectionnés à l'intérieur de celui-ci sont attachés à celui-ci, je vais plutôt ajouter un cylindre. Je vais donc simplement taper cylindre et nous trouverons un cylindre de formes de base. Et j'ai quelques paramètres que je souhaite définir pour cela. Je vais changer l' échelle à déverrouiller, donc déverrouillez-la et nous allons la régler à 0,25, 0,2, 5,0, 0,5. Ensuite, je vais l'incliner. Nous allons le faire pivoter un peu. Donc, juste ici, dans les fils rotation est celle à moins 30. Et je vais aussi faire en sorte que ce matériau ressemble à ce que j'ai de sommet, quelque chose de rouge. Allons-y avec ça. Maintenant, il ressemble un peu à un homme. Bien sûr. Ensuite, nous allons ajouter une variable à l'intérieur de notre plan bp. Cliquez donc sous ce bouton plus pour accéder à la section des variables. Nous allons également appeler cet article pour l'utiliser. Nous allons changer le type ici en chaîne. Nous allons compiler afin pouvoir définir une valeur par défaut. Et cette fois, je vais saisir la potion d'Amana. Je vais le faire en minuscules, mais je le fais uniquement pour que cela soit différent de la façon dont nous l'avons nommée la valeur par défaut dans notre manette de lecteur BP. Nous y utilisons des majuscules pour le début de nos mots manne et potion, juste pour montrer que c'est possible, car les boîtiers n'auront pas d'importance pour notre carte ici. Alors allons-y, compilons et sauvegardons ceci tout de suite. Maintenant, avant d'aller plus loin, je voulais montrer dans notre manette de jeu BP que pour notre variable de carte, je vais maintenir la touche Ctrl enfoncée , cliquer avec le bouton gauche de la souris et la faire glisser sur notre graphique des événements. Si nous abandonnons cette version, si je passe sous la rubrique Utilitaires, nous avons accès à toute une série de fonctions qui peuvent manipuler nos données cartographiques d'une manière ou d'une autre. À bien des égards, cela ressemble à nos tableaux et à nos types de conteneurs définis. Et je vais juste en ajouter quelques-unes ici. Je vais donc ajouter une annonce que nous pouvons ajouter à notre carte. faisant glisser cela, il y en a aussi un autre pour trouver l'article en question. Faites glisser dessus, je peux supprimer un élément de notre dragon de carte à nouveau, je peux en trouver un qui contient, encore une fois, que je peux faire glisser. Je peux rechercher uniquement les clés qui existent sur cette carte, c'est-à-dire que ces gars-là, je peux faire glisser la souris dessus et ajouter une fonction qui trouve uniquement les valeurs de cette carte. Il existe donc de nombreuses fonctions différentes qui peuvent manipuler ou vous donner des informations sur votre carte ici. Très bien, ensuite, nous allons revenir à notre ménopause BP afin d'ajouter un script à ajouter à notre inventaire. Ici, nous allons ajouter à notre inventaire de potions Amanda lorsque nous récupérerons une potion à un homme. Donc, pour en revenir à notre BPMN du mouvement, nous voulons faire quelque chose lorsque nous chevauchons cette sphère. Dirigez-vous donc vers votre graphe d'événements, nous allons cliquer avec le bouton droit sur notre collisionneur de sphères. Nous allons ajouter un événement lorsque nous commencerons à le superposer. Et nous ne voulons que quelque chose se passe lorsque nos autres acteurs qui chevauchent cette sphère sont ThirdPersonCharacter. Donc, après la sortie, nous allons faire une recherche pour Cast to ThirdPersonCharacter. Et s'il s'agit d'un ThirdPersonCharacter, nous pouvons étendre notre script ici. Ensuite, ce que nous voulons faire, c'est parler de notre variable d'inventaire ici à notre variable d'inventaire ici l'intérieur de notre manette de jeu BP. Alors, comment pouvons-nous y parvenir ? Eh bien, de retour à l'intérieur de notre BP Man of Motion, je vais cliquer avec le bouton droit de la souris et un espace vide et taper Obtenir la manette du joueur. Et donc, une erreur que beaucoup font, c'est qu'ils pensent que, maintenant, j'ai cette fonction de manette de jeu. Je peux simplement sortir d' ici et faire une recherche d' inventaire pour trouver cette variable. Et non, vous ne pouvez pas, car nous devons savoir à quel manette de jeu nous voulons vous parler. Le projet pourrait avoir de nombreuses manettes de joueurs. C'est donc le point de départ pour identifier à quel contrôleur de joueur nous voulons parler. Donc, en traînant d'ici, nous pouvons lancer sur notre manette de jeu, notre manette de lecteur BP afin d'accéder aux informations qu'elle contient. Maintenant, je vais simplifier un peu ce nœud ici. J'ai des épingles d'exécution ici et là. Si je clique avec le bouton droit sur ce nœud, je peux simplifier ce nœud jusqu' à ce que l'on appelle une fonte pure. Je sais que cela ne va pas échouer car j'ai un projet solo. Je sais que j'ai défini ma manette de lecteur bp comme contrôleur de lecteur que mon projet utilise ici dans les paramètres de mon projet. Donc, dans ce cas précis, je peux ne pas vérifier si j'ai réussi dans cette caste ou non. Je sais que cela va réussir. Je vais cliquer avec le bouton droit sur Convertir en fonte pure. Cela va éliminer ces épingles d'exécution, mais je peux toujours y accéder comme ça. Et accédez à mon inventaire, qui est plutôt sympa. Voici donc ma carte. La prochaine chose que je veux faire est de sortir d' ici et de faire une recherche pour trouver. Et ce que ce nœud me permet de faire, c'est de trouver une clé donnée, valeur donnée, une clé d'entrée donnée. Donc, la clé que je veux chercher ici est l'homme, une potion. Je vais donc glisser-déposer ceci sur mon entrée. C'est la clé que je vais rechercher sur cette carte. Et cela en produira la valeur. Mais je veux l'augmenter. Je veux l'augmenter chaque fois que nous le chevauchons. Nous allons donc commencer avec trois potions d'Amanda. Lorsque je les recoupe, je veux simplement que vous incrémentiez ce montant. Je vais donc partir d'ici. Cela me fera perdre ma valeur de trois. faisant glisser cela, je vais taper par incréments. Donc, ce nœud ici va automatiquement incrémenter ce 3-4. Dans ce cas. Je vais le transférer ici comme ça. Mais il ne suffit pas de l'augmenter. J'ai encore besoin de tout ajouter à ma carte ici. Donc, ce que je vais faire, c' est sortir de mon inventaire une fois de plus, taper une annonce, passer sous la carte des services publics, ajouter. Donc je vais y aller comme ça. Nous voulons ajouter à nos potions de manne. Et que voulons-nous ajouter à ce montant sont mis à jour. Le montant va être indiqué juste ici. Cela va donc fixer une nouvelle quantité pour nos potions de manne. Ensuite, ce que je vais faire, c'est sortir d'ici. Nous voulons l' imprimer à l'écran afin que nous puissions réellement le voir fonctionner. Et je vais faire glisser ce type vers l' arrière , puis l'ajouter. Nous allons imprimer certains textes à l'écran. Donc, la première chose que nous allons imprimer est le nom de l'objet, en l'occurrence un homme, une potion. Ensuite, je vais mettre un espace égal à espace. Ensuite, la troisième chose que je veux inclure ici est que les montants sont des montants mis à jour. Si je le fais glisser vers le bas à partir de la sortie de nos incréments, nous pouvons générer cette quantité. Donc, cela indiquera que, pour homme une potion est égale à la quantité mise à jour. Enfin et surtout, nous voulons détruire cet acteur. Donc, en sortant d'ici, nous allons taper Destroy Actor. Il. Compilons les scripts allons-y et sauvegardons. Maintenant. Tout cela est très bien, mais nous n'avons encore ajouté aucune proportion d'hommes à notre niveau. Alors allons-y et faisons-le rapidement en revenant à notre onglet de niveau. Glissez et déposez quelques-unes d' entre elles ici comme ceci, et glissez et glissez. Et nous y voilà. Encore une fois, souvenez-vous que nous partons de trois hommes par potion. Donc, regardez en haut à gauche, et nous avons maintenant 45,6. Je dirais que cela fonctionne très bien. Maintenant, pour gagner du temps, nous allons retourner à notre manette de jeu BP où j' ai configuré un script pour décrémenter notre inventaire. C'est à peu près la même configuration que celle que j'ai chez mon homme, un plan de potion. Cependant, la seule différence ici est que je décrémente à partir de notre inventaire au lieu de l'incrémenter. Encore une fois, j' utilise ma clé ici, ma clé de potion Amana, même si j'utilise un M majuscule, un P majuscule Il parle toujours à cet homme, une clé de potion juste là. C'est donc celui que je suis en train de trouver. Ensuite, je décrémente simplement à partir de cela, puis j'ajoute cette montagne décrémentée à mes quantités d'inventaire mises à jour. Nous utilisons donc la touche pour ajuster la valeur. Alors montre-le simplement. J'ai ce contrôleur BP défini comme objet de débogage ici. Je commence donc par trois 456. Et je devrais avoir une police rouge pour le décrémenter, je vais appuyer sur 7543, et cetera, et cetera. Alors, vous l'avez. Conteneur de variables cartographiques pour des paires clé/valeur. Recherchez-la à l'aide de la touche, puis vous pouvez incrémenter ou décrémenter la valeur. C'est idéal pour quelque chose comme l'inventaire, comme celui-ci. Très bien les gars, ça va faire l'affaire pour offrir celui-ci. Nous vous verrons dans la prochaine. 73. Enum HiRez: Bienvenue. Dans cette vidéo, notre objectif est de découvrir les énumérations , abréviation d' une énumération. Il s'agit d'un autre type de listes que nous pouvons créer et utiliser pour faciliter la logique de nos scripts de plan. C'est en fait l'une de mes variables préférées à créer et à utiliser. Alors, qu'est-ce qu'une énumération ? L'énumération est un type de données composé d'un ensemble de valeurs nommées. Il s'agit d'une liste d' étiquettes, pour ainsi dire. Maintenant, c'est quelque chose que nous allons créer ici dans notre navigateur de contenu. Ensuite, nous allons l' utiliser dans notre ThirdPersonCharacter Blueprint. Alors, allez dans votre dossier Blueprints de script, ce sera un endroit judicieux pour créer une énumération. Et si nous cliquons avec le bouton droit et que nous laissons un espace vide, nous obtenons cette catégorie de plans. Et dans notre petit menu déroulant, possible de créer une énumération, dans l'infobulle , et l'énumération est une liste de valeurs nommées. Allez-y, cliquez dessus, et nous allons lui donner un nom tout de suite. Je vais appeler cela un E pour souligner l'état de santé. Maintenant, j'aime toujours nommer mes énumérations créatives avec un trait de soulignement E. Mais là encore, vous pouvez utiliser la convention de dénomination de votre choix. Ensuite, je vais double-cliquer dessus pour l'ouvrir. Maintenant, à l'intérieur, nous allons cliquer sur ce bouton et ajouter un énumérateur une, deux, trois fois pour nous permettre d'ajouter des étiquettes à l'intérieur que nous pouvons utiliser. Je vais donc remplacer chacune d'elles. Le premier s' appellera Super. La deuxième va s'appeler, d'accord, tu peux créer ces étiquettes, que veux-tu ? Et mon troisième sera qualifié de gravement blessé. Ce seront donc essentiellement mes trois états de santé distincts que je vais utiliser pour créer certaine logique dans mon plan de personnage à la troisième personne. Je vais enregistrer ça et ensuite je pourrai tout fermer, je n'en ai plus besoin. Et je vais me lancer dans mon plan ThirdPersonCharacter. Si vous avez oublié où il se trouve dans le dossier Blueprints à la troisième personne, double-cliquez sur ce type pour l'ouvrir. Une fois à l'intérieur, nous allons créer une variable. Je vais donc créer une variable en cliquant simplement sur ce bouton plus Ajouter. J'aime le faire de différentes manières pour montrer différentes manières de créer des variables. Et je vais appeler cela un E pour souligner l'état de santé. Je vais le nommer exactement de la même manière que j'ai nommé mon énumération. Je vais appuyer sur Entrée ici. Maintenant, dans le panneau Détails, je vais changer le type de variable. Bien que je l'aie nommée exactement de la même manière que mon énumération que je viens de créer, j'aurais pu la nommer comme je voulais. Cependant, je veux mapper cela au type de variable. Mon E souligne la santé, oups, E souligne le dénombrement de l'état de santé. Ça y est, juste là. Je dis donc à cette variable que je suis en train de créer, que je veux être de ce type. Maintenant, une fois que j'ai cliqué sur Compiler ici, je peux voir que je peux modifier valeur par défaut de mon état de santé pour qu'elle soit super, correcte ou mauvaise. Et comme il s'agit d'une variable, je peux la modifier. Je peux le changer de super deux, d'accord ou mal, puis utiliser ce statut pour piloter la logique. Très bien, alors passons à la création de notre script initial ici. Je vais commencer par créer un événement personnalisé. Je vais cliquer avec le bouton droit sur un espace vide, taper personnalisé, nous allons ajouter un événement personnalisé qui est un événement que nous pouvons nommer et appeler quand et où nous le voulons. Et je vais zoomer ici parce que je suis très loin. Je vais appeler cela une mise à jour de l'état de santé. Ensuite, je vais introduire ma variable d'énumération ici, en maintenant la touche Ctrl enfoncée, en cliquant avec le bouton gauche et en faisant glisser. Et ce que nous pouvons faire avec ce type, c'est qu' on peut s'en sortir et y introduire un nœud de commutation. Si je commence juste à taper switch, cela amène un nœud de commutateur qui me permettra de basculer en fonction de la valeur de cette énumération. Alors voilà, passez au statut eHealth. Vous pouvez voir les broches de sortie ici, dire « super », « OK » ou « très mal ». Ce sont les étiquettes exactes que j'ai ici à l'intérieur de cette énumération, super bien. Ou mal elle, si je branchais une autre énumération ici, ça dirait d' allumer ce que c'est. Et il aurait des broches de sortie correspondant aux étiquettes qui se trouvaient à l'intérieur de cette énumération. Maintenant, c'est génial car en fonction de la valeur de cette variable, elle va se déclencher à partir de différentes épingles ici. Et ce que cela nous permettra de faire, c'est d'ajuster quelque chose, en l'occurrence à propos de notre caractère. Ce que je vais faire, c'est ajuster vitesse de déplacement de notre personnage fonction de son état de santé, qu'il soit super bon ou gravement blessé. Je vais donc intégrer la composante mouvement de mon personnage. Faites-le glisser et déposez-le ici. Dans la composante mouvement de mon personnage, j'ai ce paramètre appelé vitesse de marche maximale. C'est ce qui contrôle la vitesse à laquelle mon personnage peut se déplacer au niveau où je vais sortir d'ici et saisir la vitesse de marche maximale. Je veux pouvoir régler ma vitesse de marche maximale. Et je vais dupliquer ce Control C, Control V, Control V. Et je peux intégrer ce même composant de mouvement de personnage aux trois. Peu importe que vous en ayez un. Ou je pourrais glisser-déposer les composants mobiles de mon personnage séparément. Je pourrais en avoir trois et les brancher séparément sur chacune des cibles, peu importe comment vous vous y prenez. Je vais faire comme ça, comme ça, et comme ça, laissez-moi simplement double-cliquer dessus pour faire entrer un nœud de reroutage. Et maintenant, je vais définir ma vitesse de marche maximale en fonction de ma santé ou de ma blessure grave. Si c'est super, je dirais que ma santé va me permettre de marcher à cette vitesse maximale des années 2000 ? Ça l'est. OK. Je dirais que c'est de nouveau dans ma valeur par défaut de 500. Si je suis gravement blessé, je vais le mettre à 100. heure actuelle. Tout cela est très bien. Mais nous n'appellerons cet événement personnalisé nulle part. Nous avons besoin d'un moyen d'appeler cet événement personnalisé de déclenchement et de désactivation afin de pouvoir définir nos désirs maximaux en fonction de la valeur de cette énumération. Nous avons maintenant besoin d'un moyen de changer ce statut ou de le définir. C'est donc ce que sera le prochain morceau de script. Très bien, donc je vais juste commencer par un événement d'entrée. Je vais cliquer avec le bouton droit de la souris et laisser un espace vide et rechercher clavier h parce que nous allons utiliser cet événement d'entrée pour modifier notre état de santé. Et juste quelques ajustements que nous devons faire ici à partir de choses que nous avions modifiées dans les vidéos précédentes. Sélectionnez votre variable flottante de santé ici, nous allons la redéfinir à 1,0, ce qui équivaudra à 100 %. Ensuite, avec notre fonction de santé modifiée, a été créée dans la section des fonctions du cours, lorsque nous avons décidé de créer une fonction, vous pouvez découvrir comment nous y sommes parvenus. Je vais également y apporter quelques modifications , car dans cette section du cours, nous avons modifié notre fonction de santé modifiée. Je vais cliquer avec le bouton gauche de la souris et le faire glisser en haut de notre touche de presse juste ici. Cette entrée nous a été donnée à titre de référence passée. Nous l'avons défini comme référence de passe. À un moment donné, nous allons annuler cela. Ainsi, lorsque ce nœud est sélectionné dans la section de saisie, vous pouvez vérifier que, parce que nous voulons saisir quelque chose, il est codé en dur, pour ainsi dire. Et j'ai aussi besoin de modifier certaines informations concernant cette fonction. Je vais donc double-cliquer dessus pour l'ouvrir. Nous avons cette augmentation actuellement dedans. Je vais le supprimer. Donc, ce que nous voulons faire ici, c'est que nous avons une valeur pour la santé que nous allons fixer à fond dans notre fonction. Nous allons dire qu'à chaque fois que nous appuyons sur ce bouton, nous allons réduire de zéro point un point, soit 10  % de santé. Ce sera donc notre contribution qui va double-cliquer ici. Lorsque cela se produira, nous allons soustraire ou plutôt ajouter à notre valeur de santé actuelle. Même s'il s'agit d'un chiffre négatif, nous allons ajouter ce chiffre négatif à notre état de santé actuel. Nous allons donc prendre ce 0,1 négatif. Nous allons l'ajouter à cette valeur, qui sera égale à 0,9 ou 90 %. Et c'est ce que nous allons publier. Nous allons le brancher comme ça. Nous pouvons toujours soutenir que si c'est supérieur à zéro, nous allons produire un effet sonore positif. Si elle est inférieure à zéro, nous allons émettre un effet sonore négatif. Donc, c'est très bien. Assurez-vous donc que la fonction de santé que vous modifiez est mise à jour pour ressembler à cela. Je vais le compiler tout de suite. Et pour en revenir à notre graphique des événements, nous allons continuer ici. Nous allons donc dire si notre état de santé actuel est supérieur ou égal à 0,75. Essentiellement, si nous avons les trois quarts de la santé ou plus, nous allons faire appel à n'importe quelle succursale. C'est vrai. Nous allons définir notre état de santé ici. Nous allons donc le glisser-déposer sur le vrai pour placer n'importe quel centre. Nous allons dire que si votre état de santé est aux trois quarts ou plus, votre santé est désormais étiquetée comme super. Si c'est faux, nous allons introduire un autre nœud de branche. Et nous allons faire une autre évaluation ici. Donc, en sortant d'ici, nous allons rechercher un autre supérieur ou égal à. Donc, si elle doit être supérieure ou égale à 0,26. Donc, essentiellement 26 %. Si elle se situe entre ces deux fourchettes, 26 à 75 %. Si c'est vrai, nous allons passer à Control C et Control V sur ce type plusieurs fois. C'est donc vrai. C'est entre cette fourchette 26,75 % de santé. Nous allons dire que votre santé va bien. Et si c'est faux, vous avez 25 % de santé ou moins. Nous allons dire que vous êtes blessé. Mal. Donc, c'est très bien. De toute évidence, vous voyez que cela n'est pas lié. Et si ce n'est pas encore connecté, c'est parce que je veux introduire une chaîne d'impression ici. Nous allons imprimer des chaînes afin de pouvoir réellement voir notre état de santé actuel craché à l'écran. Je vais donc convertir ce float en chaîne en le branchant comme suit. Tout cela est très bien. Cependant, chaque fois que je change la valeur de ma variable d' état de santé ici, nous utilisons cette variable qui semble augmenter notre vitesse de marche maximale, mais nous ne parlons pas encore d'avantages pour le client. Nous devons donc terminer cette partie aussi saisie en appelant l'endroit où cet événement personnalisé doit démarrer. Et nous pouvons le faire en cliquant avec le bouton droit sur un espace vide et en saisissant les mises à jour. Voilà, la fonction d'appel met à jour l'état de santé. C'est le nom exact de ce document. C'est ce que nous allons appeler ainsi. Cela va nécessiter le lancement de cet événement personnalisé. Nous allons ensuite voir d'accord. Comment cet état de santé a-t-il été mis à jour ? Super ok. Ou mal elle, en fonction de ce que c'est maintenant réglé, nous allons influencer la vitesse de déplacement de notre personnage. Donc, compilons ça, pour nous assurer que tout est beau. Oublie de le sauvegarder. Je vais en quelque sorte ranger ça ici. Nous allons jouer cet objet de débogage en tant que ThirdPersonCharacter et sélectionner les composants mobiles de mon personnage. Notre vitesse de marche par défaut va donc commencer à 500. Même si notre état de santé par défaut est réglé sur Super, nous ne l'évaluons pas encore pour déterminer notre vitesse de marche maximale. Sachez donc que lorsque je commencerai à me déplacer ici, nous nous déplacerons à une vitesse de 500. Donc, reprenez cela. Ok, tu peux voir que je me déplace à vitesse d' environ 500. Je vais appuyer sur ma touche H ici. Maintenant, à 90 % de santé, ce qui est toujours super, donc ma vitesse de marche maximale sera maintenant de 2000. Vous pouvez me voir avancer beaucoup plus vite. Je vais appuyer à nouveau sur cette touche H pour atteindre 80 % de santé, 70 % de santé. Maintenant, je suis dans cette fourchette acceptable, donc ça va être ramené à 500. Je ne suis toujours pas à l'aise. Permettez-moi donc de continuer à appuyer sur la touche H ici pour réduire ma santé à 20 %. Alors maintenant je suis gravement blessé. Donc, c'est aussi vite que je peux courir, pour ainsi dire. C'est une excellente utilisation d' une variable d'énumération, déterminer votre état de santé et de modifier quelque chose à propos de votre personnage. Alors, à quelles autres utilisations pouvez-vous penser ? Eh bien, laissez-moi juste en jeter quelques-unes. Et si vous aviez une énumération des différentes armes ? Et selon l' arme que vous avez équipée, disons une épée, un poignard, un bot, votre vitesse de déplacement ou même vos attaques disponibles, cela pourrait très bien se produire. Qu'en est-il de n'importe quel NUM pour différentes classes de personnages ? Fabriquées par des guerriers, etc. et selon la classe de votre personnage, certaines armes peuvent être disponibles ou non. Ou que diriez-vous d'une énumération des différents états ou événements du jeu ? Pensez à un jeu comme Rocket League. Vous pouvez avoir une énumération pour des éléments tels que le gameplay, les buts marqués, la mi-temps, etc. Et selon le réglage de cette énumération, vous pouvez faire en sorte que différentes choses se produisent, comme montrer un cinématique d' un but après un but à marquer. Très bien les gars, ça va suffire pour vous proposer cette vidéo, nous vous verrons dans la prochaine. 74. Struct: Bienvenue. Dans cette vidéo, notre objectif est d'apprendre et de démontrer l'utilisation du type de variable de structure très utile. Maintenant, c'est un type de variable que je crée tout le temps dans mes propres projets de jeu. D'un trait, vous pouvez stocker de nombreux types de données liés à la même chose dans un seul conteneur. Alors allons-y et créons une variable de structure. Ici, dans mon dossier Blueprints de scripts, je vais cliquer avec le bouton droit de la souris sur un espace vide, sous la catégorie Blueprints, dans le petit menu volant, juste en dessous de l'énumération, nous avons la structure également connue en tant que type de variable de structure que nous pouvons créer. Alors allons-y et créons ceci. Je vais nommer cette STR, souligner les sorts. Ensuite, double-cliquez sur ce type pour l'ouvrir. Très bien, définissons même ce qu'est une variable de structure. Ainsi, une structure ou une variable de structure est essentiellement une variable qui peut contenir de nombreuses autres variables à l'intérieur de celle-ci. Ainsi, structure essentiellement les données regroupées. Vous pouvez considérer une structure comme un casier de rangement géant avec toutes les autres boîtes à l'intérieur de ce casier de stockage comme des variables individuelles. Chaque boîte à l'intérieur du casier de rangement a son propre contenu. Nous pouvons ensuite entrer dans le casier de rangement. Dans ce cas, nous structurons et retirons le contenu d'une boîte, dans ce cas une variable selon les besoins. Maintenant, ces traits sont parfaits pour contenir des variables qui se rejoignent d' une manière ou d'une autre. Nous avons donc une structure que nous allons créer ici, appelée sorts. Pensez à toutes les propriétés des sorts que nous pourrions contenir dans 11 types de conteneurs. Ici, nous pouvons ajouter le nom du sort, le type d'effet, l'élément auquel il est associé. Peut-être un homme coûteux, peut-être un peu de calme. Toutes ces choses sont associées à un sort donné et ce serait formidable si nous pouvions les regrouper en un seul actif. Eh bien, un accident vasculaire cérébral est un excellent endroit pour le faire. Très bien, laisse ce type ouvert pour le moment. Nous allons d'abord créer deux autres actifs d'énumération, avant de revenir à notre structure. Revenez donc à votre éditeur principal ici, dans votre dossier Blueprints de script. Et créons ces deux énumérations. Vous pouvez cliquer avec le bouton droit sur le menu déroulant des plans. Nous allons créer une énumération. Je vais appeler celui-ci des éléments de sort soulignés en E. Ensuite, je peux cliquer dessus avec le bouton droit de la souris et le dupliquer. Control D le dupliquera également, car ce sera aussi une énumération et je vais appeler celui-ci les types de sorts de soulignement E. Ensuite, nous pouvons double-cliquer sur chacune d'elles pour les ouvrir. Les éléments du sort sont donc ouverts. Ouvrons également les types de sorts. Très bien, donc sous les types de sorts, je vais ajouter trois entrées ici. Nous allons commencer par les types de sorts, 1234 types de sorts. Je vais faire des dégâts directs dans l'écran nommé numéro deux, ce sera une zone d'effets. La troisième sera, disons, la guérison. Bien sûr. Allons-y, sauvegardons ça et ensuite tu pourras fermer ce type. Pour les éléments de sort, nous allons ajouter trois entrées ici, 123, et il n'y en aura aucune. Incendie. Et mon prochain événement ici sera le vent. Et en fait, ajoutons-en un de plus. Faisons un verre d'eau, nous aussi. De l'eau Quel plateau ? Potter. Allons-y, sauvegardons cela et ensuite nous pourrons le clôturer. Maintenant, ceux qui ont été créés, nous devons revenir dans notre structure et nous allons y ajouter de nouvelles variables. Encore une fois, considérez une structure comme un conteneur pouvant contenir de nombreuses variables. Je vais juste le glisser vers la gauche. Je vais donc ajouter, voyons voir, 1234567 si je compte bien, donc ajoutons, je crois que c'est sept juste là, 0 à six, **** égale sept. Donc, pour la première fois, je vais appeler « orthographe », « nom ». Et ce sera du type variable text. Allez, textos, on y va. Le second sera appelé type orthographié. Et c'est là que nous pouvons nous installer dans la pièce que nous venons de créer. Nous pouvons entrer dans l'UE et le trouver ici. Bien que vous puissiez également le rechercher là-haut et là, vous pouvez voir ses types d'orthographe ici. Ensuite, nous allons appeler les éléments du sort. Et dans notre nouvelle catégorie, nous allons la configurer pour épeler des éléments. La prochaine étape, nous l'appellerons « gestion des coûts ». Et oups, celui-ci n'a pas pris la parole ici. Revenons-y directement, à nos éléments de sorts ici. Sous enums, épelez les éléments. Nous y voilà, homme de frais. Nous allons le définir comme un entier. On va se rafraîchir ensuite. Nous allons le configurer pour qu'il s'agisse d'un flotteur. Ensuite, nous avons valeur d'effet de sort qui peut être endommagée ou soignée. C'est ce que je fais référence à vous par valeur d'effet orthographique. Et il le définira comme un entier. Enfin, et ce n'est pas le moins important, j'ai lancé S f x. Ce serait donc l'effet sonore associé au lancement d'un sort. Je vais donc faire en sorte que ce soit une onde sonore. Fera une référence à un objet d'onde sonore et ensuite quelque chose d'autre. Juste pour le montrer, nous pourrions le configurer comme un tableau, afin que nous puissions réellement avoir une gamme d'effets sonores différents que nous voulons jouer. Donc c'est plutôt cool là-bas. Très bien, allons-y et sauvegardons ça. Et je vois cet avertissement là-haut. Et si nous passons la souris dessus, cela indique que vous ne pouvez pas analyser cette valeur. Tu dois avoir autre chose que rien là-dedans. Développons cela vers le bas et ajoutons quelques valeurs par défaut pour cela. Nous pouvons ajouter ces valeurs par défaut, mais pas en dessous. Ici, nous avons cet onglet de valeurs par défaut diffuse les effets plus, plus, et laissez-moi simplement les définir comme étant. Allons-y, plus sombre. Comment allons-nous ouvrir les fenêtres du Dr Bowles et ajouter des étiquettes de données ? Fermez la fenêtre. Oui, peu importe ce que vous y mettez, il y a juste deux effets sonores différents. Voilà donc notre structure. Nous voyons que c'est une bonne chose à faire. Nous pouvons continuer et cliquer sur Enregistrer ici. Bien, une fois tout cela fait, passez à votre ThirdPersonCharacter. Et si vous avez oublié où se trouve ce type une fois de plus dans votre dossier Blueprints à la troisième personne, double-cliquez sur ce gars pour les ouvrir. Donc, à l'intérieur, nous allons utiliser cette structure. Nous devons créer une variable. Passez donc dans la section de votre variable my blueprint, cliquez sur le bouton Plus, et nous appellerons celui-ci mes sorts. Nous allons changer le type de variable ci-dessous passant d'un booléen à nos sorts de structure, STR, de trait de soulignement. Et c'est là que nous pouvons trouver notre structure. C'est dans la catégorie des structures. Et si je passe dans le panneau de détails, je peux le faire dans un tableau de structures. Je vais donc changer le type de conteneur ici de simple à tableau. J'ai besoin de compiler ici. Et quand je le fais, je peux ajouter plusieurs entrées à mon tableau de sorts ici. Cliquons donc une et deux fois, et maintenant vérifions-le. fur et à mesure que je les développe, j'ai accès à toutes ces différentes propriétés que j'ai configurées ici dans ma structure. Donc, ici, dans ma structure, j'ai créé des champs pour saisir un nom de texte. Je suis entré. J'ai saisi des champs pour définir un type de sort, un élément de sort, accost d' homme, toutes ces choses et les voici maintenant disponibles dans mon BP ThirdPersonCharacter. Alors définissons certains d'entre eux. Je vais dire que le nom de mon premier sort s'appellera boule de feu, type de sort, dégâts directs, bien sûr, élément de sort. Je vais cliquer sur ce menu déroulant et regarder toutes les options que j'ai définies dans mon émeu. Encore une fois, pour notre sort, tapez ici et élément de sort. Nous les avons associés à des énumérations, des listes de noms que nous avons créées plus tôt. Donc, Spell Element, nous allons le mettre à feu. Man Acosta les mettra à cinq, réduits à 0,5 effet de sort de rivage, valeur 25. Dans ce cas, je veux dire que 25 en tant que dégâts directs. Pour ma prochaine entrée, épelez le nom. Je vais régler ce problème pour qu'il soit guéri. Ce type de cloche va être remplacé par éléments de sorts de soins. Eh bien, aucun de ces éléments ne laissera ça comme rien. Les coûts gérés indiqueront dix, refroidissement 3,8, la valeur de l'effet de sort 50. Ensuite, nous pouvons également définir les effets sonores pour chacun d'entre eux. J'ai oublié de le faire pour la boule de feu. Alors élargissez chacun d'entre eux. Oui, vous pouvez modifier les effets sonores afin de laisser les valeurs par défaut pour votre boule de feu, mais peut-être que pour votre effet sonore de durcissement, vous voulez quelque chose de différent. Je vais donc en essayer un appelé ship VR Shape Scale Up. Et je ferai de même pour cet autre navire, navire à grande échelle également. Ils se trouvent dans les dossiers de contenu du moteur. Au fait, si vous avez oublié comment accéder aux dossiers de contenu de votre moteur, vous pouvez cliquer sur la petite icône en forme d'engrenage afficher le contenu du moteur. D'accord, donc tout cela est plutôt sympa. Allez-y et compilez-le tout de suite. D'accord, donc avec toute cette configuration, comment utilisons-nous cette variable frappée ? Comment accéder à cette variable de frappe et extraire les informations que nous cherchons à extraire ? Eh bien, pour commencer, nous devons ajouter cela à notre graphique. Je vais donc cliquer avec le bouton gauche et faire glisser. Je vais le chercher. Et cela renvoie un tableau parce que nous avons deux éléments ici, une boule de feu avec toutes ces propriétés. Et notre index ici est notre Q ou sort. Nous avons donc l'index 0, notre pare-feu, et l'index un dans notre tableau, le sort curatif. Nous pouvons donc glisser dessus et taper gets, nous pouvons en obtenir une copie ici. Et en fonction de la valeur que nous saisissons ici, il recherche un entier. Nous pouvons entrer 0 pour renvoyer notre indice de boule de feu 0, ou nous pouvons en saisir un pour renvoyer notre curieuse ceinture C'est l'indice un. C'est ainsi que cela fonctionne. Alors ce que nous voulons faire ici est de cliquer avec le bouton droit sur cette épingle. Si je clique dessus avec le bouton droit de la souris, je peux diviser la broche de structure. Maintenant, regardez comment ce nœud se transforme lorsque je fais cela. Bam. Maintenant, j'ai toujours ces entrées entières, donc je peux toujours définir, est-ce que je veux rechercher l'index est 0 ici, ma boule de feu ou mon index un ici pour guérir. Mais maintenant, je peux sortir toutes les différentes propriétés liées à cet indice donné. Donc, je peux trouver pour index 0, le nom du sort de la boule de feu, les dégâts directs, yada, yada, yada. Notez maintenant que vous pouvez revenir en arrière et réduire le tout en cliquant avec le bouton droit sur l' une de ces épingles. Et je peux recombiner le Struct Pin. Mais dans ce cas, nous voulons cliquer dessus avec le bouton droit et diviser l'épingle frappée. Maintenant, il convient de noter qu' il y a en fait de nombreux traits à trouver lorsque vous travaillez avec des scripts de blueprints. Et c'est un petit aparté, mais cela vaut la peine de le souligner ici. Je vais cliquer avec le bouton droit la souris et un espace vide et simplement taper get actor transform. Cela obtiendrait la transformation de notre ThirdPersonCharacter. Maintenant, si je devais cliquer avec le bouton droit sur cette épingle juste ici, je peux diviser l'épingle de structure en une transformation composée de données de position, de rotation et d'échelle. Mais même quelque chose comme l'emplacement, non ? C'est trois valeurs en une dans les vecteurs X, Y et Z qui déterminent notre position finale. Il s'agit de trois valeurs flottantes. Donc, si je cliquais dessus avec le bouton droit de la souris, je pourrais aussi fendre cette épingle frappée. Vous pouvez donc voir comment il existe de très nombreux nœuds dans Unreal sur lesquels vous pouvez faire toute cette division et cette recombinaison des broches de structure, quelque chose comme ceci. Un vecteur est une structure. Il se compose de trois variables flottantes. Je peux donc cliquer dessus avec le bouton droit. Je peux le partager et tu peux le recombiner. Et même notre rotateur ici qui se compose également de trois valeurs flottantes, donc nous pouvons le diviser. Oui, intéressant de noter, cliquez avec le bouton droit sur recombiner, cliquez avec Oups, pas de promotion. Cliquez avec le bouton droit, recombinez, cliquez sur recombiner Très bien, revenons au sujet ici, utilisons notre structure. Je vais donc le supprimer. Je vais apporter la clé de l'événement. Nous allons donc cliquer avec le bouton droit et laisser un espace vide. Essayons quelque chose sur la touche 9. Bien sûr, pourquoi pas ? Je ne pense pas utiliser la touche 9 nulle part. Nous allons sortir de notre type de sort ici, mener ces deux gars ici de type orthographié. Et je vais chercher un interrupteur. Côté facilité, sortilège. Nous allons faire quelque chose en fonction du type de sort que nous spécifions ici. Ensuite, ce que je vais faire, c'est faire glisser des éléments hors de mes sorts et je vais activer les éléments orthographiés comme suit. Et nous allons dire que si nous causons des dommages directs, nous allons ensuite découvrir quels sont nos éléments ici. Et ce que nous allons faire ensuite, c'est imprimer une chaîne. Nous allons éteindre notre feu ici et je vais en quelque sorte récapituler. Quand j'en aurai fini ici. Réussissez, puis nous obtiendrons notre valeur d'effet magique. C'est comme les dégâts que nous allons faire ici. Alerte spoiler, je vais laisser cela comme les éléments 0 ici. Nous allons donc lancer une boule de feu, pour ainsi dire, sans aucun effet. Mais si vous encaissez des devis aériens , partez d'ici. Et nous n' allons pas encore l'intégrer à cela. Je vais revenir d'ici et faire un ajout. Nous allons imprimer quelque chose à l'écran. Notre A sera l'espace qui vous sera distribué. R, B sera la valeur de l'effet orthographique qui va convertir cet entier en chaîne. Nous allons ajouter une autre épingle ici. Nous allons ajouter le nom du sort à C. Vous avez donc distribué 25 boules de feu. Et le dernier mot ici, nous allons ajouter une autre épingle, c'est endommager. Et je vais ajouter un espace avant cela. Et tout cela va très bien se passer. Enfin, et ce n'est pas le moins important, nous allons nous éloigner d'ici. Nous allons jouer, un son, il suffira de jouer du son en 2D. Quel son veux-tu le faire jouer ? Eh bien, voyons l'un de nos différents effets en cascade ici. Éloigne-toi de ça. Nous allons en obtenir une copie. Nous allons le mettre ici. Comme nous pouvons le préciser, souvenez-vous de notre sort de boule de feu ici, nous avons deux effets sonores de casting possibles, l'élément 0 ou l'élément un. Choisissons-en un au hasard. Je vais donc faire glisser la souris vers l'arrière et taper un entier aléatoire dans la plage. Nous allons y aller entre 01. Ce sera donc notre configuration finale, en utilisant nos traits ici. D'accord, donc c'est plutôt bien cadré . Je crois que j'ai compris. Très bien, allons-y et compilons pour nous assurer que le script est prêt à être utilisé. Enregistrez, allons-y et jouons puis appuyez sur le fait qu' il y a neuf touches. Hé, définissez notre objet de débogage, revenez en arrière. On y va. Et nous y voilà. Précédent Nike, vous devriez voir des textes apparaître ici. U del 25, dégâts causés par une boule de feu. Je sais qu'il n'y a pas d'espace entre la boule de feu et les dégâts. Et au fur et à mesure que je développe ce sujet, encore une fois, vous devriez entendre l'un de ces deux effets sonores jouer au hasard. Très bien, donc je sais que c' était une configuration très basique, mais je vais vous mettre au défi d'essayer de développer ce type de configuration. Maintenant, je veux que vous les essayiez vous-même, vous assurant de ne pouvoir lancer un sort que si vous en avez assez. Nous n'utilisons pas nos monocottes ici. Assurez-vous donc d'essayer autre chose. Assurez-vous de ne pas pouvoir lancer à nouveau à moins que vous ne soyez calmé ou que la durée n'ait expiré. Essayez ceci, essayez d'ajouter un émetteur ou système de particules à un sort que vous lancez ici. Essayez également ceci, essayez de spécifier un emplacement vectoriel où ce sort donné devrait générer ce système de particules donné. Ce sont donc toutes des choses, compte tenu de certaines connaissances préalables de ce cours, j'aimerais que vous essayiez maintenant de terminer, parlons également d'une autre utilisation possible. Imaginez qu'un système de quêtes a été détruit. Vous pouvez spécifier un nom, un lieu, ennemis à apparaître ou à vaincre, et peut-être des types et des quantités de récompenses qui peuvent tous être contenus dans une structure. Ou peut-être que les attributs de base de caractères peuvent tous être contenus dans une structure. Et vous pouvez spécifier des éléments tels que le nom, vitesse, la santé , toutes sortes de choses. Très bien les gars, ça va suffire pour proposer cette vidéo sur la structure très utile. Rendez-vous dans la prochaine. 75. Aperçu du contrôle de flux: Très bien, nous sommes enfin arrivés au point du cours où il est grand temps de parler des nœuds de contrôle de flux. Maintenant, je sais que vous m'avez vu jusqu'à présent dans le cours utiliser un grand nombre de ces nœuds de contrôle de flux. Mais nous n'avons pas encore eu discussion officielle à ce sujet car il y a beaucoup de sujets à aborder. Donc ça se termine maintenant. Ici commence notre conversation sur le nœud de contrôle de flux. Notre objectif dans cette vidéo est donc simplement d'avoir une vue d'ensemble et de comprendre ce que sont les nœuds de contrôle de flux et leur fonction dans les scripts, un objectif plus approfondi. Nous examinerons également rapidement les nœuds de contrôle de flux courants utilisés dans les scripts. Commençons par définir quels nœuds de contrôle de flux, même nos nœuds de contrôle de flux sont des nœuds qui permettent de contrôler le flux d'exécution en fonction des conditions. Ils évaluent certaines entrées de données. Et en fonction des entrées, ils ont déterminé quelle exécution hors pin fires ou quand une exécution hors pin fires contrôlent essentiellement le flux d'exécution. Par exemple, nous avons ce nœud de branche ici. Nous pouvons y entrer. Ensuite, sur la base d' une entrée de condition, nous pouvons sortir de la branche vraie si la condition est vraie, ou nous pouvons sortir de la fausse branche si la condition est fausse. Les nœuds de contrôle de flux ont désormais une couleur grise en haut. Et comme nous l'avons mentionné précédemment dans notre section sur les macros, les nœuds de contrôle de flux sont des macros et vous pouvez le constater en double-cliquant simplement sur l'une d'entre elles. Je vais double-cliquer sur mon nœud de porte ici. Et cela va ouvrir ma bibliothèque de macros standard. Ce sont des macros, les nœuds de contrôle de flux sont des macros. Maintenant, où pouvons-nous trouver un ensemble de ces nœuds de contrôle de flux ? Et voici quelques exemples courants que vous trouverez dans les scripts. J'ai tout cela dans mon Level Blueprint un aperçu rapide de la plupart des plus courants. Eh bien, si vous recherchez certains d'entre eux, vous pouvez évidemment les rechercher par nom, cliquant avec le bouton droit de la souris et en les recherchant par le titre ici. se trouvent également dans le menu contextuel, ici même sous Utilitaires. Et puis, dans la section utilitaire, vous pouvez accéder au contrôle du flux. Et c'est là que se trouvent certains d'entre eux. Maintenant, il convient de noter que je vais lancer ce nœud de sélection qui n'a pas de bannière grise. Il ne s'agit pas officiellement d'une charge de régulation de débit. Je vais également l'inclure dans cette section car il contrôle en quelque sorte le flux de données qui obtient sortie en fonction des entrées de l'index. Donc, dans un sens, c'est une sorte de nœud de contrôle de flux. C'est pourquoi je vais l'inclure également. Nœud super pratique pour savoir, en passant, quelques informations supplémentaires sur les nœuds de contrôle de flux. Beaucoup d'entre eux ont des raccourcis clavier et je les ai inclus dans les commentaires du nœud ici. Ainsi, vous pouvez voir qu' avec un nœud de branche, si vous maintenez la touche B enfoncée et que vous cliquez avec le bouton gauche, vous obtiendrez une branche. Ce sont des astuces très pratiques. Je vous recommande de vous familiariser car vous allez vous retrouver à utiliser ces nœuds tout le temps. De plus, les nœuds de contrôle de flux sont utiles pour bloquer ou restreindre l'exécution d'une zone de script. Ils sont également utiles pour déterminer quel morceau de script doit être exécuté ensuite. C'est donc quelque chose à savoir sur nœuds de contrôle de flux, rien de tel que cela se trouve au fond de votre esprit. Ils sont utiles pour déterminer à quel moment une zone de script apparaît quel bit de script apparaît. Suivant. L'exemple du script suivant serait une branche. Dois-je sortir du vrai ou du faux ? de porte est un exemple de cas où une zone de script Notre nœud de porte est un exemple de cas où une zone de script se produit. Et vous pouvez en savoir plus à ce sujet dans la vidéo du nœud de porte elle-même. Très bien les gars, cela va faire pour que les quatre soient un aperçu du contrôle de flux. Nous vous verrons dans la prochaine vidéo. 76. Branche: Bienvenue. Dans cette vidéo, notre objectif est d' apprendre à utiliser le nœud de branche en utilisant un scénario de porte verrouillée extrêmement courant titre de démonstration. Donc, tout d'abord, définissons ce qu'est un nœud de branche. Vous m'avez vu en utiliser plusieurs jusqu'à présent. Les branches sont essentiellement un encodage d'instructions if then. Ils constituent un moyen simple de créer flux de base de décision à partir d'une seule condition vraie ou fausse. Désormais, une fois exécuté, le nœud de branche examine la valeur entrante du booléen attaché. Vous pouvez y associer une variable booléenne ou simplement coder en dur en cochant ou décochant les sorties. Ensuite, cela produira une impulsion d'exécution vers la sortie appropriée. Donc, si c'est vrai, et c'est ce que signifie la coche, cela sortira d'ici. Si cela est faux ou non vérifié, sortira d'ici. Encore une fois, le raccourci pour le placer dans votre graphique consiste simplement à maintenir la touche B enfoncée et à cliquer avec le bouton gauche de la souris. Maintenant, il convient de noter ici que nous avons déjà utilisé un nœud de branche. Nous l'avons fait lors de l'introduction de la variable booléenne. Et nous l'avons fait dans notre ThirdPersonCharacter. Alors pourquoi ne trouvez-vous pas votre ThirdPersonCharacter. Vous pouvez le trouver dans le dossier Blueprints à la troisième personne. Double-cliquez dessus pour l'ouvrir. Et ce que nous avons fait pendant la vidéo booléenne, c'est que nous l'avons réalisée. Ainsi, lorsque nous saisissons une action sautée via la barre d'espace, nous avons évalué la condition de notre variable booléenne can jump. Et si c'était vrai, ce que nous avons actuellement par défaut, alors nous pouvons sauter. Si c'est faux, on ne peut pas sauter. Et nous pouvons le voir en essayant simplement de jouer lorsque j'y envoie mon objet de débogage. Et encore une fois, c' est réglé sur vrai. Et vous pouvez le voir en passant la souris dessus pendant que vous jouez. Et si j'appuie sur la barre d'espace, vous pouvez voir que je suis en train de sauter le pas. Dès que je sortirai. On y va. Cependant, si je devais changer, Ken passait à faux, nous appuierons sur la barre d'espace. Cela sera considéré comme faux et rien ne se passera. Alors allons-y et essayons ceci. En appuyant sur la barre d'espace, vous pouvez voir le flux des matrices d'exécution ici, car cela donne la valeur False, ce que nous pouvons voir dans la petite infobulle. Il n'a jamais été possible de dépasser cette branche. Il arrête le flux des exécutions sur place. Très bien, essayons de montrer un autre scénario ici. Je vais donc créer une toute nouvelle variable dans la section My Blueprint du ThirdPersonCharacter Blueprint, en cliquant sur le bouton plus tout en bas, je vais l'appeler « he's key » point d'interrogation. Et je ne compilerai pas ça. Et juste pour que vous sachiez, je vais laisser cette clé comme fausse. Je n'ai pas la clé tout de suite. En fait, tu sais quoi, je vais vérifier que c'est vrai pour dire que oui, notre personnage a la clé. Nous allons donc compiler cette sauvegarde. Ensuite, ce que nous allons faire, c'est revenir à notre navigateur de contenu ici, je veux accéder à notre section de plan. Nous avons notre porte rotative. Nous avons créé ce plan est un plan de porte rotative lorsque nous avons parlé des variables du rotateur. que vous puissiez regarder cette vidéo si vous n'avez pas créé cette porte, je vais cliquer avec le bouton gauche de la souris et la faire glisser dans mon niveau tout de suite. Ensuite, je vais double-cliquer dessus pour l'ouvrir. Nous allons modifier un peu notre script ici. Donc, ce que je vais faire, c'est tuer notre personnage Get Player ici et ici, et juste ici. C'était une façon que nous venions de mettre en place pour vérifier si c'était notre ThirdPersonCharacter qui chevauchait cette porte. Ce que je vais faire maintenant, c'est qu'on va vérifier en saisissant cette autre épinglette d'acteur. Nous allons passer à notre ThirdPersonCharacter. C'est une autre façon de vérifier, hé, qui est la chose qui nous chevauche ? Et encore une fois, nous cochons la case en tant que composant que nous cochons pour chevaucher le composant de la boîte juste là. Nous allons le câbler. Nous ne ferons quelque chose que si c'est un ThirdPersonCharacter qui nous chevauche. Cependant, nous n'allons pas ouvrir cette porte pour l'instant, à moins découvrir que notre ThirdPersonCharacter possède la clé Si vous lancez votre ThirdPersonCharacter de cette manière, nous n'avons pas encore officiellement parlé à propos des nœuds de casting. Nous pouvons accéder à l'intérieur de notre ThirdPersonCharacter et accéder à toutes les fonctions ou variables ou à tout ce qui s'y trouve. Nous pouvons appeler une fonction, des variables d' accès, etc. Plus précisément, nous voulons sécher ici et trouver r a la clé. Nous allons savoir si notre joueur a la clé ? Si vous ne le voyez pas, essayant de faire ce que je viens de faire, assurez-vous que votre personnage à la troisième personne est compilé après avoir créé un personnage avec une clé booléenne. Encore une fois, c'est vrai par défaut, c'est ainsi que nous l'avons défini. Nous allons donc l'utiliser comme condition. S'il est vrai que notre joueur possède une clé, alors nous allons ouvrir notre porte. Avec tout cela en place. Je ne vais pas m' inquiéter de ce chevauchement d'extrémités pour le moment. Je ne m'inquiète que de son ouverture. Allons-y et compilons ceci. Épargnons, puis jouons à ça. Très bien, afin que nous puissions vérifier si le script R fonctionne, voici où vous pouvez définir votre objet de débogage. Si vous avez plusieurs portes juste à côté, vous pouvez indiquer la porte que vous allez vérifier pour voir si elle fonctionne. Très bien, on y va. Nous devrions avoir cette clé parce que nous avons dit que c'est vrai par défaut, cette valeur booléenne. Et voilà, ça va s'ouvrir. Maintenant, permettez-moi de revenir à mon personnage à la troisième personne. Je vais changer la clé has en false, compiler et enregistrer. Revenons à une porte rotative, cliquez sur Play ici. Et maintenant, notre personnage n'a plus la clé. Alors allons-y et vous verrez que nous approchons de cette porte. Vous pouvez voir ce chevauchement se produire, mais cela arrête le flux d' exécution ici même, dans notre agence. Très bien, revenons à notre plan ThirdPersonCharacter ici dans cette section de saut du script. Je voulais souligner que le conditionnement d'une branche de quatre ans ne doit pas nécessairement être une seule variable comme celle-ci. De plus, il n'est pas nécessaire qu'il s'agisse d'une seule entrée matérielle conditionnée en cochant cette case ou en la décochant, vous pouvez en fait effectuer une évaluation plus complexe si vous voulez. Et si je me déplace vers la gauche, je vais montrer d'autres nœuds que on trouve souvent branchés sur une branche. Et voici ces gars-là. Nous avons un anti-nœud, NAND dans ou un NOR et un x ou si vous voulez. Les commentaires ici décrivent donc comment ils fonctionnent, mais nous pouvons essayer quelques-uns d'entre eux. Je vais essayer celui-ci parce que c'est très courant. Vous pouvez essayer de brancher l'un d' entre eux à votre succursale ici. Et nous pouvons même utiliser notre Ken jump est l'une des conditions. Maintenant, cela renverra un vrai si toutes les entrées sont vraies. Alors laissez-moi simplement cliquer sur ce bouton plus. Allons-y quatre fois. Nous pourrions continuer à ajouter plus de broches d'entrée. Maintenant, je vais y brancher ma canette. Maintenant, je peux sauter. C'est faux, mais je vais vérifier tout le reste. Maintenant, cela ne devrait renvoyer vrai que si toutes les entrées sont vraies, ces trois sont vraies. Peut sauter ici, mais ne l'est pas. Cela devrait donc empêcher mon personnage de sauter car tout ne est pas vrai. Compilez ceci et jouez. J'appuie sur cette barre d'espace. Vous pouvez voir que je peux sauter, me laisser changer, passer ici à vrai, entrer et jouer. Et maintenant je peux sauter, toutes les quatre sont vraies. Ensuite, je montre que ce nœud NAND que je peux sauter est réglé sur true, comme tous les autres. Cela sera évalué à faux car toutes les entrées sont vraies. C'est ainsi que fonctionne celui-ci. Il ne renvoie donc faux que si toutes les entrées sont vraies. Donc j'appuie sur la barre d'espace, je ne peux pas sauter. Cependant, si je devais changer l'un de ces deux faux, et que c'est peut-être l'un d'entre eux que je choisis, alors cela sera considéré comme vrai. Maintenant je peux sauter. Le nœud OR renverra la valeur true si une entrée est vraie. J'en ai donc trois qui sont fausses, mais ma capacité à sauter ici est vraie. Donc, en cliquant sur jouer ici, appuyant sur la barre d'espace, le résultat sera vrai, car une seule réponse est vraie. Ensuite, nous avons le NeuroNode. Cela est évalué à vrai uniquement si les deux entrées ici sont fausses. Donc, actuellement, ma variable booléenne est fausse, tout comme cet emplacement vide juste ici. Donc, si je clique sur Play, vous pouvez voir que je peux sauter. Cependant, si je devais définir ne serait-ce qu'une de ces valeurs sur vrai, revenez à l'action et jouez. Vous pouvez voir que cela va être évalué comme faux. Enfin et surtout, nous avons ce nœud XOR et il va évaluer la valeur true si les entrées ne sont pas les mêmes. Donc, actuellement, mon ken jump est réglé sur false. Cette case à cocher est définie sur true afin qu'elles ne soient pas identiques. Cela devrait donc évaluer le véritable saut et le jeu. Oui, en effet, je peux sauter si je les mets tous les deux identiques. Donc, pour l'instant, les deux sont faux. Entrez et jouez. Cela n'est pas considéré comme vrai. Alors, vous l'avez. Ce sont des nœuds utiles, des éléments complémentaires qui sont souvent connectés à l' entrée de condition d'un nœud de branche. Parlons donc de certaines utilisations possibles des nœuds de branche. Eh bien, vous pourriez vous poser la question suivante : est-ce que le joueur a assez de moyens pour lancer un sort ? Le joueur a-t-il assez de manne pour acheter un objet ? Vous pouvez évaluer l'argent en vérifiant que le joueur a une valeur entière de la somme d' argent par rapport à la somme d' argent requise pour acheter un objet. Si c'est vrai ou faux. Vous pouvez évaluer cela pour déterminer si l' achat est accepté. Et si un joueur est au bon endroit pour utiliser un objet ? Ou peut-être, pourriez-vous évaluer si le joueur a peu de santé ? Le joueur a-t-il vingt-cinq pour cent de santé ou moins ? Si c'est vrai, vous pourriez faire une chose, alors que si c'est faux, vous pourriez en faire une autre. Très bien les gars, ça va suffire pour proposer cette discussion sur les nœuds de branche, nous vous verrons dans la prochaine vidéo. 77. Séquence: Bienvenue. Dans cette vidéo, notre objectif est de découvrir comment le nœud de contrôle de flux de séquences peut être utilisé dans des scripts. Maintenant, ce nœud vous permet de lancer plusieurs sections de scripts simultanément et de manière organisée. Maintenant, dans cette vidéo, je vais travailler dans mon Level Blueprint. Donc, si vous voulez jouer le jeu à la maison et que vous avez oublié comment y entrer. Sur vos cartes. Il vous suffit de venir ici, ouvrir Level Blueprint et vous y arriverez. Bien, qu'est-ce qu' un nœud de séquence ? Il permet à une seule entrée filaire d'exécution de déclencher plusieurs sorties d'exécution. Maintenant, c'est idéal pour les événements. Cela ne vous permet d'avoir qu' une seule copie d'un événement dans un script, comme Begin Play, Begin Play, Begin, Overlap, etc. Vous pouvez désormais ajouter plusieurs broches de sortie ici s'il y a plusieurs choses que vous souhaitez faire, disons, Commencez à jouer en cliquant simplement sur ce bouton plus. Maintenant, si vous souhaitez supprimer l'une de ces broches d' exécution de sortie, vous pouvez simplement cliquer dessus avec le bouton droit et les supprimer comme suit. C'est idéal pour organiser les scripts et pour en ajouter un, car il s'agit d'un nœud très utilisé, vous pouvez simplement maintenir la touche S enfoncée, puis cliquer sur le bouton gauche de la souris, et ça t'en apportera un. Mettons donc l'un d'entre eux à utiliser dans notre plan de niveau ici, et non pas accélérer les choses. J'ai un petit script que j'ai configuré à l' avance ici dans mon Level Blueprint. Mais c'est très bien, je vais vous expliquer ce que j'ai fait pour que vous puissiez jouer le jeu à la maison. Je veux donc faire trois choses avant de commencer à jouer ici. Permettez-moi donc d'introduire et de commencer à jouer au nœud d'événement. Je peux maintenir la touche P enfoncée et cliquer avec le bouton gauche pour faire apparaître Event Begin Play. Et juste pour montrer que vous ne pouvez commencer à jouer qu'un seul de ces événements dans un graphique. Si j'essaie de cliquer avec le bouton droit de la souris et de laisser de l'espace vide, je commencerai à jouer comme ça. Ça va juste me faire sauter droit dessus. Ou si je maintiens le PT enfoncé et que je clique à nouveau avec le bouton gauche , je n'obtiens rien. Un seul d'entre eux peut donc figurer dans un graphique. Maintenant, allez à un événement de branchement, commencez à jouer. Cela se déclenchera dès que nous commencerons à jouer à notre jeu. Et je le fais passer par un nœud de séquence. Et si je fais ça, c'est parce que je voulais faire trois choses en dehors d'Event. Commencez à jouer. Je veux émettre un son. Ça va être de la musique pour débutants. Je vais avoir mon personnage de joueur plutôt que de le lancer sur mon ThirdPersonCharacter. Et j'ai promu cela en variable ici afin de pouvoir enregistrer une référence à mon ThirdPersonCharacter au cas où je voudrais faire quelque chose à mon ThirdPersonCharacter plus tard, j'aurais juste besoin de glissez-déposez l'un d'entre eux dans mon graphique. Ensuite, l'autre chose que je voulais faire ici est quelque chose d'un peu plus chic. J'ai placé un point cible dans mon niveau. Vous pouvez en trouver un dans le panneau Place actors. Je suis donc allé ici, j' ai ajouté un panneau d'acteurs de lieux, j'ai recherché un point cible, ajoute simplement une icône à votre éditeur et cela définit un point dans l'espace que vous pouvez utiliser dans un graphique comme je l'utilise. Donc, avec ces points cibles sélectionnés, je maintiens la touche R enfoncée et je clique avec le bouton gauche de la souris, et c'est ainsi que j'obtiens une référence à cela. Ensuite, j'ai simplement traîné hors de cela, ai fait glisser la position de l'acteur hors de cette recherche de points aléatoires dans un cadre de sélection, je précise une taille pour un cadre de délimitation, c'est essentiellement une zone dans mon à plat, centré autour de mon point cible. Ensuite, je m'en sers pour faire une transformation. Tout ce qui m'intéressait vraiment, c'était l'emplacement. L'échelle de rotation ne m'importait pas. Ensuite, je m'en vais et j'ai cherché un acteur de spawn dans le nœud de classe. Ici, je précise mon BPMN, une potion que j'ai créée plus tôt dans le cours. Vous pouvez spécifier n'importe quelle classe ici, cela n'a pas vraiment d'importance. Voici donc les trois choses que je veux faire avant de commencer à jouer. Donc, Event Begin Play ici en utilisant un nœud de séquence. Je peux y aller, bam, bam. Et si vous souhaitez mieux organiser votre script , vous pouvez double-cliquer sur un fil pour faire apparaître un nœud de reroutage. Encore une fois, les nœuds de séquence sont un excellent moyen d'organiser vos scripts. Je vais donc compiler ceci pour m'assurer que mon script est beau. Donc, en commençant à jouer, nous devrions entendre de la musique. Nous aurons une référence à notre personnage, et nous allons faire naître un homme, une potion. Maintenant, je peux jouer au jeu et voir ça, ou je peux simuler le jeu et nous devrions entendre cette musique. Et nous devrions créer cette potion. Maintenant, tout cela va se passer dans les coulisses. Donc ça, vous allez juste avoir confiance que cela se produira. Mais nous allons entendre et voir quelque chose pour que je puisse jouer. Et il a vu que l'émancipation naît ici. Un peu de musique. Ou si vous souhaitez le tester, vous pouvez également simuler votre jeu. Maintenant, pour ce faire, vous pouvez passer sous vos trois points et choisir de simuler. Et vous pouvez voir le raccourci clavier pour cela. Maintenant, lorsque vous simulez votre jeu, vous faites en sorte que votre jeu exécute tout le code, tout le script s' exécute également. Qui que vous ne soyez pas en train de jouer à votre jeu. Donc, si vous cliquez ici, vous pouvez voir qu'elle est apparue d'une manière potion. Et de la musique joue également. Je peux arrêter ça. Alternativement. C'est civil en ce moment, je suis en mode simulation. Notez simplement que si vous utilisez Alt plus S, cela active également le mode simulation. C'est idéal pour simplement faire fonctionner votre jeu. Et tu veux juste voler comme ça et vérifier les choses. Maintenant, avant de terminer cette vidéo, je voulais juste prouver que vous n'avez pas besoin d'utiliser de nœuds de séquence. Il s'agit essentiellement d'un nœud de type qualité de vie permettant de mieux organiser vos scripts. Voici exactement la même configuration sans le nœud de séquence. Il fera exactement les mêmes choses. Cependant, mon câblage est un peu entrecroisé. Et vous pouvez imaginer que si j'avais 45 610 choses qui pourraient devenir vraiment, vraiment compliquées. Donc, si je clique sur Play ici, vous pouvez voir que j'ai cette potion, terres et cette musique, etc. Souvent, ces nœuds de séquence viennent directement après un événement pour faire une chose, une seconde chose, troisième chose, et cetera. Mais ce n'est pas là que ça doit aller. Vous pouvez les placer là où elles ont du sens dans votre script. Je voulais également souligner une autre chose ici. Encore une fois, vous ne pouvez avoir qu' une seule copie d'un événement, début de l' événement chevauche ce genre de choses. Cependant, il existe certains nœuds d'événements, tels que les événements d'entrée tels que notre clé à huit, dont vous pouvez avoir plusieurs copies. Un cas comme celui-ci. Vous n'aurez pas besoin d'un nœud de séquence car vous pouvez avoir un seul événement, effectuer trois choses. Donc, pour le prouver, il suffit de cliquer sur ce bouton. Bonjour, vous êtes là ? Bonjour, vous êtes là ? Vous n'avez donc pas besoin d'un nœud de séquence pour quelque chose comme ça. Mais ce ne serait pas une mauvaise idée non plus. Nœuds de séquence, type de qualité de vie, remarque, je les utilise tout le temps. Ça suffira pour proposer cette vidéo. Rendez-vous dans la prochaine. 78. Faire une fois: Bienvenue. Dans cette vidéo, notre objectif est d'apprendre comment utiliser le nœud do once dans nos scripts. Maintenant, il s'agit d'un nœud assez explicite qui semble que vous n'aurez besoin de l'utiliser qu' une fois de temps en temps. Il s'avère que ce nœud est utile dans toutes sortes de scénarios. Alors, qu'est-ce que le do veut ne pas faire, eh bien, il déclenche une impulsion d'exécution juste une fois. À partir de ce moment, il cessera toute exécution sortante. Il ne se déclenchera pas à nouveau dans aucun autre script que vous avez au-delà d'ici, tant que vous n'aurez pas envoyé une impulsion dans l'entrée de réinitialisation ici. Une fois que vous l'avez fait, il peut le faire encore une fois. Maintenant, pour intégrer ce nœud à votre graphique, vous pouvez cliquer avec le bouton droit de la souris et effectuer une recherche pour « faire une fois » ou, en maintenant la touche O enfoncée, vous pouvez cliquer avec le bouton gauche et vous obtiendrez également votre nœud. Maintenant, mettons cela à l'épreuve en parcourant un exemple ici. Pour cela, je vais travailler dans mon Level Blueprint afin que vous puissiez y accéder ici. Plan de niveau ouvert. Je voulais également souligner ici que nous allons accéder à une variable à l'intérieur de notre personnage à la troisième personne. Donc, si vous venez de visiter directement la vidéo, ouvrez votre ThirdPersonCharacter. Dans ce cadre, nous allons accéder à cette variable entière d'expérience totale gagnée dans notre ThirdPersonCharacter. Donc, si vous ne l'avez pas, allez-y et créez une variable entière, j'ai la valeur par défaut définie sur 0. Assurez-vous de le compiler également, car nous allons y accéder ici sous peu. Très bien, revenons à notre plan de niveau. La première chose dont nous aurons besoin, c'est d'un événement. Et faisons-le en fait avec des événements qui se chevauchent. Superposons une zone de notre niveau, puis ajoutons des points d'expérience à notre personnage pour avoir été si génial et avoir traversé cet endroit. Revenons donc à notre carte de test ici et ajoutons une sphère de déclenchement. Si vous n'avez pas ce panel d'actrices, vous pouvez le trouver ici. Placez le panneau des acteurs pour que nous y arrivions. Nous allons placer une sphère de déclenchement au sein de notre niveau. En sélectionnant cette option dans le panneau Détails, je vais augmenter la taille du rayon de notre sphère, agrandir un peu. Je vais également passer dans la section de rendu, jeu caché d'acteur incontrôlé, afin que nous puissions voir cette sphère. Maintenant que cette option est sélectionnée, je vais revenir à mon plan de niveau. Nous allons cliquer avec le bouton droit sur Ajouter un événement pour cela. En dessous, Ajouter une collision d'événements. Nous allons faire quelque chose pour commencer à se chevaucher. Donc, la première chose que nous voulons faire est de vérifier que c'est notre ThirdPersonCharacter qui est l'autre acteur qui nous chevauche. Nous pouvons donc faire une vérification ici en sortant de cette autre épingle d'acteur, faisant un Cast to ThirdPersonCharacter. Et nous parlerons du casting officiel plus tard dans le cours qui sera bientôt disponible. Et une fois tout cela fait, nous pouvons accéder à l'intérieur de notre ThirdPersonCharacter et obtenir le total d'expérience gagnée. Et faisons simplement glisser un ici, le bouton plus. Nous allons ajouter, nous dirons que nous allons ajouter 100 points d'expérience pour atteindre cette sphère. Bon travail, mec. Ensuite, nous allons sortir de notre ThirdPersonCharacter, faire une recherche pour obtenir l'expérience totale. Nous allons le régler. Nous l' obtenons donc, en ajoutant 100. Nous allons définir cela comme nouvelle valeur mise à jour. Cependant, nous ne voulons le faire qu'une seule fois. Nous ne voulons pas faire en sorte que nous puissions chevaucher cette sphère encore et encore et obtenir 100 points d'expérience. Nous voulons juste dire : « Hé, tu l'as fait la première fois. C'est génial. Plus jamais ne traversera le nœud Arduino Wants ici. Attribuez ensuite les 100 points d'expérience. Enfin et surtout, nous devons attendre pour vérifier cela. Je vais donc sortir d'ici, faire une chaîne d'impression. Et nous allons simplement l'imprimer à l'écran en faisant glisser le total de notre XP gagné dans la chaîne, cela convertira cet entier en chaîne. Compilez ça, sauvegardez. Allons-y et jouons pour le tester. Je vais y placer mon objet de débogage sur ma carte de test. Et recoupons cela et voyons quel point nous avons gagné 100 points d'expérience. Vérifiez donc directement dans ce coin de l'écran. 100 points d'expérience. Maintenant, cela ne devrait se produire qu'une seule fois. Je vais donc mettre fin à ce chevauchement, puis je vais le faire à nouveau. Tu vois que ça a coulé dans les choses à faire ? Non, mais cela ne l'a pas dépassé car ce nœud dit de le faire une fois et plus jamais. Bien, essayons maintenant de réinitialiser cela en utilisant une autre entrée. Permettez-moi donc de cliquer avec le bouton droit sur un espace vide. Je vais chercher le clavier à coup sûr, la touche F. Donc, lorsque j'appuie sur la touche F, je vais le réinitialiser. Et nous y voilà. Je vais compiler ceci. Je vais jouer, je vais chevaucher ça. Vous pouvez voir que j'obtiens mes 100 points d'expérience. Je me chevauche à nouveau actuellement, je ne peux pas passer au-delà d'ici. Cependant, lorsque j'appuie sur la touche F, regardez ici nous appuyer sur la touche gauche. Il va le réinitialiser. Il devrait donc le faire une fois. Encore une fois, je gagne 100 points d'expérience supplémentaires. Il s'arrête parce qu'il ne le fait qu'une fois que j'appuie sur la touche F. Cela me permettra de le faire une fois de plus. On y va. C'est ainsi que fonctionne la touche F pour réinitialiser cette opération une fois de plus. Notez maintenant que sur ce nœud do once, il existe une entrée booléenne où vous pouvez commencer fermé ou non. Actuellement, nous ne partons pas de bon pied. Vous pouvez ajouter une variable booléenne si vous voulez commencer à la fin ou non. Alors laisse-moi te montrer ça. Si je commence une clôture, j' ai coché cette case et maintenant je joue. Je vais chevaucher cette sphère. Mais ça ne va pas au-delà d'ici. Oui, cela s'appelle le dual wants no, mais nous commençons par fermer, ce qui signifie que nous devons d'abord le réinitialiser ici pour qu'il fonctionne. Donc maintenant, si j'appuie sur F, ça se réinitialise. Et maintenant, je peux aller plus loin qu'une seule fois. Pas encore une fois, appuyez sur F. Donc, je voulais juste le souligner également. Ces vêtements de départ peuvent faire en sorte que la première fois dans ce cas, nous les chevauchons. En fait , vous ne devez pas le réinitialiser une seule fois. Parlons des utilisations possibles de la note du Once , eh bien, pensez à une fanfare de niveau ou à une notification lorsque vous atteignez un seuil de points d' expérience donné, vous savez, vous avez atteint 5 mille points d'expérience. Tu as gravi les échelons. Vous ne voulez jouer que la première fois que vous dépassez 5 000 points d' expérience au total , et non 5 005, pas 5 010, etc. Ou que diriez-vous d'interagir avec un coffre au trésor ? Vous voulez l'ouvrir, mais ouvrez-le une seule fois. Ce serait une autre bonne utilisation d'une voiture enneigée. Ou que diriez-vous de récolter un minéral ? Vous avez du minerai de fer dans votre niveau vous y montez et vous ne pouvez le récolter qu'une seule fois. Et puis, peut-être, une minuterie ou une minuterie pourrait être réglée pour permettre la récolte. Encore une fois, disons après une heure, deux heures, etc. Ce sont donc toutes les utilisations possibles du nœud Dew wants. C'est très courant de l'utiliser. Je l'adore. L'un de mes nœuds de contrôle de flux préférés, les gars qui vont le faire pour proposer celui-ci, nous vous verrons dans le prochain. 79. Faire N: Bienvenue. Dans cette vidéo, notre objectif est d' acquérir ces connaissances et de démontrer l' utilisation pratique du nœud do n, également connu sous le nom de nœud dawn. Maintenant, c'est une bonne note à utiliser pour limiter le nombre de fois que quelque chose peut être fait. Alors, qu'est-ce qu'ils font et ne font pas ? Eh bien, il se déclenche lors de l'impulsion d'exécution n nombre de fois, comme défini par cette entrée entière ici, vous pouvez insérer une valeur entière ou vous pouvez la définir à fond comme si j'avais le numéro 37 ici. Ainsi, une fois cette limite atteinte, il cessera toute exécution sortante jusqu'à ce qu'une impulsion soit renvoyée dans l'entrée de réinitialisation. Donc, dans ce cas, si nous devions y connecter une touche de saisie, dites la touche F pour le feu. Nous tirions par cette sortie, cette exécution sortirait 30 fois. Et après 30 fois, il faudrait que je le réinitialise pour une autre impulsion d'exécution soit exécutée. Maintenant, ce compteur affichera le nombre de fois que cela a été fait, et nous allons le montrer ici dans un petit moment. Mais c'est essentiellement ainsi que fonctionne le nœud do n. C'est un peu comme le nœud Do Once, seul vous pouvez définir le nombre de fois où il fait l'opération. Il n'est pas nécessaire que ce soit une seule fois. Vous pouvez le définir comme un, mais vous pouvez le définir comme 1102100, etc. Donc, pour ajouter ce nœud, vous pouvez cliquer avec le bouton droit de la souris et rechercher Don. Il y a le nœud do n ou maintenez le bouton gauche de la souris enfoncé. Vous pouvez également l'ajouter. Utilisons cela de manière pratique. Je suis dans mon ThirdPersonCharacter Blueprint. C'est là que vous pouvez le trouver. Essayons donc un exemple ici. J'en ai créé un à l'avance. Et voici mon exemple. Je vais appuyer sur le bouton gauche de la souris, nous allons le faire trois fois. Je vais afficher le compteur ici à l'écran. Il peut s'agir d'un texte à imprimer, note, d'une chaîne d'impression. Tout va fonctionner de la même manière ici. Et ce faisant, je vais donner naissance à un acteur issu de la classe. C'est donc un acteur de spawn du nœud de classe que je viens de placer dans le feu de l'effet de plan ici. Vous pouvez vraiment y insérer tout ce que vous voulez. Vous devez lui donner une transformation d'apparition. J'aurais pu simplement faire une transformation du monde GET. Je voulais le faire. J'aurais pu faire une transformation du monde, une transformation du monde pour l'acteur ou n'importe lequel de mes différents composants que j'ai choisi de faire ici pour ma main simulée. Maintenant, c'est celui que j'ai ajouté plus tôt dans le cours. Donc, si vous vous demandez quelle est ma main simulée ici, c'est un composant de collision de sphères. Et juste pour vous montrer où je place cela dans ma fenêtre d'affichage, voilà. C'est ma main simulée représentée par une collision de sphères. Nous allons donc créer un feu à effet de plan à cet endroit par rapport à notre personnage. C'est donc notre configuration juste là. Allons-y et essayons-nous ici. Laissez-moi le compiler, pour m' assurer que mon script est prêt à l'emploi. Donc, nous disons que nous allons le faire trois fois, puis appuyer sur la touche RT pour réinitialiser cela et me permettre de le faire trois fois de plus. Encore une fois, cliquez sur Play. Permettez-moi de configurer tout cela pour définir mon objet de débogage ThirdPersonCharacter afin que vous puissiez voir ce script s'exécuter. Très bien, donc en tournant là, c'est ma main simulée. Une fois que vous pouvez voir en haut à gauche, vous pouvez afficher le nombre de fois que nous avons fait ici notre compteur une deuxième fois, 21 fois de plus. Trois. Maintenant, si j'essaie de le faire à nouveau, cela ne va pas au-delà du nœud final. Cependant, si j'appuie sur le destinataire archae maintenant, nous allons le réinitialiser. Et cela me permettra de le faire trois fois de plus. Nous y voilà. 123, mais pas un quatrième. Donc, quelque chose comme ça, c'est mis en place juste là. Il pourrait être utilisé pour allumer des torches, comme dans un jeu de style Legend of Zelda. d'autres utilisations possibles, nous pourrions utiliser une configuration comme celle-ci pour déterminer combien de fois vous pouvez récolter un article avant de le faire. C'est une autre bonne utilisation du nœud n. Peut-être l'utilisez-vous pour déterminer combien de fois vous pouvez tirer avec une arme donnée avant de devoir la recharger. Ou peut-être l'utilisez-vous pour déterminer le nombre d' interactions que vous pouvez avoir avec un PNJ avant de ne plus en avoir. Vous savez combien de jeux vous permettent d' interagir avec un MPC, disons trois fois, il a trois choses uniques à dire. Et puis c'est tout. Très bien, alors vous l'avez. Le nœud final, c'est un peu un cousin, est frère, si vous voulez, du nœud do one qui a un peu plus de flexibilité avec le nœud do n qu'ils feront pour proposer celui-ci. Rendez-vous dans la prochaine. 80. Flip Flop: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir des connaissances et de démontrer l'utilisation du nœud flip-flop. C'est maintenant le nœud à utiliser chaque fois que vous souhaitez basculer entre deux bits de script, chaque fois qu'un événement de votre choix se produit. Alors, qu'est-ce qu'une note de volte-face qu'elle prend dans une entrée d'exécution comme celle-ci. Et bascule entre deux sorties d'exécution, a et B. Donc, la première fois que vous entrez dedans, je mettrai a est appelé la deuxième fois. La sortie b est appelée la troisième fois. La quatrième fois b, etc. Il fait volte-face entre les prises de vue depuis un point B. Maintenant, il possède une sortie booléenne qui vous permet de savoir quand la sortie a a été appelée. Cela est souvent utilisé pour simplement s'assurer que vous savez lequel d'entre eux est appelé. Peut-être que vous voulez imprimer des chaînes voir quand a s'appelle vs, B, etc. Pour montrer un exemple, utilisez la bascule, je vais le faire dans mon ThirdPersonCharacter Blueprint. Donc, si vous voulez jouer le jeu à la maison, vous pouvez le constater sous les plans à la troisième personne, double-cliquez sur ce type pour les ouvrir. Et nous avons besoin d'un événement pour commencer ici. Je vais donc cliquer avec le bouton droit de la souris et faire un événement de clic gauche de la souris. Vous pouvez utiliser toutes les entrées que vous souhaitez. Je vais utiliser le bouton gauche de la souris. Ainsi, lorsque nous appuyons sur ce bouton, nous allons faire volte-face entre a et B à chaque fois que nous appuyons dessus. Donc, ce que je veux faire, c'est traîner et je vais faire venir un acteur de la classe. Et la classe que je vais créer la première fois que j'appuierai sur le bouton gauche de la souris sera mon feu d'effet de plan. Vous pouvez maintenant le trouver si vous avez ces dossiers de contenu de démarrage et que vous pouvez y accéder en cliquant ici. Cela vous incitera à le porter. Cela existe dans votre navigateur de contenu. Honnêtement, tu peux faire apparaître tout ce que tu veux ici. Je vais essentiellement apparaître dans du feu, puis des étincelles ici pour simuler le lancement d'un sort. Je vais donc contrôler C, contrôler V. Donc la deuxième fois que nous appuierons sur le bouton gauche de la souris, au lieu de tirer, je vais faire apparaître des sommes, des aboiements. Des étincelles à effet de plan. Maintenant, je dois lui donner une transformation d'apparition pour pouvoir glisser la souris vers l'arrière depuis l'une ou l'autre. Et je dirais « make transform ». Maintenant, la seule raison pour laquelle je veux utiliser ce make transform est simplement de réduire les effets de chacun d'entre eux. Je vais juste faire en sorte que ce soit la moitié de la taille de 0,5 dans le x, le y et le z. Nous allons en fait attacher ces effets générés à notre maillage ici dans un petit moment. Mais cela réduira la taille de chacune de ces demi-tailles pour chacune d'entre elles. Ensuite, ce que je veux faire , c'est stocker ce que nous générons ici dans une variable. Et si nous allons vouloir stocker ces différents effets, c'est parce que lorsque nous en produisons un, nous éliminerons l'autre. C'est donc notre idée derrière les tongs. Je vais donc cliquer avec le bouton droit sur cette épingle. Je vais promouvoir la variable. Et je vais lui donner le nom de sort équipé 01. J'ai donc fait de cela une variable ici. Et puis, sur ce type, je vais cliquer dessus avec le bouton droit de la souris, promouvoir en variable et j'appellerai ce sort équipé 02. Et j'ai saisi ce nom juste là, au cas où tu l'aurais oublié. Maintenant, en dehors de chacun d'entre eux, je vais faire glisser et taper Attach. Je cherche un acteur attitré, deux composants. Attachez l'acteur au composant. C'est celui que nous recherchons. Maintenant, la cible sera notre sort équipé. Le parent auquel nous voulons l'attacher sera notre maillage. Donc, si nous allons dans notre fenêtre d'affichage, notre maillage est ce mannequin juste ici. Donc ça va être notre maillage, l'acteur. Nous voulons attacher notre effet orthographique ici à notre maillage et nous pouvons lui donner un nom de socket. Maintenant, dans notre vidéo sur les variables nominatives, nous avons créé une prise sur notre squelette, sur notre maillage ici. Et nous avons créé un nom pour socket. Maintenant, nous l'avons stocké dans une variable. Le nom de notre socket que nous avons créé dans notre variable de nom vidéo s'appelait hand socket. Donc je vais juste glisser-déposer ceci, le brancher directement ici. Maintenant, si vous n'avez pas parcouru cette vidéo de variable de nom, cela ne fonctionnera pas pour vous car vous devez d'abord configurer un socket. Je vous suggère de revenir à cette variable de nom vidéo pour le faire, afin que cela fonctionne correctement. Maintenant, je dois changer mon rôle de localisation ici pour être redirigé vers la cible. La règle de rotation doit également être adaptée à la cible pour que cela fonctionne, accord, alors je vais simplement la copier. Copiez ces trois nœuds (contrôle C, contrôle V. Nous allons les coller ici, comme suit). Et on doit s'assurer de l'accrocher comme ça. C'est donc notre configuration actuelle. Donc, si vous devez mettre la vidéo en pause ici pour voir ce que nous avons actuellement, mais que nous n'avons pas encore tout à fait terminé. Nous voulons ensuite arrêter ce type de Troie. Comédien. Maintenant, quel acteur voulons-nous détruire ? Eh bien, lorsque nous engendrons un feu à effet, nous allons vouloir détruire notre effet d'étincelles et vice versa afin de n'avoir qu' un seul de ces liens à la fois. Maintenant, pour ce faire, je vais ajouter le sort O2 équipé, et l'y brancher. C'est celle que nous venons de promouvoir en tant que variable ici, et vice versa. Je vais passer à Control C, Control V avec ce Destroy Actor juste ici. Comme ça. Et nous voulons y intégrer Spell Number One équipé. Maintenant, je sais que lorsque nous lançons cela dans un jeu, nous allons avoir une erreur juste ici, mais je vais laisser cette erreur se produire juste pour que vous puissiez voir comment nous pouvons la corriger en un instant. Maintenant, c'est le script R que nous sommes en train de faire. Nous allons utiliser notre nœud de bascule. Compilons ceci pour nous assurer que tout va bien. Nous allons le sauver. Donc, juste pour parcourir cela, nous allons cliquer avec le bouton gauche de la souris la première fois que nous allons exécuter à partir d'une sortie. Donc, ce bout de script va s'exécuter. Nous allons apparaître dans l'effet feu. Nous allons enregistrer cet effet de feu à l'intérieur d'une variable. Nous allons l' attacher à notre maillage au nom du socket que nous avons fourni. Ensuite, nous allons détruire l'acteur pour. Maintenant, la première fois que nous le faisons, cela va générer une erreur lorsque nous exotiques ici parce que nous n' avons pas encore fait leur apparition. C'est pourquoi il va générer une erreur. La deuxième fois que nous appuyons sur le bouton gauche de la souris, nous allons tirer sur la sortie B du nœud de la bascule. Cela va apparaître sous l'effet de nos étincelles. Nous allons enregistrer cela dans une variable. Nous allons l'attacher à notre maillage sous ce nom de socket donné. Et ce faisant, il éliminera simultanément cet effet ici même , notre effet de feu. Maintenant, la prochaine fois que nous appuierons sur le bouton gauche de la souris, cet effet viral apparaîtra pour la troisième fois. Et nous éliminerons les étincelles la deuxième fois que nous y arriverons, cela ne provoquera pas d'erreur car nous aurons créé cette variable ici. Très bien, allons-y et jouons-nous une pièce de théâtre. Nous allons essayer de le placer dans le coin supérieur. Cliquez sur Play. Laissez-moi configurer mon débogage. Objectez à notre ThirdPersonCharacter. Oh, on y va. Je vais courir par ici. Je vais donc appuyer sur le bouton gauche de la souris. Observez ce flux d' exécution pendant que je le fais. On y va, bouton gauche de la souris. Vous voyez que l'effet du feu est lié ici. Ça l'attache à mon personnage, comme ça. Je vais appuyer à nouveau sur le bouton gauche de la souris. Cela a éteint le feu. Il y a des étincelles à l'intérieur. Et appuyez à nouveau sur le bouton gauche de la souris. Nous avons éteint les étincelles. Nous avons maintenant du feu. Maintenant, je vais sortir d'ici. Voici l'erreur dont je viens de parler. Il se plaint encore une fois ne pas pouvoir détruire cet acteur ici même. Du moins, la première fois, nous n'avons pas pu le détruire lorsque notre effet de feu est apparu parce qu'il n'y avait rien à détruire. Cela n'existait pas encore car nous avons d'abord filmé la sortie A. Sans avoir filmé le b, nous n'avions pas encore créé cette variable. Alors, comment résoudre ce genre de problème ? Eh bien, en fait, c' est assez simple. Si nous cliquons avec le bouton droit sur notre Spell équipé, Non, juste ici. Et nous le convertissons en un système encore validé. Cela convertira le nœud pour qu'il ressemble à ceci. Et si nous la connectons ainsi, nous ne pouvons dire que si c' est valide, c' est-à-dire que ce n'est que si cette variable contient quelque chose qu'elle contient, que nous détruirons l'acteur. Si ce n'est pas valide, c'est-à-dire qu'il n'y a rien à l'intérieur, alors il n'y a rien à détruire, donc rien ne se passera. C'est ainsi que vous pouvez contourner ce problème. Donc, compiler, enregistrer, jouer, cliquer avec le bouton gauche, tirer, cliquer avec le bouton gauche sur des étincelles faisaient volte-face à a, b, a, b maintenant et nous nous sommes échappés. Nous n'avons plus cette erreur. C'est donc un exemple de nœud flip-flop. Quelles en sont les utilisations possibles ? Eh bien, vous pouvez utiliser un nœud de volte-face pour échanger entre deux armes. Peut-être utilisez-vous un nœud de bascule pour allumer et éteindre l' interrupteur. Voici quelques exemples de cas d'utilisation. Quels sont ceux ? Peux-tu trouver ? Les gars qui feront l'affaire pour offrir celui-ci ? Rendez-vous dans la prochaine. 81. porte: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir des connaissances et de démontrer l'utilisation du nœud de porte. Il s'agit maintenant d'un nœud extrêmement autodescriptif dans lequel vous pouvez entrer dans le nœud de la porte. Mais le fait que vous sortiez ou non de la broche de sortie d'exécution et que vous fassiez ce qui vient après cela dépend du fait que la porte est ouverte ou fermée. Cela commence tout près d'ici avec votre nœud de porte. Maintenant, pour intégrer l'un de ces nœuds dans votre graphe, vous pouvez cliquer avec le bouton droit de la souris et rechercher une porte. Vous pouvez également maintenir la touche G enfoncée et cliquer avec le bouton gauche de la souris, ce qui vous donnera également un nœud de gain. J'ai un exemple que j'aimerais vous montrer à tous ici dans votre Level Blueprint. Donc, si vous voulez jouer le jeu, c' est par là que vous devez vous rendre. Ce que nous allons faire ici, c'est commencer par un événement à cocher. Je vais juste cliquer avec le bouton droit de la souris et faire une recherche pour cocher un événement. Et nous allons entrer dans notre porte à chaque clic. Nous allons donc intégrer chaque image à notre jeu. Maintenant, nous n'allons pas aller plus loin tant que notre porte ne sera pas ouverte. N'oubliez pas que notre porte commence tout près d'ici. Donc, même si nous affluons dans ce nœud, chaque tic, à chaque image, nous n'allons pas sortir d'ici et faire ce que nous voulons faire ensuite jusqu'à ce que nous ouvrions notre porte. Alors, comment allons-nous ouvrir et fermer notre portail ? Eh bien, nous allons le faire via un niveau interne du volume de déclenchement. Revenez donc à votre niveau. Et nous allons passer juste en dessous. Je vais suivre le cours de base. Nous allons ajouter une boîte de déclenchement, il suffit de cliquer avec le bouton gauche et de faire glisser l' une d'entre elles ici. Je vais juste le redimensionner rapidement. Faisons 150 par cinquante, quatre cinquante, un cinquante, un cinquante, un cinquante. Je ne sais pas. C'est le premier chiffre qui nous vient à l'esprit. Quelque chose de grand, d'épaisseur de ligne, nous allons changer cela pour que cela soit un peu plus facile à voir. Cependant, nous n'allons pas le voir à moins passer dans la section de rendu. Section de rendu et nous décochons le jeu caché de l'acteur. Je vais le soulever , appuyer sur la touche Fin pour le faire tomber sur le sol. Nous allons vérifier si cela se chevauche. Une fois cette option sélectionnée, nous allons revenir à notre plan de niveau. Si ce n'est pas déjà fait , ouvrez Level Blueprint. Et nous allons cliquer avec le bouton droit sur un espace vide. Et nous allons ajouter un événement pour ce déclencheur de volume lors de la collision lorsque nous commençons à la superposer, ainsi qu' une collision avec le bouton droit lorsque nous finirons par la superposer. Nous voulons donc faire quelque chose uniquement lorsque c'est nous, le ThirdPersonCharacter chevauchant le volume de déclenchement. Un autre moyen de vérifier si c'est nous. Je pourrais sortir d'ici et lancer. Cependant, je vais juste vous montrer une méthode différente. Je vais juste taper pour obtenir le personnage du joueur. Maintenant, si je fais glisser la souris hors de notre autre acteur et tape simplement l'opérateur equal, nous pouvons vérifier si c'est le personnage du joueur qui nous chevauche. Maintenant, nous n'avons pas besoin de saisir l'intérieur de notre ThirdPersonCharacter et d'exécuter des fonctions qui appellent les variables de cette manière. Nous avons juste besoin de vérifier s' il s'agit de notre lecteur générique. Nous ne nous soucions pas vraiment du personnage du joueur, n'importe quel personnage de joueur. Dans ce cas, car ThirdPersonCharacter est celui que nous contrôlons. Donc, cela suffit, vous pouvez maintenir la touche Alt enfoncée et cliquez avec le bouton gauche. Ce sera notre condition ici même. Nous allons copier ces nœuds ici, contrôler C, contrôler V. Apportez-les ici. Comme ça. Donc, s'il est vrai que nous chevauchons cette boîte de déclenchement, si c'est vrai, nous allons ouvrir les portes. Maintenant, si nous avons fini superposer la boîte de déclenchement avec le personnage de notre joueur, il est prouvé que c'est l'autre acteur qui se retrouve à ce chevauchement. Si c'est vrai, alors nous allons fermer la porte. Maintenant. C'est bien beau, mais qu'allons-nous faire en ouvrant les portes ? Eh bien, nous allons ajouter un autre acteur à notre niveau ici. Alors pourquoi tu ne te rends pas là-bas ? Et nous allons ajouter une sorte de porte juste ici, un peu au-delà de notre boîte Trigger. Donc, pour ajouter une porte entre guillemets, je vais passer juste en dessous. Nous allons prendre des formes. Nous allons ajouter un cube. Et je vais juste l' étirer un peu. Donc, en appuyant sur la touche R, je vais le redimensionner comme suit. Je ne vais pas être très précis. Nous allons le soulever en l'air, quelque chose comme ça. Peut-être l'éclaircir un peu comme ça. Je vais appuyer sur la touche Fin pour le faire tomber au sol. Et une fois cette option sélectionnée, je vais également devoir accéder au panneau Détails et modifier la mobilité de ces deux mobiles. Maintenant, la raison pour laquelle je vais devoir le changer mobile, c'est parce que je vais lentement le déplacer dans la prochaine partie de notre script. OK, donc une fois cela fait, nous avons sélectionné notre cube ici. Assurez-vous que vous l' avez sélectionné. Retournez à votre plan de niveau. Vous pouvez également y accéder. Si cet onglet n'est pas encore ouvert, maintenez la touche R enfoncée cliquez avec le bouton gauche pour faire apparaître une référence. Ensuite, nous allons nous en sortir et saisir des composants de maillage statique. Notre acteur de maillage statique consiste donc en un composant de maillage statique. Et pour vous aider à comprendre ce point, si je reviens à mon niveau et que je sélectionne mon cube, nous pouvons voir que R cubed est constitué d'un composant de maillage statique, qui est essentiellement ce cube ici. Mais nous devons le faire pour sortir de cette situation et intégrer nœud de localisation relative à l'annonce. Maintenant, sur ce nœud, vous pouvez voir que notre composant de maillage statique du cube est connecté à la cible. Il cherche une référence d'objet composant. C'est dans cela que nous allons couler une fois que notre porte sera ouverte. Cette position Delta nous permet maintenant de modifier l'emplacement de ce composant de scène, de ce composant de maillage statique. Mais seulement une fois la porte ouverte. Maintenant, je vais changer cela en changeant notre emplacement z pour en ajouter un. Nous allons donc en ajouter un à notre emplacement Z à chaque image, parce que nous allons y entrer chaque image une fois que notre portail sera ouvert. Donc, juste pour passer en revue, chaque coche, chaque image que nous allons envoyer dans cette porte. Cependant, ici, cette case indique Nous commençons presque. Nous n'allons pas aller plus loin en modifiant l'emplacement relatif de notre cube. Cependant, une fois que nous commençons à superposer une boîte de déclenchement avec notre personnage joueur, notre personnage joueur est considéré comme égal à l'autre acteur. C'est l'autre acteur qui nous chevauche. C'est vrai. Ensuite, nous allons ouvrir la porte et ensuite nous allons la déplacer dans les airs. Cependant, lorsque nous finirons superposer ce volume de déclenchement à celui de notre personnage de joueur, lorsque c'est vrai, nous fermerons les portes. Parlons-en, juste ici. Je vais cliquer sur Play. Si vous n'avez pas défini votre objet de débogage, vous pouvez cliquer ici et le configurer manière à pouvoir suivre le déroulement de l'exécution. Laisse-moi juste, on y va. Arrêtez-vous qui y est indiqué brièvement. Très bien, maintenant je vais essayer de le cadrer un peu mieux. Fais appel à mon personnage une fois de plus. D'accord, donc vous voyez que les ticks d' événements affluaient dans cette porte à chaque image, cependant, nous n'allons pas au-delà d' ici maintenant regardez ce qui se passe quand je chevauche cela avec mon personnage. Tu vas voir cette porte ouverte. On y va. Je vois qu'il s' élève dans les airs. Et si je mets fin à mon chevauchement, il arrêtera de le soulever en l'air, il commencera à se chevaucher. Il va ouvrir le portail et continuer à le soulever et à le chevaucher, etc. Voici un autre exemple rapide, cas d' utilisation du nœud de porte utilisant en grande partie la même configuration que celle que nous avons déjà mise en place. Je viens d'échanger quelques notes ici. Ici, nous lançons sur notre ThirdPersonCharacter à la fois le début du chevauchement et le chevauchement final. Et si j'ai voulu adopter cette approche, c'est pour que nous puissions sortir de notre ThirdPersonCharacter et appeler cette fonction de modification de santé que nous avons créée lorsque nous avons parlé de fonctions. Maintenant, ce que nous allons faire avec cette configuration, c'est de faire en sorte que lorsque notre personnage chevauche cette boîte de déclenchement, nous allons décrémenter santé de notre personnage pendant qu'il est à l'intérieur de celle-ci. Une fois qu'ils seront sortis de cette boîte de déclenchement, nous arrêterons cette hémorragie, pour ainsi dire. Vous pouvez donc imaginer que c'est comme une chambre à gaz toxique ou peut-être, vous savez, peut-être que vous traversez un foyer, quelque chose comme ça. Alors on y va. Vous pouvez le constater à l'œuvre. Je vous recommande, si vous voulez le faire , de régler votre décrémentation de santé à une valeur très faible à chaque coche régler votre décrémentation . En fait, vous allez voir cela représenté dans notre barre de santé là-haut, car notre santé est liée à ce compteur ou à ce HUD également. Nous y voilà, en superposant cela. Je sais que le son est très indésirable en ce moment, mais tu comprends. En sortant de cette zone de gaz toxique, le saignement s'arrête. Et voilà, vous l'avez. Le nœud de porte, il prend en charge les chemins d'exécution. Mais que vous alliez ou non au-delà de cela et que vous fassiez tout ce qui va au-delà de cette exécution , cela dépend du fait que nous ferons pour offrir à celui-ci ou non, si la porte est ouverte ou fermée. Rendez-vous dans la prochaine. 82. MultiGate: Bienvenue. Nous allons parler du nœud multi-portes ici dans cette vidéo. Et je pense que la meilleure façon de démontrer ce que cela fait est de simplement aller avant et de donner un exemple au lieu d'en parler. Je vais donc rassembler cet exemple ici dans mon Level Blueprint. Si vous voulez jouer le jeu, si vous avez oublié comment accéder à votre plan de niveau, vous pouvez venir ici, ouvrir Level Blueprint. Et pour ajouter un nœud multigrade, vous pouvez simplement cliquer avec le bouton droit de la souris et le rechercher ou maintenir la touche M enfoncée le bouton gauche de la souris, pour en ajouter un également. Maintenant, ce premier exemple est de nature un peu académique. Je suis donc allé de l'avant et j'ai configuré le script à l'avance pour nous faire gagner du temps, mais je vais expliquer ce qui se passe. J'ai donc introduit 34 touches de saisie pour faciliter cela. J'ai besoin d'appuyer sur les trois touches qui entrent dans mon nœud multigrade. Du côté de la sortie, j'ai ajouté une broche supplémentaire. Et chacun d'entre eux est connecté à un nœud de fonction d'impression de textes correspondant. Et il va simplement imprimer 012 respectivement pour correspondre à la sortie 012. Maintenant, lorsque j'appuie sur les trois touches et que nous entrons dans ce nœud multigrade, la première fois que j' appuie sur ces trois touches, la première fois que j' appuie sur ces trois touches, la sortie est 0. Il va afficher le chiffre 0 à l'écran. Ceci est déterminé par notre indice de départ. Un indice de départ par défaut négatif signifie essentiellement commencer en haut de notre liste ici. Cependant, contrairement à un nœud de séquence qui imprime tous ces éléments en succession rapide, il n'affichera que ce numéro 0. Il n'en imprimera pas un ou deux. Maintenant, si j'appuie sur les trois touches une seconde fois, il se dirigera vers le nœud multi-portes et imprimera le numéro un. Il choisira ce 1 en premier. Nous l'avons fait en appuyant d' abord sur une touche. La deuxième fois que vous appuyez dessus, il s'écoulera ici. La troisième fois que vous appuyez dessus, il s'affichera ici, et cetera. La quatrième fois que j'appuie dessus, rien ne se passera tant que je n'aurai pas réinitialisé. Alors, on y va. Voici un aperçu rapide du fonctionnement de ce nœud. Je vais cliquer sur Play up here, pour définir mon objet de débogage comme étant nos cartes de test de niveau. Vous pouvez donc également voir tout cela se répercuter sur le graphique. Alors, on y va. Je vais appuyer sur les trois touches. Nous voyons que le chiffre 0 s'y écoule simplement. Je vais appuyer sur les trois touches une seconde fois. Nous voyons le numéro un. Je vais appuyer dessus une troisième fois. Nous voyons le numéro deux. Maintenant, si j'appuie dessus une quatrième fois, on passe à ça. Cependant, nous ne sortons pas et nous ne sortirons pas tant que nous n'aurons pas réinitialisé. Donc, essentiellement, lorsque vous entrez dans le nœud multigrade, il s'assure que toutes ces sorties sont exécutées. Une fois qu'ils ont tous été exécutés, vous devez les réinitialiser pour que cela fonctionne à nouveau. Donc, si j'appuie sur la touche F4, ce que je vais faire maintenant, il suffit de la réinitialiser. Maintenant, je peux appuyer sur les trois touches, 0. Appuyez à nouveau sur les trois touches. Un, appuyez à nouveau sur les touches 3 pour. Et si j'essaie à nouveau d'appuyer sur les trois touches, j'y accède, mais je ne peux pas en sortir tant que je ne l'ai pas réinitialisée. Et quels points je peux le refaire, 012. Maintenant, essayons encore une fois, mais cette fois. Allons vérifier. Il s'agit d'une case à cocher aléatoire. Auparavant, cela n'était pas vérifié avec un indice de départ négatif. Nous allions tirer par notre toit. Je vais mettre une épingle, puis notre deuxième, puis notre troisième dans un ordre séquentiel, garanti avec une sélection aléatoire. Cependant, nous allons tirer sur les trois avant de devoir réinitialiser. Cependant, il va choisir un indice aléatoire avec lequel se lancer la première fois, la deuxième fois, plutôt que la troisième fois. On y va. Donc, en appuyant sur les trois touches ai décidé de passer à cette 1 première, à cette seconde, à cette troisième. Si j'appuie dessus une quatrième fois, rien. Je dois appuyer sur la touche F4 pour le réinitialiser. Et puis nous avons commencé ici en premier, cette seconde, cette troisième. C'est donc ce que fait la case à cocher booléenne aléatoire. Maintenant, si la boucle est cochée et que je joue, et que je vais appuyer sur les trois touches ici une, deux fois, une troisième fois, puis une quatrième fois, cinq fois, six fois. Essentiellement, lorsque vous avez une vérification en boucle ici, vous pouvez continuer à appuyer, dans notre cas, les trois touches encore et encore. Il n'est pas nécessaire de le réinitialiser. Enfin, juste pour montrer notre indice de départ par défaut, qui est défini sur négatif. Je vais juste décocher chacune d'elles. Mettons-le sur deux, pas moins 22, et je clique sur Play. Maintenant, quand j'appuie sur les trois touches, on tire d'abord sur les deux broches, puis sur 0, puis sur une, ou on appuie à nouveau sur les trois touches, rien. Cependant, si je réinitialise, puis que j'appuie sur les trois touches, il se déclenchera sur 2 d'abord, puis sur 0, puis un. Encore une fois, il faut le reconnaître, un exemple assez académique. Essayons donc quelque chose d'un peu plus fidèle à un jeu. Et je vais également le démontrer ici dans le Level Blueprint. Passons à droite ici, ou à n'importe quel espace libre de votre graphique. Encore une fois, j'ai configuré certaines choses à l'avance. J'ai un nœud de plusieurs jours. Maintenez la touche enfoncée et cliquez avec le bouton gauche de la souris, il peut en importer un. Et sur chacune de mes trois broches de sortie, j'en ai ajouté une ici. J'ai fait appel à Spawn Actor à partir des nœuds de classe, et j'ai simplement classé dans trois classes différentes mon effet de plan, l'explosion, le feu et la fumée. Et maintenant j'ai besoin de quelque chose pour démarrer ces plusieurs jours. Permettez-moi de revenir à mon niveau ici et je vais ajouter les éléments de base. Faisons une boîte de déclenchement. Soulevez cela un peu, réglez l'étendue de nos cases pour qu'elle soit environ deux cent deux cents lignes d'une épaisseur de dix. Je devrais vraiment laisser une boîte Trigger ici pour tous les exemples comme celui-ci et montrer dans la catégorie de rendu, décocher cet acteur caché dans le jeu, d'accord, avec son événements sélectionnés. Ici, dans notre niveau, nos plans. Plan de niveau, maintenez le bouton enfoncé ou plutôt un clic droit, ne maintenez pas enfoncé, cliquez avec le bouton droit sur Ajouter une collision d'événements pour que lorsque nous commençons à le chevaucher, nous pouvons vérifier que notre autre acteur, nous peut dire égal à égal. C'est une autre façon de montrer si ce que nous espérons chevaucher, c'est quelque chose que nous attendons de dire, est que r donne du caractère au joueur. Nous ne cherchons pas à extraire des variables qui appellent des fonctions dans notre ThirdPersonCharacter. Ce sera donc suffisant. Maintenez la touche Alt enfoncée et faites un clic gauche. Nous dirons que si c'est vrai, dirigera vers le nœud de branche, un nœud de contrôle de flux. Et si c'est vrai, nous allons entrer dans le nœud des portes multi-bits. Et si c'est vrai, nous allons créer l'une de ces compilations. Oh oui, nous devons spécifier une transformation de spawn. Eh bien, nous avons déjà sélectionné notre Trigger box ici dans notre niveau. Donc, nous allons simplement apparaître. C'est quelque part dans cette boîte de déclenchement, non ? Maintenez la touche Alt enfoncée cliquez avec le bouton gauche pour faire apparaître une boîte de déclenchement de stockage de référence déplacée hors d'ici, pour obtenir une transformation. Nous pouvons les brancher sur 123, donc nous choisissons l'un de ces spawn au hasard, et nous compilons à nouveau. Allons-y et jouons. Je vais le ranger ici. Nous avons sélectionné nos cartes de test et les écrites là en tant qu' objet de débogage. Et nous y voilà. La première fois que nous nous retrouvons, nous avons repéré l'une de ces explosions au hasard, la deuxième fois, un incendie , et la troisième fois, il y a de la fumée dedans également. Maintenant, notez que si je les recoupe encore une fois, nous nous sommes arrêtés ici, à la porte. Nous n'avons pas du tout réinitialisé cela. Ce serait donc quelque chose que vous devriez peut-être faire pour permettre un certain frai. Encore une fois. Maintenant, une telle configuration peut être utilisée comme un butin. Peut-être que vous tuez un ennemi et que vous voulez attribuer une récompense au hasard, ce serait un bon exemple. Utilisation du multijeu. Peut-être utilisez-vous un multigrade pour faire apparaître des vagues d'ennemis. Vous pouvez donc choisir une vague d'ennemis parmi nos zéros, un ou deux. Ou peut-être pourriez-vous utiliser un nœud multigrade lorsque vous parlez à un PNJ. Encore une fois, de nombreux jeux vous permettent de parler à un MPC, et dans votre MPC, loups alimentent trois lignes de dialogue différentes et uniques. Vous pouvez faire en sorte qu'en utilisant un nœud multigrade lorsque vous superposez le volume de déclenchement lié à ce PNJ, vous puissiez déclencher la ligne de déclenchement du dialogue 12 ou 3 respectivement. Les gars, cela va tout faire pour le nœud multiset. Nous vous verrons dans la prochaine. 83. Pour les boucles: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir des connaissances et de démontrer l'utilisation des nœuds for-loop. À ne pas confondre avec les nœuds pour chaque boucle, dont nous parlerons dans la vidéo suivante. Ces nœuds vont maintenant répéter une section de script encore et encore. Et bien qu'ils puissent être utilisés dans Event Grass, ils brillent vraiment lorsqu'il s'agit de scripter du contenu procédural à l'aide du script de construction. Maintenant, pour commencer, qu'est-ce qu'un for-loop ? Eh bien, une boucle for est un nœud qui, lorsqu' il est appelé, possède un fil d'exécution branché sur le côté gauche. Il déclenche une impulsion hors de la boucle, corps X fois, le nombre de fois étant déterminé par le premier et le dernier indice. Ainsi, par exemple, si nous avions un événement branché sur notre nœud for loop ici, et que notre premier index était 0. Lorsque notre dernier indice était neuf, nous sortions de notre corps de boucle dix fois, commençant de 0 à 9. Maintenant, chaque fois que nous sortions de notre corps en boucle, nous crachons à quel indice entre 09 nous nous situons. Encore une fois, de 0 à 9, vous passerez à 0123456789. Donc, quand nous en étions à la cinquième itération, nous crachions un index pour, encore une fois, commencer par le numéro 0. Maintenant, une fois qu'il aura parcouru les dix, ce fil de sortie d'exécution terminé se déclenchera. Maintenant, la seule différence entre notre nœud for loop ici et notre nœud for loop with bread est simplement ce stylo d'exécution d'entrée break. Avec ce nœud, vous pouvez interrompre le flux d' exécution avant d' atteindre vos derniers indices. Si, par exemple, votre premier index est 0 et votre dernier indice est 99, ce qui signifie 100 boucles par ici. Vous pourriez, pour quelque raison que ce soit, casser tôt pour ne pas le terminer réellement. Et nous en montrerons une démonstration plus tard dans cette vidéo. Bien, comme je l'ai mentionné au début de cette vidéo, vous pouvez utiliser ces nœuds ici dans un graphe d'événements, mais ils montrent vraiment leur puissance dans un script de construction, en développant du contenu procédural. Et en fait, au tout début de ce cours, lorsque je parlais du script de construction, j'ai utilisé un nœud for-loop. Permettez-moi donc de revenir à ma carte de test ici, revenir à ma carte de test ici, j'ai en fait un exemple de plan de script de construction. C'est le plan que j'ai élaboré bien plus tôt dans le cours en parlant du script de construction. J'en ai un dans mon niveau, mais si ce n'est pas le cas, vous pouvez le trouver dans votre dossier de scripts Blueprints. Voici votre exemple de script de construction BP. Également. Vous pouvez y accéder ici dans votre Outliner en le sélectionnant ainsi que votre univers et en cliquant ici. Maintenant, je n'ai rien ici dans ce plan dans mon Event Graph, ma fenêtre d'affichage montre ce que le script de construction a construit. Voici donc mon onglet Construction Script. Si ce n'est pas le cas, vous pouvez double-cliquer dessus dans le panneau Mon plan pour l'ouvrir. Et c'est ici que nous utilisons un nœud for loop. Maintenant, tout ce script a été créé pour générer du contenu procédural. J'expose ces nombres de variables entières de section à l'éditeur. Ainsi, en ajustant le nombre de sections, nous pouvons parcourir ce nœud pour boucle X fois en passant de 0 à r nombre de sections moins une. Et il s'agit simplement de faire quelques calculs pour déterminer où placer exemple du maillage statique de cette pièce murale ici. Maintenant, j'ai quelques scripts supplémentaires pour définir le matériau de cette instance, le maillage statique, mais c'est ce que fait tout ce script de construction. Donc, la puissance de ceci, encore une fois avec la boucle for, est que vous pouvez spécifier le nombre de fois que vous allez parcourir le reste de ce code en boucle ici. Et dans ce cas, nous passons d'un indice de 0 au nombre de sections que je précise. Ici, dans mon niveau, j'expose cette variable pour qu'elle soit modifiable par instance, cette case à cocher juste là. Ce faisant, cette variable devient disponible dans le panneau Détails lorsque ce plan est sélectionné. Vous pouvez donc voir si j'ajuste le nombre de sections ici, je peux étendre ce mur. Ce que cela fait. Une fois de plus, il passe par là. Combien de fois ? Eh bien, j' ai actuellement ce set pour vingt et un ans. Vingt et un. Vingt et un moins un font 20. Donc, de 0 à 20, c'est passer par ici toutes ces fois pour ajouter ces sections de murs. C'est donc ce que fait le corps de la boucle, répète cette section du script, quel que soit le nombre de fois qu'il passe du premier index au dernier index. Maintenant, il convient de noter ici que itérations de boucle auront lieu entre les images, sorte que les boucles de grande taille peuvent avoir un impact sur les performances. Donc, si nous devions fixer notre dernier indice à un niveau assez élevé, nous assisterons à un léger décalage. Je vais donc essayer de régler ce chiffre à un niveau élevé ici. À mon niveau. Je l'ai actuellement réglé à 21, ce qui n'est pas si mal. Si j'essaie de le régler à 500 000 et que j'appuie sur Entrée, regardez ce qui se passe. Et en effet, cela a pris beaucoup de temps. Maintenant, j'ai coupé la vidéo juste là pour donner l'impression que cela a pris beaucoup moins de temps, mais il a probablement fallu environ une minute à mon ordinateur environ une minute à afficher toutes ces sections de murs. Sachez donc que vous ne voulez probablement pas avoir trop de boucles via votre nœud for loop. Très bien, présentons un cas d'utilisation pratique pour la boucle for. Notez qu'ici, dans notre niveau, je vais ajouter une boîte de déclenchement et que je vais configurer l'extension de la boîte pour qu' elle soit un peu plus grande. On va faire 300 dans le x, 300 dans le y, et 40 c'est bien pour le Z. Je vais juste le ramasser un peu par terre, quelque chose comme ça. Laissez-moi régler l' épaisseur de la ligne à dix. Et comme tu m'as vu le faire un tas de fois jusqu'à présent, je vais décocher les acteurs cachés et les jeux pour que nous puissions les voir. Ensuite, je vais le dupliquer en maintenant la touche Alt enfoncée, en cliquant avec le bouton gauche et en faisant glisser. Et je vais réduire l' étendue de la boîte pour celui-ci, nous allons le faire 100 par 100 par 100, quelque chose d'un peu plus petit comme ça, en le soulevant en l'air, appuyant sur la touche Fin pour le faire tomber le sol. Alors, qu'est-ce que j'essaie de réaliser avec cette configuration ? Eh bien, essentiellement, ce que je vais faire se produire ici. Notre personnage apparaîtra ici même au début de notre joueur. Nous allons faire en sorte que lorsque notre personnage chevauche cette boîte de déclenchement, nous puissions faire apparaître des potions d'une manière ou d'une autre dans les limites de ce volume, ici même ? Oui, vous pouvez utiliser une boîte de déclenchement déclencher le volume pour faire apparaître des objets à l'intérieur. C'est ce que nous allons utiliser pour cela. Et nous allons également utiliser un nœud for loop pour générer trois potions d'Amanda. Tout d'abord, nous allons sélectionner cette case de déclenchement ici. Revenez à votre plan de niveau. Et nous allons cliquer avec le bouton droit et laisser de l'espace vide. Nous allons ajouter un événement lorsque nous commencerons à le chevaucher. Et nous allons simplement sortir de notre autre acteur ici, taper le signe égal. Et ce sera notre méthode pour vérifier s'il s'agit bien de notre personnage de joueur. Nous allons cliquer avec le bouton droit sur Obtenir le personnage du joueur. Encore une fois, il existe toutes sortes de méthodes que nous pouvons utiliser pour cette section pour vérifier s'il s' agit de notre ThirdPersonCharacter. Cela fonctionnera bien. Maintenez la touche enfoncée en cliquant avec le bouton gauche pour faire apparaître une branche. Comme ça. Ensuite, je vais maintenir la touche O enfoncée et cliquer avec le bouton gauche parce que nous voulons faire quelque chose une fois. Que voulons-nous qu'il se passe ? Eh bien, nous voulons sortir d' ici et apporter une boucle pour, pas une pour chaque boucle, une pour boucle. Nous allons mettre notre premier indice à 0, notre dernier indice à deux. Donc, 012 seront nos trois indices. Et nous sortirons de notre corps et nous ferons apparaître un acteur issu de la classe. Et c'est là que je vais ajouter une potion à notre homme. Encore une fois, vous pouvez insérer tout ce qui est une sorte d' objet de plan, je le recommande. Maintenant, où vais-je faire apparaître ce truc ? Je dois accélérer cette transformation d'apparition. Revenons donc à notre niveau. Nous allons sélectionner ce volume de déclenchement ici. Ensuite, nous allons revenir à notre plan de niveau, maintenir les arches enfoncées comme dans la référence et cliquer avec le bouton gauche de la souris pour faire référence à cette boîte de déclenchement. Nous allons traîner hors d'ici. Get actor Bounds est le nœud que nous recherchons. Ensuite, nous allons sortir de l'origine ici et taper au hasard un point dans un cadre de sélection. C'est l'étendue de la boîte. On peut l' intégrer à la demi-taille. Enfin et surtout, nous allons faire glisser vers l'arrière la transformation de spawn, où nous allons taper make transform. Le seul aspect de la transformation dont nous allons nous préoccuper est l'emplacement. Prenez donc l'emplacement de notre cadre de délimitation juste ici et branchez-le l'emplacement de la transformation de création. Résumons donc très rapidement ici ce que nous avons à faire. Nous allons superposer ce volume de déclenchement. Nous allons vérifier si c'est personnage du joueur qui a fait le chevauchement, si c'est le cas, et c'est vrai. Une fois, nous allons le parcourir trois fois, à partir de 0012. Alors bam, bam, bam, bam, engendrant trois potions de manne dans les limites de ce volume de déclenchement. Compilons. Cela permettra de vérifier si notre script est bon. Enregistrer. Mettons ce script ici et allons-y et jouons. Et vous pouvez y voir mes deux volumes. Recoupons le premier ici. 123. On y va. Maintenant, si j'essaie de me superposer et encore une fois , pas de dés, pas de dés, vous pouvez voir que cela s'arrête juste au nœud do once. Maintenant, vous vous demandez peut-être pourquoi cette émancipation est apparue en haut, juste ici ? Eh bien, nous obtenons les limites de notre acteur pour cette boîte de déclenchement ici, mais nous choisissons un point au hasard dans la boîte de sélection en spécifiant une origine, le centre de celle-ci. Et le point aléatoire que nous choisissons vraiment est la moitié de l'étendue de notre boîte. Vous pouvez donc vraiment sortir des limites de cette si longue histoire, ce n'est qu'un exemple rapide pour montrer le nœud for loop au travail. Alors laisse-moi partir d'ici. Pour terminer, nous allons faire une démonstration de la boucle for avec le nœud bread à l'intérieur de notre ThirdPersonCharacter. Voici donc un répertoire pour le trouver. Double-cliquez dessus pour l'ouvrir. Et nous allons introduire un événement de clavier. avec le bouton droit de la souris et tapez un espace vide dans le clavier. Ajoutez n'importe quel événement de clavier que vous n'avez pas encore utilisé. Je vais utiliser la touche E, rien à terre, et il fera l'affaire. Ce que nous allons faire, c'est traîner dans cette situation et mettre en place une boucle. Un pour boucle avec pause, pas pour chaque boucle qui viendra plus tard. Vidéo suivante. Et nous allons avoir le premier indice laissé seul à 0, le dernier indice, cependant, je vais mettre le chiffre 30. Ensuite, je vais cliquer avec le bouton droit sur cette épingle et je vais promouvoir en variable juste pour montrer, une fois de plus, que si vous la mettez dans un chiffre, cela fait la promotion d'une variable, vous allez non seulement créer une variable, mais si vous compilez, vous verrez que le nombre que vous y avez défini est désormais défini comme valeur par défaut pour cette variable promue. Très pratique. Je vais maintenant renommer cette variable. Je vais appuyer sur F2 là-dessus et je vais appeler cela un nombre maximum d'objets d'inventaire. Alors, que faisons-nous ici ? Nous allons passer en revue un scénario hypothétique dans lequel votre personnage tiers peut contenir 30 objets d'inventaire. Mais disons simplement que sur l'interface utilisateur des personnages, ils ne peuvent afficher que 15 éléments sur une seule page. Donc, dans ce cas, nous allons arrêter notre boucle pour faire une pause quand nous découvrirons que nous sommes partis, nous l'avons fait 15 fois. Donc, essentiellement, nous allons passer de 01234567891011121314. Ce serait 15 fois au total. Et nous allons casser notre For Loop. Alors, que devons-nous faire ensuite ? Nous devons sortir de notre index ici. Et nous allons introduire un symbole égal. Et nous allons voir si notre indice est égal à 14. Pourquoi 14 ? Si nous voulons vraiment le casser après avoir atteint 15 éléments, souvenez-vous que notre premier indice compte 0. Donc, avec cet ensemble, je vais le promouvoir en tant que variable. Cliquez avec le bouton droit pour promouvoir Nous pouvons compiler cela. C'est là notre nouvelle valeur. Cependant, nommons cela quelque chose de mieux que cela. Je vais donc le renommer ici. Appelons cette page un article maximum. Et ce que nous allons faire ensuite, c'est sortir d'ici et introduire un nœud de branche. Entre cela, je vais me faufiler dans un nœud Print String. Donc, chaque fois que nous parcourons en boucle, nous allons imprimer. Donc, imprimez la chaîne, sur quel index nous sommes. Alors glissez-déposez ça dedans. Cela amènera n'importe quel entier de conversion en chaîne. Branchez-le à notre succursale. Et ce que nous voulons faire ici, c'est que si c'est vrai, les éléments de notre page 1 sont égaux à nos indices de 14. Compilons ça à nouveau, 14. Si c'est vrai, on va revenir ici et on va faire une pause. Double-cliquez dessus pour ajouter un nez de réacheminement afin de le rendre un peu plus beau. Une fois que nous avons cassé, nous avons terminé. Je vais sortir d'ici, en apportant un autre nœud de chaîne d'impression. Et nous allons simplement imprimer à l'écran. Chacun de vos stocks est plein ou quelque chose comme ça. Et imprimons ceci à l'écran un peu plus longtemps. Je clique donc sur cette flèche vers le bas juste là pour exposer d' autres paramètres. Ici nous allons régler cela sur une durée de dix. C'est donc ce qui se passe ici. Encore une fois, nous n'imprimons rien à l'écran. Nous n'imprimons aucun article en stock, ce n'est pas simplement hypothétique. Compilez ceci. Enregistrer. Et allons-y et plaçons cette option de débogage comme notre ThirdPersonCharacter. Vous pouvez donc voir ce script démarrer. Et tout cela va se passer très, très vite. Alors regardez en haut à gauche lorsque j'appuie sur la touche E, page, l'un de vos stocks est faux. Vous avez donc vu tous ces indices, 012345678910 à 14 jusqu'à ce qu' il indique que la première page de votre inventaire est pleine. Vous pouvez voir dans cet exemple que nous n' avons jamais atteint notre dernier index. Nous étions censés parcourir jusqu' à 30 articles d'inventaire. Eh bien, vraiment 31 si vous comptez ce 0. Mais nous avons rompu notre boucle ici. Nous n'avons pas franchi la boucle autant de fois que nous l'avons cassée lorsque nous avons atteint 14. C'est donc un exemple d'une boucle pour avec un nœud break. Encore une fois, ces nœuds sont très utiles lorsque vous les utilisez avec script de construction interne pour créer quelque chose comme des murs procéduraux comme celui-ci, mais ils peuvent également être utilisés dans des graphes d'événements. Maintenant, une dernière chose à noter ici dans notre script de construction que j'ai créé plus tôt dans le cours lorsque j'ai créé ce script en utilisant un nœud for-loop, souvent lorsque l'utilisation de for-loop connaît le les indices sont utilisés dans une sorte de calcul mathématique. C'est donc quelque chose à garder à l'esprit également. Donc, à chaque fois que nous faisions une boucle, j'utilisais ce numéro d'index, le multipliais par un autre nombre pour déterminer où placer exactement cette instance, Static Mesh, cette pièce murale. Très bien les gars, ça va suffire pour vous proposer celui-ci, nous vous verrons tous dans la prochaine vidéo. 84. Pour chaque boucles: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir des connaissances et de démontrer l'utilisation des nœuds pour chaque boucle, le proche cousin des nœuds pour boucles que nous avons abordés dans la dernière vidéo. Alors, qu'est-ce qui différencie un nœud pour chaque boucle des nœuds pour boucle ? Eh bien, ce sont des nœuds de contrôle de flux qui prennent en charge un tableau plutôt qu'un certain nombre d'indices. Ainsi, en prenant un tableau, ils vous permettent de faire quelque chose à chaque élément du tableau qui constitue le contenu du tableau. Maintenant, si vous revenez à notre vidéo sur les tableaux présentée plus tôt dans le cours, vous vous souviendrez qu'un tableau est essentiellement une liste. Il s'agit d'un conteneur composé de plusieurs éléments dont les entrées sont du même type de variable. Très bien, pour montrer l'exemple ici, nous allons travailler dans le cadre de notre plan de niveau. Mais d'abord, nous allons travailler à notre niveau. Maintenant, je vais utiliser ce mur de lampes SM dans mon dossier Star Content Props. Bien que vous puissiez réellement utiliser n'importe quel type de maillage statique pour créer ce que nous sommes sur le point de créer. J'ai un mur simple ici. Donc, si vous voulez placer une sorte de mur dans votre niveau pour jouer, cela peut être une bonne chose à faire également. Parce que ce que je vais faire, c'est placer ce mur que Scott est le long du mur que j'ai construit ici. Et je vais vous montrer autre chose que vous pouvez faire ici dans Unreal, ici même dans votre fenêtre d'affichage, cette icône à trois flèches, vous pouvez activer la capture de surface. Je l'ai actuellement allumé. C'est ce que signifie cette coche. Mais si vous ne savez pas si vous l'avez activé ou désactivé, vous pouvez cliquer ici. Je l'ai sur moi. je l'ai activé, c'est pour montrer que si je le fais glisser et que je le dépose dans mon niveau, il l' accrochera à la surface sur laquelle je le fais glisser. Vous pouvez voir qu'il glisse le long du sol et qu'il est placé le long du mur comme ça. Maintenant, si je devais le relâcher, cliquer avec le bouton gauche et le faire glisser, il ne le ferait pas glisser sur le sol comme ça. Cependant, si je l'attrape par le point à trois coins, le widget de traduction qui se trouve juste là. Si je clique avec le bouton gauche de la souris et que je le prends à partir de là, il le fera grimper à la surface. Maintenant, je vais le faire glisser le long de mon mur ici. Bien sûr, il n'est pas exactement positionné comme je le souhaite. Je vais devoir alterner celui-ci en particulier. Donc, en appuyant sur la barre d'espace, je vais la faire pivoter comme ceci. Faites-le pivoter comme ceci, et faites-le pivoter comme ça pour le placer le long du mur. Je vais également l'augmenter un peu en taille ici. Et je vais faire ressortir quelques doublons. Donc, en maintenant la touche Alt enfoncée, je vais cliquer avec le bouton gauche et faire glisser, maintenir à nouveau la touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser. D'accord, j'en ai trois dans mon niveau. Génial. Je vais les sélectionner tous les trois ici dans mon plan. Je vais sélectionner le premier, maintenir la touche Ctrl enfoncée, sélectionner les deux autres également. J'ai donc sélectionné les trois. Et puis de retour dans mon Level Blueprint venant ici, ouvrez Level Blueprint. Je vais me connecter ici et je vais cliquer avec le bouton droit de la souris. Non, je ne vais pas cliquer avec le bouton droit. Je pourrais cliquer avec le bouton droit de la souris et créer une référence à chacun d' eux individuellement. Cependant, si je les avais sélectionnés individuellement, je vais maintenir la touche R enfoncée et cliquer avec le bouton gauche pour faire immédiatement référence aux trois. Ils sont empilés les uns sur les autres. Malheureusement. Ensuite, ce que je vais faire, c'est sortir de l' un d'entre eux et taper make array. Nous allons donc ajouter des épingles à notre tableau ici. Et nous allons connecter chacun de ces trois éléments à notre Make Array Note ici. Maintenant, cela peut générer un tableau. Ce que je vais faire, c'est simplement cliquer dessus avec le bouton droit de la souris et le promouvoir en variable. Cependant, notez que je n'ai pas à le faire. Je vais utiliser ce tableau de lampes ici, 123 pour le brancher sur un pour chaque nouveau nœud de boucle, cela fonctionnerait très bien pour cela. Cependant, juste pour montrer que je peux le promouvoir en tant que variable, je le ferai. Je vais donc cliquer avec le bouton droit sur la promotion à deux variables, et je vais l'appeler mon réseau de lampes. Maintenant, cela le définit immédiatement sur le type de variable approprié. S'est terminé immédiatement. Cela en fait une gomme. C'est plutôt pratique. Et ce que je vais faire ici c'est qu'après les avoir placés dans un tableau, je vais le brancher une broche d'exécution de mon pour chaque nœud de boucle, vous pouvez utiliser le raccourci clavier qui consiste à maintenir le F enfoncé touche et bouton gauche de la souris pour obtenir un pour chaque nœud de boucle. Nous allons le brancher à notre baie. Maintenant, nous avons besoin d'un événement pour déclencher tout cela. J'ai dans mon niveau un volume de déclenchement déjà abaissé. Si vous n'en avez pas, vous pouvez venir juste en dessous. Entrez dans la boîte de déclenchement de base, placez-en une dans votre niveau. J'ai réglé l'étendue de ma boîte sur cent, cent, cent en fonction de l'épaisseur de ligne pour qu'elle soit facile à voir. Et j'ai un acteur caché dans le jeu sans contrôle. Maintenant que cela est sélectionné dans votre niveau, revenez dans votre plan de niveau, cliquez avec le bouton droit de la souris. Nous allons ajouter un événement lorsque nous commencerons à le superposer. Et nous voulons nous assurer que nous avons vérifié s'il s'agit de notre personnage à la troisième personne. Sortons donc d'ici Cast vers ThirdPersonCharacter. Et si c'est le cas, et que nous avons redéfini notre variable de tableau, cette partie ici n'est pas très nécessaire. Nous allons faire quelque chose pour chaque élément de ce tableau. Maintenant, que dois-je faire avec chaque article de notre gamme ? Tous les trois, eh bien, ce que je veux faire, c'est sortir de notre tableau et je vais saisir le lieu de l'acteur. Nous allons utiliser l' emplacement de chacun de ces murs pour faire apparaître un émetteur. Je vais donc cliquer avec le bouton droit sur un espace vide et je vais faire apparaître un émetteur sur place. Je vais connecter l'emplacement précis à l'entrée de localisation de notre spawn, un emplacement de minaret, de notre corps de boucle, nous allons le brancher sur ce nœud de fonction. L'émetteur que je vais utiliser est simplement d'allumer mon feu P. Il s'agit d'un système de particules plus ancien. Encore une fois, vous pouvez installer un système de particules plus ancien ou créer système d' apparition à un endroit qui utilise les effets d' étincelles du Niagara, le système à l'emplacement est l'équivalent là-bas. Cela fonctionnera tel quel, par souci d'exhaustivité. À partir de cette broche de sortie terminée, je vais imprimer une chaîne. Et je vais simplement mettre la ficelle. Terminé. Nous allons donc l'imprimer à l'écran. Et ce que je pense que je vais aussi faire c' est introduire une autre chaîne d'impression juste ici, contrôle C, contrôle V. Nous allons faufiler cette extrémité avant notre corps de boucle. Nous pourrions le mettre après notre émetteur si nous le voulions. Donc on va y aller comme ça. Et pour chaque élément de notre tableau, nous allons imprimer l'index du tableau afin que vous puissiez également voir ce numéro s' imprimer à l' écran. Récapitulons donc ce que nous avons. Une fois que notre personnage chevauchera ce volume de déclenchement, nous verrons s'il s' agit bien notre ThirdPersonCharacter. Ce que nous allons ensuite faire, c'est utiliser ces trois lampes et créer un réseau. Nous allons donc avoir un tableau, une liste d' acteurs de maillage statique qui vont renseigner cette variable. Nous allons ensuite, pour chaque boucle de notre tableau, pour chaque élément de notre gamme, trouver la position des acteurs et faire apparaître du feu. Compilons cela pour votre script R soit prêt à fonctionner. Allons-y et jouons. Paramétrer notre objet de débogage sur notre carte de test ici. Très bien, alors on y va. Une fois que nous avons superposé tout cela, nous devrions voir le feu apparaître ici, ici et ici. C'est comme si nous avions allumé trois torches. Maintenant, cela se produit sur le site de notre laboratoire. Ce n'est pas bas. Si nous regardons notre lampe, le widget de traduction se trouve à la base de celle-ci. C'est pourquoi cette flamme apparaît un peu plus bas. Cependant, nous pourrions le compenser un peu et le faire apparaître en haut, mais vous obtenez des points. Tu vois, je ne le ferai pas une seule fois. Donc, si je continue à les chevaucher, vous verrez ce texte s'imprimer à l'écran. Et je continue à générer plus d'effets de particules ici aussi. Mais vous pouvez imaginer une telle installation utilisée pour allumer la lampe. Un autre exemple à montrer ici dans notre Level Blueprint. Cette fois, nous allons utiliser le nœud for each loop with break. Je suis allé de l'avant et j'ai créé une série de textes. Donc, si vous voulez jouer le jeu, cliquez sur ce bouton plus. Nous l'avons transformé en type variable de textes, et nous avons changé le type de conteneur pour qu'il s'agisse d'un tableau. Et puis j'ai cliqué ici trois fois deux, vous ajoutez trois éléments de tableau faits guerrier et voleur. Maintenant, il faut noter qu' avec chacun de nos quatre nœuds de boucle, vous avez des épingles grises ici. Maintenant, ils indiquent des caractères génériques, ce qui signifie que nous pouvons y ajouter une variété de types de variables. Et il reconnaîtra le type que nous y connectons et changera le type correspondant pour qu'il soit identique. Laissez-moi vous montrer ce que je veux dire. J'ai une série de textes ici. Si je le branche sur notre entrée de tableau gris ici, il reconnaîtra que Hey, vous branchez un tableau de variables de texte. Cela signifie que nous allons sortir des textes car votre tableau se compose de trois textes créés. Guerrier et voleur, trois éléments. D'accord, qu'allons-nous faire de cette configuration ici ? Eh bien, nous allons voir si notre élément de tableau est égal à certains textes littéraux. Nous allons cliquer dessus avec le bouton droit sur un espace vide. Introduisez un opérateur de nœud égal, égal. Je vais y intégrer les éléments de notre tableau. En fait, ce n'est pas la bonne. Ma faute. Nous allons d'abord apporter le nœud make literal text, make literal text node. C'est celui que je cherche juste en bas. De là, je vais faire traîner et introduire le signe égal. Nous recherchons des textes identiques à des textes. C'est celui que nous recherchons, PAS des opérateurs égaux. On y va. Je vais maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche et le mettre dans la touche inférieure. Dans notre tableau, l'élément va se brancher sur celui du haut. Notre texture littérale que nous allons rechercher est celle d'un guerrier. Remarque. Nous avons répertorié Warrior ici ainsi que dans notre tableau de textes. Donc, quand c'est égal, nous allons sortir d'ici et amener le nœud de branche. Et nous allons sortir de notre vrai. Je me suis rendu compte qu'il y avait un chaînon manquant ici. J'y reviendrai dans un moment. Déplacé hors d'ici pour saisir du texte à imprimer. Et nous allons juste imprimer Trouvé Warrior. Et ce que nous allons faire avec ça, c'est le glisser-déposer le glisser-déposer dans notre entrée de pause, en double-cliquant sur le fil plusieurs fois ici. Maintenant, si j'ai laissé un petit espace ici, c'est parce que je veux aussi saisir un nœud de texte Prince ici. Je vais donc sortir comme ça de notre corps en boucle vers leurs éléments, dans leurs, dans notre tableau. Nous allons y affluer. Comprenez donc ce qui se passe avec cette configuration. Nous allons appuyer sur la touche B. Nous allons ensuite parcourir notre tableau en boucle. Nous avons trois éléments dans notre gamme. Chacun de ces éléments du tableau, nous allons imprimer à l'écran, en commençant par les éléments majeurs, puis en passant par les éléments guerriers. Cependant, nous allons noter qu' ici, nous allons détecter si elles sont égales. S'ils sont égaux et que c'est vrai. Nous allons imprimer, hé, nous avons trouvé le guerrier et ensuite nous allons interrompre notre exécution ici, ce qui signifie que parce que Warrior est notre index médian ici, nous ne devrions même jamais y arriver trop profond parce que c'est notre dernière entrée dans le tableau. Nous le détruirons dès que nous trouverons un guerrier. Allons-y et testons ça ici. Compilez, enregistrez et jouez rapidement. Appuyez sur la touche B. On y va. Ça dit « grand guerrier », guerrier trouvé », on n'arrive même pas à un voleur. Maintenant, vous pouvez envisager certaines utilisations possibles pour chaque nœud de boucle, peut-être pouvez-vous utiliser l'un de ces nœuds pour détruire un éventail d'ennemis, ou peut-être apparaître dans une gamme d'objets, comme du butin lâchez des objets en détruisant ces ennemis. Peut-être utilisez-vous un nœud pour chaque boucle pour vérifier le paramètre de tous les objets d'un tableau, puis faire quelque chose à ceux qui ont un paramètre donné. À titre d'exemple, pour tout ennemi ayant moins de 50 % de santé, Yulen tombe. Juste quelques exemples pour vous faire réfléchir, d'accord les gars, ça suffira pour proposer celui-ci. Rendez-vous dans la prochaine. 85. Loop While: Bienvenue. Le nœud while loop est au centre de cette vidéo et nous allons présenter un cas d'utilisation ici dans un instant. Tout d'abord, comment fonctionne-t-il ? Eh bien, vous allez brancher un fil d'exécution sur le côté entrée du nœud. Et il s' exécutera à plusieurs reprises hors du corps de la boucle du côté de la sortie. Tant que la condition booléenne est vraie. Notez maintenant que vous devez faire attention à ce nœud, car il est très facile de se retrouver coincé dans une boucle infinie si vous ne faites pas attention. En règle générale, ne saisissez pas de nœud de boucle while moins que la condition ne passe presque immédiatement à false. Par exemple, si vous attendez d' avoir votre personnage et superposez un volume de déclenchement pour passer à une condition sur False, vous êtes sûr d'être bloqué dans une boucle infinie. Vous devez disposer immédiatement d'un moyen de définir votre condition sur « faux ». Très bien, maintenant, passons à un exemple de cas d' utilisation du nœud while loop. Maintenant, je vais juste faire quelques préréglages ici avant de passer à l'écriture de scripts. Ce que j'ai fait, ce sont des caractères de contenu, des maillages, des dossiers. J'ai simplement glisser-déposer le maillage squelettique Imani dans mon niveau. fait, n'importe quel type de maillage squelettique avec une collision, un maillage statique, nous créerons une forme de base tant qu' il y a une collision fera l'affaire. Nous allons faire quelque chose sur les événements à succès. Ce que nous essayons essentiellement de mettre en place ici, c'est un scénario dans lequel Manny va devenir un voleur et voler des objets d'inventaire excédentaires à des objets d'inventaire excédentaires notre ThirdPersonCharacter. C'est sournois en fait. Maintenant, vous devez ouvrir votre ThirdPersonCharacter Blueprint car à l'intérieur, double-cliquez dessus. Nous allons ajouter quelques variables. Donc, dans le panneau Mon plan, nous allons cliquer sur Ajouter une variable. Ce premier sera appelé Inventory Max Items. Ensuite, je peux cliquer dessus avec le bouton droit, le dupliquer. Le contrôle D permet également de le dupliquer. Celui-ci s' appellera inventaire. Éléments actuels que je dois compiler pour ajouter des valeurs par défaut. Je dois donc dire qu' actuellement, notre personnage possède 75 objets d'inventaire, des armes, des boucliers, des potions de santé, tout ce genre de choses. Et ils ne sont vraiment autorisés à mettre en banque que 50, c'est le maximum qu'ils sont censés avoir. Donc, en dessous de ce scénario hypothétique, je dis que notre personnage transporte plus d'objets qu'il n'est autorisé à en avoir. Mais nous leur permettons transporter ces objets excédentaires jusqu'à ce qu'ils les mettent en banque. S'ils se font attraper, cependant, errant dans le monde ouvert et qu'un voleur arrive, ils peuvent voler les objets excédentaires qui sont peut-être des personnages. Encore une fois, nous constatons que le maximum autorisé pour coter une banque entre guillemets est de 50. Actuellement, ils sont gourmands et en transportent 75. Ainsi, un acier épaissit jusqu'à 25 d'entre eux. D'accord, avec ça, je vais compiler ceci. Nous allons revenir à notre niveau. Assurez-vous d'avoir sélectionné votre acteur de Manny Skeletal Mesh. Et une fois que vous avez sélectionné , accédez à votre Level Blueprint, ouvrez Level Blueprint. J'ai fait quelques préréglages ici à l'avance. Mais voici comment vous pouvez jouer le jeu. Tout d'abord, je fais un acteur. Quatre tubes sont nombreux. Du squelette, du maillage squelettique Si vous cliquez avec le bouton droit sur des événements, des collisions, si vous ajoutez une hanche d'acteur, c'est comme ça que vous pouvez ajouter ce nœud. Ensuite, vous pouvez faire glisser et effectuer un Cast to ThirdPersonCharacter pour trouver ce nœud. Maintenant, si c'est notre ThirdPersonCharacter qui frappe notre voleur, leur Manny, le voleur. Nous allons nous pencher sur cette question et le faire une fois. Ce que nous allons faire une fois c'est itérer cette boucle while. Donc, même si cela indique de le faire une fois, nous allons rester dans cette boucle jusqu'à ce que la condition devienne fausse. Maintenant, nous devons intégrer une condition. Eh bien, notre état va évaluer nos articles en stock. Sortez donc de votre personnage à la troisième personne, saisissez l'inventaire, nous allons récupérer les objets de notre inventaire actuel. Et n'oubliez pas que nous en avons 75 dans notre inventaire actuel. Je vais donc cliquer sur ces trois points ici et les mettre dans 75 points, juste pour nous rappeler. Ensuite, je vais traîner, si vous tapez à nouveau votre inventaire, nous obtiendrons le maximum d'objets autorisés à avoir. Et je vais cliquer sur ces trois points et les mettre dans 50. Et nous allons comparer les deux. Donc, en faisant glisser mes éléments actuels, je vais faire entrer un nœud supérieur à. Donc, si nos éléments actuels sont supérieurs à r, le nombre maximum d'éléments est long, est-ce que c'est vrai, nous continuerons à sortir de notre corps de boucle ici. Maintenant, chaque fois que nous sortons de notre corps en boucle, je souhaite réduire le nombre d' articles dans notre inventaire actuel. Je vais donc sortir d' ici et taper des décréments. Maintenant, ce nœud reçoit une entrée et il sera automatiquement décrémenté à partir d'ici. Donc ça va être décrémenté à 75. Cela le ramènera au montant actuel. Donc 75 moins 174, il définira automatiquement cette valeur comme nouvelle valeur. Ensuite, il tournera à nouveau en boucle, 73, et cetera, et cetera, et cetera. Tant que cela est évalué comme vrai, dès que cela est considéré comme faux, arrêtera ce processus. Je vais donc l'insérer dans notre chaîne d'impression ici afin que nous puissions voir ces numéros imprimés à l'écran de cette manière. Enfin, à partir du stylo d'exécution terminé, je vais apporter une autre chaîne d'impression. Et je vais simplement imprimer l'excédent en vain d'objets conservateurs volés, volés par ce voleur. C'est donc notre script si vous voulez jouer le jeu à la maison. Maintenant, c'est un exemple d'utilisation de la boucle while parce que je sais, je sais que cela va être évalué à faux. Je sais que les articles de mon inventaire actuel finiront par atteindre ces limites. Nous allons donc compiler ceci. Sauvez. Je vais le mettre ici. En cliquant sur Play, je place mon objet de débogage sur mes cartes afin que je puisse voir ce script démarrer. Ici. Allons-y, voici mon voleur. J'ai mes 75 objets que je suis en train de parcourir dans le niveau de surveillance ici. Immédiatement, le 7473 est terminé et il a dit que les articles excédentaires avaient été retirés, et il ne l'a fait qu'une seule fois. Vous pouvez voir si j'essaie à nouveau, il se coince à cause de la neige. Voilà donc un exemple. Cas d'utilisation de la boucle while. Maintenant, en ce qui concerne les différences entre la boucle while et les boucles for en général, vous devez utiliser une boucle for lorsque vous savez combien de fois la boucle doit s'exécuter. Si vous souhaitez que la boucle se brise dans une condition autre que le nombre de fois qu'elle doit s'exécuter. Peut-être alors envisagez d'utiliser une boucle while. Très bien les gars, ça va suffire d'offrir celui-ci. Rendez-vous dans la prochaine. 86. Commutateurs: Bienvenue. Nous allons couvrir un nœud de commutation dans cette vidéo. Et dès le départ, vous remarquerez peut-être que les nœuds de commutation sont disponibles dans une variété de saveurs. Et ils n'ont pas de bannière grise en haut comme le reste de nos nœuds de contrôle de flux. Je les considère comme faisant partie de la catégorie du contrôle de flux parce que la catégorie du contrôle de flux parce que nous allons essentiellement contrôler le flux de notre script. C'est à partir de cette broche d'exécution que nous sortons, en fonction des données entrées dans le nœud du commutateur. Les nœuds de commutation sont désormais disponibles en plusieurs variétés. En fait, tout un tas de variétés, nous allons aborder les principales variétés ici. C'est un interrupteur sur int, interrupteur sur une chaîne, un interrupteur sur un nom. Et nous allons également activer l'énumérateur. Vous ne voyez pas d' énumération activée ici car le nom d'une énumération activée varie en fonction de l'énumération que vous avez créée. C'est ce que j'ai créé plus tôt dans le cours, et cette énumération se compose des trois étiquettes, super bien, et elle mal. Donc, si je devais faire glisser un fil et taper interrupteur, je pourrais y faire entrer un interrupteur spécifique à cette énumération. Vous pouvez voir mes sorties, elles sont super, d' accord, et elles font très mal. Maintenant, si vous deviez cliquer avec le bouton droit sur n'importe quel graphe d'événements et taper simplement le mot switch. Vous pouvez trouver une multitude de nœuds de commutation, dont la plupart ne seront jamais utilisés. Mais il est bon de souligner qu'ils existent. Une fois de plus, nous aborderons les principales versions et celle-ci, et vous remarquerez que son commentaire à propos de tous ces nœuds de commutation est qu'ils ont une seule broche d'entrée d' exécution, mais ils ont différentes entrées de données qui leur sont destinées en fonction du type de nœud de commutation. De plus, ce qui est commun entre eux c'est que vous pouvez sortir de différentes sorties en fonction des données saisies. Voici donc à quoi ressemble un commutateur sur int qui est l' abréviation de Switch on sur int qui est l' abréviation de Switch on integer node lorsque vous recherchez pour la première fois et que vous l' ajoutez à votre graphe. Cependant, sur le côté droit, vous voyez à quoi pourrait ressembler ce nœud si j'y ajoutais des épingles. Donc, pour tout cela, vous pouvez cliquer sur ce bouton Plus et y ajouter d'autres épingles. Par défaut, ils commencent par une broche de sortie par défaut. Vous pouvez le personnaliser en sélectionnant n'importe lequel de ces nœuds dans le panneau Détails, vous pouvez choisir s'il possède ou non une épingle par défaut. Et vous pouvez aussi, dans le cas d'un interrupteur, noter que si vous y ajoutez des épingles, comme je le fais ici, vous pouvez choisir votre index de départ. Donc indique actuellement de commencer à l'index 0. Je pourrais dire choisissez de commencer à l'index dix, puis je vais faire le premier chiffre ici dix, et ensuite il numérotera en conséquence. Je vais le remettre à sa valeur par défaut. Allumez la chaîne. Très similaire. Je peux ajouter d'autres épingles comme celle-ci. Et avec cette option sélectionnée dans le panneau Détails, je peux choisir si elle possède ou non une épingle par défaut. Je peux choisir les noms des épingles, etc. Je peux le choisir. Ils font la distinction majuscules/minuscules ou non. Il existe donc différentes options en fonction du type de nœud de commutation. Maintenant, la broche de sortie par défaut, quand en sortez-vous ? Vous en sortirez si les données saisies ne correspondent à aucune des différentes broches de sortie que vous souhaitez. Cela se voit facilement sur le commutateur de l'entre-nœud. Donc, pour l'instant, j'ai une sélection de zéros. Si je devais entrer dans ce sens, je déclencherais par la broche de sortie 0. Si toutefois, mon numéro ici était sauvegardé à 50. Et nous devions exécuter un script ici. Il ne correspond à aucune de ces sorties, donc nous lancerions la sortie par défaut. OK, j'ai quelques exemples que j'aimerais montrer ici. Je vais donc commencer par mon plan de personnage à la troisième personne. Maintenant, ce que j'ai fait à l'avance ici, je l'ai fait dans une vidéo précédente. J'ai créé une énumération intitulée État de santé E. Cette énumération, cette énumération se compose de trois étiquettes, super bien, et fait très mal. Je vais simplement faire glisser cette section vers cette partie du graphique où j'ai des nœuds qui m'attendent. Et ce que je vais simplement faire, c'est appuyant sur une touche de saisie, je vais modifier la vitesse de marche maximale de mes personnages. Maintenant, vous pouvez modifier ces paramètres ici, ce paramètre de vitesse de marche maximale, si vous sélectionnez la composante de mouvement de votre personnage, vous pouvez voir dans le panneau Détails que vous avez un paramètre appelé max vitesse de marche qui contrôle la vitesse à laquelle votre personnage se déplace. vous suffit donc de glisser-déposer. Ajoutez ceci à votre graphique, sortez d' ici et tapez la vitesse de marche maximale définie, et vous trouverez ce nœud. Donc, ce que nous allons chercher à faire ici est basé sur la valeur de notre énumération ici, super, ok, ou mal elle, vous voyez, ce sont les trois sorties qui correspondent aux trois étiquettes que ce L'énumération se compose de. Si c'est super, nous allons augmenter notre vitesse de marche maximale. Si c'est bon. Nous allons le configurer pour qu'il en soit ainsi. 500. Si nous sommes gravement blessés, nous allons le fixer à 100. Je vais donc cliquer avec le bouton droit de la souris et j' introduirai une touche de saisie. Essayons la clé du sida. Je ne pense pas utiliser la clé d'aide pour quoi que ce soit pour l'instant. Donc, en ce moment, notre état de santé est super. Donc, une fois que j'appuie sur la touche A, nous devrions augmenter notre vitesse de marche maximale à 2 000 ans. Donc, en cliquant sur Play, je configure mon débogage. Objet à mon ThirdPersonCharacter. On y va. Alors je me promène ou je me demande si je vais appuyer sur cette douleur. Et maintenant, tout à coup, je peux aller beaucoup plus vite. vanté d'avoir changé mon état de santé ici pour simplement être gravement blessée. J'ai changé cela maintenant. Donc, une fois que j'aurai appuyé sur la touche A, nous évaluerons cette valeur entendue Valley. Nous sortirons d'ici et cela changera notre maximum de B2, 100. Cliquez sur Play. Nous y en appuyant sur les touches de mouvement en ce moment, WAS et D. voilà, en appuyant sur les touches de mouvement en ce moment, WAS et D. C'est parti. Huit clés. Maintenant, je suis gravement blessé et je suis olympien dès le début. Il y a donc un exemple d'activation de l'enum. Pour le prochain exemple, je vais tuer cet ennemi. Regardez ce type effrayant en cliquant simplement dessus. Quand je le ferai, j' utiliserai un nœud switch on inch pour générer une boucle afin de créer un système de butin aléatoire. Donc, si vous voulez jouer le jeu à la maison, j'ai simplement ajouté un maillage. Ce S k, m chez Manny depuis mon dossier de maillages de mannequins de personnages, un glisser-déposer dans mon graphique. Et une fois que cela a été sélectionné, je suis entré dans mon Level Blueprint ici. Et j'ai quelques nœuds configurés à l'avance ici. J'ai ajouté un événement onclick pour ce S KM, encore une fois, vous devez le sélectionner et votre niveau et vous pouvez en ajouter un en cliquant avec le bouton droit de la souris. Et des événements dans des événements d'entrée, une saisie de souris. Et c'est là que j'ai fait un événement OnClick. Alors, qu'est-ce que je veux faire lorsque je clique sur Manny ici ? Eh bien, je vais m' éloigner d'ici et activer un switch sur le nœud. Et je vais ajouter quelques broches de sortie ici. Je vais y aller en 1234. Et je vais choisir une valeur entière dans une plage aléatoire. Je vais donc faire glisser le texte vers l' arrière et taper au hasard. plage d'entiers aléatoires est ce que je vais rechercher. Donc je vais dire donnez-moi un chiffre entre 03. Il en choisira donc 012 ou trois. Ensuite, je vais lancer les épingles correspondantes en fonction du numéro sélectionné. Maintenant, ce que je veux faire, c'est que si nous obtenons un 0 ou un, je vais simplement émettre un son vers le nœud. Ça va dire « échouer ». Donc 50 % du temps, nous allons juste émettre un son et vous n'obtiendrez rien. Donc, disons 50 % du temps pour avoir tué un homme. Il est là, vous n'obtiendrez rien d'autre que les 50 % restants du temps, nous allons faire apparaître quelque chose dans notre niveau ici. Je vais faire appel à un acteur de spawn depuis le nœud de classe. Vous pouvez cliquer avec le bouton droit de la souris et rechercher un acteur de spawn dans la classe. Nous allons dire que si nous obtenons deux ou trois, nous allons apparaître. Je vais faire apparaître un homme BP, une potion que nous avons créée plus tôt dans le cours. Et je dois lui donner une transformation d'apparition parce que si je compile maintenant , elle va me crier dessus et me dire : «  Hé, tu dois générer une transformation pour ça. Donc, je vais dire, où devrions-nous le faire apparaître ? Permettez-moi de me débarrasser de ces deux nœuds ici. Eh bien, j'ai déjà sélectionné Manny, donc je vais cliquer avec le bouton droit de la souris et laisser un espace vide. En fait, je ne vais pas cliquer avec le bouton droit. Je pourrais cliquer avec le bouton droit et obtenir une référence à Manny comme ça. Ou vous pouvez maintenir le bouton gauche de la souris enfoncé et obtenir une référence à Manny comme ça. Sortons de Manny et saisissons get trans form. Nous recherchons le monde qui se transforme. Nous obtenons une transformation d'acteur, c'est très bien. Nous allons le brancher sur. C'est la fin. Faisons jouer une sorte de son après ça. Nous allons donc sortir de ce son 2D, et nous allons jouer des téléportations. Engagé. Bien sûr, ça a l'air bien. Compilons notre script ici. Ainsi, lorsque nous cliquons sur Manny, nous allons choisir un nombre aléatoire entre 03, selon le nombre que nous obtenons. Soit nous échouerons 50 % du temps soit 50 % du temps, nous engendrerons une manifestation. C'est donc une façon de créer un système de butin aléatoire pondéré. Si je voulais attendre ces soixante-quinze pour cent du temps pour enjamber un homme, une potion. Vous pouvez voir comment je pourrais utiliser une telle configuration. Mais je vais aller à 5050 à la place. Compilez, enregistrez. Débarrasse-toi de ce type ici. Et nous traiterons de ces chaînes dans les changements de nom dans un instant. Salut, ça, en déplaçant ça dans le coin, je vais définir ma carte comme objet de test de débogage. Et voilà, je vais cliquer dessus. Vous allez voir ce script démarrer. Bam, il y a un homme, une potion à ses pieds, et je n'en ai pas détruit beaucoup. J'aurais probablement dû faire ça aussi. Parce que nous pouvons maintenant continuer à cliquer dessus. Tout est en train de le faire apparaître exactement au même endroit. Et en fait c'est ce que je devrais faire. Tuons-en beaucoup. Si nous créons cette potion d'Amanda traînée avec de l'argent, nous dirons Destroy Actor. Dans les événements sur lesquels nous cliquons. Les deux peuvent s'y écouler comme ça. Alors maintenant, quand je clique dessus, boum, mort, nous avons un homme, une potion que nous pouvons également récupérer. Très bien, le prochain exemple que je vais montrer ici se fera dans mon Level Blueprint. Et pour me préparer un peu à l'avance, j'ai ajouté un Manny à mon niveau. Et juste pour vous montrer ce que j'ai fait d'autre ici, c'est qu'avec Manny sélectionné dans mon Level Blueprint, j'ai tout de suite eu une référence à Manny ici. Vous pouvez donc l'obtenir en maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche. Ensuite, je l' ai dessiné ici. La localisation de l'acteur en la saisissant. Je vais vous expliquer tout cela dans un petit moment, mais laissez-moi revenir en arrière. Tout d'abord, nous appuyons sur la touche 5. Donc, si vous cliquez avec le bouton droit de la souris et tapez le clavier, c'est ainsi que vous pouvez obtenir les cinq touches. Eh bien, nous allons alors entrer dans un switch sur un nœud de chaîne. Voici à quoi ressemble le nœud pour la première fois lorsque vous l'introduisez. Cependant, vous pouvez ajouter des épingles en cliquant sur ce bouton plus. Lorsque vous le faites, vous pouvez renommer ces broches de sortie en remplaçant ces noms. Et vous pouvez voir que je l'ai fait en les nommant Bob, Pablo et autres. Très bien, donc je vais supprimer celui-ci au profit de celui que j'ai configuré à l'avance. Maintenant, nous y introduisons une variable de chaîne, j'ai créé une variable ici, namestring, et elle est du type chaîne. Et j'ai défini la valeur par défaut pour Pablo. Comme vous le remarquerez, c'est le nom de ma broche d'exécution de sortie centrale ici. J'ai laissé un port de notes juste ici. Ensuite, ce que je fais aussi, ce n'est pas seulement de brancher cette variable de chaîne ici, mais aussi de redéfinir exactement la même variable de chaîne sur Whoo dès que je relâche les cinq touches. Donc j'appuie dessus, en évaluant contenu de cette variable de chaîne, ce sera Pablo. Nous allons donc continuer à sortir d'ici. Ensuite, nous allons téléporter notre personnage de joueur, c' est-à-dire nous, à la place de Manny. Maintenant, nous ne pouvons pas nous rendre exactement à l'endroit où se trouve Manny. Je drogue simplement d'ici, introduit un nœud de soustraction et je soustrait simplement par 200 à l'emplacement x juste pour me compenser un peu. Et je le branche comme lieu de destination. Alors notez que j'appuie sur la touche 5. Cette variable de chaîne se lira le plus possible sortira donc de la sortie de Pablo. Nous allons nous téléporter près de Manny. Dès que je relâcherai la touche cinq, le contenu de cette variable changera en woo, de sorte que la prochaine fois que j'appuierai sur la touche cinq, nous ne ferons rien parce que rien ne vient hors de la sortie Wu. Épinglette. Compiler et enregistrer Allons-y et jouons ici pour tester ça. Très bien, alors vérifiez ici. Je vais appuyer sur les cinq touches et je serai téléporté à peu près. Et juste pour vraiment le prouver, laisse-moi m'envoler loin, loin de Manny. Ok, on y va. Cinq clés. Nous nous sommes téléportés. Je vais maintenant relâcher la touche cinq, réglant le contenu sur Wu maintenant pour cette variable de chaîne. Donc, la prochaine fois que j' appuie sur la touche cinq, nous pouvons même voir qu' elle produit Whoo. Vous pouvez voir qu'en passant la souris sur ce fil, cela montre Wu. Et rien ne se passe parce que rien ne se passe sur la broche de sortie Wu. Voilà pour activer la chaîne. Enfin et surtout, un autre exemple du nœud de commutation. nom de celui-ci va être activé. Je vais également le faire dans mon niveau. Blueprint a un petit travail de préparation. J'ai quelques variables de nom dans la section des variables. J'ai créé ces méthodes plus tôt dans le cours. L'un d'eux est appelé niveau 11 d'entre eux est appelé niveau deux. Et quand je leur ai donné une valeur par défaut, j'ai nommé une carte de départ en minuscules et l'autre niveau pour entendre la valeur minimale par défaut en majuscules Elles correspondent en fait au nom de certaines ressources de niveau. Si je reviens à mon navigateur de contenu , ici, dans le dossier des cartes de contenu de base, il existe une carte par défaut minimale et une carte de démarrage. Je vais donc utiliser ces variables pour déterminer le niveau vers lequel nous allons transporter et vers lequel nous allons aller en fonction de la sélection que nous connectons à ce commutateur sur NameNode. Et je vais m' un peu différemment. Tout d'abord, je vais cliquer avec le bouton gauche de la souris et faire glisser chacun d' entre eux dans mon graphique. Comme ça. Ensuite, ce que je vais faire juste pour montrer quelque chose de différent que nous pouvons faire ici, c'est créer un tableau. Un tableau est une liste de choses similaires. Ce sont toutes deux des variables nommées, nous pouvons donc en créer une liste. Je vais ajouter une broche pour pouvoir me brancher au niveau deux ici. Ensuite, je vais m'y attarder un peu et je vais m'en sortir. Nous avons maintenant un tableau composé de deux éléments. Je vais m'en sortir et taper un élément de tableau aléatoire et aléatoire. Et je vais le brancher comme des sels. Ce nœud va donc sélectionner un élément de tableau aléatoire. Nous n'avons que deux sélections possibles ici. Il en choisira un au hasard, et il me permettra de cliquer sur Plus et Plus sur le flux de chacun d'entre eux en fonction de l'élément qu'il choisit. Je vais donc changer mon cas 0 ici pour qu'il corresponde au niveau 1 ici. Donc Starter Mountain va juste appuyer Control C, activer le nom. Je vais remplacer ce contrôle V. Ensuite, pour le niveau, je passerai au niveau Control C et j'activerai le nom Control V. D'accord, donc si c'est la carte de départ qui est choisie, nous allons passer au niveau nommé cartes de départ. En fait, je vais glisser-déposer ce niveau sur cette fonction ouverte de niveau par nom. Et si cela choisit parmi notre tableau, le niveau minimum par défaut ici, je vais le glisser-déposer ici et procéder comme ça. Très bien, alors allons-y et compilons ça. Sauvegardez-le. Et nous allons y jouer ici. Donc, dès que j' appuierai sur la touche 5, nous allons geler parce que nous allons transporter les niveaux ici. Nous avons donc fait passer à un autre niveau en jouant une fois de plus, voir si nous pouvions faire apparaître l' autre ici en appuyant sur la touche 5, il y a notre niveau minimum par défaut, et là Vous l' avez, allumez les noms. Ces commutateurs sur les nœuds sont donc très utiles. Personnellement, j'aime utiliser l'interrupteur sur les nœuds pour créer de manière chronique un système de butin aléatoire. Vous pouvez attendre ces pourcentages de butin, mais de nombreuses applications utiles que les gars feront pour proposer cette vidéo. Rendez-vous dans la prochaine. 87. Sélectionnez: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir des connaissances et de démontrer l'utilisation du nœud select. Désormais, la note de sélection n'est pas officiellement considérée comme un nœud de contrôle de flux car elle n'affecte pas le flux d'exécution. En fait, il n'y a aucune épingle d'exécution sur cette note. Toutefois, la note de sélection facilite le flux de données dans votre script. J'ai donc pensé qu'il valait mieux inclure cette leçon ici. Alors, à quoi sert exactement le nœud Select ? Eh bien, sélectionnez des notes, prenez n'importe quel index et en fonction de cet index, il renverra l'une des options saisies. Maintenant, c'est utile car vous voulez parfois que la valeur de retour ici soit différente en fonction de la valeur saisie. Maintenant, juste un exemple très rapide. Si je change notre type d'index ici pour qu'il soit booléen, nous voyons que nos pins d'entrée changent en vrai et en faux. Maintenant, selon que cela est vrai, nous pourrions avoir la vraie valeur ici, sortie. Ou si c'est faux, tout ce qui est entré dans le faux pourrait être produit. Vous pouvez donc voir qu'en fonction de la valeur de cette option, nous allons choisir l'une de ces options pour revenir, d'accord, pour intégrer l'un de ces nœuds de sélection dans votre graphique, il suffit de cliquer avec le bouton droit de la souris et en effectuant une recherche sur select. Ou bien, vous pouvez également ajouter une note de sélection en un de ces types d' index, booléen, octet, entier, entier 64 ou toute autre énumération que vous pourriez faire glisser hors de cette variable tapez également la note de sélection. Maintenant, juste pour le démontrer, je vais choisir, j'ai une variable entière sur mon côté gauche ici. Je vais juste le glisser-déposer dans mon graphique. Je devais le récupérer , puis le faire glisser et taper select. Vous pouvez voir que je peux trouver un nœud sélectionné à partir de là. Et cet entier est immédiatement branché sur le nœud sélectionné. Très bien, explorons rapidement certaines options de nœud ici avant de vous montrer quelques exemples Je vais juste supprimer ce nœud rapidement. Vous pouvez cliquer avec le bouton droit sur un nœud, le nœud lui-même, et vous pouvez voir comment y ajouter des épingles. Cliquez avec le bouton droit sur Ajouter une épingle, ou vous pouvez supprimer l'épingle en cliquant avec le bouton droit sur le nœud, supprimer Supprimer l'épingle. Cliquez avec le bouton droit sur une option ou valeur renvoyée pour modifier les types d'épingles. heure actuelle, ils sont définis comme des caractères génériques, ce qui signifie qu'ils peuvent être modifiés de manière dynamique. Fais ce que j'ai branché dessus. Supposons que si vous insérez évidemment un vecteur dans l'option 1, cela changera toutes les autres broches ici, l'option dans la valeur de retour pour qu'elle soit du même type. Ou je pourrais définir un ici en cliquant avec le bouton droit sur l'option ou sur les pins de valeur de retour. Et ce faisant, je pourrais changer le type de broche pour qu'il s' agisse de l'une des différentes options. Cliquez avec le bouton droit sur Modifier le Et je pourrais changer cela pour, disons, des transformations. Je peux également modifier le type d'index ici en cliquant sur ce menu déroulant. Et je ne sais pas pourquoi ça se voit ici. Une fois que j'ai cliqué sur ce booléen, octet , entier, entier 64 ou l'une des différentes énumérations. Ou je peux simplement cliquer avec le bouton droit sur l'épingle elle-même et modifier le type d'épingle avec le petit menu déroulant. Mais vous avez déjà ce menu déroulant, donc je ne trouve pas cette option très utile. Et puis, bien sûr, vous pouvez voir sur la note elle-même que vous avez la possibilité d'ajouter des épingles simplement en cliquant sur ce bouton plus. C'est donc une autre façon d' ajouter d'autres épingles d'option. Très bien, heure des exemples, je vais présenter plusieurs exemples de nœuds sélectionnés ici dans mon Level Blueprint. Donc, si vous voulez jouer le jeu à la maison, en sélectionnant votre onglet de niveau ici, en ouvrant Level Blueprint, c'est ainsi que vous pouvez vous y retrouver ici. Et je vais commencer par cliquer avec le bouton droit et taper unions select. Maintenant, le premier exemple que je veux montrer est l'utilisation d'un index booléen. Je vais donc cliquer sur ce menu déroulant et sélectionner un index booléen. Maintenant, remarquez qu'au moment où je fais cela et que je sélectionne un booléen , mes options ici vont changer pour qu'elles soient fausses et vraies, car un booléen ne peut être que faux ou vrai. Je vais faire glisser la souris vers l'arrière depuis mon index ici et je vais taper un bool aléatoire. Ce nœud va donc simplement cracher aléatoirement la valeur false ou true, selon la valeur qu'il recrache. Disons, par exemple, qu'il crache du faux. Il choisira cette entrée, la fausse entrée ici, à renvoyer. S'il crache vrai, il choisira la vraie entrée à renvoyer. C'est ainsi que cela fonctionne. Très bien, introduisons immédiatement un nœud d'événement. Je vais taper avec le bouton droit de la souris sur les cinq touches du clavier. Et nous allons sortir de cela et saisir niveau ouvert par son nom. Cette fonction va maintenant ouvrir un niveau par son nom. Il recherche une variable de nom. Jetez un œil à cela. Sur le côté gauche. J'ai le niveau 1 et le niveau 2. Il s'agit de deux variables nommées. C'est le type que j'ai créé plus tôt dans le cours. Et après avoir compilé, j'ai défini les valeurs des noms ici pour qu'elles soient la carte de départ du niveau 1. Niveau deux, je définis le type de variable de nom ici comme étant minimal par défaut. Maintenant, ce n'est pas une erreur. Je les nomme ainsi parce qu' ici, dans mon navigateur de contenu, dans le dossier des cartes de contenu de démarrage, il y a deux niveaux, deux cartes que nous pouvons ouvrir, appelées valeurs minimales par défaut et étoile carte. Vous remarquerez que la structure de toutes les lettres ici, la valeur minimale par défaut et la carte de départ, est un peu différente de ce que vous voyez dans les noms de variables. Ici, tout est en majuscules, et voici tout en minuscules pour les variables de nom. Peu importe. D'accord ? Donc je vais brancher le niveau 1 sur la fausse entrée, niveau 2 sur la vraie entrée. Et en fait, avant de le mettre là-dedans, notez ceci, dès que j'ai branché un type variable de ces entrées ici, ou laissez-moi simplement couper ce fil. Je vais maintenir la touche Alt enfoncée et cliquer avec le bouton gauche. Ou si je branche quelque chose dans la valeur de retour dans cette direction, cela changera les deux côtés du nœud pour obtenir le type de variable correspondant. Il sait donc que notre valeur de retour souhaitée ici est du nom. Donc, il va dire, d'accord, vous recherchez un type de variable de nom, ce qui signifie que vous devez brancher certaines variables nommées. Donc niveau un, niveau deux ici. Donc, une fois que j'ai appuyé sur la touche cinq, elle s'ouvrira à un certain niveau fonction de la variable name, nous y connecterons quelle variable de nom finira par passer ici ? Eh bien, cela sera déterminé par cette note sélective. La note sélectionnée va prendre n'importe quel taureau au hasard. C'est cracher du faux. Il va choisir, sélectionner le niveau 1 ici, la carte de départ, et renvoyer ce niveau au niveau que nous avons ouvert. Si ce bool aléatoire crache vrai, il va choisir, sélectionner la vraie valeur ici, branchée par défaut minimum, et passer cette valeur comme niveau pour ouvrir la compilation, la sauvegarde, la lecture. J'ai déjà configuré ma carte de test pour que nous puissions voir ce groupe tirer. Donc, quand j'appuie sur la touche 5, c'est parti. Cela m'a permis d'atteindre mon niveau minimal par défaut. Dans ce cas, il affiche l'option true car au hasard, bool doit avoir craché vrai. Je sais que c'était le niveau minimal par défaut. Très bien, dans l'exemple suivant, je vais commencer par placer une boîte de déclenchement ici dans mon niveau. Et vous pouvez en trouver un en cliquant ici sous la section de base, Trigger box, puis en le glissant et en le déposant ici. Ainsi, dans votre niveau, vous pouvez définir l'étendue de votre boîte sur une épaisseur de ligne de 100 à 100 à 100. Et aussi, je recommande également le faire pour que vous puissiez également le voir dans votre niveau. Et vous pouvez le faire en accédant à la section de rendu et décochant l'acteur caché dans le jeu. Très bien, avec cela sélectionné ici dans notre plan de niveau, je vais cliquer avec le bouton droit de la souris et nous allons faire quelque chose lorsque nous les chevauchons, parce que nous faisons beaucoup de choses en termes de gains lorsque nous chevauchons un volume de déclenchement. Ce que nous allons faire, c'est sortir de notre autre acteur et nous allons passer à ThirdPersonCharacter. Ce sont les personnages que nous contrôlons. Et s'il est vrai que l' autre acteur qui chevauchait cette boîte de déclenchement était le personnage à la troisième personne. Nous allons créer quelque chose, faire naître un acteur de la classe. Et nous allons le brancher comme ça. Maintenant, ce que nous allons générer va être piloté par un index entier. Donc, ce que je vais faire, c'est faire glisser et déposer un entier dans mon graphique ici même dans une variable entière, comme ça, vous pouvez créer l'un d'entre eux en cliquant sur le bouton plus et en ajoutant un variable entière. Je vais le chercher. Ensuite, je vais sortir d'ici et je vais taper select. Parce que je le fais glisser hors de la variable entière. Il sait que je veux l' entrer comme index. Maintenant, je veux choisir quelque chose à apparaître dans mon niveau en fonction de l'entier que j'ai saisi. Je vais donc procéder comme suit pour m'assurer avoir les bonnes classes à choisir. Si je fais simplement glisser le curseur vers l'arrière depuis l'acteur de la classe, savais comme ça, et que je le branche dans la valeur de retour. Cela va automatiquement changer mes broches d'entrée pour qu'elles soient du même type. On y va. Très bien, alors laissez-moi ajouter une troisième épingle ici. Et maintenant, je peux sélectionner les différentes classes dans lesquelles nous voulons apparaître. Je vais juste en choisir quelques-unes au hasard. J'ai un homme, une potion que j'ai créée tout à l'heure. Nous pouvons créer un effet de plan de feu. Le feu n'a pas vraiment d'importance ce que vous y placez, et il produit aussi des étincelles. Ce sont des exemples courants que j'aime bien. Très bien, maintenant mon entier ici, s'il est égal à 0, si c'est l'entier que nous lui donnons, il choisira l'option 0 pour apparaître dans le jeu. Si je change cette valeur entière à un, il choisira cette option pour revenir et apparaître dans le jeu. Si un entier est égal à deux, il choisira ces étincelles à renvoyer et les fera apparaître dans le jeu. Maintenant, je dois nous donner une transformation d'apparition, parce que si je compile ici, elle va me crier dessus et me dire : « Hé, idiot, j'ai besoin de savoir où apparaître. Je vais donc revenir à mon niveau. Je vais apporter, introduisons un objectif de points. Je vais cliquer ici. Je vais faire apparaître le panneau des acteurs et taper des cibles. Points cibles. Placez-en un juste là. cette option étant sélectionnée dans mon plan de niveau, fois, cette option étant sélectionnée dans mon plan de niveau, je vais cliquer avec le bouton droit de la souris. Créez une référence à cela, vous en sortirez et tapez get trans form good actor transform. Et je sais que pour le moment, un entier est une valeur de 0. Je vais donc compiler ici. Nous devrions donc créer une potion d'une manière. Alors allons-y et jouons ici. Réduisez cela. Donc, dès que je chevauche ce volume de déclenchement, il devrait sélectionner le nombre entier 0 ici pour qu' une potion apparaisse dans le jeu à l'emplacement de ce point cible. On y va. Et c'est ce qu'il a fait. Maintenant, ce n'est pas très intéressant parce que nous savions que serait notre résultat parce que nous avons défini notre valeur entière ici à 0. Donc, ce que je pourrais faire est de le supprimer, glisser vers l'arrière hors de notre index et de taper un entier aléatoire dans la plage. Et je peux dire : « Hé, choisis quelque chose entre 02, compile, sauvegarde en jeu ». On y va. J'ai rencontré une potion. Si je continue à me chevaucher parce que je ne le fais pas une seule fois. Je finirai par les avoir tous. On y va. Vous pouvez donc voir comment il choisit une option différente ici en fonction du nombre aléatoire que nous lui donnons. Très bien, un dernier exemple pour celui-ci, je vais utiliser mon personnage à la troisième personne de BP. Donc, si cela ne vous dérange pas double-cliquer dessus pour l'ouvrir, je vais montrer comment utiliser un nœud de sélection avec un e num dans l'énumération. Nous avons maintenant créé cette énumération plus tôt dans le cours. Donc, si vous voulez savoir à quoi ressemble une énumération, je passe dans mon dossier de scripts Blueprints. Et ici, j'ai le statut eHealth de l' énumération et vous pouvez cliquer avec le bouton droit de la souris et un espace vide se trouve sous Blueprints pour créer un actif d'énumération. Dans cette énumération de l' état de santé, qui est une liste d' étiquettes, si vous voulez. Je vais très bien et je me suis gravement blessée. Ensuite, à l'intérieur de mon personnage à la troisième personne, j'ai créé une variable, et j'ai défini le type de variable pour qu'il pointe vers l'énumération que j'ai créée, l'état de santé en ligne. Je vais le glisser-déposer dans mon graphique. Nous allons y parvenir et je vais faire glisser la souris hors de cela et taper select. Nous pouvons donc voir immédiatement parce que notre énumération ici se compose de ces trois étiquettes qui font très mal, d' accord, en super, nous les voyons comme nos trois entrées ici. Maintenant, que voulons-nous faire selon que cet indice est gravement endommagé, d'accord ou super ? Eh bien, ce que je veux faire, c'est récupérer composant mobile de mon personnage, le glisser-déposer. Et je vais le faire, faisons autre chose ici. Vous m'avez déjà vu ajuster ma vitesse de marche maximale. Je vais régler la vélocité de mon saut. Désormais, la vitesse Z du saut est un paramètre intégré au composant de mouvement de votre personnage. Voilà, cela détermine la hauteur à laquelle votre personnage peut sauter. Je vais donc reculer. Les bureaux ont bondi. s'agit d'une variable flottante qu'elle recherche et insérez-la dans la valeur de retour. Maintenant, dès que je fais cela, toutes les entrées ici vont également devenir une valeur flottante. Maintenant, je pourrais insérer quelques variables pour déterminer ces valeurs ici. Je vais juste les mettre ici. Donc je vais dire que si je surpasse mes sauts, la vélocité sera de 2 000. Si c'est le cas, d'accord, je vais le régler à 700, qui est la valeur par défaut pour les sauts, la vélocité. Et si je suis gravement blessé, je dirais qu'on ne peut sauter que jusqu'à 100. Je vais avoir besoin d' une sorte de clé de saisie ici. Alors laissez-moi cliquer avec le bouton droit C'est un espace vide. Je vais introduire la touche cinq ici parce que je ne l'utilise plus dans mon Level Blueprint. Je l'ai supprimé de là. Ainsi, lorsque j'appuie sur la touche 5, nous allons définir les mouvements de notre personnage. Sautez une propriété de vélocité, cette propriété juste là. Ce sera réglé aux années 2000 si on lui dit que notre état de santé est super. S'il est réglé sur OK, nous allons bondir de 700 points. Et si nous sommes gravement blessés, cela risque de nous faire très mal. Nous allons sauter très peu. D'accord, donc pour l'instant, la valeur de tout cela est gravement diminuée, donc je devrais à peine sauter la barre. Alors compilez, enregistrez, jouez. Permettez-moi de définir mon objet de débogage sur ThirdPersonCharacter ici afin que nous puissions voir le script démarrer. Donc en ce moment je suis gravement blessé. Ainsi, lorsque j'appuie sur la barre d'espace, je ne saute pas trop loin. Mais en fait, ce sont mes sauts habituels. Désolée, je dois d'abord appuyer sur la touche 5. Maintenant, quand je saute, je me relève à peine du sol. Permettez-moi de régler mon état de santé ici pour qu'il soit super compilé, sauvegardé , joué, et maintenant j' appuie sur la barre d'espace, c'est mon saut normal, en appuyant sur cinq. Je suis donc en train de régler ma vitesse de saut sur 2000 parce que le, le résultat est super. Alors maintenant, quand j'appuie sur la barre d'espace, je suis heureuse. Il existe donc un exemple d'utilisation du nœud select à l'aide d'une énumération. Très bien, alors quelles sont les autres utilisations possibles du nœud select ? Considérez-les, peut-être en fonction l'état de santé du joueur et vous pouvez ajouter différentes animations au joueur. Ils peuvent boiter, par exemple, peut-être qu'en fonction de leur humeur, enums, de la joie, de la tristesse, etc., vous pourriez modifier le morceau de musique qu'ils jouent. Voici un autre exemple. Peut-être qu'en fonction de l'énumération des armes équipées, vous pourriez exposer différentes armes leur étui sur le personnage. Enfin, peut-être en fonction d'un entier clé, vous pouvez afficher x maillages clés suspendus à la cloche du joueur. Donc, si vous aviez un entier qui disait trois, vous pourriez lui afficher trois touches accrochées à la ceinture du joueur. Si cet entier est indexé à un, vous pourriez avoir une touche accrochée à la ceinture du joueur, ce genre de choses. Très bien les gars, est-ce que Select Node est l'un des nœuds les plus utiles de tous les scripts ? Sachez quel amour cela fera d'offrir celui-ci. Rendez-vous dans la prochaine. 88. Casting: Très bien, bienvenue à tous. Eh bien, nous avons atteint une partie très importante du cours où nous allons parler des différentes manières communiquer entre les plans. Et nous allons parler casting spécifiquement dans celui-ci. Jusqu'à présent dans le cours, vous m'avez vu faire beaucoup de casting. Tout le concept du casting consiste essentiellement à vérifier interaction se produit : si un objet donné est du type que vous recherchez, ce soit le cas ou non, vous pouvez créer un peu de script tirer. Maintenant, vous m'avez vu faire beaucoup de casting jusqu'à présent dans le cours, y compris notre exemple de pick-up de bp que nous avons créé au tout début du cours. Et maintenant, juste pour passer à l'intérieur de ce plan, nous avons fait en sorte que lorsque vous commencez à superposer la sphère de collision pour cet exemple de pick-up BP, vous trouverez cette sphère de collision juste ici. Nous faisons ce truc appelé casting pour vérifier si c'est le ThirdPersonCharacter qui est l'autre acteur qui a fait le chevauchement. Donc, encore une fois, le casting nous permet de vérifier si un objet donné est du type que nous recherchons. Ce faisant. Dans ce cas, nous avons pu accéder à l'intérieur de notre ThirdPersonCharacter, récupérer la variable de santé qui s'y trouvait, y ajouter une certaine quantité, puis redéfinir cette variable de santé. Nous communiquons depuis notre exemple de capture d'exemple BP ici vers notre ThirdPersonCharacter, augmentant ainsi la santé de notre ThirdPersonCharacter. Vous pouvez donc constater que la communication entre les plans est un concept très critique à suivre. Très bien, vous m'avez déjà vu Cast to ThirdPersonCharacter ici un million de fois dans ce cours. Je vais donc faire quelque chose d'un peu différent pour notre exemple. Revenons à notre éditeur de niveaux ici. Et puis dans ma section Blueprints de script, je vais cliquer avec le bouton droit de la souris et laisser de l'espace vide. Et je vais choisir une classe de scène, et je choisirai la classe d'acteur. Et je vais appeler cela le trait de soulignement BP. Déplacez-vous à proximité. Et vous verrez pourquoi je l' ai nommé ainsi dans un instant. Je vais double-cliquer sur ce type pour l'ouvrir. Et je vais ajouter pour nos composants en haut à gauche ici, nous allons ajouter un simple cône sous les formes de base. Et nous allons également ajouter un autre composant. Et celui-ci va être appelé stagiaire pour déménager. Maintenant, c'est un composant vraiment cool qui nous permet déplacer notre plan ici entre les points que nous avons configurés. Maintenant, je vais juste le laisser à ce nom dans le mouvement Too et appuyer sur Entrée dessus. fois cette option sélectionnée, je vais me rendre dans le panneau Détails pour configurer certains points entre lesquels je vais déplacer ce cône. Maintenant, je peux le configurer dans notre section de contrôle ici. Et si je clique sur ce bouton plus une ou deux fois et que je développe ces flèches, je peux choisir certains points je peux choisir certains points de l'espace entre lesquels je souhaite déplacer ce cône. Je vais laisser le premier à 000 et le second. Ces positions sont relatives les unes aux autres. Je vais juste le mettre à 50 dans le z. Maintenant, en bas, un peu plus bas dans la section sur le comportement, nous pouvons choisir un type de comportement, s'il se déplace simplement d' un point a à un point B, c'est un seul coup. Que je fasse une réinitialisation en boucle, je vais choisir le ping-pong ici. Il va donc faire des allers-retours, allers-retours entre ces deux points. La durée de Mi ici est d'une seconde, donc il va falloir autant de temps pour se déplacer entre ces deux points. Ensuite, je vais compiler ceci. Nous allons enregistrer ceci et passer à mon ThirdPersonCharacter Blueprint. Maintenant, si vous avez oublié où cela se trouve, plans à la troisième personne, double-cliquez sur votre personnage à la troisième personne. Plus tôt dans le cours, nous avons ajouté cette main simulée, qui n'est essentiellement qu' une collision de sphères. Si vous avez ce cours génial, si vous n'avez pas suivi ce cours et que vous ne l'avez pas créé, vous pouvez le créer maintenant. Maintenant, je l'ai attaché aux composants de ma capsule. Donc, si vous ne l'avez pas, vous pouvez sélectionner votre composant Capsule, ajouter du type dans la sphère, et vous pouvez ajouter un composant de collision de sphères. Voilà ce que c'est. Maintenant, j'ai réglé mon rayon ici à 32. Je pense que je vais juste le présenter un peu plus à mon personnage, quelque chose comme ça. Et je vais augmenter un peu la taille ici pour en faire 50. Et j'ai appelé cette main simulée parce que je vais vérifier si quelque chose chevauche cette sphère dans l'espace. Bien, une fois tout cela fait, nous allons passer à notre graphique des événements. Et avec notre composant simulated hand here, nous allons cliquer avec le bouton droit sur nous. Nous allons ajouter un événement et faire quelque chose. Nous commençons à nous chevaucher si nous avons déjà quelque chose sur commencer à chevaucher parce que je ne le vois pas dans notre liste ici. Donc, la façon dont nous pouvons le trouver est d'utiliser une simulation sélectionnée à la main ici. Dans la section des événements, nous pouvons accéder à un composant qui commence à se chevaucher. Nous pouvons voir où cela se trouve. Et vous pouvez voir que c' est l'exemple que nous avons configuré dans notre vidéo de bibliothèque de fonctions. Je vais juste supprimer ces nœuds pour le moment afin que nous puissions utiliser notre main simulée. Encore une fois, je vais également supprimer cette zone de commentaires. Mets-le en position. On y va. Très bien, maintenant le scénario que j' ai en tête est que je vais sortir de mon autre épingle d' acteur juste ici. Et maintenant, je peux faire des moulages pour me rapprocher du plan que je viens de créer. Donc ce que nous voulons dire ici, c'est que si l'autre acteur qui chevauche notre main simulée ici, cette sphère entre en collision juste là. Si cet autre acteur était en train de se rapprocher d'un modèle que je suis sur le point de placer dans mon niveau ici. Permettez-moi de poursuivre et de revenir à mon dossier Blueprints. Déplace-toi quand tu seras proche, je vais juste le traîner ici. Bon, alors voilà, ce n'est pas mon niveau. Pour en revenir à mon ThirdPersonCharacter, si ce plan était des autres acteurs qui chevauchent ma main simulée, je peux faire quelque chose. Si ce n'était pas la chose qui chevauche ma main simulée, je pourrais faire autre chose, mais ce que je veux faire, c'est atteindre l'intérieur de ma tension artérielle, en la rapprochant. Cela nous donnera accès à divers composants et propriétés à l'intérieur de mon BP déplacés vers des fonctions proches, des variables, ce genre de choses. Je vais d'abord cliquer dessus avec le bouton droit de la souris. Je vais la promouvoir en variable parce que je vais utiliser cette variable juste un petit peu. Promouvons donc cela en variable. Nous pouvons le laisser à ce nom juste là. Ensuite, nous sortirons d'ici et accéderons à notre interp, deux composants de mouvements. Rappelez-vous que lorsque notre pression artérielle s'est rapprochée, nous avions ce composant appelé interpréter le mouvement. Maintenant, à l'intérieur de ce composant juste ici, dans le panneau Détails, je vais taper le mot active. Et vous pouvez voir que c'est une réunion activée automatiquement. Cela se déplacerait entre les deux points que nous avions définis. Maintenant, je vais le désactiver pour le moment afin qu'il ne se déplace pas entre les deux points que j'avais configurés. Il ne sera pas activé automatiquement. Compilons et enregistrons ceci une fois de plus, revenant à mon ThirdPersonCharacter, nous dirons qu'une fois que notre main simulée sera chevauchée par notre passage à un plan proche, nous allons enregistrez-le dans sa propre variable. Ensuite, nous allons y saisir la composante de mouvement interp2. Ensuite, nous allons faire glisser le curseur hors de celui-ci et taper le mot « active ». Vase, non actif, active. Et c'est là que nous disons à cette composante du mouvement d'interprétation qui se trouve à l'intérieur de ce plan directeur de devenir active, d'activer. Maintenant, la raison pour laquelle je l'ai enregistré dans sa propre variable est que je vais maintenant glisser-déposer cette référence ici même dans mon graphique. Et nous allons sortir de ce type au fur et à mesure du mouvement. Nous allons l'avoir une fois de plus. Et je vais glisser dessus et taper D active. Éteins ça. Je vais juste l' éteindre avec une clé. Laisse-moi taper. Essayons la touche 0. Ainsi, lorsque les composants de notre main simulés se chevauchaient, BP s'est rapprochée du plan dans son niveau. Nous l'enregistrons dans sa propre variable, une référence à ce type. Nous allons en saisir l'intérieur et parler à notre composant de mouvement interp2 juste là. Nous allons dire à ce mouvement d'interprétation de devenir actif afin qu'il se déplace entre ces deux points. Ensuite, de retour dans mon ThirdPersonCharacter Blueprint, lorsque j'appuie sur la touche fléchée, je désactive ces mouvements. D'accord, avec ça, compilons-le et enregistrons. Laisse-moi déplacer ça en haut à gauche. Je vais entrer et jouer. Définissez notre objet de débogage sur notre personnage à la troisième personne. Et vous pouvez y voir notre document simulé et il pivote avec mon personnage car il est attaché à la capsule de mon personnage. Et je vais essayer de l'obtenir d'un angle latéral que vous puissiez voir qu'il ne bouge pas du tout. Cependant, une fois que je superpose cela avec ma main simulée, elle se déplace en fait de haut en bas, de haut en bas. Maintenant, quand j'appuie sur le 0, laisse-moi m'en éloigner et appuyer sur la touche fléchée. Il s'arrête, il désactive ce composant. Maintenant, si je le superpose à nouveau, il ne l'active pas à nouveau pour une raison quelconque. Je n'en connais pas la raison. Je ne sais pas s'il s'agit d'un bogue moteur ou non. Mais vous pouvez voir qu'il essaie de activer ici dans mon script. Une fois que vous l'avez désactivé pour une raison quelconque, il le maintient actif. Mais le point est bien entendu ici qu'en lançant sur notre base déplacée trop près, nous nous assurions que c'était cet acteur qui simulait la main s'était chevauché. Ce faisant, nous avons pu suivre ce script à partir de ce plan d'exécution. Maintenant, si cela avait échoué, si ce n'était pas l'autre acteur qui chevauchait cette main simulée, encore une fois, nous aurions pu faire quelque chose que notre casting a échoué. Et voilà, le casting des gars vous permet essentiellement de vérifier certaines interactions en cours. Si un objet donné est du type que vous recherchez, c'est une excellente méthode pour stocker partie donnée de l'objet dans sa propre variable et pour pouvoir y accéder une fois que vous y avez accédé pour accéder à toutes les variables, fonctions appellent tous les événements personnalisés, genre de choses que vous souhaitez faire pour communiquer d' un plan à l'autre. Ça suffira pour cette vidéo, les gars, on se voit dans la prochaine. 89. Communication directe (partie 1): Bienvenue. communication des plans a été au centre de cette section du cours. Et dans la dernière vidéo, nous nous sommes concentrés sur le casting. Et c'est l'une des méthodes que vous pouvez utiliser pour qu'un plan communique avec un autre. Maintenant, le casting est une technique de communication pratique et merveilleuse dans technique de communication pratique et merveilleuse dans , si votre casting réussit, vous pouvez capturer une référence à ce que vous vous avez lancé, mesure où, si votre casting réussit, vous pouvez capturer une référence à ce que vous vous avez lancé, et cela permet vous pouvez accéder à l'intérieur de ce que vous avez créé et accéder à tous les composants, variables, fonctions, appeler à tous les événements clients, etc. Cependant, il présente un point faible. faiblesse est que vous devez connecter quelque chose à cette entrée d'objet afin d'obtenir une référence à l'objet auquel vous souhaitez obtenir une référence ou d'accéder à l'un des composants, variables, et cetera, auxquelles vous espérez accéder si vous ne branchez rien dans cette référence d' objet, laissez-moi commencer et tuer ça ici dans mon Level Blueprint et je compile, cela va me donner un avertissement disant, je ne peux pas le faire, vous devez avoir quelque chose branché sur cette référence d'objet. Y a-t-il donc un autre moyen de communiquer d'un plan à l'autre ? Oui, il y en a une. Il existe une méthode appelée communication directe. Dans cette vidéo, notre objectif est donc de montrer comment deux Blueprints peuvent communiquer eux grâce à une technique connue sous le nom de communication directe par plan. Maintenant, avec cette approche, vous configurez un plan cible qui est référencé en réponse au script que vous avez configuré dans un plan fonctionnel. Maintenant, nous allons vous montrer ce que je veux dire en mettant en place deux plans de classe d'acteur différents. Nous allons avoir un voyant et un bouton de plan. Et nous allons parler l' un à l'autre en utilisant cette méthode. Je viens parler de communication directe. Retournez à votre éditeur de niveaux ici et, dans votre dossier de scripts, créons deux nouveaux plans de classe d' acteur. Cliquez avec le bouton droit de la souris sur Blueprint Class I pour créer l'un des acteurs, qui s'appellera BP underscore lights. Et à l'intérieur, je vais double-cliquer dessus pour l'ouvrir. Et je vais ajouter quelques éléments. Nous allons ajouter un cône. Je vais taper un cône, un cône de forme basique. Ça, c'est très bien. Ensuite, je vais en ajouter un autre. Sous la section lumineuse. Je vais juste taper de la lumière. Je voudrais ajouter un projecteur. Et je vais devoir régler certains paramètres pour chacun d'entre eux, commençant par nos lumières Spotlight, nous allons régler notre intensité pour qu'elle soit assez, assez lumineuse. Ainsi, avec la lumière sélectionnée, le projecteur règle l'intensité sur environ 100 000. Vous pouvez définir une couleur de lumière différente ici, mais je vais la régler à 100 000 maintenant. Je vais aussi l' avoir face vers le bas. Donc ça a fait pivoter ça vers le bas comme ça. Ça va faire l'affaire. Et aussi dans la section de rendu où il est dit visible, je vais cocher ou décocher cette option pour qu'elle ne soit pas visible. Ok, donc tu as un cône et les projecteurs. C'est génial Très bien, retournez à votre navigateur de contenu. Nous allons à nouveau cliquer avec le bouton droit sur Blueprint Class actor. Cela ne s'appellera pas BP underscore. Bouton Double-cliquez sur ce type pour l'ouvrir. Et à l'intérieur, nous allons ajouter quelques composants. Ajoutez, nous allons ajouter un cylindre pour démarrer le cylindre de formes de base. La prochaine chose que nous allons ajouter sera une collision de boîtes. Je vais donc sélectionner ma racine de scène par défaut. Il n'est pas nécessaire de l'attacher à mon cylindre ici et ce n'est pas grave s'ils sont tous attachés à mes itinéraires vus par défaut. Je vais donc cliquer ici et taper dans la case. Nous allons opter pour Box Collision. Box est un beau nom. Ensuite, je vais sélectionner à nouveau mon itinéraire vu par défaut. Et je vais ajouter un composant de rendu de texte. OK, avec chacun d'eux, je vais définir leurs détails un par un. Commençons par le cylindre. Donc, en sélectionnant votre cylindre dans le panneau Détails, je vais régler ma rotation dans le x pour qu'elle soit U1. En appuyant sur la touche Entrée négative 90 dans le y et le z, je vais régler cela sur 180. J'ai découvert tous ces chiffres à l'avance. Ensuite, pour l'échelle, je vais la régler à 0,4,4 et 0,05, quelque chose de fin comme ça. Ce sera donc notre bouton avec lequel nous allons interagir entre guillemets afin de faire en sorte que notre lumière, dans notre plan d' éclairage, s'illumine pour l'allumer, allumer et l'éteindre. Ensuite, nous allons sélectionner notre composant de collision de boîtes ici. Je vais définir l'emplacement, l'emplacement x sur 100. Et nous allons définir l'étendue de la boîte à cent, cinq, cinquante par 100. Quelque chose qui s'étend un peu comme ça. D'accord, puis je vais sélectionner mon composant de rendu de textes. Vous pouvez le voir juste montrant quelques textes juste là. Sur cette base, je vais changer de lieu. Nous allons définir l' emplacement sur 20 dans le x et cent cent dix plutôt sur le z, juste au-dessus, juste là. Et je vais changer le texte pour le lire ici. Au lieu de textos, nous allons dire « Appuyez sur I » pour blesser le point d' exclamation de l'acte. Et il n'est pas centré au-dessus de mon bouton, là, ce cylindre. Donc, là où il est dit alignement horizontal, nous pouvons le modifier de gauche justifié au centre, juste pour que cela soit un peu plus beau. Et puis, dans la section de rendu, je vais actuellement le rendre invisible afin que nous ne puissions pas le voir au départ. Très bien, nous allons maintenant créer quelques variables ici dans le panneau Mon plan. Cliquez donc sur le bouton plus situé dans l'en-tête des variables ici. La première que nous allons créer s' appellera simplement lumière. Et pour le type, nous allons rechercher des lampes BP. C'est le plan que nous venons de créer. Alors, sélectionnez les types d'objets, lumière BP, choisissez une référence d' objet. Et ce que nous allons faire, c'est dans le panneau Détails, nous allons cocher cette case. Il indique que l'instance est modifiable. Remarquez que lorsque je fais cela, cela aura le même effet que cliquer sur cette petite icône de globe oculaire fermé. Donc, si je clique ici, l'icône du globe oculaire sera allumée. À l'inverse, si je clique ici et que je désactive cette option, cela le désactive. s'agit essentiellement de deux manières différentes Il s'agit essentiellement de deux manières différentes de le configurer pour qu'il soit modifiable par instance, peu importe que vous cliquiez ici ou que vous cliquiez sur ce globe oculaire. Les deux font essentiellement la même chose. C'est en train de l'activer. Maintenant, ça va être génial car cela va exposer cette variable particulière dans l'éditeur. Vous allez le voir dans un instant. Maintenant, je vais compiler ici parce qu'il me demande de le compiler, pour lui donner une valeur par défaut. Mais remarquez ceci, je suis en train de compiler. Je vais laisser ce champ vide pour le moment. Nous allons le renseigner à nouveau dans nos éditeurs de niveaux. Donc, laissez ce champ vide pour le moment. Très bien, nous allons créer une variable supplémentaire ici, en cliquant sur le bouton plus. Je vais appeler ça peut allumer des lumières, un point d'interrogation. Et ce serait, ce sera une variable booléenne. Si je compile ici, je vais laisser la valeur par défaut est false. Vous allez donc voir ce type en action ici dans un petit moment. Maintenant, comme je l'ai mentionné au début de cette vidéo, Direct Blueprint Communication développe un plan cible et un plan de travail. Le plan cible sera donc notre lampe BP. C'est celui que nous allons cibler. Notre bouton BP ici, va être notre plan de travail. Donc, dans notre plan de travail, nous allons faire référence, créer une référence à notre lampe BP afin de lui parler, afin de travailler avec elle. 90. Communication directe (partie 2): Très bien, il est temps de reconfigurer un peu notre éditeur de niveaux. Et cela peut être utile si vous avez une sorte de surface murale, mais que vous n'en avez pas vraiment besoin. Je vais donc les ranger tous les deux. Et notre amour, je vais commencer par faire glisser et déposer notre bouton BP . Et vous n'avez pas besoin d'être très précis avec ça. Cependant, je vais le faire tourner comme ça. Vous voulez que la majorité de vos volumes de déclenchement se situent dans cette direction. Au fait, je l'ai à nouveau placé le long du mur, je ne vais pas être très précis avec ce placement pour le moment. Ensuite, je vais placer notre lumière là-bas. Voici ma lampe BP dans toute sa splendeur. Ça va ressembler à ça. C'est suffisant. Maintenant, si je sélectionne mon bouton B P, vérifiez-le dans le panneau Détails. Si je fais défiler la page jusqu'en haut, j'ai ma lumière variable. Revoyons cela encore une fois, mon bouton BP, c'est ma variable de lumière qui fait référence au type de variable de lumière BP. Il est actuellement réglé sur zéro. Donc, ici, dans mon éditeur, je peux le configurer pour référencer directement ce plan. Je veux dire, hé, je veux cette variable B du type de lampes BP. Mais je dois préciser à quelle instance de cette lumière je veux parler , car je peux avoir plusieurs instances de ces lumières ici. Et en fait, permettez-moi de présenter plusieurs exemples de cette lumière ici. Je maintiens simplement la touche Alt enfoncée et je la fais glisser. Maintenant que mon bouton est sélectionné ici, je vais cliquer sur cette petite icône en forme de goutte dans le panneau Détails. Je pourrais cliquer sur ce menu déroulant pour choisir l'un de ces quatre. Cependant, je veux juste le montrer souvent. Si je choisis cette icône en forme de pipette, je peux passer à ma fenêtre d'affichage et sélectionner directement les lumières données. Maintenant, remarquez que si je le mets en évidence, ce n'est pas le type de variable donné, cela indiquera que vous ne pouvez pas le sélectionner. Cependant, la lumière BP est de ce type variable, elle nous permet donc de choisir celle-ci. Cela m'a donc permis de le mettre dedans. Revenons ensuite à notre bouton BP. À l'intérieur, nous allons tout de suite passer à l'Event Graph. On va faire des choses en superposant cette boîte. Revenez donc au graphique des événements. Je vais cliquer avec le bouton gauche de la souris, les faire glisser, les supprimer immédiatement. Avec ma boîte sélectionnée. Je peux soit cliquer dessus avec le bouton droit de la souris pour trouver des événements, soit avec F-box sélectionnée, je pourrais descendre jusqu' en bas du panneau Détails. Voici mes différents événements qui s'y rattachent. Je veux faire quelque chose lorsque je commence à superposer cela, ainsi que lorsque je commence à le chevaucher. Je vais donc cliquer ici pour ajouter une référence à cela tout de suite. En cliquant de nouveau sur le composant de ma boîte, je ferai quelque chose quand je finirai par le chevaucher également. Alors, que voulons-nous faire lorsque nous commencerons à superposer cette boîte, cette boîte ici même ? Eh bien, nous voulons tout d'abord vérifier si c'est le ThirdPersonCharacter qui a fait le chevauchement. Donc je vais faire traîner l' autre acteur qui annulera ici ThirdPersonCharacter. Et quand nous le ferons, nous ajouterons notre lampe à bascule Ken. Et si vous glissez et déposez ce pointeur directement sur cette épingle, vous obtiendrez immédiatement un setter. On y va. Astuce pratique, il suffit de le déposer sur l'épingle, je dirais Oui, nous pouvons allumer la lumière si notre ThirdPersonCharacter chevauche cette case où se trouve essentiellement à chevauche cette case où se trouve contre-courant de la plage d'urine. Ensuite, ce que nous allons faire, c'est intégrer notre composant de rendu de textes. Nous allons le glisser-déposer ici. Et nous allons parler de notre composant de rendu de texte. Nous allons sortir de cela et saisir la visibilité définie. Parce que souvenez-vous que c'est éteint pour l' instant. Nous allons cocher cette case et dire, oui, vous êtes maintenant visible. Maintenant, je vais faire à peu près la même chose ici. Je vais donc sélectionner Maintenir la touche Contrôle enfoncée, sélectionner Maintenir la commande enfoncée et sélectionner, je vais copier ces trois nœuds, le contrôle C, le contrôle V. Collez-les ici pour le moment où nous finirons par superposer cette case. Et je vais tout brancher comme ça. N'oublie pas ce type. Et n'oubliez pas de décocher cette case en bas, ainsi que de décocher cette case en bas. Parce que lorsque nous finissons par superposer cette case, nous ne voulons pas pouvoir activer la lumière et nous voulons également désactiver le rendu de nos textes. Nous ne voulons pas du tout voir ce message interactif. Très bien, je vais cliquer avec le bouton gauche, faire glisser, appuyer sur le CQI. Nous appellerons cela à portée de, allumez les lumières. Je vais le noircir comme mon âme. Très bien, c'est très bien. Ensuite, je vais ajouter un script d' interaction ici. N'oubliez pas que notre message allait dire : appuyez sur la touche I pour interagir. Nous allons donc cliquer avec le bouton droit ici et faire le clavier. Nous allons ajouter un événement de clavier car lorsque nous appuyons sur la touche I, il y a notre icky. La première chose que nous allons faire est d' introduire une branche, de maintenir introduire une branche, touche B enfoncée et de cliquer avec le bouton gauche de la souris pour introduire une branche. Ainsi, lorsque nous appuyons sur ce bouton, nous allons évaluer : « Pouvons-nous allumer les lumières ? N'oubliez pas que lorsque nous superposons ou ne chevauchons pas cette case, nous la définissons sur true ou false lorsque nous la chevauchons. Cela va être considéré comme vrai. Alors oui, vous pouvez nouer avec la lumière. Donc, pour sortir de l' endolori, nous allons ou non l'endolori, la vraie clé, la vraie épingle, je dirais que nous allons faire entrer un nœud de volte-face. nœud Flip-flop nous permet de changer a puis de B plutôt que de a à B à chaque fois que nous faisons cela. Et ce que nous allons faire volte-face, c'est demander à notre cylindre de le faire glisser et de le déposer dans notre graphique. Changez le matériau, matériau de montage bien dactylographié. Comme ça, en passant à Control C, Control V, ça aussi. Et ici, je vais le remplacer par un matériau de couleur verte. Alors laissez-moi simplement cliquer ici et je vais juste taper le mot vert. Notre matériel ici sera le essayons de rechercher un sommet vert. vert qui se trouve dans la trajectoire du moteur est d'ailleurs. Donc, si vous ne le voyez pas, vous pouvez cliquer sur cette icône d'engrenage vous assurer que l'affichage du contenu du moteur est activé. Donc on va y passer au vert. Ensuite, sur ce nœud, je vais cliquer sur ces trois points et noter pour moi que ce sera un matériau rouge. Le matériau ici sera vertex vertex rouge. Ça y est. Je dois aussi faire en sorte que ce soit la cible pour cela. Ensuite, je vais traîner et trouver ma lumière. Nous parlons de cette lumière ici, dans la section variable glisser-déposer . C'est ce que nous allons obtenir. Ensuite, nous allons sortir de ce type sous les projecteurs. Parce que n'oubliez pas qu'à côté de notre lampe, cette lampe BP existe en tant que projecteur. Et nous allons indiquer à ce projecteur qui sort d' ici pour activer la visibilité. Donc, s'il est éteint, il va l'activer. Et s'il est activé, nous allons le désactiver. Ce sera donc notre script juste là. Maintenant, nous allons changer essentiellement la couleur de notre cylindre ici, ce matériau du cylindre pour le rendre vert est allumé, rouge est éteint. Laissez-moi donc nous donner une coloration rouge pour commencer par le sommet Read Only. Très bien, compilons cette sauvegarde. Je vais revenir à mon graphique d'événements ici. Cliquez avec le bouton gauche et faites glisser, appuyez sur CQI et je dirais que vous devez l'activer. Ceci est une note pour moi pour la prochaine étape à suivre. Et pour nous de faire des entrées de réception automatique. Eh bien, deux, le joueur 0 en classe D a des fautes. Maintenant tu vas être comme ça, ça n'a aucun sens pour ce que nous venons de faire. Alors pourquoi mettez-vous cela comme en-tête de la zone de commentaires ici ? Et tu verras pourquoi. Parce que si je compile ça, je sauvegarde et que j'entre et que je joue, vous allez être du genre, eh bien, ça marchera dès que nous chevaucherons cette boîte de déclenchement, nous dirons, Oui, vous pouvez activer s'éclaircit ici lorsque vous appuyez sur la touche I. Cela sera alors évalué comme vrai et cela devrait me permettre changer le matériau du cylindre, puis d' allumer la lumière, mais cela ne fonctionnera pas à cause de cela ici. Permettez-moi de le démontrer rapidement. Si je me lance et que je joue, je peux même y placer mon objet de débogage. Vous pouvez donc voir que le script est passé en disant : «  Oui, je devrais être capable de parler avec lumière ». Alors maintenant, quand j'appuie sur la touche I, permettez-moi de le déplacer vers le haut. Appuyez sur la touche I et je vois que j'interagirais, n'est-ce pas ? Je vais m' asseoir, appuyer sur la touche I. Mais rien ne se déclenche. Même si j'appuie dessus. Qu'est-ce qui se passe ? Eh bien, ce message ici était un rappel pour moi et pour vous rappeler que nous devons activer quelque chose appelé réception automatique de l'entrée deux joueurs 0 dans les valeurs par défaut de notre classe ici. Maintenant, le bouton BP devrait être votre modèle ici, classe par défaut ici. Dans la section de saisie, vous devez modifier votre entrée de réception automatique ici pour qu'elle soit le joueur 0. Pourquoi ? Eh bien, notre classe de parents est un plan de classe d'acteur. Les plans de classe d'acteur ne reconnaîtront pas les entrées du clavier moins que vous ne rentriez dans les paramètres par défaut de la classe et que vous lui indiquiez de Le joueur 0 c'est nous, le solo, juste nous, non ? Donc ça va marcher. Également. Si vous avez plusieurs de ces configurations autour de votre niveau, c'est probablement une bonne idée ici de sélectionner votre icky et de décocher, consommer les entrées. Ce faisant, vous ferez en sorte que ce type de configuration puisse fonctionner pour plus d'un bouton. Si vous laissez cela uniquement consommer cette entrée, cela ne fonctionnera que dans un cas, pas dans tous les cas. Alors j'ai pensé que j'allais le jeter là aussi. Bien, compilez, enregistrez, jouez. Nous allons les chevaucher ici. Plan. Dites « Appuyez sur I » pour interagir. Nous sommes à portée de main. Alors maintenant, quand j'appuie sur la touche I, elle devient verte et vous voyez que cette lumière s'allume maintenant et juste cette lumière, pas toutes les copies de la lumière, juste celle-ci parce que c'était celle que nous avions dit spécifiquement pour renseigner cette variable lumineuse. Si je reviens ici, je peux à nouveau interagir. Et je l'ai allumé pour l'éteindre, l' allumer, l'éteindre, l'allumer, l'éteindre. Nous sommes en train de changer la visibilité. Il s'agit donc d'une méthode appelée Direct Blueprint Communication. Avec cette méthode, nous avons configuré une variable du type à laquelle nous voulons parler à un type de plan donné. Dans ce cas, nous voulons parler aux lampes BP. Une fois cette variable de lumière BP créée, nous l'avons définie sur l' instance modifiable afin de pouvoir la cibler spécifiquement. Ici, dans l'éditeur de niveau, Working Class Blueprint se trouve notre bouton et le plan cible est notre lumière. À l'intérieur du Working Class Blueprint, vous devez créer une variable du plan cible et puis définissez cette référence ici dans l'éditeur de niveaux. Méthode très pratique pour communiquer entre les plans. Les gars qui vont faire pour proposer cette vidéo. Rendez-vous dans la prochaine. 91. Distributeurs d'événements: Bienvenue. Jusqu'à présent, nous avons parlé du casting et la communication directe en tant que méthodes utilisées pour un plan communique avec un autre plan. Ce sont méthodes fines et astucieuses à utiliser. Cependant, dans les scripts Blueprint, il arrive que vous ayez besoin d' un seul plan pour communiquer avec de nombreux plans. Alors, y a-t-il une méthode à utiliser ? Oui, il y en a une. Il existe ce qu'on appelle un Event Dispatcher. Maintenant, si vous ne savez pas quels sont les répartiteurs d'événements, comme Twitter, c'est la meilleure analogie que j'ai entendue à ce jour. Maintenant, si vous connaissez Twitter, un utilisateur peut tweeter un message si toutes les personnes qui suivent votre compte Twitter reçoivent ce message, puis elles peuvent répondre en conséquence. Dans Unreal, un plan peut envoyer un signal, c'est-à-dire envoyer un signal à tous les autres plans abonnés, qui écoutent ce signal, puis ils peuvent répondre en conséquence. Très bien, donc l'exemple que nous allons donner ici est que je vais créer un plan de personnage, un personnage de boss si vous voulez. Et quand ce personnage sera détruit, plusieurs choses se produiront. Nous allons communiquer de notre plan directeur à d'autres plans, à plusieurs autres plans. Bien, il y a beaucoup de choses à aborder ici, donc je vais aller un peu vite, mais vous avez l' avantage de faire une pause. Alors allons-y directement. Dans mon dossier de scripts Blueprints, je vais cliquer avec le bouton droit sur un espace vide, nous allons créer une nouvelle classe de blueprint. Cette fois, le personnage est notre classe mère que nous voulons. Et nous nommerons ce boss de soulignement de BP. Je vais double-cliquer sur ce type pour l'ouvrir. Et sélectionnons notre composant de maillage dans notre liste de composants dans le panneau Détails, sous Maillage squelettique, insérons Manny, Manny. Et agissons également. Donc, le cours d'anime, je vais faire un P ou un BP, beaucoup, qui feront un pas. Et puis j'ai trouvé l'emplacement, nous devons les déposer un peu ici. L'emplacement z que je vais définir comme étant négatif 93 va les faire baisser un peu. Maintenant, c'est peut-être un peu trop loin. Passons à moins 85 ou quelque chose comme ça. Négatif 85, quelque chose comme ça. Et pour la rotation, je vais juste choisir moins 90 et cela leur permettra de faire face à l'avant. Cette flèche bleue est tournée vers l'avant et ne serait pas un boss s'il restait de cette couleur, nous devons faire peur, donc je n'ai pas le matériel, je vais juste taper en rouge. Il doit y avoir une couleur rouge au sommet ici. N'importe quel rouge fera l'affaire. Je vais choisir ce matériau de pointeur laser. C'est juste pour l'esthétique, afin que la matière recouvre cette partie de son corps. Ensuite, je vais aussi taper au laser. Faites allusion à l'autre matériau ponctuel laser pour l'autre partie de son corps. Regarde ce type effrayant. Très bien, sur cette base, nous allons créer un répartiteur d'événements directement ici. Donc, vous créez des répartiteurs d'événements dans le panneau Mon plan tout en bas, nous allons en créer un, en cliquant sur ce bouton plus, je vais appeler ce boss détruit et appuyer sur Enter there, allez-y et compilez et enregistrez. Ensuite, nous allons ajouter un événement lorsque nous superposons les composants de cette capsule. Je vais donc sélectionner mon composant Capsule dans le panneau Détails. C'est l'une des nombreuses façons dont je peux ajouter des événements pour cela. Je vais trouver mon propre événement de frappe de composant juste là, en cliquant sur ce bouton plus. Cela va me faire passer de ma fenêtre d'affichage au graphique des événements. Et nous allons nous appuyer sur ce nœud d'événement. Je vais sortir de l'autre épingle d'acteur. Et nous allons découvrir si c'est notre personnage à la troisième personne. Si c'est le personnage à la troisième personne qui nous a frappé, nous allons simplement dénoncer ce boss détruit. Nous allons envoyer le tweet, si vous voulez. Donc, la façon dont nous pouvons demander cela est le faire ici, comme ça. Et il va dire, si vous voulez appeler bind, dissocier toutes ces options. Dans ce cas, nous voulons l'appeler, nous allons envoyer ce tweet. Maintenant, la note va ressembler à ceci. Il y aura aussi une petite enveloppe dessus. Cela enverra donc les tweets à tous les abonnés si vous voulez. Enfin, nous voulons sortir d'ici et taper Destroy Actor pour nous assurer que notre patron va au revoir. Très bien, avec ça, nous pouvons compiler et enregistrer. Le tweet est terminé. Ensuite, nous avons juste besoin d'un ou trois abonnés. Revenez donc à notre niveau. Et n'allez-vous pas aller de l'avant et placer certains de ces plans légers dans votre niveau. Nous avons créé ces plans légers plus tôt dans le cours. Et vous pouvez les trouver dans votre dossier de scripts Blueprints. Si vous ne les avez pas créés, vous pouvez également choisir un autre plan que nous avons créé plus tôt dans le cours. Ce ne sont que ceux que je choisis par hasard. J'ai également placé un plan de porte pivotante que nous avons créé plus tôt dans le cours ici. Je vais montrer différentes méthodes pour expliquer comment ce type de communication va fonctionner. Mais je vais commencer par ma porte rotative BP. Donc, à l'intérieur de ma porte rotative BP, je veux creuser à l'intérieur de ce plan. Allons-y. Nous allons ajouter une toute nouvelle variable. Donc, dans la section des variables, nous allons cliquer sur le bouton plus. Et je vais l'appeler le personnage du boss. Et sous le type de variable, je vais cliquer ici pour rechercher boss. Et là, je peux trouver mon objet de type B, P, boss, ce plan que nous venons de créer. Et je vais en faire une référence à un objet. Maintenant que cette variable est sélectionnée dans le panneau Détails, je souhaite cocher cette case, par exemple, modifiable afin que nous puissions insérer notre boss depuis l'éditeur de niveaux. Et si je compile ici, nous pouvons voir qu'il n'y a rien remplit cette variable pour le moment, mais avec cette vérification modifiable d'instance , nous aurions pu cliquer sur ce globe oculaire. Je pourrai sélectionner notre place de boss dans le niveau. En fait, je vais le faire maintenant. Si je place mon patron à notre niveau, comme ça. Je peux maintenant sélectionner le plan de ma porte. Et dans le panneau Détails, je peux voir qu'il me demande d' insérer un personnage de boss pour renseigner cette variable. Je pourrais le sélectionner ici et sélectionner mon patron là-bas. Sinon, je peux sélectionner cette petite pipette ici afin de choisir le personnage de boss approprié dans la scène. Et vous y voilà. Vous pouvez maintenant voir que notre boss BP remplit cette variable à l'intérieur de notre porte rotative BP. Maintenant, ce que je dois faire, c'est demander une porte tournante de s'abonner à cet événement détruit par un boss. Et cela peut être fait à nouveau dans notre graphique des événements de portes rotatives. La première chose que nous allons faire est donc cette partie de notre graphique des événements juste au-dessus de l' endroit où se trouvait notre chronologie de rotation des portes. Nous avons créé toute cette croissance lorsque nous avons assemblé notre porte rotative, je vais appuyer sur la touche p. P est en jeu. Et nous allons cliquer avec le bouton gauche de la souris tout en maintenant la touche P enfoncée pour faire apparaître un événement et commencer à jouer. Ensuite, nous allons faire référence à notre personnage de boss. Je vais donc maintenir la touche Ctrl enfoncée, cliquer avec le bouton gauche et faire glisser la souris, et maintenant ça va me donner un getter tout de suite. Cependant, je ne veux pas que ce soit juste un getter typique. Je vais le convertir en une date valide. Maintenant, si je clique dessus avec le bouton droit de la souris, je peux voir cette option convertir pour valider le get. Et cela me permet de vérifier ici. Si cette variable est valide. Par là, je veux dire, est-ce qu'il est peuplé de quelque chose ? Est-ce vraiment quelque chose qui n'est pas nul, pas aucun. S'il est peuplé et alerte spoiler, c'est parce que j'ai actuellement mes ensembles de portes rotatives pour que la valeur de ce personnage de boss soit définie sur ce boss. Si c'est valide, on peut tirer à partir de cette épingle. Si ce n'est pas valide, c'est-à-dire que cette variable est nulle, nous pouvons faire autre chose. Il s'agit donc d'un get validé, utilisez-les tout le temps. Ensuite, ce que nous voulons faire, c'est sortir de notre personnage de boss ici. Et je vais me connecter si je tape correctement assigné Voici ce que je recherche. Un panneau détruit par Boss. Maintenant, quand je l'apporterai, je vais en fait ajouter deux nœuds, alors jetez-y un coup d'œil. Le boss assigné est détruit. Lorsque nous faisons cela, nous allons intégrer un nœud Bind ainsi que des événements personnalisés. Je vais laisser ce nom à cet événement personnalisé. Tu peux lui donner un autre nom. Mais voici comment cela fonctionne. Au début du jeu. Nous allons vérifier si notre variable de caractère boss est valide ici. S'il est peuplé de quelque chose, si c'est le cas, nous allons lier ces événements personnalisés à ce boss détruit, ce boss détruit Event Dispatcher. Ce que nous faisons essentiellement ici , c'est dire à cet événement d'attendre qu'il se déclenche. Quand on appelle, quand on appelle ce boss, les événements ont détruit. Ici, lorsque nous toucherons cette composante capsule du boss, nous allons appeler cet événement ici, attendrons, nous l' écouterons. Cela ne se déclenchera pas tant que l' événement détruit par le boss n'aura pas été annoncé. Notre chef de BP l' appelle ici même avec ce répartiteur d'événements. Et ici se trouvent des portes tournantes, écoutent cela avec cette configuration juste là, qui écoute. Une fois que cela se produit, nous pouvons tirer parti de cet événement personnalisé. C'est essentiellement la configuration qui s'y trouve. Donc, ce que je vais faire, c'est qu'après avoir écouté les événements détruits par ce boss, nous allons retarder ou juste un peu de temps, nous allons attendre d'une seconde. Ensuite, je vais l'intégrer à la rotation de ma porte. Nous allons donc ouvrir la porte. C'est quelque chose de cool à faire, non ? Après avoir vaincu un boss, cette porte est soudainement déverrouillée. Je vais donc compiler et enregistrer ceci. Et allons-y et jouons au test tout de suite. Alors, je m'en vais. Configurez cet article. Ici. Je joue. Vous pouvez donc voir le feu se déclencher juste à travers. Alors maintenant, cet événement, ce boss a détruit des événements personnalisés, est à l'écoute de ce boss détruit. Ce boss a détruit des événements pour être dénoncé. Cet Event Dispatcher, c'est le tweet, le message envoyé. Alors on y va. Nous allons voir ça se déclencher dès que je rencontrerai le composant capsule de notre boss. Permettez-moi d'ouvrir notre fenêtre de joueur ici. Très bien, et cette porte s'ouvrira au bout d'une seconde. Alors on y va. Le patron s'en va, au revoir. 1 s plus tard. Là, elle s'ouvre. Ce tweet a été reçu et la porte tournante BP a répondu en conséquence. Maintenant, notez qu'une configuration comme celle-ci peut être dupliquée à l'intérieur de notre plan BP Light ou tout autre plan de cette manière que nous plaçons dans notre niveau. Et cela fonctionnerait très bien. Tous pouvaient s'abonner à notre événement détruit par un boss de la même manière. D'ailleurs, il est souvent agréable de les avoir à écoute de cet événement dès le début de la partie, afin que chaque fois que cet événement se produit, ils puissent réagir en conséquence. Cependant, je vais utiliser une méthode un peu différente écouter cet événement, pour ainsi dire, en utilisant notre Level Blueprint. Je vais donc revenir à notre éditeur de niveaux ici. Nous allons ouvrir notre Level Blueprint. Ouvrez donc Level Blueprint, trouvez un espace vide à l'intérieur pour travailler. Maintenant, la première chose à faire est de revenir à notre niveau et de sélectionner notre boss b, a P. Maintenant, parce que notre boss BP existe dans le niveau et que nous les avons sélectionnés. Veuillez les sélectionner, accéder à votre plan de niveau maintenant, nous pouvons cliquer avec le bouton droit de la souris et laisser un espace vide et rechercher le boss détruit. Alors jetez-y un œil. Nous pouvons ajouter un événement détruit par un boss. Cet événement sera donc appelé lorsque notre boss BP demandera que cet événement de boss détruit se produise. Maintenant, ce que nous allons faire ensuite, c'est référence à nos trois acteurs légers. Donc, pour en revenir à notre niveau, je vais sélectionner la première lumière, la deuxième lumière en maintenant la touche Ctrl enfoncée et la troisième lumière, en maintenant la touche Ctrl enfoncée. Les trois sont sélectionnés ici, pour revenir à mon plan de niveau Je vais maintenir le R. R en référence et cliquer avec le bouton gauche pour faire référence à ces trois niveaux. Empilez-les numériquement comme ça. Et ce que nous voulons faire, c' est sortir de l'un d'entre eux et saisir la visibilité définie. Désolée, il faut que les projecteurs soient importants pour nous. Je vais donc dire obtenir un composant spot car chacune de ces lampes est constituée d' un composant de projecteur, que nous pouvons voir si l'un d'entre eux est sélectionné, est constitué du composant projecteur. Et je vais sortir du composant Spotlight et saisir la visibilité définie. Et nous dirons que cela deviendra visible. Et je peux dupliquer Control C Control V, ce projecteur pour chacun d'entre eux. Comme ça. Et quand cela se produit, je peux aussi m'en aller et dire Place down to D. Faisons entrer un peu de son. Bien sûr, comme ça. Et aura un dramaturge Explosion Q. Très bien, alors maintenant, vérifiez-le. Lorsque nous toucherons notre boss avec notre ThirdPersonCharacter, nous appellerons cela des événements. Il va envoyer ce tweet. Nous savons déjà que la porte tournante va écouter une paume commencer à jouer. Et une fois qu'ils apprendront que le boss a été détruit, il déclenchera le feu et ouvrira cette porte par rotation. Ici, dans notre plan de niveau, nous pouvons simplement appeler ce boss des événements détruits. Nous pouvons ajouter cet événement immédiatement. En le faisant appeler. Nous allons ensuite simplement définir la visibilité de nos vies. Alors allons-y et essayons ceci. Cette fois, nous allons nous concentrer sur nos lumières. En une fois, nous détruisons le boss. Allons-y. La porte s'ouvre. Encore une fois, j' aurais pu adopter une approche similaire à l'intérieur de nos lampes BP pour que ce BP cite entre guillemets, s'abonne au boss détruit Event Dispatcher. Mais je voulais juste démontrer ici que vous pouvez faire démarrer ces répartiteurs d'événements directement dans un niveau et même dans des plans de sous-niveau. Tant qu'une référence à cet acteur, dans ce cas, notre boss bp, contient un Event Dispatcher qui existe dans votre niveau. Eh bien, les gars, vous avez un Event Dispatcher est une excellente méthode à utiliser lorsque vous voulez avoir un seul plan, parler à plusieurs personnes, en fonction d' un événement qui se produit. Les gars, je vais faire pour vous proposer celui-ci. Rendez-vous dans la prochaine. 92. Interfaces de plan directeur Partie 1: Bienvenue. Dans cette vidéo, notre objectif est d'apprendre à utiliser les interfaces Blueprint pour communiquer entre les plans. Désormais, avec une interface Blueprint, vous pouvez créer une collection de fonctions vides. Vous pouvez ensuite attribuer plans qui ont accès à ces fonctions. Ensuite, ces fonctions de l'interface Blueprint, qui se trouvent désormais à l'intérieur de ces plans, peuvent bénéficier de fonctionnalités uniques. Maintenant, c'est idéal pour les fonctions de type générique où pouvez-vous interagir avec quelque chose ? Ensuite, selon le plan avec lequel vous avez interagi, ils peuvent réagir différemment. Nous commençons donc par un graphique ici. Nous allons donc créer un plan. Dans notre interface Blueprint, nous allons créer une fonction appelée Interact. Ensuite, nous allons implémenter cette interface Blueprint dans trois plans différents : Blueprint Light, notre chef de plan dans notre ThirdPersonCharacter. Maintenant, dans chacun de ces trois plans différents, nous allons pouvoir personnaliser exactement ce que fait Interact. Bon, de retour ici dans Unreal, il y a beaucoup de choses à régler. Alors allons-y. Je me trouve dans mon dossier de scripts Blueprints. Cliquez avec le bouton droit sur un espace vide. Ici, je vais appeler Blueprints in, dans le petit menu déroulant, je vais choisir Blueprint Interface. Nous allons nommer ces fonctions de soulignement du BPI. Ensuite, nous allons double-cliquer sur ce type pour l'ouvrir. Maintenant, à l'intérieur, tout ce que vous voyez c'est juste un onglet graphique vide qui indique une nouvelle fonction. Et puis en haut à droite, sous l'onglet Mon plan, il attend que nous donnions un nom à cette fonction. Créons donc notre toute première fonction s'appellera Interact. En bas du panneau Détails, vous pouvez voir qu'il a également changé le nom de cet onglet pour interagir. Et nous allons modifier la sortie ici pour en ajouter une. Nous allons créer une sortie et elle sera simplement appelée interagi avec point d'interrogation. Et nous allons laisser ce sera un booléen. C'est donc notre fonction vide. Il possède simplement une sortie. Maintenant, notez que vous ne pouvez pas effectuer les opérations suivantes à partir d'ici. Vous ne pouvez pas ajouter de nouvelles variables, uniquement des entrées et des sorties. Vous ne pouvez pas du tout modifier le graphique. Vous ne pouvez pas aimer les films ou cocher cette case ou quoi que ce soit de ce genre. Vous ne pouvez pas ajouter de composants. Cette fonction n'est pas configurée pour faire quoi que ce soit. L'idée ici est que cette fonction vide ajoutée à l'intérieur d'autres plans puis à l'intérieur de ces autres plans, nous pouvons personnaliser ce qu'elle fait. Ajoutons maintenant cette interface de plan à d'autres plans. Compilons d' abord ceci et enregistrons. Revenez ensuite à un éditeur de niveaux. Nous allons ouvrir notre ThirdPersonCharacter. Nous allons revenir dans notre section de plan directeur et nous allons ouvrir notre lampe de pression artérielle. Et puis nous allons également ouvrir notre patron BP. Bien que ces lampes BP Boss MBP aient été créées dans d'autres vidéos directement à l'intérieur de chacun de ces plans, nous devons ajouter cette interface Blueprint, et cela se fait sous le bouton Paramètres de classe. Je vais donc commencer par mon patron BP ici, Class Settings. Et puis, dans le panneau Détails, voici où nous pouvons ajouter l' interface Blueprint et en cliquant ici dans ce menu déroulant sous Ajouter, trouverez nos fonctions BPI. Nous allons ajouter cette lampe BP. Nous allons faire les mêmes réglages de classe, ajouter des fonctions bp. Et puis sous notre ThirdPersonCharacter, pareil. Paramètres de classe, ajoutez des fonctions bp. Maintenant, si vous n'y prêtiez pas très attention et qu'il est facile de le manquer ajoutant cette interface Blueprint dans la section Mon plan de chacun de ces plans, nous avons maintenant une interface située sous le panneau My Blueprint. Et si je l'ouvre, nous pouvons voir que nous avons désormais accès à l'interaction. Si je double-clique sur notre fonction Interact ici, un onglet de fonction s' ouvrira. Vous pouvez maintenant voir que nous pouvons ajouter des fonctionnalités uniques pour chaque fonction d'interaction dans chacun de ces trois plans différents. Commençons donc par notre plan directeur ici, nous avons double-cliqué sur notre fonction Interact ici. Donnons-lui des fonctionnalités uniques. Nous allons dire que si nous appelons cette fonction d'interaction, tout ce que nous ferons pour notre patron c'est de partir d'ici. Et je vais dire de détruire l'acteur. Ensuite, nous allons simplement cocher cette case en disant oui, nous avons interagi avec eux, compilés et enregistrés. Nous allons passer à notre lampe BP à l'intérieur d'ici, nous allons simplement saisir notre composant Spotlight, cliquer et glisser. Pour éviter cela, nous allons saisir la visibilité définie. Nous allons câbler notre fil d'exécution comme ceci. Et nous allons faire en sorte que notre visibilité soit vraie. Et nous allons également cocher cette case pour l'interacteur avec lequel il a interagi. Compilons et enregistrons cela. Ensuite, nous passerons à notre ThirdPersonCharacter et nous y ajouterons des fonctionnalités uniques. Tout ce que nous allons faire, c'est cliquer avec le bouton droit sur un espace vide et dire « trouver l'acteur, le lieu » Et nous allons utiliser cet emplacement pour faire apparaître et émettre. Donc, en traînant d'ici, je vais taper l' émetteur de spawn à l'emplacement. Vous pouvez également faire apparaître le système sur place. Le système utilise les particules de Niagara. Ce sont les anciennes particules en cascade qui feront l'affaire. Je vais le brancher ici, et je vais faire apparaître une explosion. Parce que les explosions sont toujours amusantes. Je vais régler la balance pour qu'elle soit belle et grande. Donc 22. Et donc, et je vais également cocher cette case pour dire oui, nous avons interagi. Nous avons donc configuré des fonctionnalités uniques sous chacun de ces trois modèles lorsque nous appelons cette fonction d' interaction. Allons-y, compilons et sauvegardons ceci. Regardons notre graphique des événements ici. Et plus tôt dans le cours, nous avons configuré cette fonctionnalité de suivi des lignes. Donc, si vous ne l'avez pas déjà créé, vous pouvez copier ce que vous voyez ici. Nous envoyons une trace linéaire dans le monde. Et actuellement, quand on frappe un acteur, on imprime simplement le nom de cet acteur à l'écran. Nous allons modifier cela un peu. Je vais donc supprimer ces nœuds ici. Nous allons nous débarrasser de ce nœud de branche ici. J'en apporterai un autre dans un instant. Mais ce que vous devez faire, c'est sortir de cet acteur à succès, vous pouvez sortir de votre tenue et décomposer ce résultat à succès, étendre à partir de notre acteur à succès. Nous allons rechercher Interact. Et entre parenthèses, il doit être écrit message. Accrochez-le comme ça. Maintenant, cela va appeler la fonction Interact dans le Hit Actor. Si ce Hit Actor implémente réellement l'interface Blueprint. Si l'acteur à succès n' implémente pas l'interface Blueprint, il ne lui arrive rien. Donc, ce que nous allons faire ensuite, c' est retirer de notre sortie interactive ici. Je vais apporter un nœud de branche. Et nous allons simplement dire que si c'est vrai, nous avons interagi avec quelque chose et que cela a été évalué comme vrai, nous allons simplement l' imprimer à l'écran. Imprimons le numéro d' objet interagi dans fonction Interact dans notre ThirdPersonCharacter. Nous sommes en train de mettre cela sur vrai. Ici, nous apparaissons et explosons à l'intérieur de nos lumières. Lorsque nous interagirons avec cela, nous allons simplement allumer les projecteurs et nous allons dire Yelp, vous avez interagi avec lui. À l'intérieur de notre patron. Elles interagissent entre elles. Nous allons simplement détruire l'acteur. Et nous avons dit, oui, nous avons interagi avec lui. Encore une chose, nous devons configurer l'intérieur de notre boss afin que cette trace de visibilité fouette la trace de visibilité ici à l'intérieur de notre ThirdPersonCharacter. Pour que cela interagisse réellement avec le boss, entrez dans votre boss et sélectionnez votre collision de capsules. Nous avons juste besoin de modifier un peu les paramètres de collision. Sous le composant de collision, section Collision. Dans le préréglage de collision, nous allons le modifier pour qu'il soit personnalisé. Et nous devons nous assurer que le canal Visibility est configuré pour bloquer afin que notre trace de ligne ici dans ThirdPersonCharacter atteigne réellement le canal. Compilons et enregistrons cela. Très bien, donc de retour ici dans notre plan ThirdPersonCharacter, nous allons appuyer sur la touche fléchée pour envoyer une trace linéaire le long du canal Visibility commençant par nos acteurs. location, le ThirdPersonCharacter se terminant par notre point de terminaison de trace de ligne, qui, si je vais dans la fenêtre d'affichage, est ce point que nous avons configuré ici tout à l' heure dans le cours. Nous allons ensuite sortir notre tube pour tous les acteurs que nous rencontrerons, nous appellerons la fonction Interact qui se trouve dans nos fonctions BPI Blueprint Interface. Si la chose que nous avons touchée a implémenté cette interface Blueprint, elle appellera cette fonction d'interaction et exécutera en fait tout ce pour quoi nous avons configuré cette fonction dans notre boss bp, elle détruira l'acteur et dira : « Oui, nous avons interagi avec lui. Il va cocher ce Bool dans notre lampe de pression artérielle. Nous allons allumer les projecteurs puis cocher cette case Boole pour dire, oui, nous avons interagi avec elle. Si toutefois, la chose que nous avons trouvée n'a pas implémenté cette interface Blueprint, rien ne se passera, ce qui est très bien. Maintenant, si nous avons trouvé quelque chose qui a implémenté cette fonction d' interaction , cette interface Blueprint, nous allons transmettre ce booléen ici. Et si c'est vrai, nous allons simplement l' imprimer à l'écran. Très bien, de retour dans notre éditeur de niveaux, assurez-vous d'avoir un boss BP placé dans votre niveau ainsi qu'un éclairage BP qui se trouve au rez-de-chaussée. Nous allons commencer, jouer et appuyer sur la touche zéro. Une fois que nous serons devant notre lumière, nous devrions voir des textes apparaître ici. Donc, touche zéro. Tu vois cette lumière, tu vois qu'elle a interagi avec les choses. Super, ça marche très bien. Et nous allons le filmer. Et notre personnage de boss, ici vous devriez voir apparaître des textes, ainsi que la destruction de notre boss. On y va. Touche zéro, le patron est parti. Vous y voyez également notre ligne être projetée dans le monde entier. Il y a eu un point d'impact et cela fonctionne effectivement. Très bien, un peu de nuance à discuter ici en ce qui concerne l'appel des fonctions d'une interface Blueprint. Ici, dans notre ThirdPersonCharacter fonctions d'une interface Blueprint , vous m'avez vu plus tôt, faites glisser notre acteur à succès ici et tapez le mot interagir et nous verrons un message d'interaction et nous en avons obtenu la version enveloppe ici. C'est identique à cela. Maintenant, cela indique à la cible fournie d'appeler cette fonction. Cependant, quelque chose à noter à ce sujet, en appelant cette fonction, vous n' avez pas besoin d'implémenter l'interface Blueprint elle-même dans ce plan pour pouvoir le faire, ce dont je parle se trouve ici dans nos classes. Vous pouvez voir dans ce plan que j'ai mis en œuvre. L'interface est que vous n' avez pas besoin de l' implémenter pour l'appeler pour la fourniture à Target. Et juste pour vous aider à comprendre ce point, je vais revenir à mon éditeur de niveau ici. Je vais placer mon bouton de tension artérielle dans mon niveau. Avec cette option sélectionnée. Nous l'avons créé dans une leçon précédente. Je vais placer mes lampes ici pour qu'elles soient cette lumière. Je vais donc choisir cette petite pipette. Et je vais choisir cette lumière ici pour que BP Li2 soit désormais associée à cette variable à l'intérieur de notre bouton BP. Je vais l' ouvrir maintenant, bouton RSVP. Et je vais juste modifier ce bout de script ici lorsque j'appuie sur la touche I, lorsque je suis à portée. Je vais donc procéder comme ça, juste ne pas m'inquiéter de ce changement de matériau. Je vais le casser en maintenant touche Alt enfoncée et en cliquant avec le bouton gauche. Ce que je peux faire maintenant est de cliquer avec le bouton droit. Et si je recherche un message, pas un message, je cherche à interagir. C'est ce que je voulais dire. Interagissez. Il y a mon message d' interaction entre les fonctions B PI. Je peux donc l'appeler pour cette cible lumineuse ici. Parce que n'oubliez pas que ma lampe BP fait quelque chose, ou que cette fonction est implémentée sur la lampe BP et qu'elle activera la visibilité. Mais non, ce dont je parle ici, c' est dans les paramètres de ma classe, je n'ai pas implémenté l' interface de la fonction BPI. Cela ne m'interdit pas d'appeler cette fonction. Donc, pour mieux comprendre, ce que je vais faire ici, c'est jouer le jeu. Et je vais superposer ce bouton ici. Je les ai maintenant superposés. Je vois cela en fait dire que oui, je suis à portée en ce moment. Ce Texas à reculons, mais peu importe. Je vais appuyer sur la touche I maintenant, vais appeler cette fonction. Dans mes plans légers. C'est parti, en appuyant sur la touche I, et en fait, il appelle cette fonction et allume cette lumière. Maintenant, notez que lorsque je recherche cette fonction d'interaction ici en cliquant avec le bouton droit de la souris et que je tape Interact, c'est la seule option que j'ai. Cependant, dans mon BP ThirdPersonCharacter où je le fais, j'ai implémenté les fonctions BPI Blueprint Interface. Je peux cliquer avec le bouton droit sur un espace vide et taper en interaction. J'ai une autre version qui dit fonction d' appel juste ici. Et maintenant, regardez cette version. Il s'agit d'un appel de fonction local. Maintenant, je pourrais configurer quelque chose comme ça ici dans mon ThirdPersonCharacter Blueprint. Laissez-moi simplement supprimer cela. La fonction que je viens de supprimer est identique à moi, en cliquant avec le bouton gauche, en faisant glisser et en déposant ma fonction d'interaction ici dans mon graphique. Quoi qu'il en soit, vous apporterez une copie de cette version locale de l'appel. Donc, pour cette configuration, je vais appuyer sur la touche 9. Cela va appeler interagir sur la cible de soi. Mon plan de personnage à la troisième personne. Je transmets juste ce booléen et ensuite nous allons nous détruire. Donc, si vous vous en souvenez, dans notre fonction locale, nous allons simplement faire apparaître un émetteur à l'emplacement de nos personnages. Compiler et enregistrer Permettez-moi de revenir à mon graphique d'événements ici et de jouer. Réglez mon objet de débogage sur moi-même. Et maintenant, quand j'appuie sur la Nike, boum, cela appelle en fait cette fonction d'interaction. Ainsi, pour appeler une version locale de cette fonction, l'interface Blueprint doit être ajoutée aux plans afin de répondre à cette version de l'appel d' interface. 93. Interfaces de plan directeur Partie 2: Très bien, encore plus de choses à montrer ici concernant les interfaces Blueprint. Revenons donc à nos fonctions BPI et nous allons ajouter une toute nouvelle fonction dans le panneau My Blueprint. Cliquez donc sur Ajouter une fonction et nous allons nommer ce dommage. Et nous n'allons pas ajouter d'entrées ou de sorties. Nous allons simplement le compiler et l'enregistrer. Revenons maintenant à l' un de nos plans dans lesquels nous avons déjà implémenté cette interface de plan. Je vais entrer dans mon plan ThirdPersonCharacter. Maintenant, notez que dans la section des interfaces, nous voyons maintenant notre fonction endommagée apparaître. Cependant, il apparaît dans cette couleur jaune. Maintenant, cette couleur signifie que la fonction a été ajoutée, mais qu'elle ne peut pas être appelée dans d' autres plans car elle n'a aucune valeur de retour. Et je veux dire par là, revenons à nos fonctions BPI. Elle n'a pas de valeur de retour, alors que je sélectionne notre fonction Interact, elle a une valeur de retour, renvoie un nœud. Donc c'est très bien. Ce n'est pas grand chose. Ici, dans notre fonction d'endommagement, nous allons passer d' entrées, de sorties. Nous allons laisser les choses comme ça et nous allons montrer comment utiliser interfaces Blueprint d'une manière légèrement différente. Ici, dans mon plan ThirdPersonCharacter. N'oubliez pas que nos interfaces Blueprint sont implémentées et qu'il existe une fonction d'endommagement. Maintenant, si j'essaie de l' ajouter à un graphique, ce sera comme si «  Non, je ne peux pas le faire ». Cependant, si je clique dessus avec le bouton droit de la souris, je peux l' implémenter sous forme d'événements. Alors regarde ce qui se passe quand je fais ça. Il ajoutera cela en tant qu' événements à mon graphique. Et maintenant, je peux créer certaines fonctionnalités à partir de cela. Cependant, je dois m' assurer que j' appelle réellement ces événements à partir d' autres plans. Alors faisons-le ici à l'intérieur de mon plan ThirdPersonCharacter, je dirais, d'accord, chaque fois que nous appellerons cela, nous allons simplement détruire notre personnage, Destroy Actor, c'est assez simple. Compilez et sauvegardez cela. Maintenant, à partir d'un autre plan, nous devons réellement demander que cela se produise. Passons donc à un exemple de ramassage BP. Je vais double-cliquer dessus. Et je vais juste en pirater la fonctionnalité d' origine juste pour le moment, je vais la remettre en place après la vidéo. Je vais dire que lorsque nous commencerons à superposer cette sphère ici, nous allons vérifier si cela correspond au personnage à la troisième personne. Et puis en dehors de cela, je vais simplement m' en éloigner et taper les dégâts que le BPI fonctionne. Message d'endommagement. Nous allons y aller comme ça et comme ça. Et je vais m'en débarrasser juste pour que cela soit un peu plus clair. Voici donc ce que nous faisons. À l'intérieur de notre exemple de pick-up BP. Nous sommes en train de vérifier si nous avons chevauché cette sphère, cette sphère entre en collision avec ThirdPersonCharacter. Et si c'est le cas, nous allons demander cette interface Blueprint endommagée. Maintenant, les événements se produiront ici à l'intérieur de notre personnage à la troisième personne. Alors allons-y et essayons ceci en cliquant sur Play. Et j'ai oublié de l'ajouter à notre niveau. Ajoutons l'un d'entre eux. Et donc dès que nous avons touché le fait que nous devions mourir, BAM, et nous le faisons. C'est donc une autre façon d'utiliser des interfaces Blueprint au lieu de les implémenter et d'ajouter des fonctionnalités pour chaque fonction, comme nous l'avons fait pour notre événement interactif. Nous pouvons simplement les laisser dans notre interface Blueprint sans aucune entrée ni sortie. Ensuite, faites comme nous l'avons fait dans notre ThirdPersonCharacter, où nous avons cliqué dessus avec le bouton droit de la souris et nous l'avons converti en événement. Ce faisant, vous pouvez faire n'importe quoi à partir de cela, condition que vous appeliez cet événement à partir d'autres plans. Maintenant, c'est une sorte de façon d'appeler un événement personnalisé dans n'importe quel autre plan qui implémente cette interface Enfin et surtout, nous allons parler de la façon d'utiliser un Interface Blueprint pour communiquer avec un Level Blueprint. Maintenant, il est préférable d'ajouter une interface Blueprint à un sous-niveau pour faciliter la communication avec le niveau. Passons à une démonstration. Tout d'abord, assurons-nous que l'onglet des niveaux est ouvert ici. Si ce n'est pas déjà fait dans votre éditeur, vous pouvez l'obtenir en passant sous la fenêtre puis en ouvrant les niveaux TAM. Et plus tôt dans le cours, nous avons créé un sous-niveau. Je vais créer un autre sous-niveau juste pour que vous puissiez voir comment cela se fait une fois de plus, juste ici où il est dit niveaux, vous pouvez aller ici et vous pouvez en créer de nouveaux. Et il vous sera demandé de créer un nouveau sous-niveau. Je vais choisir un niveau vide. Créez. Il va nous demander où voulons-nous enregistrer cela ? Mettons-le dans notre support de niveaux de script, et je vais simplement appeler ce sous-niveau de soulignement 02. Nous allons le sauver. Très bien, je vais cliquer avec le bouton droit sur notre sous-niveau pour arriver ici. Je vais changer la méthode de streaming. Pour qu'il soit toujours chargé au lieu de Blueprint, remplacez-le par Toujours chargé. Ensuite, avec notre sous-niveau ici, je vais cliquer juste là pour ouvrir plan de niveau du sous-niveau R. Et dans notre plan de niveau de sous-niveau, j'ai les paramètres de notre classe juste ici. Et encore une fois, c'est ici que je peux implémenter notre interface Blueprint. Je vais donc cliquer sur Ajouter. Voici mes fonctions BPI. Bien, ensuite, dans notre éditeur de niveaux, vous pouvez vous assurer qu'il s'agit du niveau actuel en vérifiant ici. Sous-niveau 2, c'est notre niveau actuel. Si nous cliquons dessus, ce bleu indique également qu' il s'agit de notre niveau de travail actuel. Nous allons ajouter un acteur à notre sous-niveau ici. Je vais ajouter : «  Passons en revue ici. Ajoutons une forme. Faisons un cylindre. Bien sûr, quelque chose comme ça. Nous avons donc un acteur dans notre sous-niveau. Nous pouvons le voir en désactivant cette icône de globe oculaire pour montrer qu'elle fait en fait partie du sous-niveau deux. Ensuite, nous allons nous assurer que notre cylindre est sélectionné et nous retournerons au plan de niveau 2 du sous-niveau R. Nous allons entrer dans notre fonction Interact ici. Double-cliquez dessus pour l'ouvrir. Maintenez la touche R enfoncée, cliquez avec le bouton gauche pour y faire référence à notre cylindre. Et nous allons sortir d'ici et taper Destroy Actor legs. Nous dirons donc que oui, nous avons interagi avec elle. C'est génial Compilez et enregistrez ceci. Ensuite, nous allons revenir à notre plan ThirdPersonCharacter. Et ce que nous allons faire, c'est mettre en place un script très simple. On va juste cliquer avec le bouton droit de la souris, je ne connais pas la touche 8. Je ne pense pas que nous ayons quelque chose qui fonctionne avec la touche 8 actuellement. Et je vais cliquer avec le bouton droit de la souris sur un espace vide et taper pour obtenir le niveau de streaming. Et c'est là que nous voulons mettre le nom exact de notre sous-niveau O2. Elle est là, juste là. Sous-soulignez un niveau, soulignez 02. Ensuite, nous pouvons faire glisser ce message et taper un message interactif comme suit. Cela nous permettra de communiquer avec notre sous-niveau deux et d'appeler cette fonction d'interaction que nous avons également configurée dans Sublime. Donc ça va détruire ce cylindre. Maintenant, en fait, je ne vais rien faire à l'improviste. Je n'avais pas vraiment besoin de cocher cette case, mais je l'ai fait. Alors allons-y et compilons ceci. Allons-y et jouons. Et maintenant, quand j'appuie sur la touche huit, boum, c'est parti. En fait, nous avons également communiqué via Blueprint Interfaces avec notre sous-niveau. Eh bien les gars, cela suffira pour offrir une interface Blueprint. Encore une fois, avec les interfaces Blueprint, vous pouvez configurer une fonction à l'intérieur de celles-ci. Vous pouvez ensuite les ajouter aux plans via les paramètres de classe. Et puis, une fois que vous l'avez fait, vous pouvez y configurer des fonctionnalités uniques à chaque endroit où vous avez ajouté ces interfaces Blueprint très pratiques pour vous qui vont le faire. Tout ça pour celui-ci. Rendez-vous dans la prochaine. 94. Cours pour parents (base): Bienvenue. Dans cette vidéo, notre objectif est d'engager une conversation sur le concept d' héritage dans les plans. Maintenant, pour vraiment démontrer le pouvoir de l'héritage à l' aide de plans, nous allons créer une classe parent, une classe de base sur laquelle autres plans futurs dériveront. Cela signifie en fin de compte que tout plan que nous créons en tant qu' enfant de ce parent est prédéfini avec tous les composants, toutes les fonctionnalités des variables que le parent a déjà a. Maintenant, si vous avez déjà créé une classe de plan, vous avez déjà utilisé l'héritage et vous n'avez peut-être même pas réalisé qu'aucun plan dans Unreal n'existe sans hériter d'autre chose. À titre d'exemple de ce que je viens de mentionner, consultez notre ThirdPersonCharacter Blueprint. Si on ouvre ce type en haut à droite, cela nous permet de savoir quelle était la classe des parents. Dans ce cas, notre bp ThirdPersonCharacter hérité de la classe de caractères exemple de capture BP que nous avons créé au tout début de la classe. La classe mère pour cela est l'acteur. Cela devient encore un peu plus clair si je reviens à notre navigateur de contenu et que je notre navigateur de contenu et bouton droit sur le bouton droit de la souris pour choisir Blueprint Class. En bas, où il nous est demandé de choisir une classe mère, vous pouvez voir la hiérarchie des différents plans. L'objet est l' acteur de classe de base le plus hérité de l'objet. Et si je développe l'acteur ci-dessous , je peux voir quelque chose comme notre exemple de pick-up BP qui hérite de la classe mère. D'accord, donc ce que nous allons faire dans cette vidéo c'est créer notre parent, notre classe de base. Ensuite, dans la vidéo suivante, nous allons créer une classe pour enfants basée sur notre classe de parents. Et vous allez voir comment notre enfant hérite de tous les biens de ses parents, tout comme vous êtes enfant et que vous avez hérité de certains biens de vos parents. Notre classe pour enfants héritera-t-elle également de notre classe de parents ? Allons-y, cliquez avec le bouton droit et laissons un espace vide ici. Je vais le faire dans mon dossier de scripts Blueprints. Cliquez avec le bouton droit sur Blueprint Nous allons nous baser sur l' acteur ou sur une classe de parents. Et je vais appeler cela mon trait de soulignement de la tension artérielle. Les parents viennent chercher, comme ça. Et je vais double-cliquer sur ce type pour l'ouvrir. Et je vais ajouter quelques composants. Nous allons donc commencer par ajouter une sphère. Collision de sphères Je vais définir les détails ici. Après cela, notre collision de sphères étant sélectionnée, je vais ajouter une source de maillage statique Le maillage statique est attaché à notre sphère. Ensuite, avec nos maillages statiques sélectionnés, je vais ajouter, je vais taper Niagara. Je veux l'ajouter aux composants du système de particules de Niagara comme ça. Nous allons, nous allons ajouter des particules de Niagara ici dans un petit moment. Et nous allons également ajouter des de mouvement rotatifs et interpréter les composants de mouvement Too. Donc, notre plan ici va à fois pivoter et se déplacer de haut en bas. Donc ça va être plutôt cool. Très bien, définissons quelques détails ici. Alors, en sélectionnant notre sphère, rendez-vous avant tout sur votre panneau de détails. Nous allons fixer le rayon de notre sphère à 100, quelque chose de beau et de grand. Vous savez, en revenant ici, vous voyez un maillage statique. Je vais passer sous le panneau Détails et je vais choisir un cube de soulignement de 1M. Faisons n'importe quel maillage cubique qui fonctionnera. Quelque chose de 50 par 50 par 50. Bien sûr, c'est un peu petit, donc je vais l'agrandir pour peut-être le double de la taille là-bas. En fait, laissez-moi revenir en arrière en bloquant notre balance ici. Je peux le définir sur deux et appuyer sur Entrée, il l'agrandira en conséquence en x, y et z. Ensuite, je vais choisir notre composant Niagara ici. Maintenant, avant cette vidéo, je me suis assuré ajouter des particules de Niagara à mon projet. Et je vais vous montrer où vous pouvez les ajouter, car cela peut prendre un peu de temps. Ici, dans le lanceur Epic Games, si vous accédez à Unreal Marketplace, je suis simplement passé dans la section gratuite ici. Et j'ai fait des recherches pour trouver Niagara. Et ici, j'ai choisi ces kits d'effets visuels de base. Maintenant, pour l'ajouter à votre projet, vous pouvez cliquer ici. Finalement, vous obtiendrez cette option Ajouter au projet. Vous pouvez cliquer ici. Maintenant, cela a déjà été ajouté à mon projet, donc je ne vais pas le rajouter, mais vous pouvez sélectionner votre projet. Si votre projet ne s'affiche pas, vous pouvez cliquer sur ce bouton pour vous assurer qu'il s'affiche. Ensuite, vous devez cliquer ici pour ajouter à votre projet. Maintenant, je peux prendre un peu de temps pour être ajouté. Une fois qu'il aura été ajouté, je vais revenir aux points négatifs une fois de plus sur notre navigateur de contenu. Il apparaîtra sous forme dossier, d'essai, de soulignement, de micros, ensemble de micros, etc. Et juste ici, dans mon répertoire, juste ici en tant que système de nagger pour micros FX. C'est ici que nous pouvons trouver certains effets des particules de Niagara. Il s'agit du nouveau système de particules d'Unreal, utilisant Unreal Engine Five. Très bien, pour en revenir à notre capteur parent, sélectionnons notre système de particules noires ici. Et là où il est question du système Niagara, je vais en ajouter un qui s'appelle l'énergie. Et je vais faire ceci NS Energy Underscore 2. Ensuite, je vais sélectionner notre composant de mouvement interp2. Voilà notre particule qui arrive. Et je vais définir quelques points de contrôle ici, en cliquant sur le bouton plus une ou deux fois, et je vais développer chacun d'entre eux. Je vais laisser l'index zéro à cet endroit, index1, je vais simplement le faire remonter de 20 dans la direction z. Ensuite, je vais également définir notre type de comportement ici comme étant le ping-pong afin qu'il fasse des allers-retours entre ces deux points. Maintenant, notre mouvement de rotation a déjà une vitesse de rotation de 180 en z. Donc, si je devais simuler cela, vous pouvez voir à quoi cela va ressembler. Faites tourner. Les particules y sont attachées à notre cube. C'est tellement beau. Très bien, ensuite je vais ajouter trois variables ici, qui seront finalement héritées par notre enfant. Je vais donc cliquer sur la section des variables de My Blueprint, le bouton Plus juste ici. Le premier s' appellera pick-up S FX. Et nous allons modifier le type ici pour qu'il soit base sonore de basse afin de rechercher cette référence d'objet de base sonore. Nous les réglerons tous un peu plus tard. Je vais cliquer sur le bouton Plus. Nous allons en ajouter un autre, que nous appelons « pickup VFX ». Je vais définir le type ici comme étant le système Egg Garage, cette référence d' objet du système Agora. Et nous allons ajouter une autre variable ici. Et celui-ci s' appellera nom de l'article. Et nous allons changer le type ici pour qu'il s'agisse d'une chaîne. Très bien, en compilant, nous pouvons ensuite définir des valeurs par défaut pour tout cela. Donc, mon ItemName va définir la valeur par défaut comme nom de l'article. Pour nos effets Pickup V, je vais placer Coin Burst, qui est un système Niagara. Et pour mon pick-up S of x, je vais en choisir un appelé objets. Ramassage d'objets C'est dans le contenu du moteur. Si ce n' est pas le cas, vous pouvez cliquer sur cette icône en forme de roue dentée et y activer le contenu de votre moteur afin trouver l'objet qui vous ramasse. C'est ce que je vais choisir. Vous pouvez échanger les sons ou les effets de particules de votre choix. Ce seront mes paramètres par défaut. D'accord ? cette base, je vais compiler et enregistrer tout de suite, puis passer à mon graphe d'événements où nous allons créer un peu de script. Tout d'abord, nous allons cliquer avec le bouton gauche de la souris et faire glisser le curseur sur ces trois nœuds d'événements qui sont déjà là par défaut, nous allons les supprimer. Nous allons cliquer avec le bouton droit sur notre composant de collision de sphères, puis cliquer avec le bouton droit sur Ajouter Nous allons faire quelque chose quand nous commencerons à les chevaucher. Nous allons donc l'ajouter à notre graphique. Et comme vous l'avez peut-être deviné, pour nous éloigner de notre autre acteur et voir si c'est le ThirdPersonCharacter qui a fait le chevauchement. Si c'était le cas, nous allons jouer du son, en 2D. Quel son veux-tu jouer ? Eh bien, nous avons un son capté juste ici. Nous allons simplement le glisser-déposer sur l'épingle. Je passe à autre chose. Ensuite, nous allons partir d'ici et nous allons apparition à l'emplacement, le système apparition à cet emplacement sous la section Niagara, système de spawn est l'endroit où vous pouvez générer des effets visuels Niagara. Nous en avons déjà un enregistré dans une variable ici. Nous allons donc le glisser-déposer au-dessus du modèle du système. Donnons-lui un lieu. Faisons donc un clic droit. Trouvez la localisation de nos acteurs. Quel acteur ? Ce pick-up parent BP, où qu'il soit situé, sera l'endroit où nous voulons le faire apparaître. Ensuite, nous allons faire glisser la page et imprimer la chaîne. Dans quelle chaîne voulons-nous imprimer ? Eh bien, nous allons faire glisser vers l' arrière, pour y ajouter un nœud d'ajout. Et quatre sont un, nous allons taper un espace entre deux points. Pour le b. Nous allons insérer le nom de notre objet. Alors glissez-le et déposez-le ici. Nous allons ajouter une épingle supplémentaire. Et je vais faire un espace de points d'exclamation. Cela devrait donc se lire comme suit : deux-points, espace, nom de l'élément, espace, point d'exclamation. C'est les deux, ils n'ont pas vraiment besoin de ces espaceurs entre le nom et le point d'exclamation. Je vais donc revenir en arrière. Enfin, et ce n'est pas le moins important, nous allons nous y attarder et détruire l'acteur. Ce sera donc notre scénario. Si vous souhaitez mettre la vidéo en pause et la regarder de près. voyez, d'accord, ensuite, juste pour Vous voyez, d'accord, ensuite, juste pour simplifier un peu notre graphique, je vais cliquer avec le bouton gauche de la souris et faire glisser le pointeur autour de tous ces nœuds à l' exception de notre événement. Ensuite, si vous cliquez avec le bouton droit sur de vos nœuds sélectionnés ici, je peux cliquer dessus avec le bouton droit de la souris et je peux le réduire pour fonctionner. Quand je le ferai, ce sera réduit à un seul nœud et, directement dans le panneau Mon plan, sous la zone des fonctions, il sera écrit, OK, nommez ce truc. Je vais simplement appeler cette fonction pick-up. Comme ça. Si je double-clique sur cette fonction, vous pouvez voir à quoi elle ressemble à l'intérieur. Et c'est génial. Nous avons maintenant un graphique des événements très simplifié. Allons-y, compilons et sauvegardons. Je vais en placer un plus bas dans mon niveau. Et faisons simplement un test de jeu rapide pour nous assurer que nous pouvons effectivement le collecter. Donc, il suffit de glisser-déposer ce rouge ici. Allons-y et jouons. Et loin. On y va. Ça y est. Une petite explosion de particules d'air également. Très bien, nous avons pris un excellent départ. Et dans la vidéo suivante, nous allons créer un enfant à partir de ce plan et cet enfant héritera de tous les composants. Les variables sont les fonctionnalités de ce parent. Maintenant, c'est un excellent moyen de travailler dans Unreal, car si vous y réfléchissez, il y a beaucoup de choses qui se ressemblent dans les jeux , comme les micros, les armes, les types d' ennemis, etc. Ils ont tous des points communs à leur sujet. Alors pourquoi recréer la roue encore et encore ? Pourquoi créer un plan unique pour chaque capture de plan que vous allez avoir ? Il est préférable de travailler en créant une classe parent. Il aura une grande partie des fonctionnalités de base que tous les micros auront. Ensuite, dans chacune des fonctionnalités de script pour enfants, ajoutez des composants sous forme de variables ou de propriétés spécifiques à chaque capture individuelle. Mais la fonctionnalité partagée doit s' inscrire dans le cadre d'un plan parent. Très bien les gars, ça va offrir celui-ci. Nous vous verrons dans la prochaine. 95. Cours pour enfants (partie 1): Bienvenue. Dans cette vidéo, notre objectif est de montrer comment créer des classes Child Blueprint , puis comment les personnaliser à partir de là. Maintenant, la création de plans enfants est géniale du point de vue de ne pas avoir à recréer la roue en laissant un plan de classe enfant hériter de tous les composants, variables et fonctions de base . de la part d'un parent. Il n'est pas nécessaire de recréer tout cela chez l'enfant. Au lieu de cela, nous pouvons désormais personnaliser plan de chaque enfant comme bon nous semble. De plus, s'il y a un composant, une variable ou une fonctionnalité ajouté que nous souhaitons ajouter rétroactivement au parent. Tous les plans de classe pour enfants y gagneront automatiquement, ce qui est plutôt sympa. Très bien, commençons donc à en montrer un peu en créant d'abord une classe pour enfants. Voici donc le micro de mon père BP. Je vais cliquer dessus avec le bouton droit de la souris. Et pour créer un enfant à partir de n'importe quel plan existant, il suffit de cliquer dessus avec le bouton droit de la souris et c'est parti sur l'option la plus haute. Créez une classe Child Blueprint. Cela va nous inciter à lui donner un nom. Donc je vais changer ça pour devenir BP. charge des enfants. Ensuite, je vais double-cliquer sur ce type pour l'ouvrir. Maintenant, jetez un œil ici. Voici donc le ramassage de mon enfant. La camionnette de mes parents ouverte tout en haut, ici aussi. Et si je passe de l'un à l'autre, vous pouvez voir qu' ils ont l'air identiques. Vous remarquerez également que le pick-up parent possède cette liste de composants. Et remarquez que chez notre enfant, nous avons exactement la même liste de composants. Maintenant, dans la liste des parents, nous avons ces variables juste ici. Dans le pick-up pour enfants. Nous avons ces variables ici. Et si vous ne voyez pas ces variables héritées ici, vous pouvez cliquer sur cette petite icône en forme d' engrenage et vous assurer que l'option Afficher les variables héritées est cochée. Vous devez l'avoir coché pour que ces variables héritées s'affichent. Parce que si vous les cochez, ils vont au revoir, ils voient les variables héritées. Et vous y voilà. Maintenant, quelques points à prendre en compte ici. Si vous regardez en haut à droite, il est dit que notre classe mère est la camionnette mère BP. Et aussi, dans la liste des composants, si vous souhaitez modifier l'un de ces éléments, disons que vous souhaitez modifier ce composant de sphère si vous avez cliqué ici dans Modifier dans Blueprint, notez ce qui se passe ici. En fait, cela vous ramène au pick-up de vos parents. Donc, chez l'enfant où vous voyez tout cela ici, si vous cliquez sur l'un d'entre eux, il reviendra au parent, et vous dira : « Hé, vous voulez modifier cela ici chez votre enfant, même si c'est aux parents qu'il appartient de le faire, car tout changement que vous apportez chez le parent se répercutera jusqu'à l'enfant. Maintenant, juste pour me rendre à ce point très rapidement, je vais ajouter une lumière temporaire ici dans le pick-up de mes parents. Donc, je vais entrer, ajouter, je vais taper de la lumière. Nous allons ajouter un point, un phare. Je vais m'en tenir à ce nom. Maintenant, si je vais au ramassage des enfants tout de suite , tu ne le verras pas. Toutefois, si je vais chez mes parents et que je clique sur Compiler, je l' enregistre et je retourne voir mon enfant. Boom, il y a ce composant ponctuel qui serait actuellement enfoui à l' intérieur de mon cube. Voilà où il se trouve réellement. Je vais le supprimer parce que je ne le veux pas vraiment. Donc, si je voulais le supprimer , disons pour l'enfant, je pourrais le supprimer ici. Nan. Je ne peux pas le faire. C'est vrai. Parce que tu essaies de le faire, mais c'est comme si, non, j'héritais de ça de mes parents. Vous devez donc aller Modifier et créer un plan, les supprimer ici, puis les compiler et les enregistrer. Et ce changement se répercutera jusqu'à votre enfant. Encore une fois, ce qui rend le travail cette façon si génial, c'est qu' avec notre pick-up parent, nous avons créé la fonctionnalité de base pour récupérer ce pick-up. C'est un simple chevauchement dans notre graphique des événements, n'est-ce pas ? Et lorsque nous les chevauchons, nous utilisons simplement cette fonctionnalité ici. Nous n'avons pas à recréer tout cet enfant intérieur et nous pouvons le démontrer en faisant glisser et en faisant glisser ce niveau de gars. J'ai donc les parents sur la gauche. Je vais faire en sorte que le parent soit un peu plus grand, l'enfant à droite. Et si je me lance et que je joue, tu peux voir que je peux en prendre une. Je peux aller chercher l'autre. Cette fonctionnalité s'est effectivement répercutée sur notre enfant. Mais ce qui nous rend également géniaux c'est que nous pouvons apporter des modifications à notre enfant tout en conservant les mêmes fonctionnalités. Permettez-moi donc de faire quelques changements très superficiels ici chez notre enfant. Je vais modifier certains de nos composants ici, pas les composants eux-mêmes, mais les propriétés réelles des composants. Donc, par exemple, je pourrais sélectionner mon composant de maillage statique et le changer pour qu'il s'agisse d'autre chose qu'un cube. Je pourrais changer cela pour qu'on prenne un cône, une forme de cône et la forme du cône fera l'affaire. Je vais juste le réduire pour qu'il y en ait un qui soit complet. Criez pour le synchroniser un peu. Je pourrais remplacer les effets des particules de mes éclairs pour qu'ils soient quelque chose comme « Nous allons faire quelque chose de curatif avec quelques cœurs ». Bien sûr. Faisons en guérir trois, peut-être quelque chose comme ça. Mouvements rotatifs Je peux changer ça aussi. Oui, une fois que vous aurez changé votre système Niagara ici, il vous faudra un peu de temps pour le remplacer. En fait, je n' aime pas celle-là parce que c'est une sorte de feu et oublie-en un. Essayons que la guérison veuille quelque chose de persistant comme ça. Mouvement d'interprètes. Je peux changer cela aussi. Dans ce cas, nous allons faire passer la durée d' une seconde à 3 s. Il faudra donc plus de temps pour qu'elle passe de 1 à 3 s. Positionnez zéro ici pour la position 1. Je peux modifier mes mouvements de rotation. Je peux modifier la vitesse à laquelle il tourne. Donc je vais faire tourner celui-ci un peu plus vite ici. On va dire 200, quelque chose comme ça. Et je peux changer mon capteur effets sonores ne doit pas nécessairement rester ce capteur d'objets. Je vais changer ça pour que ce soit une vue flottante. Je ferme n'importe quelle option ici, nous allons simplement essayer quelque chose de différent. Mon capteur VFX n'a pas besoin d'y rester le même. Je pourrais changer cela de coin Burst à coin Burst O2. Et le nom de mon article ne doit pas nécessairement rester le même. Au lieu du nom de l'article en tant que nom d'article, je vais le changer pour qu'il soit Health Back. Bien, une fois toutes ces modifications effectuées, je peux revenir en arrière et enregistrer. Essayons-le. Vous pouvez voir que cela semble visiblement différent. Effet de particules différent. Il aura également un effet de particule différent lorsque nous le détecterons. On dirait que cet effet de particule disparaît assez rapidement ici, mais c'est parti. Le parent, l'enfant. Différents effets de particules, différents sons, etc. accord, tout cela est bien beau dans la mesure où notre enfant a bien hérité de la fonctionnalité et des composants initiaux de notre parent. Nous avons simplement remplacé certains éléments superficiels. Notre enfant, ici, c'est l'apparence de certains sons et de ce genre de choses, des variables. Mais étendons un peu plus nos fonctionnalités chez l'enfant. Faisons en sorte que, même si nous n'avons pas hérité de toutes ces choses, tout va bien. Nous voulons amener notre enfant un peu plus loin. Nous voulons faire quelque chose de spécifique pour le ramassage de nos enfants ici. Nous allons donc commencer par notre ThirdPersonCharacter Blueprint. Je vais examiner des plans à la troisième personne qui sont la personne, le caractère et notre fonction de santé. Nous l'avons créé plus tôt dans le cours. Nous avons créé une fonction de modification de la santé et elle ressemble à ceci. Nous allons le faire glisser dans notre graphique des événements. Je vais cliquer avec le bouton droit pour apporter un événement personnalisé. Je vais appeler ce service de santé pour enfants. Je vais intégrer cela à notre fonction de modification de la santé que nous avons créée. Encore une fois dans une vidéo précédente, nous avons parlé de la création de fonctions dans notre événement personnalisé de prise en charge des enfants. Je vais ajouter une entrée ici en cliquant sur ce bouton plus. Je vais donner un nom à cette santé. Je vais passer du type booléen au type flottant. Et je vais intégrer cela immédiatement à notre fonction de modification de la santé afin que nous transmettions cette valeur de santé à notre fonction. Nous allons transmettre quelque chose à ce sujet dans nos camionnettes pour enfants. Vous le verrez ici dans peu de temps. Ensuite, ce que je vais faire, c'est apporter une chaîne d'impression ici. Ensuite, je vais faire glisser vers l'arrière ma chaîne d'impression et ajouter un nœud d'ajout. Et je vais avoir ma valeur ici, c'est simplement dire l'espace du côlon sain. Et notre valeur b sera la santé actuelle que nous aurons après avoir fait ce calcul, en la faisant glisser comme si cela allait simplement apporter un nœud de conversion, convertir un float en une chaîne. Notre fonction de modification de la santé ressemble donc actuellement à ceci. Si je double-clique dessus, vous pouvez voir ce qu'il fait là. Nous émettons des sons différents en fonction de la valeur de santé transmise. Nous saluons également cette valeur pour la santé. Mais c'est essentiellement ce que nous sommes en train de faire. Compilons ceci, il est très important que vous le compiliez et que vous l'enregistrez. Et il est important que vous compiliez afin que nous puissions réellement faire appel à cette fonction ou à des événements plutôt personnalisés qui se produiront lors de la prise en charge de notre enfant. Très bien, donc tout cela est fait dans votre ThirdPersonCharacter Blueprint, à retourner à la prise en charge de votre enfant. Maintenant, à l'intérieur d'ici, si vous faites une recherche dans votre graphique d'événements, vous vous dites : «  Je ne vois pas », je ne vois aucune de ces fonctionnalités ici dans notre parent. Nous sommes en train de créer des scripts ici, comme ça. Et je sais que nous avons créé cette fonction, cette fonction de capture ici, chez mes parents. Ça ressemble à ça, mais si je vais voir mon enfant, je ne vois rien de tout cela. Eh bien, dans notre section des fonctions du panneau My Blueprint, si vous arrivez directement ici, vous pouvez annuler la fonction de prise en charge qui existe actuellement à l'intérieur de votre pick-up BP parent. Donc, si nous cliquons dessus, nous verrons maintenant cette fonction de capture que nous avons créée dans notre parent. Et voici à quoi cela ressemble à l'intérieur de notre parent, à l'intérieur de notre enfant. Cela ressemble à ceci où nous passons simplement un appel à la prise en charge de nos parents en disant, oui, que c'est la fonction que nous voulons exécuter. Maintenant, je peux étendre cela encore plus loin. Ce que je vais faire ici, c'est cliquer avec le bouton droit de la souris et saisir un espace vide pour obtenir le personnage du joueur. Passez à ThirdPersonCharacter, comme ça. Maintenant, parce que nous avons créé cet événement personnalisé dans notre ThirdPersonCharacter, et vous êtes sûr de compiler et de sauvegarder. Nous allons passer un appel pour cet événement personnalisé de prise en charge de la santé des enfants. Donc, dans notre ramassage pour enfants, je peux maintenant sortir d'ici et taper ramassage santé des enfants. Et cela fera appel à notre ThirdPersonCharacter Blueprint pour l'exécuter. Maintenant, de retour ici, dans notre pick-up pour enfants, nous devons transmettre un peu de santé que nous aimerions transmettre à l'un ou l'autre talon, sinon nous pourrions blesser notre caractère. Je vais juste régler quelque chose mais vous pouvez cliquer dessus avec le bouton droit de la souris. Vous pouvez le convertir en variable ou en variable locale. Une variable locale ne serait vue que par cette fonction ici. Je vais juste inscrire des points à cinq ici. Je vais compiler ceci aussi. Et permettez-moi de revenir à mon plan ThirdPersonCharacter et m'assurer que notre état de santé actuel est actuellement réglé à 100 %. Je vais donc le fixer à 50 %. Et juste pour les tests de jeu rapides, je veux m'assurer que notre compteur de santé indique effectivement 50 % de santé. D'accord, donc une fois tout cela fait, nous pouvons réellement entrer et jouer. J'aurais pu juste le tester là-bas , mais je ne pensais pas bien. Remarquez donc que mon oreille droite est en bonne santé à 50 %. Cela devrait le guérir jusqu'à ce qu'il figure sur l'indicateur de santé, car c'est ce que nous lui demandons de faire. Et nous y voilà. Nous avons en effet amélioré notre santé de 2,75. Et tu as vu passer cette ficelle aussi. Vous avez donc vu ici, à l'intérieur de mon pick-up pour enfants, que j'ai simplement étendu cette fonctionnalité que nous avions déjà héritée du parent. Le pick-up des parents contenait déjà un script ici. Donc, lorsque nous chevauchons cette sphère, nous allons faire appel à cette fonction, à cette fonction de captage à l'intérieur des parents. Notre enfant va donc hériter de tout cela. Et notre enfant va également l'étendre par ici. Nous faisons appel à l'événement personnalisé dans notre ThirdPersonCharacter. autre chose à noter ici est que lorsque nous sommes venus chercher notre enfant ici, remarqué en haut à gauche qu'il était écrit « Got Health pack ». Et la raison en est que le pack de santé God est parce qu'ici, lors de la collecte de notre enfant, nous changeons le nom de l'article en pack de santé. Et si vous vous en souvenez, dans la fonction de ramassage des parents que nous avons créée ici nous disons obtenir le nom de l'article, puis le point d'exclamation. Respectons donc tout cela. Il appelle cette fonction de ramassage à l'intérieur de notre parent. Mais il s'agit également de respecter les noms de variables que nous avons modifiés ici dans notre collecte pour enfants, à savoir ne plus dire le nom de l'article dans notre ramassage pour enfants, nous avons dit non, c'est maintenant pour dire pack de santé. 96. Cours pour enfants (partie 2): Très bien, dans la deuxième partie, nous allons discuter de certaines des nuances les plus fines que vous pouvez rencontrer lorsque vous travaillez avec des nuances les plus fines que vous pouvez rencontrer lorsque vous plans de classe pour parents et enfants, certaines choses que vous devez savoir à propos de. Supposons donc que vous créiez un pick-up pour parents comme nous l'avons fait. Et disons simplement que nous avons ajouté ces composants rotatifs et mobiles comme nous l'avons fait et que nous voulons faire en sorte que tous les enfants de ce plan obéissent à cette vitesse de rotation d'un atm, il n' y a aucune chance nous ne voulons pas que les plans de classe pour enfants s'écartent de cette valeur. Nous voulons les mettre en lock-out pour ainsi dire. Eh bien, nous pouvons le faire ici si nous pouvons décocher cette case modifiable en cas d' héritage. Et vous trouverez cette case à cocher sur tous nos différents composants ici. Ce qui se passe, c'est que lorsque vous décochez cette case et que je le ferai, je vais la décocher. Et puis je vais le compiler à nouveau et le sauvegarder. Maintenant, si je passe à la collecte de mon enfant, il héritera de toutes ces valeurs parce que je viens de compiler et de dire que ces modifications se propageront jusqu'à l'enfant une fois que vous aurez apporté quelques modifications à votre parent. Notre taux de rotation est donc de 180. Notre camionnette pour enfants aura désormais la même vitesse de rotation, soit mouvement de rotation de 180. Mais jetez un œil à ça. Je ne peux modifier aucune des propriétés ici. En fait, en haut, il est indiqué que le drapeau des composants n'est pas modifiable lorsqu'il est hérité. C'est cette case à cocher ici. Lorsqu'il est hérité, il doit être modifié dans les plans parents. Donc ça me fait savoir, hé, tu ne peux pas changer ça ici. Vous devriez revenir à vos plans de paire. Si tu cliques ici, ça m' a renvoyé chez mes parents. Je pourrais cliquer sur cette case tout de suite. Et une fois que j'ai cliqué sur cette case, je peux retourner voir mon enfant et oh, je ne peux plus la changer encore. Cependant, si je retourne chez mes parents, compile, puis que je pourrai le modifier une fois de plus. C'est donc quelque chose que vous devez absolument savoir. autre chose à noter ici est que ce n'est pas parce que vous avez défini une propriété dans votre panneau de détails pour un composant donné défini une propriété dans votre panneau de détails pour un composant donné que cela correspondra à la valeur réelle de la propriété respectée dans le jeu. Permettez-moi maintenant de vous montrer un exemple de ce que je veux dire exactement par là. Je vais changer le ramassage de mon enfant ici pour avoir un taux de rotation de seulement dix. OK ? Taux de rotation ici de dix. Et les parents avec les composants du mouvement rotatif sélectionnés. Je vais le changer ici trop, en fait je vais le laisser à 180. Donc, vous pourriez penser OK, le danger des parents à 180 ans, l'enfant l'a à dix ans. Cependant, si chez mes parents voulais faire quelque chose sur Event Begin Play dans l' Event Graph . Je vais maintenir la touche P enfoncée et cliquer avec le bouton gauche pour que l' événement commence à jouer. Ensuite, j'intègre des composants dans mon mouvement de rotation afin de pouvoir en parler d'une manière ou d'une autre. Et je dis qu'une fois ces composants de mouvement de rotation sélectionnés, je vais les faire glisser vers l' extérieur et modifier le taux de rotation de cette propriété. Donc, en sortant de ce taux de rotation, je vais définir le taux de rotation. Et je dirais que nous allons le fixer à 1 000. Alors, notez ce que j' ai à faire ici. La composante du mouvement rotatif, je l'ai réglée sur 180. Mais au début du jeu, je change cette valeur pour qu'elle soit de 1 000. Ici, dans le pick-up de mon enfant. Il faut que ce soit dix, tu peux dire, d'accord, ça va être dix pour ça. Mais n'oubliez pas que l' enfant héritera de toutes les fonctionnalités configurées chez le parent. Et le parent dit en ce moment, hé, dès que nous aurons commencé à jouer, vous allez changer votre mouvement de rotation à 1 000. L'enfant va donc respecter cela également. Donc, si je reviens ici sur ma carte de test de niveau, et qu'en fait, un cône est un maillage vraiment médiocre pour voir ce taux de rotation, je vais échanger ce cône très rapidement, revenir dans un maillage statique enfant. Faisons quelque chose que nous pouvons réellement voir tourner. Que diriez-vous de cette pipe ? Nous allons voir tourner autour de nous. Très bien, donc maintenant, si je devais simuler, c'était pour lancer le jeu, mais pas vraiment me lancer et jouer. Vous pouvez voir qu'ils tournent tous les deux assez vite. En effet, celui-ci semble tourner un peu plus vite parce qu'il y a toutes ces particules qui dansent. Mais en effet, ils tournent tous les deux à un rythme assez rapide, le rythme que nous avons établi chez le parent, c'est-à-dire 1 000, parce que notre enfant ne fait certainement pas tourner les choses. à raison de dix. Maintenant, je pense que le principal point à retenir est d'être conscient endroit où vous créez un script. N'oubliez pas que si vous créez un script à l'intérieur de vos parents qui va se propager vers le bas, qui est filtré jusqu' à votre enfant, chez tous les enfants que votre enfant peut également avoir. Donc, si vous voulez avoir des fonctionnalités uniques à l'enfant, uniquement scriptées au sein de l'enfant, et éviter de les écrire dans le parent, car cela s' appliquera à n'importe qui dans la chaîne de la lignée. Cela nous amène au point suivant. Tout comme vous voyez ce parent avoir un enfant, notre plan pour enfants peut également avoir un descendant. Essayons-le donc. Je vais revenir à mon navigateur de contenu ici. Avec notre service de ramassage d'enfants, je peux maintenant cliquer dessus avec le bouton droit de la souris et créer une classe Blueprint pour enfants Et je vais appeler cela le trait de soulignement BP. Nous allons appeler ce petit enfant. Décroche. Si je double-clique dessus pour l'ouvrir. Et laisse-moi juste le mettre ici. Nous avons donc des parents, des enfants et des petits-enfants. Nous pouvons voir que la classe parentale est la prise en charge des enfants, mais que notre prise en charge des enfants a une prise pour les parents au-dessus. Alors jetez un œil à ça. Notre petit-fils, on pourrait penser que notre taux de rotation serait le même que celui notre pick-up parent à cause de ce que je viens de décrire, notre parent va annuler le mouvement de rotation pendant le jeu Pas 181 000, l'enfant va respecter ça lui aussi. Et nos petits-enfants devraient le faire aussi, n'est-ce pas ? Allons-y et essayons. Des endroits par ici. Et nous devrions également donner aux petits-enfants un maillage différent, juste pour leur faire comprendre que c'est différent. Je vais donc sélectionner ces maillages statiques ici et essayer ces pyramides quadruples, quelque chose comme ça. Et donc maintenant, si je devais simuler cela , Alt plus S le simulerait. Ils tournent tous exactement de la même manière. C'est juste une petite astuce visuelle. Celui-ci semble tourner plus lentement, mais ils tournent tous exactement à la même vitesse. Donc, tout ce que nous avons configuré chez notre parent pour script se propagera jusqu'à l'enfant, ce qui se propagera également aux petits-enfants. Très bien, encore un concept que je veux démontrer ici, et il concerne les remplacements d'entrée. Maintenant, je vais retourner chez mes parents. Une fois de plus, la photo de mes parents descend de la classe d'acteur comme un modèle. plans de classe d'acteur ne sont pas traités. C'est-à-dire qu'ils ne déclenchent pas d'événements de saisie au clavier par défaut, mais nous pouvons faire en sorte qu' ils reconnaissent que c'est pour déclencher des événements de saisie au clavier si nous les configurons de cette façon. Je vais donc vérifier les valeurs par défaut de ma classe ici. Et dans la section des détails où il est dit entrée, entrée de réception automatique. Je vais passer de désactivé à joueur zéro. Ce faisant, je peux maintenant ajouter un événement de saisie au clavier ou un événement de saisie du contrôleur. Et il le reconnaîtra. Maintenant, on change ça ici, dans le pick-up de mes parents. Si je vais chercher mon enfant, c'est même classe par défaut, et nous tombons dans la section de saisie. Il le configure désormais également en tant que zéros de joueurs. Pareil pour nos petits-enfants, nous appliquons les valeurs par défaut de votre classe. Ces changements se sont répercutés d'un bout l'autre de la chaîne. C'est génial Très bien, retournons voir nos parents. Et dans un espace vide, je vais cliquer avec le bouton droit de la souris et faire quelque chose lorsque nous utiliserons le clavier. Allons-y, allons-y, nous allons faire la touche K à côté du KCI. Bien, en appuyant sur le KCI, nous allons imprimer une chaîne. Et ce que nous allons essayer d'imprimer, c'est simplement être des parents. Et avec notre touche K sélectionnée ici, notez que sur la droite, nous avons vérifié les entrées de consommation et vérifié le remplacement de la liaison parent. Maintenant, ce qui se passera ici quand je jouerai, laissez-moi simplement cliquer sur ces trois points, laissez-moi simplement cliquer sur ces trois points, pour accéder à une nouvelle fenêtre d'édition. Je vais définir mon option de débogage ici pour qu'elle soit prise en charge par mes parents. Remarquez que je peux choisir n'importe laquelle de ces trois options, mais je vais choisir la camionnette de mes parents. Ouvre cette fenêtre. Quand j'appuie sur la touche K juste ici, je vois le parent imprimé une seule fois. Une seule fois. Maintenant, vous vous dites peut-être : « Bon sang  », j' ai pensé que toute sorte de modification de script que vous avez apportée semblait se propager jusqu'à l'enfant et donc petits-enfants aussi. Alors pourquoi ne l'avons-nous pas vu imprimé une seule fois ? Pourquoi ne l'avons-nous pas vu imprimé trois fois chez les parents que chez l'enfant et les petits-enfants ? Eh bien, cela fonctionne ainsi parce que notre entrée de consommation ici est vérifiée. Cela signifie que d'autres acteurs moins prioritaires ne s' occuperont pas de cette fonction. Cela signifie qu'il s'arrêtera là et qu'il mourra ici. Maintenant, notez ce qui se passe lorsque je désactive cette case à cocher Consommer des entrées. Allons-y et rejouons. Je vais appuyer sur ce KCI et regarder en haut à gauche de notre fenêtre de jeu, nous voyons le parent imprimé trois fois. En effet, en ne consommant pas l'entrée ici, nous permettons à cette touche, la touche K, de se propager vers le bas. Cela doit également fonctionner chez notre enfant lors de la prise en charge de ses petits-enfants. Ainsi, lorsque la case Consumer Input est cochée, elle fonctionnera juste au niveau le plus élevé. Si vous décochez cette case, cette modification se répercutera sur tous les descendants. Très bien, poussons tout cela un peu plus loin. Je vais cliquer avec le bouton gauche de la souris, copier ces nœuds ici, contrôler C. Et je vais entrer dans Maya Child Pick-up. Et à l'intérieur de mon graphe d'événements, je vais simplement appuyer sur Control V pour les coller. Maintenant que ma touche K est sélectionnée dans le panneau Détails, je vais dire qu'il faut consommer la saisie ici. Et je vais aussi changer ma chaîne d'impression et maintenant être un enfant. OK, et allons-y et faisons des tests à partir d'ici. Maintenant, ce que vous verrez quand j'appuie sur la touche K, laissez-moi configurer le capteur de mon enfant ici comme étant celui que nous voulons voir. Quand j'appuie sur la touche K. Maintenant, tu vas voir un enfant, un enfant unique. Maintenant, quelque chose à noter ici. C'est parce que notre enfant est prêt à consommer des données, ce qui signifie que les parents ne les enregistreront pas. Maintenant, c'est de la gourmandise. Ça dit de le consommer ici, d'ignorer nos parents. C'est pour cela que nous voulons traiter cette clé de saisie. Maintenant, si nous la décochons ici, décochons la case Consommer l'entrée ici dans notre collecte d'enfants BP et jouons à nouveau, en appuyant sur ce KCI et maintenant nous voyons parent enfant enfant. Que se passe-t-il ici ? Eh bien, en ne le consommant pas, nous l'autorisons également à être utilisé à l'intérieur du pick-up de nos parents. Notre parent dit qu'il y a un parent ici dans notre enfant, nous voyons un enfant. Et n'oubliez pas que nos petits-enfants descendent de nous, l'enfant aussi. Donc enfant, enfant, mais chez le parent lui-même, qui désélectionne également, consomme des entrées. Ça dit « parents ». C'est pourquoi nous avons vu le résultat que nous y avons vu. Très bien, alors vous l'avez. Le concept d'héritage mis en évidence dans Unreal et la puissance qu'il procure. Nous avons démontré ici que vous pouvez créer un pick-up pour parents. À partir de là, vous pouvez cliquer dessus avec le bouton droit de la souris et créer un ramassage enfant qui héritera de toutes les propriétés et fonctionnalités du parent à l'intérieur de l'enfant, vous pouvez créer des fonctionnalités personnalisées. Vous pouvez personnaliser certaines variables ainsi que certaines propriétés des composants. Ensuite, nous avons également montré que vous pouvez maintenir la lignée. Vous pouvez cliquer avec le bouton droit sur votre enfant et créer également un petit-enfant. Ces puissants concepts peuvent donc être utilisés tout au long de votre jeu pour simplifier les différents systèmes que vous souhaiterez peut-être intégrer, tels qu'un système de collecte d'armes, de nombreuses armes à récupérer . Ils peuvent tous avoir leurs propriétés uniques, mais la fonctionnalité de ramassage, pour ainsi dire, resterait la même. Les gars qui vont tout faire pour cette vidéo. Rendez-vous dans la prochaine. 97. Aperçu du cadre: Très bien, bienvenue à tous. Dans cette vidéo, notre objectif est de vous familiariser et de comprendre ce que l'on appelle les plans cadres dans Unreal Il s'agit d'un sujet essentiel que tous ceux qui travaillent dans Unreal devraient connaître. Quels sont donc ces plans directeurs ? Eh bien, ce sont des plans de haut niveau associés à un projet qui déterminent les éléments clés de votre jeu, tels que les règles de votre jeu. Ce genre de choses est souvent contenu dans le plan d'un mode de jeu, ou dans le joueur de votre jeu, également connu sous le nom de personnage ou d'étang. Aviez-vous contrôlé ce genre de choses ? Alors, où se trouvent ces plans directeurs ? Eh bien, chaque projet en possède par défaut, et en fait, certains existaient jusqu'à présent dans le cours. Certains d'entre vous sont au courant, d'autres pas, mais c' est ici que nous allons tout révéler. Vous pouvez donc trouver ces plans de structure ici, en haut à droite de votre éditeur sous Paramètres, paramètres du projet. Ici, si vous sélectionnez des cartes et des modes, nous avons un mode de jeu par défaut. Et votre mode de jeu par défaut contient tous ces plans. Souvent, cela s'effondre. Vous pouvez développer cela. Vous pouvez donc voir à l' intérieur que nous avons un mode de jeu. C'est Default Pawn Class, une classe HUD, un contrôleur de joueur. Et j'ajouterais même la classe d'instance de jeu, qui se trouve ici. Nous parlons ici de tous ces plans, et ceux-ci, ici même, sont connus sous le nom de vos plans de cadre. Maintenant, je viens de vous montrer que vous pouvez y accéder dans les paramètres, les cartes et les modes de votre projet en cliquant sur ce bouton juste ici. Sinon, si vous faites l'objet de modifications, vous pouvez également y trouver les paramètres de votre projet. Vous pouvez accéder à des cartes et à des modes et également trouver vos plans de structure. Sinon, si vous cliquez ici et que vous accédez aux paramètres de votre projet ici, vous pouvez voir votre plan de mode de jeu. Et puis ci-dessous, vous pouvez également voir certains de ces plans de cadre dans cette section, ici même. Maintenant, chacun de ces différents schémas de structure tels que le mode de jeu, un personnage, une manette de jeu. Ce sont tous des types spécifiques de plans. Nous verrons certaines d'entre elles et expliquerons comment les créer dans les prochaines vidéos de cette section du cours. Maintenant, dans cette vidéo de présentation du framework, il est important de noter que même si nous avons quelques plans, certains plans de cadre se trouvent dans paramètres de notre projet ici, des cartes et des modes. Ce sont nos plans directeurs. Ce sont des plans qui contrôlent tout ce qui concerne notre projet. C'est-à-dire chaque niveau que nous créons au sein de notre projet. Il est possible de remplacer ces plans de cadre par niveau, par masse. Nous pouvons le découvrir en revenant à notre éditeur de niveau principal. Si je passe sous Fenêtre et que j' accède aux paramètres de mon monde, nous pouvons voir si je passe dans la section Mode jeu et je clique sur ce menu déroulant ici. C'est là que je peux remplacer mes plans de framework pour un niveau spécifique. On les trouve dans les décors du monde. Donc, si dans les paramètres de mon projet j'avais un framework, plans sont configurés pour mon projet et déterminent des choses comme, Eh bien, je vais contrôler le ThirdPersonCharacter tout au long de ce qui est déterminé par ma classe de pion par défaut. Je peux en fait faire en sorte que une carte spécifique avec un niveau spécifique, je puisse définir un étang spécifique que je souhaite contrôler juste à l'intérieur de ce niveau qui se trouve dans les paramètres du monde. Vous pouvez donc le trouver non seulement dans l'option Paramètres du monde Windows. Vous pouvez également le trouver ici, en cliquant juste là. Et vous pouvez voir si les paramètres de votre monde l'emportent votre mode de jeu. À l' heure actuelle, nous pouvons voir que sur votre mode de jeu. À l' heure actuelle, nous pouvons voir que nous n'annulons rien. C'est là que se trouve cette alerte. Très bien, encore une fois, c'est notre aperçu des plans de cadre, vos plans de cadre contiennent ces plans ici. J'ajouterais également les instances du jeu, eh bien, sont tous des types de plans différents et elles contiennent des informations clés sur votre jeu, telles que les règles qui déterminent le plan de Gamow, personnage que vous contrôlez, la classe Pawn, etc. Nous allons les explorer plus en détail tout au long de cette section du cours. Nous vous verrons dans la prochaine vidéo. 98. Mode de jeu (partie n° 1): Dans cette vidéo, notre objectif est de découvrir l'importance du schéma du mode jeu dans Unreal Nous allons découvrir ce qu' il fait, comment en créer un et comment inciter notre projet à utiliser cet atout. ce cours, nous avons un plan de mode de jeu Depuis le début de ce cours, nous avons un plan de mode de jeu dans les paramètres de notre projet . Maintenant, lorsque nous avons créé ce projet, nous utilisons le modèle à la troisième personne. Et dans notre dossier Blueprints à la troisième personne trouvait ce mode de jeu BP à la troisième personne. Si vous accédez à vos paramètres, Paramètres du projet, vous pouvez voir dans la section des cartes et des modes que le mode passerelle par défaut a été automatiquement défini comme BP, mode de jeu à la troisième personne. Il y en a donc eu un ici depuis tout ce temps. Maintenant, qu'est-ce que le plan de Gamow ? Eh bien, c'est l'une des deux classes principales qui gèrent les informations sur le jeu. L'autre étant le plan d'état du jeu, qui est un autre schéma directeur ici. Désormais, les modes de jeu sont conçus pour définir et mettre en œuvre les règles de votre jeu. Quelques exemples incluent le nombre de joueurs autorisés, apparition et de réponse fonctionnalité d'apparition et de réponse des joueurs, la transition entre les niveaux, etc. Désormais, le mode de jeu détermine également les autres classes par défaut utilisées dans votre jeu. Maintenant, pour vous aider à comprendre ce point, je vais revenir à mon éditeur de niveau et double-cliquer sur notre mode de jeu à la troisième personne. Maintenant, si vous voyez cela, c'est ce que l'on appelle un plan de données uniquement. Mais même ici, nous pouvons le voir dans ce mode de jeu à la troisième personne, voici nos différents autres modèles de framework, tels que notre classe de manettes de joueurs. C'est quelque chose que nous avons créé plus tôt dans le cours. Et nos classes de pions par défaut sont BP, ThirdPersonCharacter à l'intérieur de votre plan Gamow. C'est là que vous placez le reste de votre pied, vos plans de cadre. Vous pouvez le faire ici ou dans les paramètres de votre projet. Si vous le modifiez à un endroit, vous le modifiez à l'autre. Maintenant, juste pour votre information, vous pouvez ouvrir ce que l'on appelle l'éditeur de plans complet en cliquant ici si jamais vous le voyez. Mais même ici, dans votre jeu ou plan à la troisième personne, si vous avez sélectionné la classe par défaut ici, vous trouverez tous vos différents plans de framework. Encore une fois, ils sont associés au schéma de votre mode de jeu. Je viens de mentionner tout à l' heure que le plan de Gamow était l'une des deux classes permettant de gérer les informations sur votre jeu, l'autre étant l'état du jeu. Le mode de jeu n'existe donc que sur le serveur, alors que le jeu indique ce type juste là. Vous pouvez le trouver dans les paramètres de votre projet directement sur le serveur et répliqué sur tous les clients. Très bien, créons notre propre plan Gamow puis définissons-le ici dans les paramètres de notre projet. Donc, pour ce faire, je vais retourner à notre éditeur de niveaux. Maintenant, plus tôt dans le cours, dans mon dossier de scripts, j'ai créé un dossier en cliquant avec le bouton droit de la souris ici, nouveau dossier. Je l'ai nommé Framework. En fait, j'ai créé l'un de nos plans de framework plus tôt dans le cours, à savoir le plan du joueur et du contrôleur. Je l'ai créé lors de l'événement. Passez le curseur sur la vidéo. Si vous voulez revoir cela. Bien que nous parlerons bientôt des manettes de jeu, c' est dans ce répertoire que je vais créer un tout nouveau mode de jeu. Cliquez donc avec le bouton droit sur un espace vide dans la classe Blueprint. Et ici, dans la classe que nous avons choisie, nous pouvons choisir un nouveau mode de jeu. C'est ce que l'on appelle la base du mode jeu. Et il dit même que cela définit le jeu joué, ses règles, ses scores, etc. Nous allons cliquer dessus. Je vais l'appeler notre mode de jeu BP Underscore. Ensuite, une fois cela créé, je vais cliquer avec le bouton droit de la souris et l'enregistrer immédiatement. Control plus S peut également enregistrer cela. Et je peux l'intégrer dans les paramètres de mon projet. Encore une fois, vous pouvez accéder aux paramètres de votre projet ici et ici. Sous les cartes et les modes se trouvent le mode jeu par défaut. Je vais changer cela pour qu'il devienne mon mode de jeu BP. Maintenant, notez qu'une fois que je l'ai fait, vérifié , le reste de mes plans de framework sera automatiquement défini . Maintenant, mon ThirdPersonCharacter n' est plus ici. Maintenant, je l'utilisais avec ma manette de jeu que j'ai fabriquée plus tôt. Je vais donc vouloir les remettre ici. Je vais donc terminer mon mode de jeu à la troisième personne que j'ai ouvert ici. Fermez ça. Et je vais ouvrir mon mode gay BP ici. Notez donc que si je change ma classe de pion par défaut dans mon mode de jeu BP que je viens de créer, si je la redeviens BP ThirdPersonCharacter, si je la change ici dans les paramètres de mon projet, sous Default Pawn Class, cela l'a également changé ici. De même, si je change de manette de jeu, il s'agit de la manette jeu que j'ai créée plus tôt dans le cours. manette du lecteur Bp en cas de début de curseur sur la vidéo. Si je change ça ici, les paramètres de mon projet , le contrôleur BP Player. Et je vais regarder à l'intérieur de mon mode de jeu BP. Vous pouvez voir que ce changement se reflète également ici. Donc, vous le modifiez à un endroit, vous le modifiez à l'autre. Je vais aller de l'avant et le sauvegarder ici. Maintenant, notez que ce n'est pas le seul endroit où j'aurais pu modifier toutes ces informations ou même définir mon mode de jeu lui-même, Bacchae par éditeur de niveaux. Si je devais cliquer ici sous ce bouton Blueprints, vous pouvez voir les paramètres du projet, le mode de jeu. Je pourrais créer un mode de jeu à partir d'ici. Je peux modifier mon mode de jeu à partir d'ici. Et en bas, j' ai aussi mes différentes classes de mode de jeu. Je pourrais donc sélectionner par exemple une manette de lecteur à partir d'ici. Je pourrais créer une manette de jeu à partir d'ici. Toutes sortes d'options sous ce bouton Blueprints, juste ici. C'est ainsi que vous pouvez accéder à votre mode de jeu, modifier votre jeu, en créer un nouveau, modifier tous les plans de structure qui existent à l'intérieur de celui-ci. Très bien, maintenant, pour un exemple, utilisez le cas d'un plan de mode jeu. Je vais avoir besoin d'un volume de déclenchement et j'en ai un à côté de mon niveau. Mais si vous souhaitez obtenir un volume de déclenchement ou une boîte de déclenchement, pareil. Vous pouvez cliquer ici. J'aime utiliser la boîte Trigger de base. Allez-y et déposez-le dans votre niveau. Ensuite, en l'sélectionnant dans le panneau Détails, vous pouvez définir l'étendue de votre boîte. J'en ai des centaines à tous les niveaux. J'ai réglé l' épaisseur de la ligne à dix. Et puis j'ai aussi, dans la section de rendu, désactivé l'acteur caché et les jeux pour que je puisse réellement voir ce volume de déclenchement. Maintenant, dans l'ancien plan de mon jeu, je vais créer une variable. Donc, en passant dans la section des variables, en cliquant sur ce bouton plus, je vais appeler cela des niveaux. Et dans le panneau Détails juste en haut, je vais changer le type de ma variable, au moins la première moitié pour qu'elle soit un entier. Ensuite, je vais cliquer sur cette petite liste déroulante juste à côté parce que je vais changer le type ici, le type de conteneur pour être un type de conteneur de carte. Cela va me permettre de créer une paire clé-valeur. Si vous n'avez pas vu la vidéo sur les conteneurs variables Map, c'est le bon moment pour la revoir maintenant, sinon je vais continuer. Donc, notre clé ici sera de type entier. La valeur R ici sera du type nom. Je vais compiler ceci et ajouter deux paires clé-valeur. La première chose que nous allons ajouter est donc de cliquer sur ce bouton plus. Et je vais faire en sorte que ce premier soit de niveau 1. Et je vais définir la valeur ici pour qu'elle soit la carte de départ. Ensuite, je vais cliquer sur le bouton Plus une fois de plus. Je dirais que le niveau deux sera associé à un score de soulignement minimal par défaut. Maintenant, si ces deux noms de cartes vous semblent familiers , c'est parce que dans notre contenu de départ, cartes, j'ai deux cartes portant ce nom, une carte de départ, une, des valeurs par défaut minimales. Vous remarquerez qu'en encadrant la carte de départ dans ma variable, il y a un peu de différence, mais cela n'a pas d'importance. Pas pour les noms, pas pour la gravure de types de variables. Donc, tout va bien se passer. Je vais compiler et enregistrer ceci très important pour que vous le fassiez pour la prochaine étape. Ensuite, je vais revenir à mon éditeur de niveau ici. Nous avons notre Trigger Box. Assurez-vous de l'avoir sélectionné pour notre prochaine étape ici. Et en cliquant sur notre bouton Plan, juste ici, nous allons cliquer sur ce plan de niveau ouvert. Assurez-vous que votre boîte de déclenchement sélectionnée Open Level Blueprint. Et nous allons cliquer avec le bouton droit et laisser de l'espace vide. Nous allons ajouter un événement pour cette boîte de déclenchement pour lorsque nous commencerons à la superposer, nous voulons savoir si l'autre acteur était notre ThirdPersonCharacter. Alors Cast to ThirdPersonCharacter, nous l'avons fait 1 million de fois. Et si en fait c'est notre ThirdPersonCharacter qui nous chevauchait, nous voulons accéder à certaines informations de notre mode de jeu. Maintenant, la façon dont nous pouvons le faire est de cliquer avec le bouton droit de la et de laisser un espace vide et de taper dans le mode jeu Maintenant, vous pourriez penser : OK, super. Nous pouvons maintenant y accéder avec cette note ici. Eh bien, pourquoi ne pas simplement sortir d'ici pour voir si je peux accéder à cette variable de niveau qui se trouve à l'intérieur d'ici. Alors allons-y et essayons ça, non ? Sortons d'ici et saisissons des niveaux. Et je ne vois cette variable nulle part ici. Eh bien, c'est parce que nous devons passer en mode de jeu RBP pour accéder à variable de niveau qui se trouve à l'intérieur de celui-ci. Essayons donc ce médicament par ici. Passez au mode de jeu BP. C'est le Gamow que nous venons de créer. Donc, si vous avez une configuration comme celle-ci, vous pouvez maintenant sortir du volet de votre mode de jeu SBP ici, taper des niveaux, et juste ici, vous pouvez obtenir vos niveaux, votre valeur clé paires. On va faire ça, c' est sortir d'ici. Je vais taper bind. Et je vais dire que lorsque nous commençons à nous chevaucher, nous voulons trouver le look numéro deux là pendant que nous parlons ici en mettant le numéro deux, nous voulons accéder au niveau juste ici, et nous voulons ensuite ouvrir le nom de la carte associé au niveau deux. Nous avons donc mis le numéro deux ici. Et je vais sortir d'ici et taper niveau ouvert par son nom. Vous pouvez voir que la sortie ici est un type de variable de nom, c'est ce nom juste ici, avec des valeurs minimales par défaut. Maintenant, lorsque nous chevauchons cette boîte de déclenchement, que nous passons à notre ancien plan de jeu et que nous disons «  hé, mode Jay », vous déterminez les règles de notre jeu. Et cette règle détermine que lorsque je chevauche cette case de déclenchement, je dois passer au niveau deux. Compilons ceci. Faisons des économies. Allons-y et jouons ici. Définit mon objet de débogage. Bien sûr. Vous pouvez donc voir ce script démarrer dès que je le superpose. Et nous y voilà. Nous avons là des valeurs par défaut minimales. Le nouveau niveau. 99. Mode de jeu (partie n° 2): Très bien, essayons un autre exemple ici. Cette fois, nous allons essayer de répondre au joueur. Donc, pour cela, je vais commencer par mon plan de personnage à la troisième personne. Sous des plans à la troisième personne, ThirdPersonCharacter. Nous allons d'abord créer un petit script ici. Donc, la première chose que nous allons faire est d'apporter une clé. Voyons ce que nous avons tous ici. Nous utilisons les quatre touches. Il semble que nous n' en ayons pas fait usage. Je vais donc cliquer avec le bouton droit sur un espace vide, taper quatre. Faisons du clavier pour. Et nous allons dire que lorsque nous appuyons sur la touche F4, nous allons simplement détruire l'acteur qui signifie nous-mêmes. En insistant sur ce point, nous allons nous détruire. Génial. Tout cela est nécessaire pour la prochaine étape. Donc, compilez et sauvegardez ceci. Maintenant, dans notre mode de jeu BP, allez-y. Nous allons passer au graphique des événements d'ici. Nous allons faire quelque chose en dehors de l'événement. Vous devez toujours être un peu prudent lorsque vous utilisez Event Tick. Vous pouvez Bork votre jeu en le faisant trop de scrip sur le tick de l'événement. Mais à des fins académiques, je vais utiliser ce fait. Si je suis d'accord avec les valeurs par défaut des classes, je dirais que notre intervalle entre les ticks sera toutes les 1 s. Nous n'avons pas besoin de prendre chaque image. Donc, nous allons dire toutes les 1 s. Je vais cliquer avec le bouton droit de la souris et un espace vide, pour obtenir le personnage du joueur. Nous allons ensuite traîner dessus et passer à notre personnage à la troisième personne. Ensuite, ce que nous allons faire, c'est sortir d' ici et taper « détruit ». Maintenant, si je commence à taper sur détruit, j'ai cette assignation sur détruit. C'est celui que je cherche, un panneau indiquant qu'il a été détruit. Maintenant, lorsque je clique dessus , je vais ajouter deux nœuds, un nœud Bind, ainsi qu'un événement personnalisé. Je vais décrire ce qui se passe ici dans un instant pour y intégrer les choses comme ça. Et je laisserai ce nom d'événement personnalisé tel quel. Maintenant, si tout cela vous semble familier ici, ce lien, euh, vers cet événement personnalisé. C'est parce que c'est une configuration que nous utilisons lorsque nous parlons répartiteurs d' événements pour écouter cela sur les événements détruits, dans ce cas, pour notre ThirdPersonCharacter, à laquelle nous nous abonnons notre ThirdPersonCharacter est sur Event Dispatcher détruit. C'est essentiellement ce que nous faisons. Vous vous dites peut-être d' attendre une minute. Dans notre ThirdPersonCharacter, nous n'avons pas tout créé d'Event Dispatcher. Eh bien, si je reviens dans mon ThirdPersonCharacter, si je fais défiler la page vers le bas jusqu'à mes répartiteurs d'événements, je pourrai trouver dans jeu Event Dispatcher un répartiteur pour une destruction. Maintenant, ça commence quand je détruis l'acteur. Maintenant, si vous ne voyez rien de tout cela ici, c'est parce que vous devez cliquer sur cette icône d'engrenage et afficher l'héritage. Si vous désactivez cette option, n'affichez pas l'héritage, vous ne le verrez pas. Il s'agit d'un Event Dispatcher hérité de la classe parent. Donc, si vous l'allumez au jeu ThirdPersonCharacter Event Dispatchers, OnDestroy, il sera appelé. Cela envoie un signal lorsque nous détruisons notre personnage ici dans notre mode de jeu, ce que nous faisons ici, c'est que nous nous abonnons, nous sommes attentifs à ce que cet événement détruit se produise. Et puis, lorsque cela se produit, cela se déclenche et indique au nœud suivant de faire ce que nous voulons qu'il fasse. Maintenant, ce que nous voulons faire, c'est répondre, recommencer avec nos joueurs. Nous pouvons donc le faire bouton droit de la souris et utiliser un espace vide dans le contrôleur Git Player. Et si nous accédons à l'intérieur notre contrôleur de lecteur générique, ici nous recherchons le lecteur de redémarrage. Il existe un nœud de fonction lié à la manette de votre lecteur. Cela redémarrera votre lecteur à l'emplacement de votre acteur de départ. Donc, cette configuration ici suffira. Alors vérifions-le. Je vais compiler et enregistrer en jeu. Ce sont donc les quatre clés qui vont nous détruire. Et quand nous serons détruits, nous répondrons immédiatement à cet endroit. Alors laisse-moi m'enfuir de cet endroit. Les quatre clés. Je réponds à cet endroit, j'appuie sur une clé étrangère, je réponds à cet endroit, etc. Maintenant, pour ceux d'entre vous qui disent, Hey, pourquoi utilisons-nous Event Tick ici ? Eh bien, si c'est le cas, un événement a commencé à se dérouler, allons-y et donnons Event Begin Play. Commençons, terminons l'événement, commençons à jouer et à essayer. Que se passerait-il ici ? Et désactivons simplement cela. Est-ce que nous sommes à l'écoute de cet événement OnDestroy ? Dès que nous commencerons à jouer ici, c'est génial. Mais cette écoute de cet événement a déjà eu lieu. Donc, cela ne déclenchera les adhésions ponctuelles à cet événement. Lorsque nous commençons à jouer, nous l' écoutons une seule fois. Donc, si j'appuie sur la touche F4 ici, cela nous ramène une fois en arrière. Mais si j'appuie à nouveau sur la touche F4, cela n'arrive pas. C'est parce que nous avons écouté pour la première fois lorsque nous avons commencé à jouer avec Event Tick. N'oubliez pas que nous écoutions cela à chaque seconde. C'est ainsi que nous avons configuré notre coche d'événement dans les paramètres par défaut de notre classe , d' accord, quelques notes du mode jeu pour terminer cette vidéo. Le jeu peut avoir un certain nombre de modes de jeu. Nous n'avons qu'une seule configuration à la fois dans les paramètres de notre projet, votre mode de jeu principal étant configuration à la fois dans les paramètres de notre projet, votre mode de jeu principal configuré dans les paramètres de votre projet. Mais n'oubliez pas que vous pouvez modifier le mode de jeu utilisé dans les paramètres de votre monde. Et vous pouvez le trouver dans les paramètres du monde Windows , juste là. Il est toujours possible de modifier le mode de jeu dans les paramètres de votre projet. Le plan du mode de jeu vous permet définir les règles de votre jeu. Des choses comme les lieux de réponse, le niveau à atteindre ensuite, nombre de joueurs autorisés, ce genre de choses . Le mode Jeu n'est pas un bon plan pour stocker des variables qui doivent transférer des données d'un niveau à l'autre. Des choses comme des vies ou des points. Maintenant, c'est parce que lorsque vous ouvrez un nouveau niveau, toutes les variables sont créées et stockées dans le mode de jeu, ou reprennent leurs valeurs d'origine. Et je veux le démontrer ici rapidement avant de terminer cette vidéo. Très bien, supposons que dans notre mode de jeu BP c'est un endroit idéal pour stocker le nombre de vies. Le personnage peut avoir une alerte spoiler. Ce n'est pas le cas, mais jouez simplement le jeu dans notre section sur les variables, vous allez cliquer sur ce bouton plus. Je vais mettre ça en vie. Et c'est ici que vous pouvez vous assurer qu'elle est définie sur une seule variable de type entier. Je vais définir ma durée de vie par défaut ici à cinq. La raison pour laquelle la mienne est apparue à cinq parce que j'ai coupé la vidéo dedans, recréée à l'avance. Maintenant, je vais compiler ceci et enregistrer ce qui est très important pour ce faire. Ensuite, ce que je vais faire, c'est faire en sorte que dans mon personnage à la troisième personne de BP, je réduise le nombre vies que nous avons dans notre mode de jeu. Donc, personnage à la troisième personne. Je vais cliquer avec le bouton droit. Je ne pense pas faire quoi que ce soit en utilisant les six touches. Donc, à partir de là, nous allons faire un clic droit sur le mode Jeu. Nous passerons à notre mode de jeu BP. Et une fois cela fait, nous pouvons atteindre l'intérieur d'ici découvrir combien de vies nous avons pour le contenir. Mettons-nous de côté nos vies, nous en sortirons et saisirons des décréments. C'est une sorte de nœud spécial dans la mesure où nous menons nos vies ici. Nous en avons cinq, cela va en réduire un, soustraire un, et ensuite cela va le faire reculer. Il n'est donc pas nécessaire de créer des vies ici non plus. Nous allons donc passer au 54321, etc. Ce serait génial. Maintenant, quand tout cela arrivera, laissez-moi compiler ceci. Sauvez. Souvenez-vous que dans mon plan de niveau, j'ai fait en sorte que lorsque je chevauche cette boîte de déclenchement, je me transporte au niveau deux. Donc, après avoir atteint le niveau, mon personnage à la troisième personne viendra, j'appuierai sur la touche six et verrai combien de vies nous avons. Ce sera donc notre preuve que l'envol vit dans notre mode de jeu. n'est pas une bonne idée car ces variables reprennent leur valeur par défaut lorsque vous changez de niveau. On y va. Alors cliquez et jouez. Je vais appuyer sur cette touche 6. Nous pouvons voir, en fait, vous savez ce que je dois faire, je dois l' imprimer à l'écran. Allons-y ici. Chaîne d'impression. Imprimons ces résultats. Comme ça. Compilez, enregistrez et jouez. Définissez mon option de débogage comme étant mon ThirdPersonCharacter. Alors maintenant, quand j'appuie sur la touche 6, 4321, il me reste une vie, pour ainsi dire. Je vais faire double emploi. Nous allons passer à un autre niveau. Maintenant, quand j'appuie sur la touche six, vous pouvez supposer que j'ai une vie, je ne devrais pas descendre à zéro, mais 4321, cette variable de vies, revient à zéro. Il suffit donc de quelques nuances à comprendre avec le schéma du mode jeu. Toutes les variables que vous définissez ici seront définies sur, elles retrouveront leurs valeurs par défaut si jamais vous changez de niveau. Très bien les gars, ça va tout faire pour cette discussion sur les plans du mode jeu. C'est le plan qui définit d'autres plans de framework ici à l'intérieur des valeurs par défaut de votre classe. Et c'est l'endroit idéal pour définir les règles de votre jeu, telles que la fonctionnalité de réponse. Ça suffira pour cette vidéo. Rendez-vous dans la prochaine. 100. Mettre en gage: Bienvenue et poursuite de notre discussion sur les plans directeurs. Notre objectif dans cette vidéo est de découvrir ce qu'est un plan de classe sur gage. Comment en créer un et comment en configurer un afin que notre projet sache comment utiliser sont créés Pawn Class Blueprint en tant qu' avatar par défaut que nous voulons contrôler. Parlons donc de ce qu' est un plan de classe sur pion, un étang, un acteur qui peut être possédé et recevoir des commentaires. Il s'agit de la représentation physique d' un joueur ou d'une entité IA dans le monde. Désormais, les pions peuvent être humanoïdes, tout comme nos personnages à la troisième personne que nous contrôlions jusqu' à présent dans le cours. Ou ce n'est peut-être pas un humanoïde. Cela peut donc être quelque chose comme une voiture ou un vaisseau spatial, une boule roulante, quelque chose comme ça, que vous pouvez contrôler. Très bien, allons-y et créons une classe de pions. Et je pourrais le faire directement à partir d'ici dans les paramètres, les cartes et les modes de notre projet, menu déroulant du mode de jeu sélectionné en cliquant sur ce bouton plus juste à côté de Default Pawn Class, je pourrais créez le plan approprié à l'aide de cette méthode. Je choisis juste un dossier. Je voudrais l' enregistrer dans et cetera. Cependant, je ne vais pas le faire juste pour vous montrer comment nous pouvons le créer ici dans notre éditeur de niveaux, je vais passer dans mon dossier de framework de script. Et si je clique avec le bouton droit ici, je peux aussi entrer dans la classe Blueprint. Et vous avez vu cette fenêtre un million de fois, choisissez une classe de parents. L'une des classes les plus courantes à créer est une classe de pion. Ensuite, ici, il est dit qu' un pion est un acteur qui peut être possédé et recevoir des informations d'un contrôleur. Allons-y et cliquons ici sur le pion. Et je vais appeler ce gars BP Underscore Pawn. Ensuite, je vais double-cliquer sur m2, l' ouvrir tout de suite. Nous allons configurer certains éléments dans le panneau Composants. Donc, la première chose que nous allons ajouter ici, cliquez sur Ajouter sous les composants, c'est que nous allons ajouter un maillage statique. Et dans le panneau Détails, j'ai un maillage statique donné en tête. C'est le HMD que je veux rechercher. Je cherche ce HMD générique. Maintenant, c'est quelque chose qui se trouve dans la trajectoire de votre moteur. Donc, si vous ne le voyez pas et que vous voulez jouer le jeu à la maison, cliquez sur l'icône en forme d'engrenage, assurez-vous que l'option Afficher le contenu du moteur est activée. Cela va ressembler à un casque VR. Nous allons contrôler l'un d'entre eux. Je vais envoyer ma balance ici, 255,5 avec cette icône de verrouillage activée, je peux simplement en changer une. Je vais choisir celle du milieu ici, l'échelle y, cliquez sur F5. Ensuite, quand j'appuie sur Entrée, parce que j'ai cette icône de verrouillage définie ici. En appuyant sur Entrée, il sera réglé sur cinq dans l'ensemble du tableau. Très bien, je vais également changer le matériau pour ce soit Chrome. Je vais faire une boule chromée. Donc on va, on va piloter quelque chose comme ça. C'est passionnant. Très bien, le prochain composant que je souhaite ajouter ici. Assurez-vous que notre itinéraire vu par défaut est sélectionné. Voici donc comment cela fonctionne. Le senior par défaut de tous les autres composants que vous ajoutez y sera attaché. Donc, à l'heure actuelle, notre maillage statique est attaché à notre racine de scène par défaut. s'agit essentiellement d'un point de l'espace auquel nous attachons des objets. Je vais donc choisir l'itinéraire vu par défaut, choisir le bras à ressort, le bras à ressort. Pense à ça comme une perche à selfie. Nous allons également l'utiliser pour attacher un composant de caméra, ce également l'utiliser pour attacher un composant de caméra, qui pourrait être le cas, avec mes composants à ressort sélectionnés. Je vais ajouter et attacher des composants de caméra, pas un appareil photo Sony, juste de vieux appareils photo. Un beau nom. Je vais accepter cela afin que nous puissions voir caméra est attachée à notre bras à ressort. Pour la caméra, je vais définir l'emplacement sur 100. Laissez-moi zoomer sur mes fenêtres d'affichage. Je vois que la rotation nous allons définir est négative à 20. Et si je sélectionne mon bras à ressort, vous pouvez voir tout de suite que si je devais faire pivoter mon bras de pulvérisation appuyant sur la barre d'espace, la caméra irait de pair. Maintenant, la raison pour laquelle c'est décalé, c'est qu'elle n'est pas attachée à cette ligne rouge. La caméra à ressort, qui est déterminée par cette longueur de bras. Au fait, vous pourriez le régler plus loin, plus loin, plus près, je vais le mettre à 300. Maintenant, la raison pour laquelle ce n' est pas attaché à cette ligne rouge, c'est parce que j'ai réglé la hauteur Z sur 100 et que nous l'inclinons vers le bas de moins 20 degrés dans la direction y. Enfin et surtout, nous allons ajouter un Move flottant qui est un composant de mouvement d' étang flottant. Et il est indiqué dans notre petite infobulle qu' s'agit d'un composant de mouvement qui permet un mouvement simple pour n'importe quelle classe de pions. Je dis que nous y allons, oui, car nous en aurons besoin pour déplacer ce casque géant. Maintenant, je vais tricher ici. Je vais copier et coller un script de notre ThirdPersonCharacter dans le graphe des événements de nos pons. J'ai donc ouvert mon ThirdPersonCharacter ici. Si tu as oublié ou si ce type est un plan à la troisième personne. Voilà votre personnage à la troisième personne. Alors, qu'est-ce que je veux voler ici ? Eh bien, je veux voler. Les commandes de mouvements. Donc, là où il est écrit mouvement, saisie, manette de jeu et souris, je vais cliquer avec le bouton gauche de la souris, faire glisser tous ces contrôles C. Je vais accéder au graphique des événements de mes étangs. Je vais tous les supprimer et utiliser Control V pour les coller ici. Ensuite, je vais revenir à mon ThirdPersonCharacter. Et je veux pouvoir regarder autour de moi. Ce sera donc notre aperçu commandes de la souris. J'utilise une souris. Tu as une manette de jeu. Regardez autour de vous les commandes ici. Je vais voler les entrées de la caméra, les entrées de la souris. Cliquez avec le bouton gauche de la souris, Control C , retournez dans mon étang, Control V. Maintenant, c'est très bien. Cela me permettra de regarder à gauche et à droite. Le lacet et le terrain ici me permettront de regarder de haut en bas. Cependant, je dois redéfinir quelque chose dans les valeurs par défaut de ma classe pour mon étang ici. Donc, dans les valeurs par défaut de ma classe, pion, je cherche quelques cases à cocher, et elles sont juste là où il est dit d'utiliser le pas de rotation du contrôleur. Je veux m'assurer que cela est vérifié. Où il est dit d'utiliser la mâchoire de rotation du contrôleur. Je veux m'assurer que cela est également coché afin de pouvoir incliner ma caméra de haut en bas et de regarder à gauche et à droite. Bien, une fois tout cela fait, je vais compiler et enregistrer. Et maintenant, pour que je puisse vraiment le tester, je dois insérer mon pion BP ici pour qu'il soit ma classe de pion par défaut. Maintenant je peux le faire ici. Mais juste pour montrer les différentes techniques, je vais revenir à mon éditeur de niveaux ici. J'ai ce plan de bouton juste ici. Je vais donc sélectionner que mon mode de jeu actuel est mon mode de jeu b p. Permettez-moi de descendre dans mon dossier de framework de script. Vous pouvez voir dans la dernière vidéo que nous avons créé le mode de jeu BP en cliquant ici. C'est actuellement mon mode de jeu. Donc, si je choisis dans ce menu déroulant, pion actuellement, ThirdPersonCharacter, sélectionnons une nouvelle classe de pion. Et je vais choisir mon b p sur. Je vais donc le placer juste là. Vous pouvez voir si je reviens ici, viens juste en dessous, qui est maintenant devenu mon nouvel étang. Si je passe en mode jeu, acide lui-même en double-cliquant dessus. Vous pouvez voir ici ma classe de pion par défaut a maintenant été modifiée. De plus, si vous accédez aux paramètres de votre projet, vous pouvez voir que votre classe de pion par défaut a également été modifiée ici. Vous pouvez donc le modifier à l'un de ces trois endroits. Cela change les choses à d'autres endroits. Alors maintenant, quand je cliquerai sur le bouton de lecture ici, je n'apparaîtrai pas comme le ThirdPersonCharacter juste là le joueur commence l'acteur, je vais apparaître comme son casque VR géant. Allons-y et jouons-y. Laissez-moi retourner dans mon étang ici aussi. Vous pouvez donc voir ce script démarrer. Je vais donc cliquer sur Play ici. Voilà mon casque géant. Permettez-moi de sélectionner mon objet de débogage tel qu'il est apparu dans BP Pond. Vous pouvez donc voir que tout cela se déclenche continuellement. L'axe d'entrée tourne à droite. Permettez-moi de zoomer un peu sur ce point. Ils se déclenchent continuellement. L'axe d'entrée se déplace vers l'avant et vers l'arrière, se déplace vers la droite Les événements de l'axe se déclenchent continuellement comme ça. Voyons si je peux me déplacer. Nous pouvons voir que je peux regarder autour de moi et maintenir le bouton droit de la souris enfoncé. Gauche et droite. C'est du lacet, du tangage de haut en bas. À St. Andy, on dirait que je me déplace. Il suffit de découvrir que nous avons maintenant un pion avec lequel nous pouvons jouer. Et voilà, vous l'avez. Si vous avez ces composants dans ce script, vous pouvez également avoir des plans de classe à contrôler dans votre jeu. Bien entendu, vous devez le configurer dans votre mode de jeu, dans paramètres de votre projet dans cet emplacement par défaut de Pawn Class. Plutôt cool. Très bien, dans la deuxième partie nous allons créer un plan de classe de personnages. Une classe de personnage dérive d'une classe de pion. Nous vous verrons tous dans la prochaine vidéo. 101. personnage : Très bien, bon retour. Dans cette vidéo, notre objectif est de créer un plan de classe de personnages à partir de zéro. Maintenant, la classe de personnage est une extension de la classe Pawn, et c'est un type spécial de pion qui a la capacité de se déplacer. J'ai pensé que je pourrais l'inclure ici dans notre discussion sur les plans directeurs, car dans les paramètres de notre projet, où se trouvent tous nos plans de cadre, ainsi que dans notre mode de jeu, où les plans du cadre peuvent être trouvés dans une fente dans l'un ou l'autre. Nous avons un emplacement pour Default Pawn Class, où un plan de classe de personnage peut être placé soit dans un étang, soit un personnage peut être inséré parce que le personnage dérive de la classe Pawn. Maintenant, pour vous aider à comprendre ce point, nous allons retourner dans notre dossier de structure de script. Et nous allons cliquer avec le bouton droit sur un espace vide où nous allons créer une classe Blueprint. Et ici, dans notre fenêtre de sélection de la classe parent, nous pouvons voir si nous choisissons un personnage. Il dit qu'un personnage est un type d'étang qui permet de se promener. Et si nous passons à la section Toutes les classes consultez la hiérarchie des différentes classes de blueprint. En dessous de la classe d'acteur. Nous pouvons le constater, je viens d'étendre ce triangle là-bas. Nous pouvons trouver la classe Pawn. Pawn hérite de l'acteur. Et à l'intérieur, nous pouvons voir que la classe de personnages hérite du pion. Je vais choisir le personnage ici. Je vais nommer ce personnage de soulignement BP, soulignement féminin. Ensuite, nous allons double-cliquer dessus pour l'ouvrir. Et vous pouvez voir que nous avons un peu de travail à faire ici car nous ne voyons rien dans notre fenêtre d'affichage. Alors allons-y et commençons. La première chose que je veux faire à l'intérieur de notre personnage, plan féminin sur ses valeurs par défaut de classe. Je veux passer sous le panneau Détails et où il est indiqué utiliser le lacet de rotation du contrôleur. Je veux décocher cette case. Remarque. Si cela reste vrai, notre personnage sera automatiquement orienté dans la direction que nous regardons. Tu sais comment faire pivoter cette caméra autour de ton personnage. Eh bien, si vous laissiez cela vrai, votre personnage regarderait automatiquement dans cette direction également. Je veux désactiver cette option parce que je veux que notre caméra regarde réellement le personnage face à face. Vous pouvez expérimenter cela si vous le souhaitez, lorsque nous aurons terminé tout ce processus. Très bien, je vais maintenant sélectionner notre maillage. Et dans le panneau Détails, je dois insérer un maillage squelettique. Allons-y et chaussures. Nous avons SKS, Manny, qui est la version masculine que je vais faire S, K, M, Quinn. Ce sera la version féminine qui se chargera ici. Maintenant, pendant le chargement, je vais également m'inscrire dans un cours d'animation. Donc, en cours d'anime, je vais chercher ABP Quinn. Et vous allez maintenant voir Quinn s'animer. De plus, je dois définir un peu le maillage de mes personnages ici. Je vais donc définir l'emplacement, l'emplacement z, sur une valeur négative 87. Je vais être très précis à ce sujet. Ça va suffire. La rotation que je vais définir est négative à 90. Cette flèche bleue indique les avants. Vous voulez donc que votre personnage orienté vers l'avant comme ça. Très bien, après avoir sélectionné notre composant capsule, je vais ajouter un bras à ressort. Un composant à ressort ressemble essentiellement à une perche à selfie, bien qu'il existe un ou deux réglages qui peuvent être très utiles pour contrôler les éléments de votre appareil photo. Je vais laisser ce nom là en tant que bras à ressort et plus dans le panneau Détails, je veux trouver dans les paramètres de la caméra, ici, Utiliser la rotation du bouton. Je veux m'assurer que cela est vérifié. Maintenant, cela va faire en sorte que lorsque nous maintenons le bouton droit de la souris enfoncé dans notre jeu et que nous pivotons, la caméra tourne, ce que nous voulons. Vous pouvez donc jouer avec ce réglage dès que nous en aurons terminé avec cette vidéo. Ensuite, je souhaite sélectionner, avec les composants de mon bras à ressort sélectionnés ici. Vous souhaitez ajouter un appareil photo. De nos jours, la caméra de Sydney, mais juste une caméra ordinaire, et elle devrait être indentée comme ça. De cette façon, la caméra est attachée à votre bras à ressort, est essentiellement attachée à l'extrémité de votre perche à selfie ici pour que vous puissiez voir mon bras à ressort. Si je devais modifier la longueur du bras cible, la caméra s'adapterait à lui. Rétablissez cette valeur à sa valeur par défaut de 300 pour l'instant. Donc, avec mon appareil photo sélectionné, il n'y a rien que je veuille changer ici, même si je dois souligner à l'intérieur que si vous le souhaitez, vous pouvez modifier quelque chose comme votre champ de vision réglage. Beaucoup d'utilisateurs aiment jouer avec ça. Jouez avec cela, trouvez un champ de vision qui vous convient. Ensuite, je vais modifier la composante du mouvement de mon personnage ici. J'en ai un à l'intérieur qui s'appelle Orienter la rotation par rapport au mouvement. Maintenant, il existe de nombreux paramètres différents à l'intérieur du composant de mouvement de votre personnage qui contrôlent les propriétés de déplacement de votre personnage. Si je cherche ce public. C'est celui que je recherche, Orienter Rotation en deux mouvements. Je veux vérifier cela. En cochant cette case, je vais orienter le personnage, c'est-à-dire faire pivoter le personnage pour le déplacer dans la direction que vous essayez de prendre. Sans cela, votre personnage pourrait avoir l'air marcher dans une direction alors qu'il se déplace réellement dans une autre direction. C'est donc une bonne idée pour vous assurer que vous avez bien été vérifié. Ensuite, si je passe à notre graphique des événements, vous pouvez voir que je n' ai aucun script ici qui contrôlera la façon dont mon personnage se déplace. Je vais tricher pour gagner du temps. Je vais donc supprimer ces nœuds. Nous allons nous lancer dans notre ThirdPersonCharacter et y voler quelques nœuds , comme nous l'avons fait dans la dernière vidéo. Donc, si ThirdPersonCharacter n'est pas ouvert sous le personnage à la troisième personne , plans double-cliquent sur votre personnage à la troisième personne. À l'intérieur, nous allons voler nos commandes de mouvements ici, tout ça, clic gauche, glisser-déplacer, contrôler C, entrer dans notre personnage, femme, contrôle V pour coller. Cela va contrôler les mouvements de notre personnage vers l'avant et vers l'arrière, ainsi que nos mouvements de gauche et de droite sous notre ThirdPersonCharacter. Une fois de plus, je vais maintenant voler ma souris d'entrée de caméra. Si vous avez une manette jeu avec laquelle vous souhaitez également jouer à votre jeu, vous pourriez envisager de la voler. Je ne le contrôle qu'avec la souris, donc je vais cliquer avec le bouton gauche et faire glisser la souris ici, contrôler C, passer sous le personnage féminin, contrôler V. Et une fois tout cela fait, allons-y compilons et enregistrer. Très bien, ensuite, nous allons placer notre personnage BP féminin comme classe d'étang par défaut. Revenons donc à notre éditeur de niveaux ici. Et je veux mettre cela en parallèle avec notre environnement mondial. Je vais remplacer notre configuration du monde, paramètres de notre projet dès maintenant. J'utilise mon mode de jeu b p. Si j'utilise ce mode de jeu pour l'ensemble de mon projet, cela déterminera les plans de structure utilisés pour chaque niveau, chaque carte de mon projet, à moins que je ne les remplace dans les paramètres de mon monde. Donc, en ce moment, les paramètres de mon projet disent : « Hé, si tu cliques sur le bouton Play, tu vas utiliser ton bassin de pression artérielle. Et on peut le voir en jouant. Il y a mes casques VR pour enfants. C'est mon bassin BP que nous avons créé ici dans notre dossier cadre, BP Pond. Je veux dire que je suis un univers. Je vais le changer uniquement pour cette carte. Cela remplacera les paramètres du projet. Maintenant, pour ce faire, je vais choisir un mode de jeu différent dans les paramètres de mon projet. J'ai actuellement mon mode de jeu BP. Donc, je dirais pour notre environnement mondial. Et si ce n'est pas le cas, vous pouvez accéder à Windows et activer les paramètres de votre monde directement à cet endroit. Cela va faire apparaître ce panneau. Pour notre mode de jeu ici, j' utiliserai, disons BP, le mode de jeu à la troisième personne. Et alors que nous avons normalement le personnage à la troisième personne inscrit en tant que personnage à parcourir avec des montres en cliquant sur Play, nous contrôlons parcourir avec des montres en cliquant sur Play, désormais le ThirdPersonCharacter. Au lieu de notre pion BP, je peux dire à la place, choisissons d'utiliser notre personnage BP féminin. Juste pour montrer une autre façon de placer quelque chose ici, je pourrais choisir quelque chose dans la liste déroulante. Cependant, je pourrais sélectionner mon personnage de BP féminin ici. Une fois cette option sélectionnée, cliquez simplement sur cette flèche ici pour utiliser l'acide sélectionné dans le navigateur de contenu. Et maintenant, avec cet emplacement, je pouvais contrôler mon personnage féminin BP, mon personnage féminin. Et vous pouvez voir que je me déplace dans la direction que mon personnage oriente, ou que mon personnage est orienté dans la direction que je souhaite suivre. Et aussi je suis capable de courir vers la caméra comme si je m'améliorais. Certaines de ces cases à cocher, des cases à cocher m'ont permis de sortir d'ici rapidement. Si je devais revenir à mon personnage BP, composante mouvement du personnage féminin et décocher, Orienter la rotation vers les mouvements. Puis cliquez sur Play. Maintenant, jetez un œil à cela. Quand je me déplace, c'est mon personnage qui le fait. Ils ne s'orientent dans la direction que j'essaie de suivre. Je vais donc commencer et remettre cette composante de mouvement du personnage en arrière. Allons-y et vérifions-le. Suivant. Notez que dans notre composant à ressort, nous l'avions vérifié. Je dois annuler le filtre de recherche ici. Nous avions vérifié ce jeune lors du réglage de la rotation. Si je décoche cette case et que je joue et que je maintiens le bouton droit de la souris enfoncé, ce que j'essaie de faire en ce moment. Je ne suis pas vraiment en train de tourner autour de mon personnage. Au lieu de cela, la caméra se déplace et tourne d'elle-même pour faire face à la direction dans laquelle se déplace mon personnage. Je n'aime pas forcément ça, alors je vais vérifier ça à nouveau. Enfin, si vous vous souvenez valeurs par défaut de notre classe, nous avions fait en sorte que nous n' utilisions pas la rotation du contrôleur de manière non cochée. Oui, si nous avions ce chèque, si c'était le cas. Ensuite, nous sommes allés de l' avant et nous avons joué, je vais me lancer en utilisant WAS et D. Vous pouvez voir comment vous pouvez obtenir ce genre de résultat effrayant, qui a l'air terrible. Je peux le faire pivoter comme ça. Et mon personnage va patiner et simplement faire face à la direction que je regarde. Je n'aime pas trop ça. C'est pourquoi je préfère que cela ne soit pas contrôlé également. Très bien, vous l'avez. Nous avons créé un plan de classe de personnages à partir de zéro. cela créé, vous pouvez ajouter n' importe quel personnage ou étang à Une fois cela créé, vous pouvez ajouter n' importe quel personnage ou étang à votre classe par défaut et quel que soit le mode de jeu que vous avez choisi. Vous pouvez le voir ici, dans les paramètres de notre monde, nous remplaçons le mode de jeu sur cette carte, uniquement sur ce monde que nous avons défini dans les paramètres de notre projet. Si rien n'était en arrière dans les paramètres de notre monde, les paramètres du projet détermineraient classe de pion qui serait utilisée sur cette carte. Ça suffira pour offrir celui-ci, les gars, à bientôt. 102. Contrôleur de joueur: Bienvenue. Dans cette vidéo, notre objectif est de découvrir le rôle du modèle de manette de jeu dans la configuration globale de notre projet de jeu. Et aussi pour explorer certains concepts de script souvent associés aux plans des manettes des joueurs. Maintenant, si je devais me plonger dans mes paramètres, les paramètres de mon projet, dans notre section cartes et modes. Si nous étendons notre mode de jeu sélectif ici, nous pouvons trouver la classe de manette du joueur. Une fois de plus, nous pouvons placer une manette de jeu ici ou dans notre mode passerelle par défaut. Si nous changeons quelque chose à l'intérieur de notre mode passerelle par défaut, c'est l'un de ces modèles de framework ici. Cela le changera également dans les paramètres de notre projet. Le mode de jeu est donc celui qui détermine l'arrêt du framework. Les plans le modifient en un seul endroit, comme ici. Cela changera cela dans votre mode de jeu et vice versa. Si vous le modifiez ici dans votre mode de jeu, comme une manette de jeu, cela changera dans les paramètres de votre projet. La classe de manette du lecteur sera donc au centre de cette vidéo. Ceux d'entre vous qui jouent depuis le début de cette vidéo se souviennent peut-être que nous avons créé un plan de manette de lecteur. En fait, dans la vidéo intitulée «  Événements », commencez à placer le curseur sur. Nous avons créé une manette de lecteur BP. Et la raison pour laquelle nous l'avons créé est que nous puissions activer et cliquer sur des événements et également afficher le curseur de la souris. Il y a certaines choses spécifiques à un plan de manette de jeu que nous avons explorées plus tôt dans le cours, juste pour les mettre en valeur. Mais maintenant, voici la partie où nous avons expliqué ce qu'est une manette de jeu. Ce qui est à usage général se trouve dans le cadre des plans d'Unreal Engine. Maintenant, pour mieux comprendre en quoi consiste le plan d'une manette de joueur dans Unreal. Envisagez ce scénario. Pensez à un jeu comme Lego Star Wars, où vous pouvez contrôler une multitude de personnages, mais un seul à la fois. En tant que joueur, vous avez des envies, des choses que vous aimeriez faire avec votre personnage et le jeu lui-même. Vous, le joueur, maniez une manette. Dans ce cas, nous dirons qu' il s'agit de cette manette Xbox. Maintenant, vous jouez au jeu et vous ne contrôlez qu'un seul personnage à la fois. Disons que vous commencez en tant que Yoda ici. Vous pouvez appuyer sur le bouton A pour les faire sauter. Vous pouvez appuyer sur la touche X pour lui faire balancer son sabre laser, etc. Mais maintenant, disons que Yoda meurt. Désolée, Yoda, tu es parti. Ce personnage a disparu. Maintenant, votre manette de jeu, qui est représentée par cette manette, possède un nouveau personnage, en l'occurrence Anakin. Maintenant, encore une fois, avec Anakin, vous pouvez appuyer sur le bouton A pour sauter, sur le bouton X pour manier son sabre laser, etc. Mais alors, oh, et je pourrai mourir. Donc, cette classe de personnage passe au revoir. Cependant, votre manette de jeu perdure et elle continue de s'attacher aux nouveaux joueurs. Dans ce cas, vous contrôlez maintenant compte Du Gu était à nouveau, vous pouvez appuyer sur le bouton a pour sauter, appuyer sur le bouton X pour balancer son sabre laser, etc. Et peut-être souhaitez-vous même faire quelque chose comme accéder au menu de pause. Maintenant, si vous deviez intégrer certaines de ces fonctionnalités dans le schéma de classe de personnage, que se passerait-il si votre personnage est mort ? Par exemple, et si vous étiez de retour ici pour contrôler Yoda ? Et cette fonctionnalité permettant de mettre le jeu en pause existait dans le plan de votre classe de personnage Yoda. Eh bien, une fois qu'il sera mort, il n'y aura aucun moyen de mettre le jeu en pause. plans des manettes de jeu existent tout au long de votre session de jeu Et vous pouvez imaginer une manette de jeu comme étant les cordes de marionnettes utilisées pour contrôler votre marionnette, votre classe de personnage. Donc, toute sorte de fonctionnalité partagée que vous pouvez avoir entre les classes de personnages ou toute fonctionnalité que vous souhaitez avoir pour vous, le joueur lui-même, comme la pause du jeu ou interaction avec un écran de menu. Ce type de fonctionnalité que vous souhaiteriez intégrer au schéma de votre manette de lecteur. Bref, les choses à retenir avec une manette de jeu, contrôleurs Blueprint sont des acteurs non physiques qui peuvent posséder un étang ou une classe dérivée d'un étang, comme un personnage. Par défaut, il existe une relation biunivoque entre les manettes, une manette de joueur et un pion, c'est-à-dire un personnage. Chaque contrôleur ne contrôle qu'un seul bassin à la fois. Et les contrôleurs de jeu sont mieux utilisés pour implémenter fonctionnalités centrées sur l'utilisateur , comme l'affichage d'un menu de pause ou d'un écran d'inventaire Ou pour des fonctions de personnage partagées, comme utiliser un sabre laser si tous vos personnages peuvent faire ce genre de choses. Ou sauter, si en fait tous les personnages possibles peuvent également sauter, toute sorte de fonctionnalité spécifique au personnage, ce type de fonctionnalité devrait exister dans votre bassin ou personnage le plan de classe lui-même et non le contrôleur du joueur. D'accord ? Si vous ne possédez pas encore manette de joueur, Blueprint a été créé plus tôt dans le cours. Vous pouvez en créer un maintenant en cliquant avec le bouton droit. Contrôleur de jeu de classe Blueprint. Et nous avons appelé ce gars BP Player Controller. Et encore une fois, vous souhaitez intégrer cela dans votre framework. Vous pouvez le faire dans les paramètres de votre projet, accessibles ici sous Paramètres, paramètres du projet, et sous Cartes et modes, vous pouvez l'insérer directement là. Sinon, dans votre mode de jeu, créez le plan lui-même. Et encore une fois, c' est le mode BP Game qui domine notre projet ici. Dans cet atout lui-même, le plan du mode de jeu. Sur le côté droit, vous pouvez y insérer votre manette de jeu. Vous le modifiez ici, vous le changerez également dans les paramètres de votre projet. Revenez également dans votre éditeur de niveau, si vous passez sous le bouton Blueprints juste ici et que vous vous développez dans les paramètres du projet, le mode jeu, la manette du joueur. Ici, vous pouvez modifier votre manette de jeu actuelle, créer une toute nouvelle ou sélectionner une existante. Maintenant, si vous ouvrez votre manette de lecteur BP ici, plus tôt dans le cours, nous avons sélectionné la classe par défaut à l'intérieur de notre manette de lecteur BP. C'est là que nous avons vérifié la possibilité d'afficher un curseur de souris pour activer les événements de clic et les événements de survol de la souris. Nous pouvons également activer les événements tactiles. Il existe donc des éléments très spécifiques au jeu, moyens d'interagir avec votre jeu et vos menus qui se trouvent dans le plan de votre manette de jeu. Avant le début de cette vidéo, j'ai créé des fonctionnalités à l'intérieur de notre manette de lecteur BP. Je voulais montrer comment nous pouvions écrire des fonctionnalités de script pour certains personnages à l'intérieur de notre manette de jeu. Maintenant, n'oubliez pas que lorsque vous jouez à une partie, manette de votre joueur s'attache à n' importe quel pion. C'est le pion ou le personnage que vous contrôlez chaque fois que vous l'avez configuré dans votre valeur par défaut. Classe Pawn. Maintenant, mon script est de faire en sorte que lorsque j' appuie sur le bouton Up, j'obtienne mon personnage de joueur actuel, celui que je joue et je lance simplement le personnage. Maintenant, la cible est un personnage, pas un étang. Cela ne fonctionnera donc que pour les personnages que je contrôle. J'aurais également pu appeler cette fonction de saut qui existe également dans le plan de ma classe de personnage. Mais je voulais faire ce personnage de lancement parce que c'est cool. Et b, parce qu'il montre une autre fonction spécifique au caractère que nous pourrions utiliser. Vous devez obtenir le personnage du joueur et le faire glisser si vous êtes le premier pour le trouver. Et tout ce qui va se passer ici, c'est quel que soit le personnage que je possède ici. Si j'appuie sur la touche haut ici, plan de ma manette de joueur, je vais simplement lancer le personnage que je contrôle sur l'axe Z en utilisant cette valeur. C'est un peu comme des super sauts. Donc, si je devais juste jouer ici, je configurerais mon débogage. oppose à ma manette de jeu prêtée Fais appel à mon personnage une fois de plus. J'ai encore quelques personnages que nous utiliserons bientôt. Maintenant, quand j'appuie sur la touche haut de mon clavier, c'est comme un super saut. Cela prouve donc que je peux fonctionnalités spécifiques aux personnages ici dans le plan de mon manette de lecteur. Très bien, reconsidérez maintenant ce scénario dans mon éditeur de niveau. J'ai placé deux autres personnages féminins de BP dans mon niveau lui-même. Je les renomme simplement personnage féminin vert et un caractère féminin rouge. Et je change simplement le zéro matériel pour que l'un d' entre eux soit vert. Et je l'ai fait en sélectionnant le maillage de caractères, en changeant l'élément zéro en vert, et en sélectionnant l'autre, j'ai sélectionné le maillage de caractères et changé l'élément zéro pour qu'il soit lu. Ensuite, avec chacune d'entre elles sélectionnée, je l'ai fait une par une. Je suis allé dans mon Level Blueprint et j'ai créé ce script ici. Il y a une référence à mon personnage ou à ma femme. Je pense que c'est la bonne. Je dois le mettre à jour. Je vais cliquer dessus avec le bouton droit de la souris et actualiser ce nœud. Il y a le rouge, il y a le vert. Vous, tant que vous les avez sélectionnés dans votre niveau, comme votre niveau rouge ici, vous pouvez revenir au plan de niveau, vous pouvez revenir au plan de niveau touche Alt enfoncée et cliquer avec le bouton gauche de la souris. Vous pourriez faire de même avec le vert femelle. Et notez ma configuration ici. Si j'apporte un nœud de contrôleur Get Player, je peux trouver des nœuds, des nœuds de fonction pour ne pas posséder une cible puis en posséder une autre. Alors jetez un œil à cette prise en main que j'ai ici à l'intérieur de mon plan de niveau. Quand j'appuie sur les trois touches, la toute première fois, nous allons en tirer une sortie. Dans ce cas, nous allons nous procurer notre manette de jeu. C'est quelle que soit la manette nous utilisons à l'époque, notre manette de joueur BP, nous allons et possédons cible qu' elle contrôlait. Dans ce cas, ce sera sans prétention. Dans mon monde, je suis en train de faire apparaître un personnage féminin de BP. Ce sera sans prétention ce personnage féminin. Ensuite, on vous dit de posséder. Ce contrôleur de joueur transférera la possession sur deux joueurs. Mon personnage de BP, une femme rouge. Ensuite, la deuxième fois que j' appuie sur les trois touches, nous allons tirer sur la broche de sortie B parce que la bascule passe à a, puis B plutôt qu'à B. Donc, la deuxième fois que vous appuyez sur les trois touches tirez hors de la poutre. Nous allons le faire, je suis possédé chaque fois que nous contrôlons maintenant, ce qui dans ce cas sera le caractère rouge. Et nous transférerons ensuite la possession au personnage féminin green. On demande donc à notre manette de jeu de posséder un personnage et d' en posséder un nouveau. Alors parlons-en en haut à gauche ici. Je vais cliquer sur Play. Ajoutez notre objet de débogage à notre carte de test. Et alors jetez-y un coup d'œil. Donc, si j'appuie également sur le bouton Up en ce moment, j'ai cette fonctionnalité de super saut intégrée à mon personnage de joueur. C'est une super capacité à sauter. Cela sera transféré à n'importe quel personnage que je possède. Donc j'appuie sur la touche. Bien, maintenant je vais appuyer sur les trois touches en plein vol. J'ai transféré la possession à mon personnage rouge ici. Jetez un œil à cela. Si j'appuie sur la touche haut, fonctionnalité de ma manette de lecteur transférée et vous pouvez voir mes autres, Cotton Flight, ils appuient sur les trois touches. J'appuie sur la touche F3. Quand j'étais en vol, j'ai transféré la possession par le joueur. La manette contrôle maintenant mon personnage féminin green. Et bien sûr, les fonctionnalités que j'ai intégrées à l'intérieur de ma manette de lecteur BP seront également transférées. Donc, si j'appuie sur la touche haut tout en contrôlant le caractère vert, je peux également faire un super saut. C'est donc une démonstration qui montre qu' à l'intérieur de ma manette de lecteur BP, je peux créer des fonctionnalités pour toutes les fonctionnalités que je veux que tous les personnages partagent, tous les bassins à partager. Cependant, j'ai des fonctionnalités très spécifiques à un personnage ou à un pion. Il serait préférable de placer ce type de script dans l' étang ou le personnage individuel. Très bien, maintenant, j'ai aussi mentionné que créer quelque chose comme les interactions avec l' écran , la mise en pause du jeu, etc., est excellent à intégrer dans le plan d'une manette joueuse. car les pions, les personnages qu'ils peuvent mourir, les contrôleurs des joueurs existent tout au long de votre session de jeu. Je vais donc trouver un espace vide ici. Je vais cliquer avec le bouton droit. Je vais faire une recherche clavier et faire quelque chose sur la touche P, P. Et je vais faire en sorte que lorsque j'appuie sur la touche P, je fasse apparaître un nœud de bascule. Ainsi, la première fois que nous appuyons dessus, nous tirerons à partir d'un. La deuxième fois que nous appuyons dessus, nous tirerons sur un battement. Et tout ce que je veux faire ici, c'est mettre le jeu en pause. Contrôle C, contrôle V. Ainsi, la première fois que nous appuyons sur la touche P, nous voulons mettre le jeu en pause. La deuxième fois que vous appuyez sur la touche P. Nous voulons qu'il n'y ait pas de pause. Maintenant, c'est très important. Vérifiez cela avec votre touche P sélectionnée ici. Vous devez vous assurer de cocher cette case pour l'exécuter en cas de pause. Parce que si nous ne cochons pas cette case, vous pourrez appuyer sur la touche P pour mettre le jeu en pause. Mais comme le jeu est suspendu, il ne reconnaîtra pas que vous appuyez à nouveau sur la touche P pour le remettre en pause. Vous devez donc vous assurer que cette case est cochée si vous voulez pouvoir l'utiliser pour faire une pause et une relance. Alors jetez un œil à ça. Je joue au jeu. Je peux courir, appuyer sur la touche P, le jeu est gelé. Appuyez à nouveau sur la touche P le débloquer. Je vais appuyer sur les trois touches, passer à mon caractère rouge ici, appuyer sur la touche P, faire une pause, appuyer à nouveau sur la touche P en pause, et transférer de même la possession à mon caractère vert. Appuyez sur la touche P, faites une pause, appuyez à nouveau sur la touche P, relancez la pause, fonctionnalités partagées, le tout dans le plan de la manette du lecteur. Vous avez peut-être remarqué que notre modèle de manette de lecteur reconnaît et traite les événements d'entrée sans aucune configuration spéciale. Nous n'avons pas eu à entrer dans les paramètres par défaut de nos classes et à faire quoi que ce soit de spécial pour que cela fonctionne ou pour que cela fonctionne. Maintenant, le personnage et les étangs font la même chose que notre Level Blueprint. Ils traitent tous ces événements d'entrée par défaut. Alors, que se passe-t-il si j'utilise dans ce cas, disons l'événement UP dans une manette de jeu, dans un plan de personnage et un plan de niveau. Que se passe-t-il ? Quelle est la priorité ? Eh bien, lançons un scénario ici à l'intérieur de ma manette de jeu. Si j'appuie sur la touche haut, je lance le personnage. Installons-en dans notre personnage de BP féminin, que je contrôle actuellement ici dans mes paramètres de monde, c'est-à-dire. Ma classe de manette de joueur. Je vais juste apporter la touche haute. Je dois chercher le clavier vers le haut. Et je vais juste m'éloigner d'ici. Et je vais imprimer de la chaîne. Et je dirais du caractère. Les femmes vont simplement l' imprimer à l'écran pendant 20 secondes, par exemple . Juste pour se donner un peu plus de temps ici, nous allons le changer pour qu'il soit rose pour le rendre beau et visible. Très bien, compilez, sauvegardez ça. Et puis, à l'intérieur de notre Level Blueprint, je vais également augmenter le clavier. Et à l'intérieur, nous allons simplement émettre un son et faire une explosion, n'est-ce pas ? Très bien, alors compilez, sauvegardez. Maintenant, j'ai intégré la touche up à nos plans de niveau, notre personnage et à notre manette de jeu. Lequel d'entre eux sera prioritaire ? Je vais donc continuer et cliquer sur Play here. Et j'appuie sur la touche haut et j'ai sauté très haut. Je n'ai rien entendu et je n'ai vu aucun texte imprimé en haut à gauche. Le contrôleur du joueur est donc la priorité absolue. Et si je voulais que cette clé soit également traitée dans mes autres plans. Comment pourrais-je configurer cela ? Sortons d'ici rapidement. Et maintenant que ma touche Up est sélectionnée ici, mes événements d'entrée, cette entrée de consommation est la touche qui détermine que seul cet événement d'entrée est traité dans ma manette de lecteur et non dans les autres plans. Tant que cette option est cochée, cela consommera cette entrée, ce qui signifie que c'est le seul endroit où elle sera enregistrée. Il va le manger et ne le reconnaîtra dans aucun plan de moindre priorité. Si je décoche cette case et que nous essayons de jouer à nouveau, et que j'appuie sur la touche haut. Vous pouvez maintenant voir que j'ai fait le Super Jump et que vous avez également entendu ce bruit d'explosion. Ce qui s'est passé ici, c'est que j'ai appuyé sur la touche haut et que j'ai dit : OK, lancé avec le personnage, nous ne consommons pas cette entrée. Et voici ma carte des tests de niveau. Il a également traité l'entretien, mais il a également indiqué que nous allions consommer cette entrée, qui signifie qu'elle s'arrête là, ne permettra à aucun autre plan de les traiter. Donc, la commande est passée. Notre manette de jeu a la priorité, le plan de niveau la deuxième priorité, puis votre étang et vos personnages ont la troisième priorité. Donc, si je voulais que cela soit traité ici aussi chez ma femme, ici avec ma carte de test de niveau, je dois m'assurer que j'ai sélectionné, ne pas consommer l'entrée. Notre configuration se trouve donc maintenant dans la manette du lecteur. Nous ne consommons pas cette contribution. Nous l'autorisons à filtrer vers le bas dans mon Level Blueprint. Nous ne consommons pas cette contribution. Nous l'autorisons à filtrer l' intérieur de mon personnage féminin. Ça n'a pas vraiment d'importance ici. Il s'agit de la troisième priorité. On peut aussi le consommer ici. Il l' imprimera à l'écran. Alors maintenant, quand je joue, j' appuie sur la touche haut, je vais faire un super saut. Vous allez voir ces textes pour les personnages féminins ici. Et cette explosion sera également entendue. On y va. Personnage féminin de Super Jump Explosion 12.3. Très bien, donc pour résumer, le plan de la manette du joueur est celui qui peut être intégré à votre mode de jeu. joueurs contrôleurs sont des acteurs non physiques qui peuvent posséder un étang. Ils ont une relation individuelle contrôlant un étang ou un personnage à la fois. Et les manettes de jeu sont mieux utilisées pour implémenter des fonctionnalités centrées sur l'utilisateur, comme l'affichage d'un menu de pause ou pour toute fonctionnalité partagée entre personnages ou bassins que vous pourriez emprunter. contrôle de. Les gars qui feront l' affaire pour vous proposer celui-ci, nous vous verrons dans le prochain. 103. Instance du jeu: Bienvenue. Dans cette vidéo, notre objectif est de découvrir et de démontrer utilisation du plan d'instance de jeu dans Unreal. C'est ce type juste en bas. Maintenant, c'est personnellement l'un de mes plans de framework préférés dans tout ce qui est irréel, car il agit comme un excellent conteneur de stockage fiable vers lequel vous pouvez accéder pour accéder à des variables et à tout le reste, quel que soit le niveau. tu es partante. Maintenant, je ne sais pas si cela est techniquement considéré comme un schéma directeur car ce n'est pas l'un de ces plans qui est intégré à notre mode de jeu. Maintenant, vous vous souvenez que, comme précédemment dans notre discussion sur les plans de cadre, c'est le mode de jeu qui détermine le reste de ces plans, tels que notre classe de pion par défaut, joueur contrôleur, etc. L'instance de jeu est distincte de celle-ci. Cela ne fait pas du tout partie de votre mode de jeu. Nous pouvons voir que mon mode de jeu BP est ouvert en haut de la page. Et si je devais sélectionner nos classes par défaut ou plutôt une classe par défaut. Nous pouvons le voir dans la classe de section, il n'y a rien ici pour une instance de jeu, des plans. Qu'est-ce qui rend ce plan si spécial ? Eh bien, il est unique en ce sens qu'il n'est pas détruit lorsque vous changez de niveau dans votre jeu. Il persiste tant que votre jeu est en cours d'exécution. Très bien, à ce stade, vous vous demandez probablement pourquoi le plan de l'instance de jeu est si précieux. Qui se soucie de savoir s'il persiste, s'il existe tout au long de ma session de jeu ? Eh bien, ce qui rend l'instance de jeu si précieuse, c'est qu'elle transporte des données variables un niveau à l'autre. Sans être réinitialisé. Vous voyez toutes les variables que vous avez définies dans votre étang, votre manette ou votre mode de jeu, elles seront réinitialisées à leurs valeurs par défaut lorsque vous changerez de niveau, instance de jeu ne l'a pas problème. Il stockera et transmettra les données variables niveau à l'autre sans que ces variables ne soient réinitialisées. n'a pas vraiment aidé à comprendre ce point. J'ai mis en place un scénario que nous allons tester ici. Remarquez mon mode par défaut, classe Pawn et ma classe de manette de joueur ici. Mode de jeu Bp, pion BP et manette de joueur BP. Dans chacune d'elles, j'ai créé, et je vais commencer par mon pion BP ici, une variable Lives. Par défaut, il démarrera à zéro. Et à l'intérieur, j'ai simplement créé ce script ici. Je vais donc appuyer sur la touche 6. Nous allons sauver notre vie. Ce nœud va l'incrémenter. C'est une note spéciale qui va nous sauver la vie et qui va immédiatement nous faire reculer. Donc, la première fois que j'appuie sur six, ça va changer ça pour un, puis deux, puis trois, et cetera, et cetera. Et nous allons l'imprimer à l'écran. Nous allons faire le même type de configuration ici à l'intérieur de notre manette de lecteur BP. J'ai donc simplement copié et collé ce bout de script dans la manette de mon lecteur. J'ai simplement échangé la touche de saisie. Ma vie est également variable. Maintenant, dans mon mode de jeu, le mode de jeu ne reconnaît pas les événements d'entrée. Cependant, dans mon mode de jeu, j'ai créé une variable Lives. Je vais également commencer par zéro. Maintenant, parce que je ne pouvais pas l'incrémenter ici. Laissez-moi le compiler et l'enregistrer rapidement. Je le fais dans mon Level Blueprint. Alors je suis allé ici, suis entré dans l'ouverture de mon plan de niveau, et grâce au plan de niveau, je peux appuyer sur l'achy, obtenir mon mode de jeu, lancer, mon mode de jeu, accéder à cette variable de vie qui dans le plan de ce mode de jeu. Je peux l'incrémenter et l' imprimer à l'écran à partir de là. Donc, dans trois plans différents, mon pion BP, ma manette de joueur et mon plan de niveau, où j'accède à cette variable dans mon mode de jeu, je vais incrémenter cette variable de vie. Ensuite, ce que je vais faire au-delà cela, c'est ici, dans mon Level Blueprint, que j'ai configuré ce script. Lorsque j'appuie sur la touche L, je vais ouvrir un nouveau niveau. Le niveau que je vais ouvrir est ce niveau minimal par défaut. C'est un niveau que l'on trouve dans mon dossier de cartes de contenu de démarrage, ce gars juste là. Et je veux que vous sachiez que dans mon plan de niveau minimal par défaut, j'ai configuré le même script afin que nous puissions incrémenter nouveau nos modes de jeu bp lies variable. Donc, ce que vous allez voir avec ces trois éléments, que je vais incrémenter ces variables et les transférer sur une nouvelle carte. Ensuite, je vais essayer d' incrémenter à nouveau ces variables après le transfert sur la nouvelle carte, vous verrez que ces dénombrements vous verrez que ces dénombrements recommencent à zéro. C'est donc l' inconvénient de stocker certaines variables dans un pion, une manette de jeu ou un mode de jeu si vous transférez des niveaux, ce que les jeux font souvent à partir du niveau 1 Au niveau 2, les variables à l'intérieur de ces trois plans vont revenir à leur valeur par défaut. Très bien, alors on y va. Voici notre test de jeu, en cliquant sur Play. Très bien, je vais donc commencer par appuyer sur la touche 6. Comme vous pouvez le voir, j' incrémente mon spawn. Les variables de la durée de vie de mon pion y totalisent 25, et je vais appuyer sur la touche 7. La variable Lives à l'intérieur de ma manette de jeu peut atteindre 25. Maintenant, je vais appuyer sur la touche 8. Et la variable mensonges dans mon mode de jeu a maintenant été incrémentée jusqu'à 25. Je vais maintenant appuyer sur la touche L pour passer à un nouveau niveau. Je suis là. Maintenant, parce que j' ai configuré dans les paramètres de mon projet qu'il s' agit de mon mode passerelle par défaut, ma classe de pion par défaut par défaut, de la manette de jeu. Tout cela va être transféré pour contrôler le mode de jeu, classe de pion et la manette de joueur avec lesquels je joue ici dans ce nouveau niveau. Alors jetez-y un œil. Je vais appuyer sur la touche 6. Vous pouvez voir que mes vies étaient variables à l'intérieur de mon étang et qu'elles reprenaient zéro. Je vais appuyer sur la touche sept au lieu que la manette de mon lecteur redémarre à zéro, donc je dois compter à nouveau à partir de zéro , puis appuyer sur le bouton endolori. Mes vies variables dans mon mode de jeu ont également redémarré depuis le début. C'est donc là que l' instance de jeu est vraiment utile. Si vous voulez qu'une variable Lives soit transférée d'un niveau à l' autre , souvenant de la valeur avant d' entrer dans le nouveau niveau. Très bien, alors allons-y et créons notre plan d' instance de jeu. Nous pouvons le faire ici dans les paramètres de notre projet, sous les cartes et les modes, les instances de jeu. Vous avez ce bouton plus juste ici pour créer une nouvelle instance de jeu. Cependant, je vais revenir à mon navigateur de contenu. Et à l'intérieur de mon dossier de framework de script, je vais cliquer avec le bouton droit de la souris et laisser de l'espace vide. Et dans la classe Blueprint, je ne vais pas voir une instance de jeu dans cette zone n'est pas très courante. Mais dans la section Toutes les classes, nous pouvons saisir Game Instance. Et vous voulez choisir ce type ici, instance de jeu, pas jeu de plateforme, mais c'est juste une bonne vieille instance de jeu. Sélectionnez cette option et je vais appeler cette instance de jeu BP Underscore. Très bien, ensuite, allons-y et insérons cela dans les paramètres de notre projet. Si vous avez oublié où accéder aux paramètres du projet, vous pouvez y accéder ici. Ou sous Modifier les paramètres du projet. Vous souhaitez accéder à des cartes et à des modes. Et c'est juste ici, en bas. En cliquant sur ce menu déroulant, je vais l'insérer dans mon instance de jeu BP. C'est génial Pas de bouton Enregistrer ou quoi que ce soit d'autre ici, nous pouvons simplement quitter les paramètres de notre projet ou revenir à notre navigateur de contenu. Je vais double-cliquer sur l' instance de jeu IBP ici pour l'ouvrir. Et nous allons ajouter une nouvelle variable, et je vais l'appeler lives. Et nous allons faire en sorte que ce soit un entier. Nous allons procéder à la compilation et à l'enregistrement. Et nous allons laisser cette valeur par défaut à zéro pour le moment. Maintenant, ce que je peux faire ici, c'est imprimer à l'écran le nombre de vies que j'ai. pourriez penser qu'un moyen de le faire Vous pourriez penser qu'un moyen de le faire est cliquer avec le bouton droit de la souris et de rechercher Begin Play, et vous découvrirez que cela n'existe pas. Ce que vous voulez faire, c'est qu'ici dans le plan d'une instance de jeu, vous devez rechercher un événement appelé event in knit. C'est un peu comme si l'événement commençait à se dérouler. Dans BP Game Instance, dans le plan d'une instance de jeu, cela se déclenchera dès le début de notre jeu. Donc, si j'imprime une chaîne, je peux la faire glisser vers l'arrière. Je vais taper, ajouter. Dans le a, je vais mettre une instance de jeu. Faisons une instance de jeu. Existe pour la valeur b. Permettez-moi d'ajouter quelques espaces par la suite. instance de jeu vit à double espace. Ensuite, je vais simplement glisser-déposer ceci dans notre graphique, l' obtenir, et le brancher sur le B, un nœud de conversion entrera également. Donc, si je compile, que je sauvegarde et que je joue, vous pouvez voir immédiatement en haut à gauche que Game Instance vit à zéro. Très bien, allons-y, soyons généreux et disons qu' au lieu de zéro vie, vous commencez par trois vies. Et nous allons dire qu'ici, dans notre niveau, je vais compiler et enregistrer cela très rapidement dans notre plan d' instance de jeu, disons que dans notre niveau, nous allons faire en sorte que lorsque votre personnage atteindra cette boîte de déclenchement que nous avons eue dans notre niveau, nous allons lui attribuer une vie supplémentaire, un bon travail. Vous avez atteint la fin du niveau. Donc, de retour dans mon plan de niveau ici, vous pouvez accéder au plan de niveau comme ça. Je vais modifier un peu ce script ici. En fait, je vais complètement mettre fin à tout ça. Si longtemps. Et tant que votre volume de déclenchement est sélectionné ici dans votre sélectionné ici dans plan de niveau, nous allons cliquer avec le bouton droit de la souris. Nous allons ajouter des événements lorsque nous commencerons à les chevaucher. Faisons un casting pour que je doive lancer sur BP pawn, lancer pour être P pond parce que c'est actuellement le cas. L'étang que je contrôle dans mon jeu. Ce sera donc faire le chevauchement. Je n'ai aucun paramètre mondial qui remplace le mode de jeu pour le moment. Je voulais juste que ce soit clair. Lorsque nous chevauchons cette boîte de déclenchement avec notre pion BP, nous cliquons avec le bouton droit sur Obtenir une instance de jeu. Ensuite, nous allons lancer sur BP Game Instance. Dans notre instance de jeu BP, nous avions une variable appelée lives. Et allons-y, sortons-en et incrémentons-le simplement. Très bien, donc tout va bien se passer. Donc c'est génial. Cela devrait être imprimé. Je vais, en fait, l'imprimer à l'écran, imprimer une chaîne. Et nous imprimerons les montants mis à jour ici. Ainsi, lorsque nous superposons cette boîte de déclenchement, nous allons ajouter une vie et imprimer à l' écran, compiler, enregistrer. Allons-y et le test de jeu se fera rapidement. Laissez-moi définir mon objet de débogage. Et j'ai vu très vite que lorsque nous avons commencé à jouer, cette instance de jeu vivait à trois. Je vais donc superposer ce look en haut à gauche ici comme je le fais. Nous avons donc à nouveau quatre chevauchements, 56, ça y est, 67, etc. Voici le problème avec notre configuration actuelle. Si j'appuie sur la touche L pour transférer des cartes, je n'ai aucun moyen d'imprimer la valeur de notre vie actuelle à l'écran. Je veux dire, sur notre événement, l' événement initialisé, nous l'imprimons à l'écran. Et lorsque je superpose ce volume de déclenchement, nous l' imprimons à l'écran. Mais dans ma nouvelle carte, je n'ai aucun moyen de l'imprimer à l'écran. Juste parce que j'ai envie de jouer à l'intérieur de ma manette de jeu, je vais faire apparaître la valeur de vie de notre instance de jeu BP. Nous avons donc beaucoup de communication avec Blueprint ici. Donc, à l'intérieur de ma manette de lecteur BP, je vais modifier ce script ici. Quand j'appuie sur la touche sept, je vais simplement lancer instance jouée sur notre instance de jeu bp. Nous allons obtenir la variable de durée de vie qui vit à l'intérieur de cet endroit. Et nous allons simplement l' imprimer à l'écran. Comme ça. Je vais donc compiler et enregistrer ici. Comprenez donc ce qui se passe ici dans notre instance de jeu bp, existera tant que notre jeu sera vivant, que nous transférions le niveau ou non. Ainsi, à l'intérieur de notre instance de jeu BP, lors de l'initialisation de notre jeu, nous allons imprimer nombre de vies que nous devons afficher. Ça fera trois. Lorsque nous nous chevauchons, cela déclenche un volume juste à l'intérieur de notre plan de niveau. Nous allons accéder au plan de notre instance de jeu, saisir nos vies, l'incrémenter et l'imprimer à l'écran. Et puis quand je passerai à un nouveau niveau voici un nouveau niveau qui respectera les paramètres de notre projet ici, y compris notre classe de manette de joueur. Et dans notre nouveau niveau. À l'intérieur de notre manette de jeu, je vais appuyer sur la touche sept pour obtenir notre instance de jeu et cela nous montrera que nos vies mises à jour et modélisées sont conservées. Alors on y va. En appuyant sur Play, l' instance de jeu vit à trois. Nous allons chevaucher ce 456,7. Je vais appuyer sur la touche L pour transférer des niveaux. Maintenant, souvenez-vous qu'ici, dans ma manette de jeu, la manette de jeu va continuer, même si la valeur des variables qu'elle contient va être réinitialisée. Notre contrôleur de joueur BP va réexister ici dans ce niveau, c'est ce qui domine notre pion ici. Donc, à l'intérieur de notre manette de jeu, je vais appuyer sur la touche sept. Maintenant. Je vais configurer mes objets de débogage sur ceux qui sont apparus dans la manette du joueur. Maintenant, lorsque j'appuie sur la touche sept, vous pouvez voir que cette variable a continué. Nous avons sept vies dans notre instance de jeu BP. Avant de terminer cette vidéo, je voulais vous montrer à quel point elle était puissante, en particulier en ce qui concerne les plans de widgets. Donc, dans mon dossier de widgets de script, je vais ouvrir mon HUD WPP et l'onglet graphique MEW BP HUD. Ce que j'ai fait entre les coupures de caméra ici vient d'Event Construct. J'ai mon instance de jeu. Je lance un casting sur une instance de jeu BP. J'ai cliqué avec le bouton droit sur cette épingle et je l'ai promue en variable afin de capturer mon instance de jeu dans une variable. Si vous faites cela, cela vous permettra de revenir dans votre onglet Designer pour créer directement des liaisons , deux variables liées à l'intérieur de votre instance de jeu BP, par exemple si je devais faire glisser un texte. widget ici, au lieu de dire bloc de texte juste ici dans le panneau Détails, je pourrais passer sous l' endroit où il est dit liaison. Et maintenant, parce que j'ai créé une référence à mon instance de jeu BP, jetez un œil à ça. En tant qu'instance de jeu BP, je peux lier cela à ma variable lives. Cela indiquera toujours text-block par défaut. Mais si je compile et sauvegarde, je pourrais alors créer ce morceau de script, d' événement, de commencer à jouer, de créer un widget, créer votre HUD via cela, puis d'ajouter à la fenêtre d'affichage. Et alors, ce que cela me permettrait de faire , c'est de jouer à mon jeu. Et à l'intérieur de mon HUD B, W BP, mes vies devraient être représentées ici même dans mon HUD. Alors allons-y et jouons à ça. Et vous pouvez voir que l'instance de jeu vit trois fois et cela se reflète désormais dans le HUD. Cela va sans dire que les vies variables à l'intérieur de notre instance de jeu. Si je devais passer en revue cela pendant cinq, vous verrez également cette mise à jour. Et je vais appuyer sur la touche L pour transférer les niveaux six. Il est toujours présent ici , dans mon nouveau niveau également. Très bien, alors voilà, les plans des instances de jeu. L'un de ses principaux avantages est qu'il ne réinitialise pas les variables entre les changements de niveau. À noter ici, si jamais vous êtes suffisamment avancé pour créer et implémenter un système de sauvegarde dans Unreal, ce qui sort évidemment du cadre de ce cours. Le plan de l'instance de jeu permet souvent de récupérer des données d' un fichier de jeu enregistré et de les importer dans votre jeu actuel, ainsi que d'écrire des données à partir d'un jeu en cours. vers une sauvegarde de jeu. Il agit en quelque sorte comme un intermédiaire. Très bien les gars, ça va tout faire pour cette vidéo, on se voit dans la prochaine. 104. Compiler: Bienvenue. Cette vidéo sera entièrement consacrée à la compilation. C'est ce bouton situé tout en haut à gauche des plans. Nos objectifs seront donc les suivants. Premièrement, nous allons présenter des méthodes de démonstration pour compiler des plans. Deuxièmement, nous allons apprendre à localiser rapidement un problème lorsque votre plan ne parvient pas à être compilé. Et troisièmement, nous allons montrer comment combiner les actions Compiler et Enregistrer dans un plan afin que vous n'ayez pas à compiler, enregistrer, compiler, enregistrer, compiler, enregistrer, compiler, enregistrer de manière obsessionnelle enregistrer, compiler, enregistrer, compiler, enregistrer, compiler, enregistrer tout doit être fait en une seule étape. Très bien, j'ai ouvert mon onglet ThirdPersonCharacter en haut parce que je vais bientôt travailler à l'intérieur. Mais commençons par parler ce qu'est la compilation, ce qui se passe lorsque nous appuyons sur ce bouton de compilation. Eh bien, lorsque vous compilez un plan, vous lancez le processus de conversion des propriétés et de tous les scripts votre graphe d'actifs de plan tels que en tant que personnage à la troisième personne ici, dans une classe, à savoir notre classe de personnages à la troisième personne. En programmation informatique, lorsque vous compilez du code, le compilateur, qui est généralement un autre programme , prend le programme que l'humain Rhodes, dans ce cas, notre script et toutes les propriétés et des variables et ainsi de suite. Et il va le convertir en un programme que l'ordinateur peut réellement comprendre. Maintenant, je peux vous aider à comprendre ce point un peu plus loin en faisant ceci J'ai ce script de saisie de saut ici dans notre ThirdPersonCharacter. Si je devais cliquer avec le bouton gauche de la souris et faire glisser le pointeur sur tous ces nœuds, contrôler C. J'ai une application bloc-notes ouverte en bas. Je vais juste faire un Control V à l'intérieur. C'est tout le code qui soutient l'ensemble de notre script sauté ici. Donc, essentiellement, lorsque vous créez des scripts via ces nœuds que vous reliez entre eux, il y a du code qui soutient tout cela lorsque vous compilez votre vérification pour vous assurer que votre code dans toutes les propriétés, variables, etc., que vous êtes, qui toutes partie de tout cela, qui sont prêtes à l'emploi, que c'est propre et qu'il n'y a pas d'erreur, que la machine peut le lire, qu' elle sait exactement quoi faire et qu'elle peut l'utiliser ainsi. Très bien. Maintenant, il est important de savoir que lors de la compilation d'un plan, nous pouvons être mis au courant des problèmes liés à nos scripts de plan. Cependant, notez qu'il ne détectera pas toutes les erreurs car certaines zones sont simplement de nature humaine. Par exemple, ici, j'ai introduit un système d'apparition au niveau du nœud de localisation. Maintenant, je peux dire, oui, je veux créer ce système, cette particule de Niagara ici même. Mais que se passe-t-il si mon échelle est réglée sur 000 et qu' un événement essaie de faire apparaître ce système, mais que je ne le vois pas ? Je me demande peut-être ce qui se passe. Il doit y avoir un problème avec mon script. En fait, il n'y a peut-être rien de mal à mon script. Cependant, je n' obtiens pas le résultat auquel je m'attendais parce que j'ai réglé l'échelle sur des zéros, zéros, zéro, ce qui signifie que je ne le verrais pas. La compilation d'un plan ne détectera donc pas de telles erreurs. Très bien, ici, dans mon graphe d'événements ThirdPersonCharacter, j'ai mis en place un scénario dans lequel je vais créer intentionnellement un mauvais script , puis essayer de le compiler. Je vais faire en sorte que lorsque j' appuie sur le bouton B, je fasse apparaître un acteur. Allons-y et disons : « Prends une potion ». Cependant, je vais intentionnellement laisser cette entrée de transformation de spawn vide si j' essaie de compiler maintenant, vous verrez que lorsque je le ferai, cela va générer une erreur ici. Et en fait, cette info-bulle indiquera qu'il y a eu une erreur lors de la compilation. Consultez le journal pour plus de détails. Donc, par journal, pointe vers cet onglet Résultats du compilateur qui vient d'apparaître en bas de mon écran. Et cela me fera savoir que, hé, vous avez quelque chose à régler. Dans ce cas, mon code PIN de création d'une transformation n' est pas valide pour que nous puissions faire apparaître un homme qui répartit, nous devons lui indiquer où apparaître. Maintenant, si vous ne voyez pas cet onglet Résultats du compilateur en bas, ou si vous le fermez accidentellement, vous pouvez le récupérer de la manière dont vous récupéré ou à peu près n'importe quel autre onglet manquant c'est que vous passez sous votre fenêtre et que vous pouvez trouver ici les résultats du compilateur. Rallumez-le. Les résultats de votre compilateur affichent désormais les erreurs ou les avertissements lors de la compilation d'un plan. Et ce qui est bien, c'est qu'il contient des hyperliens sur lesquels vous pouvez cliquer pour accéder au point névralgique. Nous pourrions donc cliquer ici sur notre transformation d'apparition. Et cela ne fera que nous montrer où se trouve ce point névralgique. Donc, si vous êtes quelque part là-bas dans votre graphique et que vous vous demandez : «  Où est cette erreur ? Allons-y, cliquons dessus et il vous redirigera directement vers elle. Maintenant, regardez ce qui arrive à notre bouton Compiler, notre icône ici, lorsque nous répondons de spawn et de transformation aux exigences de spawn et de transformation de cet acteur de spawn à partir du nœud de classe. Je vais juste intégrer la transformation du monde de notre point de terminaison Line Trace. C'est juste un élément d'erreur que j'ai ajouté à mon personnage à la troisième personne qui se trouve juste devant notre personnage. Je vais le brancher ici. Notez que dès que je l'ai branché, l' icône au-dessus de notre bouton Compiler a changé. Nous voyons maintenant un point d' interrogation en jaune. Ainsi, lorsqu'il passe à cette icône, cela signifie que certaines modifications ont été apportées à notre plan ici. Cela se produira chaque fois que quelque chose de nouveau est ajouté à un graphique, à une nouvelle variable ou fonction, macro ou à un nouveau composant . Cela vous permet de savoir, hé, que quelque chose est différent. Maintenant, il existe plusieurs façons de compiler un plan. Vous pouvez cliquer dessus ou un raccourci clavier y est associé. Appuyez sur F7 pour compiler également. Je ne vais pas vraiment appuyer sur un sept pour le moment parce que F7 est mon raccourci clavier pour démarrer et arrêter mon enregistrement ici. Mais sachez simplement que F7 est ce que vous pouvez utiliser comme touche de raccourci. Je vais donc continuer et cliquer sur Compiler ici. Cette coche verte signifie que vous pouvez y aller. Et vous pouvez également le voir dans l'infobulle. Discutons maintenant de quelques options de compilation. Ces trois points juste ici les révèlent. Nous pouvons économiser sur la compilation et nous ne pouvons jamais le faire. Nous pouvons le faire en cas de succès uniquement ou toujours. Si ce n'est jamais le cas, c'est ce que j'ai eu pendant la majeure partie de ce cours. Nous devons compiler. Et puis, si votre compilateur fonctionne, vous devez l'enregistrer directement après afin de vous assurer que toutes les modifications apportées à votre plan ou réellement enregistrées uniquement en cas de succès seront enregistrées uniquement lorsque votre plan est compilé avec succès. Et cela signifie toujours qu'il va l'enregistrer, que cette compilation soit réussie ou non. Nous avons également cette option d'accès au nœud d'erreur. Vous pouvez activer ou désactiver cette option. Il s'agit en fait d'une coche que vous pouvez cocher ou désactiver. Je vais l'activer ici. Et cela va être très intéressant de nous faire savoir où se trouve une erreur dans notre graphique. Ça ira droit au but si on en fait un. Je vais donc le déconnecter rapidement. Vous pouvez maintenir la touche Alt enfoncée et cliquer avec le bouton gauche, puis je vais naviguer vers un endroit aléatoire dans mon graphique, comme celui-ci. Alors maintenant, quand je compilerai , je vais y accéder directement. J'aime beaucoup cette option fortement recommandée qui passe au nœud d'erreur juste en dessous de ces trois points. Maintenant, juste un petit mot à propos de cette option de nœud sauter à Err. Cela revient à cliquer sur l'un de vos hyperliens d'erreur ci-dessous. C'est plutôt cool. Il ne peut évidemment pas accéder à toutes les erreurs en même temps. Si, en fait, vous avez plusieurs erreurs, serez redirigé vers l'erreur en haut de la liste. Il s'agit de la dernière erreur découverte. De plus, je voulais revenir sur cette option Enregistrer lors de la compilation. Si je vais sur mon plan de niveau et que je clique sur ces trois points ici. Je peux voir que si je passe sous l'option Enregistrer lors de la compilation, tout cela est grisé. Vous allez constater que ces options ne sont disponibles à aucun niveau ni à aucun sous-niveau. Cela est dû au fait que l' enregistrement d'un niveau ou sous-niveau enregistre lui-même le plan qui lui est associé. ai donc pensé que je devais le souligner ici. Vous pouvez appuyer sur F7, c' est-à-dire la touche de raccourci dans un plan de niveau ou de sous-niveau. Notez que cela enregistrera également le niveau ou le sous-niveau lui-même. Enfin, je voulais juste souligner une fois de plus que résultats de votre compilateur ne montreront pas toutes les erreurs humaines. Donc, revenons ici, mon ThirdPersonCharacter Blueprint. Nous pouvons dire que oui, en effet, c'est ici que nous voulons faire apparaître cet homme, une potion devant notre personnage. Cependant, si je devais casser ce fil ici, je vais maintenir la touche Alt enfoncée et cliquer avec le bouton gauche de la souris. Je vais commencer à compiler. Et ce sera comme si, oui, c'était bon à partir. Même si vous pensez peut-être que pendant que vous jouez au jeu, j'appuie sur la touche B, mais je ne vais pas faire apparaître de potion à aucun homme. Encore une fois, irréel, je ne peux pas connaître tes désirs les plus profonds. Il ne sait pas si vous vouliez réellement le déconnecter ou le connecter. ne détecterai donc pas de telles erreurs. Très bien les gars, ça va faire l'affaire sur cette vidéo et sur cette compilation. Nous vous verrons dans la prochaine. 105. Points de rupture: Très bien, bon retour à tous. Dans cette section du cours, nous allons apprendre à mieux résoudre les problèmes liés à nos plans. C'est ainsi qu'il faut les déboguer. Nous allons commencer par parler de points d'arrêt. L'objectif de cette vidéo est d'apprendre à créer et à utiliser des points d'arrêt dans nos scripts afin de nous aider à analyser ce qui se passe lors de l'exécution d'un script. Maintenant, j'ai mis en place un scénario ici. Je vais contrôler l'étang IBP, je vais superposer l'une de mes portes rotatives spécifiques que nous avons créées plus tôt dans le cours. Et vous remarquerez que notre jeu va se bloquer, mais intentionnellement, pas involontairement. Alors regardez, je vais superposer le volume de déclenchement. Croyez-moi, il y a un volume de déclenchement devant cette première porte. Rien ne semble se passer, mais je vais superposer ce deuxième volume de déclenchement devant cette porte. Et voilà, nous bloquons le jeu. Nous avons atteint un point critique. Alors, qu'est-ce qu'un point d'arrêt ? Il s'agit d'une pause ou d'un arrêt intentionnel que vous créez dans un script, comme indiqué par ce point rouge sur ce nœud juste ici. Le but de cette opération est maintenant de savoir si le script fonctionne comme prévu. Peut-être qu'un événement que nous nous attendons à déclencher ne l'est pas. Peut-être qu'une fonction que nous nous attendons à déclencher ne se déclenche pas. Peut-être qu'une variable dont nous nous attendons à avoir une valeur n'a pas encore été définie. Essentiellement, un point de rupture nous donne un délai pour examiner de plus près le comportement de nos scripts. Très bien, je vais quitter notre jeu et expliquer comment configurer des points d'arrêt dans vos propres plans. Cliquez donc sur le bouton Stop juste ici. La première chose que vous devez comprendre, c'est que vous voulez vous assurer que vous évaluez le plan directeur approprié, la bonne instance du plan. Je suis en train de regarder ma porte rotative BP Maintenant, notez que dans mon niveau, j'en ai deux. J'ai ce type, porte rotative BP et le second, la porte rotative BP, à présent le plan de la porte rotative MIB. Et voici un plan que nous avons mis en place lors de notre vidéo sur les rotateurs variables. J'ai défini un point de rupture pour le moment où nous commencerons à superposer ce composant de boîte. Maintenant, en haut, si je clique sur ce menu déroulant, je noterai que je suis en train d'évaluer, je suis en train de déboguer la porte rotative BP et vous pouvez le voir entre parenthèses juste là. C'est celle que j'ai actuellement sélectionnée. Cela signifie que si je superpose ce composant de boîte pour la porte rotative numéro un BP ici, cela ne s'arrêtera pas. Cela n'arrêtera pas l'exécution de mon jeu car je suis en train d'évaluer la porte rotative numéro deux de BP. Il est donc important de comprendre cela. Si vous avez, par exemple, 50 instances d'un plan donné, cela arrêtera l'exécution uniquement lorsque vous superposez cette instance donnée, cette copie donnée du plan. Voici donc la porte rotative BP numéro deux. Maintenant, comment ai-je obtenu ce point de rupture, ce point rouge sur ce nœud pour commencer ? Eh bien, il y a plusieurs façons de le faire. Vous pouvez cliquer avec le bouton droit sur un nœud. Et vous pouvez voir dans notre menu contextuel que nous avons des options de point d'arrêt. La première année que je vais utiliser est de changer de point d'arrêt. Il y a un raccourci clavier F9 associé à cela. Donc, comme c'est actuellement activé, je peux le désactiver et vice versa, je peux cliquer avec le bouton droit de la souris, le réactiver. Encore une fois, avec ce nœud sélectionné sur F9, nous allons le désactiver, l'activer , le désactiver, l'activer. Je pourrais à nouveau cliquer dessus avec le bouton droit et supprimer le point d'arrêt comme ça. Je pourrais appuyer sur F9 pour le réactiver, je pourrais cliquer dessus avec le bouton droit de la souris et désactiver le point d'arrêt. Cela signifie que le point d'arrêt sera maintenu ici. Cependant, cela n' arrêtera pas l'exécution de notre jeu lorsque je chevauche la porte rotative BP numéro deux, ceci ou que je rentre chez moi sur ce point, je peux cliquer dessus et superposer cela et vous le voyez, c' est un feu éteint, mais il Je n'ai pas du tout mis mon jeu en pause. Il a maintenu ce point d'arrêt, mais il n'a pas mis le jeu en pause. Maintenant, vous vous demandez peut-être pourquoi je ne me suis pas complètement débarrassé de ce point d'arrêt ? Pourquoi est-ce que je l'ai simplement désactivé ? Eh bien, parfois, vous voulez avoir une liste de vos points de rupture que vous pouvez consulter afin de ne pas les perdre de vue. Si je tombe dessus, Debug est juste là et j'amène mon débogueur Blueprint. Dans cette fenêtre , vous pouvez voir qu'il y a ma porte pivotante. Voici mes listes de points de rupture. Et vous pouvez voir que j'ai ce point d'arrêt juste ici, qui correspond à ce type. Donc, si je double-cliquais dessus, cela le mettra en évidence. Ce cercle vide indique qu'il s'agit d'un point d'arrêt désactivé. Je vais l'ancrer ici. Et si je devais cliquer avec le bouton droit sur ce nœud et activer le point d'arrêt, jetez un œil maintenant dans notre débogueur de plan sous les points d'arrêt, nous pouvons voir maintenant qu'il s'agit d'un point rouge rempli, ce nœud et activer le point d'arrêt, jetez un œil maintenant dans notre débogueur de plan sous les points d'arrêt, nous pouvons voir maintenant qu'il s'agit d'un point rouge rempli, est un point d'arrêt actif. Donc, tous les autres points d'arrêt que nous avons ici seront listés ci-dessous. Et encore une fois, c'était sous Debug Blueprint Debugger. Il y a ma porte tournante et ma liste de points d' arrêt peut être activée et désactivée directement sur place. Très bien, nous pouvons maintenant voir que nous avons configuré ces points d'arrêt pour le moment où nous commencerons à superposer ce composant de boîte pour cette porte rotative. Deuxièmement, voyons ce qui se passe lorsqu'un point d'arrêt est atteint. Je vais cliquer sur Play up here. Maintenant, notez que c'est la porte rotative numéro un. Je fais double emploi et rien ne se passe. Je vais superposer la boîte pour faire pivoter la porte numéro deux. Le jeu s'arrête immédiatement. Nous ouvrons notre graphique des événements pour la porte tournante numéro deux ici. Et nous pouvons voir que nous avons chevauché cette boîte. Cependant, nous ne savons pas encore exactement ce qui se chevauchait. Nous pouvons donc poursuivre notre script pour évaluer plus en détail cette flèche rouge indiquant le nœud actuel sur lequel nous nous trouvons. Nous chevauchons actuellement cette case. Si nous cliquons ici, nous pouvons passer au nœud suivant de notre chaîne d'exécution, FTN. La touche de raccourci nous permettra également de vous y rendre. Notez donc cette astuce. Donc, en superposant cette case, nous allons vérifier si c'est le ThirdPersonCharacter qui nous chevauche. Maintenant, je contrôlais nos BP Pons, donc ce casting devrait échouer. Maintenant, parce que ça échoue. Nous n'avons rien connecté à notre panneau de champs CAS ici. Cela devrait nous permettre de partir d'ici parce qu' il n'y a rien d'autre à faire pour continuer. Notre script est en train de mourir ici même. Allons-y et essayons de passer au nœud suivant. Comme vous pouvez le constater, il n'est pas passé à notre nœud suivant. En fait, si j'ouvre à nouveau notre fenêtre de jeu, permettez-moi de minimiser cela. là que nous pouvons voir que nous sommes de retour à notre jeu. Très bien, allons-y, quittons notre jeu ici, revenons à notre moteur. Et maintenant, faisons en sorte que dans les paramètres de notre projet, nous n'utilisions plus par défaut la classe Pawn de BP pond, mais que nous ajoutions notre ThirdPersonCharacter. Et la raison pour laquelle nous faisons cela est que dans notre script de porte rotative, nous vérifions ici si c'est le ThirdPersonCharacter qui nous chevauchait. Remarque : dans notre niveau, j'ai également effacé les paramètres de notre monde. Nous allons donc respecter les paramètres du projet, les paramètres de projet que nous avons pour notre framework, les plans, le mode de jeu BP, BP ThirdPersonCharacter, contrôleur de lecteur BP. Et maintenant, si je devais jouer à notre jeu, nous allons continuer et chevaucher le volume de déclenchement de la porte BP numéro deux. Cela va atteindre notre point de rupture ici. Maintenant, parlons de ces différentes options qui s' offrent à nous . Lorsque nous atteignons un point de break, ce type nous ramènera directement dans notre jeu. Il s'agit essentiellement de dire, hé, je suis content que tu aies arrêté le jeu. Merci beaucoup, mais nous aimerions continuer à jouer. Laisse-moi juste recouper ça. Encore une fois. Cela arrêtera le jeu une fois de plus pour nous. Ensuite, nous avons cette avancée, une image unique. Alors je vais juste nous faire passer au nœud suivant. Si l'un d'entre eux n'est pas du tout sensible au temps. Ensuite, nous avons ce bouton Stop juste ici, qui fera la même chose que d'appuyer sur Escape. Vous quittez essentiellement votre jeu et vous retournez dans votre éditeur. Je ne vais pas faire pression pour l'instant. Ensuite, je vais laisser tomber ce type tout de suite. Nous avons obtenu cette adresse pour localiser les nœuds actuellement actifs. Donc, si nous étions sur notre nœud Cast to ThirdPersonCharacter comme nous le sommes actuellement, c'est celui que nous évaluons. Ensuite, nous avons décidé de naviguer dans un endroit aléatoire comme celui-ci. Si nous cliquions sur ce bouton, nous retournerons directement à notre nœud actuellement actif. Ensuite, nous avons cette étape dans le nœud auquel est associé un raccourci clavier F11. Je vais vous le montrer dans notre prochain exemple. Ce n'est pas un bon exemple ici. Ensuite, nous devons passer au nœud suivant, F dix. ce que nous ferons également. Je vais appuyer sur F2 pour le faire. Et une chose à noter ici, fur et à mesure que vous parcourez les choses, vous pouvez évaluer les différents bits de données transmis en passant la souris sur ces épingles de données. Donc, par exemple, je peux voir que la clé ici est évaluée à faux. Je sais donc que notre script va essentiellement se terminer ici parce que nous ne ferons que quelque chose en dehors de la vraie branche. Nous n'allons rien faire à partir de cette fausse branche. Maintenant, cette étape en sortant du bouton, nous allons également explorer cela dans notre prochain exemple car c'est une bonne configuration pour le montrer. Cependant, je tiens à souligner un autre point. Pendant que nous sommes ici, vous pouvez visualiser le pouls orange de l'exécution jusqu'à présent, qui est très pratique lorsque vous évaluez un script. Et encore une fois, il ne s'agit pas seulement de voir quels nœuds sont arrêtés et exécutés, mais aussi d'évaluer les données, de les transmettre, de passer souris sur ces différentes épingles et de voir si les données transmises correspondent à ce que vous attendez. Très bien, arrêtons-nous maintenant avec cet exemple. Nous allons maintenant passer à notre ThirdPersonCharacter, cliquant sur Arrêter ici pour montrer un autre exemple. Maintenant, la raison pour laquelle nous nous dirigeons ici est que nous avons certaines fonctions créé certaines fonctions personnalisées plus tôt dans le cours. Nous pouvons entrer et sortir de ce que nous n'avons pas pu faire dans notre dernier exemple. Allons-y et introduisons notre fonction de modification de la santé. Nous l'avons échangé dans la section des fonctions du cours et nous allons proposer un événement de clavier. avec le bouton droit sur le clavier Faisons quelque chose en appuyant sur la touche fléchée. Donc, lorsque nous appuyons sur le zéro, santé du modificateur de Kayla, disons de 0,1. Sortons une chaîne d'impression de peur, traînée vers l'arrière. Ajoutons. Et ajoutons le mot santé, deux-points à double espace, à notre état de santé actuel. Cela amènera un nœud de conversion passant de float à une chaîne, comme ceci. Ensuite, laissez-moi ajouter un point d'arrêt à notre nœud d'événement ici, vous devez appuyer sur F9. Maintenant, si vous voyez un point de rupture avec un point d' exclamation à l'intérieur. Cela pourrait signifier qu'il s' agit d'un point d'arrêt non valide. Je ne sais pas pourquoi celui-ci s'affiche comme tel. Toutefois, si vous vous demandez s'il s' agit d'un point d'arrêt valide, vous pouvez continuer et compiler ici. Je sais que celui-ci va être bon et il l'est. Alors allons-y et essayons ceci en cliquant sur Play. Vous pouvez vous assurer d'avoir votre ThirdPersonCharacter comme option de débogage pour voir ce script se lancer en temps réel si vous le souhaitez. Réintroduisons notre fenêtre de jeu. Et lorsque j'appuie sur la touche fléchée, nous arrêtons notre exécution. Nous pouvons passer à autre chose. Et maintenant, c'est une fonction dans laquelle nous avons configuré certaines fonctionnalités. Donc, si je clique sur ce bouton ici, raccourci F11, nous pouvons entrer dans ce nœud. Et maintenant, nous pouvons parcourir les nœuds de la fonction elle-même. Nous pouvons voir que onglet Modifier la fonction de santé est ouvert en haut maintenant et que nous pouvons maintenant parcourir celui-ci un par un. Nous pouvons voir si c'est vrai ou faux ? Passons à autre chose une fois de plus. Et maintenant, comme nous sommes entrés dans ce nœud, je peux sortir de ces notes. Permettez-moi de sortir de cette fonction. Vous pouvez voir maintenant que nous passons à notre prochain nœud de la chaîne, qui est notre chaîne d'impression. Ainsi, en entrant et en sortant des boutons, vous pouvez accéder à quelque chose comme une fonction personnalisée, voir chaque étape de cette fonction, puis en sortir si vous le souhaitez. Maintenant, il ne reste que quelques notes. L'option Step Into, s'il s'agit d'une fonction ou d'une macro personnalisée, elle approfondira cette question. Toutefois, s'il ne s'agit pas d'une fonction ou d'une macro personnalisée, elle passera simplement au nœud suivant. En ce qui concerne la sortie, si vous entrez dans un nœud, passerez au nœud suivant de la chaîne, dans ce cas, vers notre nœud de chaîne d'impression. Cependant, s'il n'y a rien qui puisse en sortir deux, c'est qu'il n'y a aucun autre nœud dans votre chaîne. Il reprendra simplement le jeu. Maintenant, LastNode, nous pouvons également activer notre option de débogage du plan de débogage. À partir de là, nous allons faire apparaître cette fenêtre. Encore une fois, j'aimerais l'ancrer le long de la jambe inférieure. Donc je me rends compte que je joue toujours au jeu ici. Voici mes points de rupture. Vous pouvez voir que je pourrais cliquer dessus pour y accéder directement. Cependant, si vous l'aviez remarqué lorsque j'ai cliqué sur cette option de débogage juste ici, nous avons la possibilité de désactiver tous les points d' arrêt et de supprimer tous les points d'arrêt. Si vous avez de nombreux points d' arrêt définis dans votre graphique, c'est un moyen très pratique de tous les effacer. Encore une fois, vous pouvez ajouter des points de rupture et pas seulement sur des nœuds d'événements comme celui-ci, vous pouvez également les définir sur une fonction. Sur cette fonction également. Donc, si tu te mets en place sur les trois et que tu te dis : « Hé, je veux juste me débarrasser de tout ça. Allez-y, supprimez tous les points d'arrêt, et tout à coup ils disparaîtront tous. Et voilà, vous l'avez. C'est la vérité sur les points de rupture. Les points d'arrêt sont une pause ou un arrêt intentionnel que vous créez dans un script afin de pouvoir évaluer de plus près vos scripts étape par étape. Les gars, ça suffira pour cette vidéo, on se voit dans la prochaine. 106. Valeurs de montre: Très bien, bon retour. Dans cette vidéo, notre objectif est d' apprendre comment contrôler plus facilement les valeurs de données lors du débogage d'un script. Maintenant, cela peut être fait en désignant variables à surveiller à l'intérieur d' un plan. En disposant d'un moyen simple de voir et d'évaluer les valeurs de données à l'intérieur de nos plans, nous pouvons rapidement voir si les données circulant dans les scripts R sont conformes ou non. Maintenant, pour cet exemple, je vais travailler un peu à l'intérieur de ma porte rotative BP, ainsi qu'à l'intérieur de mon ThirdPersonCharacter . Donc, tout d'abord, afin de surveiller les variables de plus près, nous allons utiliser notre débogueur de blueprint. Maintenant, je vous ai montré comment procéder dans la dernière vidéo, mais si vous avez oublié ou ignoré cette vidéo à l'intérieur d' un Blueprint, la porte rotative BP fera très bien l'affaire. Nous pouvons cliquer sur Debug, Blueprint Debugger, et cela ouvrira notre fenêtre de débogage de Blueprint. J'aime bien l'avoir sur un deuxième moniteur si je l'ai, mais comme ce n'est pas le cas si vous avez un seul moniteur, j'aimerais juste le placer ici. Maintenant, notez qu'à l'intérieur de notre débogueur de blueprint, nous pouvons spécifier quel plan nous voulons déboguer. Donc, même si nous sommes à l'intérieur de notre porte rotative bp, je pourrais définir ce sera mon ThirdPersonCharacter à déboguer si je le voulais. Cependant, si vous l'avez fait et que vous atteignez un point d'arrêt tel que notre touche zéro à l'intérieur de notre ThirdPersonCharacter. Cela vous ferait passer de ce graphique à votre graphe ThirdPersonCharacter. Je ne vais pas vous le démontrer ici, mais juste pour votre information. Très bien, j'ai ce kit pour mes portes rotatives BP et j' ai un ensemble de points d'arrêt. Alors maintenant, je vais configurer quelques variables à surveiller. Je vais regarder cela a une variable clé ici. Et pour ce faire, cliquez avec le bouton droit de la souris et choisissez de regarder la valeur du baril. Maintenant, quand je ferai cela, vous allez voir apparaître une petite icône de loupe dessus. Mais vous verrez également cette fenêtre juste haut qui affichera la valeur vraie ou la valeur fausse chaque fois que ces informations seront demandées par notre nœud de branche. Chaque fois que cela sera exécuté, nous allons découvrir si c'est vrai ou faux et l'imprimer directement dans cette bulle. Je vais également configurer une valeur de surveillance sur notre nœud rotateur ici, la valeur de retour, je puisse voir où nous en sommes dans cette rotation allant de 0 à 90 degrés dans le Ya, je vais cliquer dessus avec le bouton droit de la souris. Nous allons surveiller cette valeur. C'est assez simple. Si je souhaite supprimer l'une de ces montres, vous pouvez simplement cliquer dessus avec le bouton droit de la souris. Arrêtez de regarder cette valeur. Ou si vous voulez arrêter de regarder toutes vos montres, vous pouvez accéder à, déboguer et supprimer toutes les montres qui peuvent également s' déboguer et supprimer toutes les montres en débarrasser . Maintenant, avant de montrer cet exemple, je voulais noter que dans mon ThirdPersonCharacter ici, ThirdPersonCharacter, j'ai défini ce booléen de clé sur true. Donc, si vous ne l'avez pas déjà fait et que vous voulez jouer le jeu chez vous au sein de BP. Caractère à la troisième personne, B possède un booléen clé. Je l'ai défini sur true, j'ai compilé et enregistré. Et me voilà en train de regarder cette variable. Cette variable se trouve dans mon ThirdPersonCharacter, mais je peux la regarder directement à partir d'ici. Très bien, alors allons-y et jouons à notre jeu. Et je vais superposer ce composant de boîte pour notre porte tournante numéro deux, c' est-à-dire cette porte située juste à notre niveau qui est la porte rotative numéro un. Cependant, nous évaluons la porte rotative numéro deux. On y va, en cliquant sur Play, en chevauchant cette porte. Très bien, nous avons atteint ce point critique. Maintenant, dans la dernière vidéo, je vous ai montré que vous pouviez passer à travers les choses en cliquant ici, F dix fera très bien l'affaire. Je peux également avancer d'une image à la fois. Cela m'arrêterait donc également dans ce cas , car il ne s'agit pas d'un nœud sensible au temps. Cependant, notez que dans le débogueur de votre Blueprint, vous disposez des mêmes commandes. Alors montrons cela parce que nous pouvons, vous pouvez le voir en bas, nous avons heurté notre porte tournante. Deuxièmement, le point d'arrêt a été atteint. Cette flèche jaune indique que je vais l' étendre en appuyant sur ce petit triangle déroulant. Tout de suite. Nous pouvons voir que nous avons des montres configurées ici car elles ont une clé et aussi cette valeur de retour sur ce nœud de boucle juste là. Cela indique donc que nous avons configuré certaines montres. Notez que pour l'instant, cette bulle ne dit rien car ses informations n'ont pas encore été demandées. Je vais passer au nœud suivant en cliquant ici. Ce flux d'exécution. Nous allons passer à un autre. Maintenant que nous avons atteint ce nœud de branche, ces informations pour la condition ont été demandées. Nous pouvons donc voir que nous surveillons cette valeur et qu'elle montre maintenant clairement qu' elle est évaluée à la réalité. Maintenant, je pourrais simplement survoler cette épingle sans la montre et découvrir que cette information est également vraie. Cependant, en installant des montres de cette façon, cela devient très évident. C'est un moyen de voir plus facilement quelles données sont transmises directement. Maintenant, si je voulais désactiver cette montre, je pourrais, pendant qu'elle fonctionne ici, nous la déboguerons. Je pourrais cliquer sur cette petite icône en forme de loupe et la désactiver. Et je peux cliquer avec le bouton droit et le rallumer une fois de plus, au revoir. Le choix de la valeur des montres y apparaît une fois de plus en bas. De plus, si j'avais dû naviguer quelque part bien au-delà de cette façon, si je devais cliquer sur cette montre en bas, cela me ramènerait directement dessus. C'est donc très pratique. Continuons à aller droit au but, car nous pouvons voir que nous n'avons pas encore atteint notre deuxième quart de surveillance ici. Donc, en appuyant dessus. Très bien, maintenant nous atteignons un nœud sensible au temps, cette chronologie, qui fait 1 s. Donc, si vous supprimez toujours ici ou f dix, cela me fera passer immédiatement au nœud suivant. Cependant, je pourrais également avancer une seule image à la fois. Donc, ce faisant, je vais cliquer avec le bouton gauche de la souris. Vous pouvez voir que nous avons fait 0,01 s parce que nous n'avançons qu' une image à la fois. Nous pouvons voir que nous surveillons cette valeur de retour ici. Et au fur et à mesure que nous incrémentons cela une par une, une image à la fois est surveillée. Votre valeur augmente petit à petit. Nous pouvons donc voir comment cela s'ouvre en 1 s. Maintenant, s'ouvre en 1 s. nous pouvons continuer et cliquer sur Reprendre juste ici pour voir le résultat final se dérouler, qui s'est déroulé pendant le reste de celui-ci. chronologie, c'est une chronologie. Nous pouvons donc voir cette valeur. Le Ya, notre porte s'est ouverte à 90 degrés. C'est peut-être ce à quoi tu t'attendais. Peut-être pas, mais ces montres vous aident à déterminer si cela produit réellement la valeur de retour que vous attendez. Il y a donc un aperçu rapide et simple de ce que sont les montres et de la façon dont elles peuvent être réglées et utilisées lors du débogage de votre script. Encore une fois, si je devais m'arrêter ici et enlever ces montres, arrêtez de regarder. Arrête de regarder. Vous pouvez toujours voir la valeur de sortie de ces broches de données en atteignant ce point de rupture. Permettez-moi de répéter cela une fois de plus. Avancez, avancez en passant la souris dessus comme ça. Cependant, en installant des montres, cela la rend un peu plus visible et plus facile à voir. Laissez-moi aller jusqu'au bout. Encore une fois, nous pouvons voir que êtes tous rouges et que vous obtenez 90. Mais ces montres les rendent encore plus visibles et plus faciles à voir. Les gars qui se feront un plaisir de vous proposer cette vidéo, on se voit dans la prochaine. 107. Journal des messages: Très bien, bon retour à tous. Dans cette vidéo, notre objectif est de montrer le rôle du journal des messages dans le débogage de vos scripts. Bien qu'il s'agisse d'une fenêtre qui peut afficher toutes sortes d'informations relatives à vos projets, telles que les résultats d'éclairage lors de la construction de votre niveau. Ici, nous allons simplement explorer son utilité pour nous assurer que nos scripts fonctionnent comme prévu lors de l'exécution. J'ai donc un exemple à montrer dans notre personnage à la troisième personne. Alors pourquoi ne pas vous retrouver sous votre troisième personne dans le dossier Blueprints, trouvez votre ThirdPersonCharacter. Au fait, un conseil amusant pour vous ici. Si vous maintenez la touche Ctrl enfoncée et que vous utilisez cette molette de défilement, vous pouvez agrandir ou réduire ces images miniatures. Nous allons double-cliquer dessus où j'ai déjà configuré certains scripts avant cette vidéo. Ce que nous allons faire, c'est appuyer sur une touche. Et puis, juste une fois, je vais faire apparaître l'effet de feu. Ensuite, je vais le promouvoir en tant que variable. Je ne l'ai donc pas encore fait, alors je voulais juste me montrer. Nous pouvons le faire à nouveau en cliquant avec le bouton droit sur cette épingle. Nous allons le promouvoir en tant que variable. C'était un acteur de spawn de Class Node d'ailleurs. Donc, si vous recherchez le nom de ce nœud, c'est spawn actor from class. Cela le changera en Blueprint Effect Fire. Une fois que vous avez intégré cet effet de plan, le plan de feu à partir du contenu de départ favorise la variable. Nous allons simplement appeler cela un incendie. Il y a son nom juste en bas et on peut voir qu'il est du type Blueprints effect fire. Et ce que nous allons faire ici c'est en appuyant sur les deux touches, nous détruirons le feu que nous avons créé lorsque nous appuyons sur la touche 1. Je peux donc le faire glisser directement au-dessus de la cible de notre fonction Destroy Actor. Cela le connectera automatiquement comme ça. Nous allons faire apparaître notre journal des messages sur autre chose que je vais faire tout de suite , c'est qu'après avoir détruit notre acteur, je vais remettre à zéro notre Do Want Snowwed. Et cela va juste me permettre d'appuyer à nouveau sur la touche 1 pour faire apparaître un autre plan, créer un feu. C'est donc ce qui se passe ici. Nous allons appuyer sur la touche unique , puis nous allons juste faire apparaître cet effet de feu de plan à l'endroit, la transformation du monde, devrais-je dire, de notre main simulée, c'est-à-dire composant juste ici. Cela va juste l'apparaître à ce moment-là dans le monde, où que nous soyons à ce moment-là, nous économisons dans une variable. Et ensuite, lorsque nous appuierons sur les deux touches, nous détruirons tout cela. Maintenant, je vais compiler ici et enregistrer. Et allons-y et exécutons-le. Définissez mon objet de débogage ici sur mon ThirdPersonCharacter. D'accord, donc ce sont les tests que nous allons faire. Je vais donc d'abord appuyer sur l'un d'eux pour créer un tir juste ici, et vous verrez la cadence de tir du script ci-dessus. Alors on y va. La seule clé, c'est l'effet de feu. Maintenant, je vais appuyer sur deux. Cela va détruire le feu que nous avons créé et allumé à l'intérieur de cette variable ici même. Alors voilà, les deux clés, elles ont disparu. Nous avons également réinitialisé cette opération une fois connue. Maintenant, je vais appuyer à nouveau sur les deux touches. Je vais donc essayer de détruire ce feu. Maintenant, j'ai appuyé dessus et vous pouvez voir qu'il est en cours d'exécution. Mais maintenant, quand je sors d'ici, je m' évade, je regarde ce qui se passe. Le journal des messages nous est présenté. En fait, nous avons de nombreuses erreurs. Maintenant, si je fais de nombreuses erreurs c' est parce que cela me crie dessus que j'ai essayé de détruire ce feu qui n'existait pas. Ce qui se passait ici, c'est la première fois que j'ai appuyé sur une touche, que nous avons repeuplé cette variable, cette variable de feu à effet de plan. Avec cet effet de plan créé, le feu. Une fois qu'elle est remplie, on comprime les deux touches puis on la détruit. Maintenant, lorsque j'appuie à nouveau sur les deux touches, nous n'avions pas encore réinitialisé le contenu de cette variable pour qu'il soit quelque chose. C'était donc une variable vide. Il s'agit d'un message très courant qui vous est craché dans le journal des messages. Le journal des messages peut désormais recracher toutes sortes d'erreurs différentes qui se produisent avec votre script. Mais c'est une situation très courante où l' on vous crie que le contenu d'une variable est introuvable. Je vais le glisser-déposer en haut ici. Examinons de plus près notre message d'erreur ici. Vous pouvez maintenant voir que ces messages d'erreur apparaissent dans la section Lire dans l'éditeur de notre journal des messages. Et cela se répète à de nombreuses reprises parce que j'ai appuyé plusieurs fois sur les deux touches pour essayer détruire le feu qui n'existait pas. Maintenant, ce qui est utile à propos de ce journal des messages, c'est qu'il contient des hyperliens sur lesquels vous pouvez cliquer pour vous diriger vers l'endroit, l'air. Maintenant, si vous cliquez sur Event Graph ici, je vais simplement cliquer sur Event Graph. Cela nous amènera au graphique des événements approprié. Si nous cliquons à l'endroit où il est écrit Exécuter Uber BP, ThirdPersonCharacter, cela nous fera également passer sur le graphique des événements. Et si vous cliquez sur BP ThirdPersonCharacter, vous accéderez également à ce graphique d'événements. Cependant, si vous deviez cliquer à endroit où il est écrit Destroy Actor juste ici, cela indiquera exactement où le problème s'est produit. Ce nœud Destroy Actor essayait de trouver une cible valide. Cependant, ce journal des messages indique qu'il s'agissait d'une cible non valide. La cible n'était pas valide. Et c'était encore une fois, parce que la première fois que nous avons créé notre feu, nous avons pu le détruire. Mais plus on appuie sur deux touches, on ne peut pas détruire un feu qui n'existe pas, qui n'a pas été allumé à l'intérieur de cette variable de tir. Alors, comment pouvons-nous corriger un tel scénario ? Eh bien, vous pouvez vérifier si le contenu d'une variable est valide. Et pour ce faire, nous pouvons sélectionner notre variable de feu ici, feu à effet de plan qui est peuplé ici, qui se met en place juste ici. Nous pouvons cliquer dessus avec le bouton droit de la souris et le convertir en un fichier validé. Maintenant, notez qu'une fois cela fait, ce nœud passera d'un nœud ressemblant à une pilule à un nœud qui nous oblige à nous y connecter, en fil d'exécution. Maintenant, nous pouvons avoir un script comme celui-ci. Si on appuie sur les deux touches, ça va d'abord faire une vérification. Si cela est valide, est-à-dire qu'il y a quelque chose défini à l'intérieur de cette variable, nous allons continuer et détruire tout ce qui n'a pas été défini à l'intérieur de cette variable. Cependant, si nous appuyons sur les deux touches et que ce n'est pas valide, cela signifie qu'il n'y a rien à l'intérieur de cette variable. Nous pouvons faire autre chose. Dans ce cas, je vais simplement faire glisser et imprimer la chaîne. Et je dirais simplement viré, non valide. Comme ça. Donc maintenant, si je compile et que je sauvegarde, et que nous jouons à nouveau, avant même que j'appuie sur une touche. Allons-y, appuyons sur les deux touches et regardons en haut à gauche de ma fenêtre. Ça va dire que le feu n'est pas valide et je peux continuer à le spammer. Maintenant, elle n'est pas encore valide car nous n'avons pas défini le contenu de cette variable de feu. Il n'a été peuplé de rien. Maintenant, si j'appuie sur la touche 1, nous avons maintenant défini le contenu de cette variable de tir. Alors maintenant, lorsque j'appuie sur la touche Tab, elle sera valide. Alors regardez par ici. Il s'est enflammé, c'est exact. Cela a détruit l'acteur, et tout va bien. Maintenant, cette fenêtre du journal des messages apparaîtra automatiquement si elle détecte une telle erreur, elle s'ouvrira pour vous. Toutefois, si vous souhaitez que cet onglet du journal des messages soit ouvert à tout moment, laissez-moi simplement le fermer afin que je puisse le réactiver. Vous pouvez simplement passer sous une fenêtre. Et puis, juste ici, dans la catégorie des journaux, vous pouvez choisir de connecter ce message. Très bien les gars, ça va suffire pour cette vidéo sur la fenêtre du journal des messages. Nous vous verrons dans la prochaine. 108. Recherche: Très bien, donc si vous avez regardé toutes les vidéos jusqu'à ce stade du cours, vous devenez assez efficace avec les scripts de plan. Passons maintenant à un niveau supérieur en matière de création de scripts en découvrant quelques astuces de productivité. Dans cette vidéo, notre objectif est d'explorer plusieurs méthodes de recherche d'objets tout en travaillant avec des plans. Nous allons rechercher un plan, des acides eux-mêmes découvrir où ils se trouvent ici dans notre navigateur de contenu, ainsi que rechercher des éléments qui peuvent exister à l'intérieur d'un plan, tels que des variables, des fonctions, etc. Maintenant, vous voulez être bon dans ce domaine simplement pour des raisons d'efficacité au travail. Plus vite vous pouvez localiser les actifs, les fonctions, les variables, etc. Plus vite vous pouvez vous assurer d'avoir négocié plans de qualité exempts d'erreurs. Maintenant, pour démontrer certains de ces concepts, nous allons explorer ici. Je vais le faire dans mon ThirdPersonCharacter. Vous pouvez le faire depuis l'intérieur de n'importe quel plan, mais c'est parfaitement bien. En double-cliquant sur mon personnage à la troisième personne, la première chose que nous allons apprendre à faire est naviguer vers cette ressource de plan. Souvent, lorsque je travaille avec des étudiants, ils ont un plan ouvert, mais ils n'ont aucune idée de l'endroit où se trouve ce plan dans le navigateur de contenu. Ils peuvent être désactivés dans un dossier aléatoire. Et si je leur demande de localiser leur ThirdPersonCharacter Blueprint, ils ne savent pas où il se trouve. Eh bien, il y a plusieurs façons de le trouver. Voie. Premièrement, vous avez des filtres. Vous êtes dans votre navigateur de contenu. Vous pouvez cliquer sur le dossier de votre choix. Et vous pouvez choisir le dossier de contenu, car ce dossier contient tous les autres dossiers. Et cliquez sur Filtres, classe Blueprint, et vous êtes déjà prêt à faire les choses. Laissez-moi simplement maintenir la touche Contrôle et la molette de défilement enfoncée. Et immédiatement, nous pouvons voir notre ThirdPersonCharacter est là. Pour désactiver un filtre. Vous pouvez simplement le désactiver. C'est avec elle éteinte, c'est avec elle allumée. Très bien, l'un des moyens de localiser rapidement les ressources consiste à les filtrer dans votre navigateur de contenu. Mais je voudrais maintenant parler de la façon de trouver cet atout si vous êtes dans ce ThirdPersonCharacter lui-même. Eh bien, vous avez plusieurs moyens. numéro un se trouve Le numéro un se trouve en haut de votre éditeur de plans, vous avez ce bouton Parcourir juste ici. Si vous cliquez dessus, vous serez redirigé directement à l'endroit où se trouve cette ressource dans votre navigateur de contenu, ce qui est très pratique. De plus, si vous êtes à l'intérieur d'ici et que vous utilisez simplement Control plus b, cela vous permettra également d'y accéder directement. Donc, Control plus b, était que hockey, Alright, Next, à l'intérieur d'un plan, vous devriez avoir un onglet Rechercher des résultats ouvert par défaut dans votre éditeur de plan. C'est ce type juste en bas. Maintenant, c'est génial parce que vous pouvez trouver des informations à puces ici. Vous pouvez trouver des éléments tels que des fonctions, des événements , des variables, toutes sortes de choses simplement en les recherchant ici. Encore une fois, cela devrait être activé par défaut, mais il existe en fait quatre façons d'accéder à ce panneau. Encore une fois, la première méthode est qu'elle devrait être activée par défaut, mais supposons qu'elle soit désactivée. Vous pouvez également l'afficher depuis la barre d'outils en cliquant sur le bouton Rechercher situé juste ici. Ils vont ouvrir cet onglet. Permettez-moi de cliquer dessus une fois de plus, nous pouvons également y accéder en sur l' option fenêtre ici. Et vous avez également la possibilité d'activer votre panneau de résultats finaux. De plus, si vous ne l'avez pas activé, vous pouvez déplacer ce bras en utilisant la touche Ctrl F, c' est-à-dire que le raccourci clavier et F ouvriront cette fenêtre de résultats de recherche. Maintenant, il s'agit de notre outil de recherche dans l'éditeur Blueprint qui nous permet de retrouver rapidement une variété d'éléments tels qu'un nom de nœud, un nom de plume, un commentaire de nœud, un nom de propriété, un valeur de la propriété. Nous allons donc le démontrer. Shelly. Je vais juste faire une recherche pour modifier la santé, modifier la santé, et appuyer sur Entrée ici pour voir tous nos différents résultats correspondant à « modifier la santé ». me suffit donc de double-cliquer sur l'une de ces options ici pour voir ce que nous trouvons. Il y a une fonction de santé modificatrice qui y est placée dans le graphique. C'est un modificateur de fonction de santé qui s'y trouve. Et cela nous mènera même à la fonction dans ce cas que nous avons créée et appelée modifier la santé en double-cliquant ici, c'est ma fonction d'aide à la modification. Et encore une fois, nous avions un modificateur d'aide à la fonction pure que nous pouvions localiser en cliquant ici également. Essayons d'autres résultats de recherche. Clarifions-le. Je vais taper le mot spawn et regarder tous ces résultats de recherche. Maintenant, il convient de noter que si vous passez la souris sur ces différentes icônes, cela vous indiquera à quoi elles sont associées. C'est donc une épingle d'exécution. Double-cliquez dessus , regardez ça. Il est question de ces épingles d'exécution de spawn ici. Je peux passer la souris dessus. Il s'agit d'une transformation d'apparition, structure, double-cliquez sur cette transformation d'apparition. Il s'agit donc de trouver ce mot spawn, et je peux voir que c'est un nom de plume juste là. Qu'est-ce qu'on a d'autre ici ? Nous avons un son de spawn attaché. Je peux double-cliquer dessus, c' est un nœud de fonction juste là. Et cela nous permet de savoir qu'il s'agit d'un nœud. Le F sophistiqué est égal à une fonction. Ça y est. Beaucoup d'amendes ici dans nos résultats de recherche. Option, d'accord, essayons de taper quelque chose comme une variable. Appuyez sur Entrée. Et notez que j'ai un commentaire sur les résultats. Donc, si je double-clique sur ce commentaire, oui, en effet, je peux même trouver des commentaires contenant ce mot. Dans ce cas, il s'agit de trouver cette variable de mots juste là-haut. Essayons le mot ciblé, car de nombreux nœuds contiennent le mot cible. Comme vous pouvez le constater, de nombreux nœuds de fonctions ont ce mot cible dessus. Celui-ci cherchait un objet de personnage, qui cherchait des objets de type pion. Encore une fois, vous pouvez obtenir de nombreuses informations en passant la souris sur les différents résultats de recherche et en double-cliquant sur un élément pour y accéder. Essayons également de trouver la valeur d'une propriété. Je vais taper le mot cinq cents parce que je crois avoir ici quelque part et où ? 500 ? Oui. J'ai indiqué la vitesse de marche maximale par défaut ou la vitesse de marche maximale à une valeur par défaut de 500 plus tôt dans le parcours. Il peut donc même trouver la valeur de la propriété. Permettez-moi donc de double-cliquer dessus. Cela me montrera exactement où cela se trouve. Cela peut donc aussi être pratique. Si tu es comme moi, j'ai mis cette valeur 500 quelque part. C'était où encore ? Maintenant, tout cela va très bien. Être capable de rechercher des objets rapidement et efficacement dans un plan est en fait une compétence clé. Cependant, il est plus puissant de trouver une fenêtre de résultats ici en permettant de rechercher dans tous vos plans. Et oui, tu peux le faire. Pour ce faire, cliquez sur ce bouton avec l'icône des jumelles juste ici, que vous trouverez dans tous les plans. Cela devient particulièrement important lorsque vous communiquez d' un plan à l'autre. Peut-être avez-vous une variable de santé comme nous le faisons à l'intérieur de notre personnage à la troisième personne ici, qui est référencée dans un autre plan, tel que notre exemple de collecte de santé, ce bilan de santé que nous avons créé plus tôt dans le cours. Ainsi, pour savoir où cette variable de santé peut exister tout au long de votre projet, vous pouvez simplement effectuer une recherche sur la santé. Il entre. C'est ici que cela est référencé dans ce plan. Mais si je clique sur ce bouton juste ici, trouverai où le mot santé est référencé dans chacun de nos plans. Nous l'avons donc référencé ici dans notre HUD WPP. Il y a notre exemple de ramassage ou de ramassage d'enfants, etc. Il suffit de double-cliquer sur l'un de ces éléments pour accéder directement à l'intérieur du plan en question. Permettez-moi de double-cliquer dessus. Obtenez de la santé à l'intérieur de notre exemple de pick-up de BP qui l' ouvrira juste en haut. Nous pouvons voir où cette variable de santé depuis l'intérieur de notre ThirdPersonCharacter est obtenue, puis également définie. Astuce super pratique. Très bien les gars, cela va tout faire pour effectuer une recherche ici dans les plans d'Unreal Engine. Nous vous verrons dans la prochaine vidéo. 109. Marque-pages: Accueillir et parcourir les plans rapidement et efficacement est une compétence essentielle pour tirer le meilleur parti de l'utilisation d'Unreal et de vos favoris. Les signets Blueprint sont l' un des outils que vous pouvez utiliser pour gagner en efficacité. Dans cette vidéo, nous allons apprendre à définir des signets de plan, à les localiser, puis à démontrer pourquoi c'est même une chose utile à faire. Alors, qu'est-ce qu'un signet ? Vous pouvez considérer un signet de plan comme un moyen d'identifier une section d'un graphique. Il se peut que vous souhaitiez accéder rapidement à votre graphe d'événements ou au script de construction . Maintenant, c'est un peu comme placer une épingle ou un marqueur sur une carte. Ensuite, en sélectionnant simplement ce marqueur dans une liste, vous pouvez accéder directement à cet endroit sur votre carte ou, dans ce cas, sur votre graphique. Donc, avant le début de cette vidéo, j'ai créé un signet appelé Overview à l'intérieur de mon BP ThirdPersonCharacter. Et juste pour vous montrer rapidement comment cela fonctionne, si je double-clique sur mon signet, trouverai exactement où j'ai placé ce signet dans ce BP, un ThirdPersonCharacter Blueprint. Maintenant, laissez-moi sortir de mon onglet de favoris ici et créer un signet à partir de zéro juste pour que vous puissiez suivre ce processus. Très bien, donc à l'intérieur de n'importe quel plan, vous pouvez créer un signet de plan en cliquant juste en dessous. D'accord ? Maintenant, je vais zoomer un ensemble donné de nœuds ici. Hé, peut-être que je veux créer un signet juste là. D'accord, alors peut-être que je travaille sur un script et qu' on m' appelle et je me dis : « Tu sais quoi ? Je ne veux pas oublier ces nœuds ici. Permettez-moi de créer un signet. Alors tu viens juste en dessous. Nous allons créer un signet et je vais simplement l'appeler mon favori de santé. Cliquez sur Ajouter ici. Maintenant, il va mémoriser ce niveau de zoom ainsi que ce positionnement dans notre graphique ici même. Il ne me reste plus qu'à accéder à mon favori pour y revenir. S'il m'arrive de m' éloigner de ça, comme ça. Maintenant, chaque fois que j' ouvre cet onglet Signets qui se trouve dans le menu Windows, juste ici, des signets. Et ici, vous pouvez voir votre marque-page nommé. Donc, si je double-clique sur la santé, cela me redirigera vers cet ensemble de nœuds, le même niveau de zoom. Maintenant, vous remarquerez également que dans cette fenêtre de favoris, nous pouvons voir que nous avons des nœuds communs. Chaque fois que vous créez un nœud de commentaires. Et je parle ces boîtes communes comme cette maille statique attachée à une prise manuelle. Ils apparaîtront juste ici, dans la section des nœuds de commentaires de votre fenêtre de favoris. Ainsi, chaque fois que vous créez une zone de commentaire, et encore une fois, vous pouvez créer une zone de commentaires en mettant en évidence une série de nœuds comme celui-ci , puis en appuyant sur la touche C, puis en créant un commentaire. juste ici. Vous pouvez voir que dès que j'appuie sur ce CQI, il a ajouté ce commentaire juste ici , dans la section du nœud de commentaires. Je vais appeler cela ma création HUD. Et donc, chaque fois que vous créez une zone de commentaires comme celle-ci, tout ce que vous avez à faire, et comme vous pouvez le voir, elle ne l'a pas mise à jour. Si vous compilez hover, cela sera mis à jour. Donc, si vous double-cliquez sur ce nœud de commentaires juste là, vous y serez également redirigé. Ainsi, par défaut, en créant également des nœuds de commentaires, ces zones de commentaires, vous créez une sorte de signet. Maintenant, une dernière remarque, vous pouvez également les créer dans un script de construction. Sur le côté droit, vous verrez où se trouve ce signet. Nous les avons tous définis dans notre graphique des événements. Mais si nous les avions créés dans notre script de construction, cela nous permettrait de savoir qu'ils se trouvent également à l'intérieur de notre script de construction. Très bien les gars, ça va suffire pour proposer des favoris ici, nous vous verrons tous dans la prochaine vidéo. 110. Palette / Panneau de préférences: Bienvenue à tous. Dans cette vidéo, nous allons montrer où accéder au panneau du palais dans un plan, comment ajouter des nœuds à la partie des favoris de ce panneau. Comme vous pouvez le voir sur le côté droit, j'ai ouvert le panneau de la palette. Je suis dans mon plan ThirdPersonCharacter. Vous pouvez toutefois ajouter ce panneau à n'importe quel plan. Mon mode de jeu à la troisième personne est également ouvert ici. Et vous pouvez voir que je l'ai ouvert là aussi. Comment accéder à ce panneau ? Il se trouve juste en dessous du menu Fenêtre ici. C'est ainsi que vous pouvez l'activer. Donc, si jamais elle explose, vous pouvez simplement la réactiver en cliquant sur Fenêtre et en faisant apparaître votre panneau de palette. Ce panneau affiche une liste non contextuelle des différentes fonctions et événements qui peuvent être utilisés dans votre plan. Et ce panneau se compose de deux sections. En commençant par le haut, nous avons notre section préférée. C'est un peu trompeur car si nous passons la souris sur le mot favoris, cela indique qu'il s'agit d'une liste de vos nœuds préférés et les plus utilisés. Vous pouvez maintenant définir les nœuds comme étant vos favoris, et je vais vous montrer comment procéder dans un petit moment. Cependant, il détectera les nœuds que vous utilisez le plus. Et c'est très pratique, car au lieu de rechercher ces nœuds dans votre menu contextuel, vous pouvez simplement effectuer une recherche ici , dans votre section préférée. Et si vous utilisez quelque chose comme obtenir tous les acteurs de classe couramment, vous pouvez simplement le glisser-déposer dans votre graphique de la manière suivante. Cette liste de vos favoris est maintenant partagée par tous les plans. Donc, si je devais passer à mon plan du mode de jeu à la troisième personne de BP. Et vous pouvez voir que j'ai ouvert mon panneau de palettes ici. Vous pouvez voir que j'ai cette même liste de nœuds favoris. Maintenant, une chose un peu décevante, c'est que vous ne pouvez pas réorganiser vos favoris en les faisant glisser et en les déposant. Ce serait une fonctionnalité intéressante, mais hélas, elle n'existe pas encore. Ci-dessous, nous avons notre section Trouver un nœud qui vous permettra de filtrer par classe, vous trouverez un nœud d' événement ou de fonction donné. Vous pouvez maintenant cliquer ici pour déterminer la classe que vous souhaitez rechercher. Ou avec ce paramètre défini sur la classe all, vous pouvez cliquer sur l'un de ces triangles déroulants pour voir ce qui est disponible, par exemple si je viens dans la section des personnages juste ici, vous pouvez trouver des nœuds comme s'accroupir et sauter, par exemple , comment ajouter des nœuds à votre section Favoris ici. ce faire, vous pouvez utiliser le menu contextuel de plusieurs manières Pour ce faire, vous pouvez utiliser le menu contextuel de plusieurs manières. Si vous deviez cliquer avec le bouton droit de la souris et rechercher un nœud donné, je vais simplement taper une chaîne d'impression juste là. Lorsque vous passez la souris sur ces différents nœuds, vous voyez ce petit triangle étoilé sur la gauche. C'est ainsi que vous pouvez ajouter quelque chose à vos favoris. Notez donc qu'une fois que j'ai cliqué dessus, une étoile remplie s'affichera. Et cela va maintenant le montrer dans ma section préférée, juste là-haut. Chaîne d'impression. Faisons également imprimer du texte. Vous voyez que cela apparaît également. Si vous souhaitez les retirer, il vous suffit de cliquer ici pour les retirer. Ou vous pouvez me laisser simplement cliquer dessus. Vous pouvez cliquer dessus avec le bouton droit dans votre section préférée, et vous pouvez choisir de les supprimer de vos favoris. Vous pouvez également choisir d'ajouter des notes à vos favoris en accédant à la section Rechercher un nœud. Et tout comme nous pourrions le faire avec le menu contextuel les mettant en évidence ici, lorsque vous passez la souris sur une fonction ou des événements donnés, vous pouvez également les ajouter à vos favoris en cliquant sur ces étoiles. Vous pouvez également cliquer dessus avec le bouton droit de la souris dans la section des notes et choisir de les supprimer également de vos favoris. Maintenant, s'il devait y avoir toute une catégorie de nœuds que vous aimeriez ajouter à vos favoris. Vous n'êtes pas obligé de commencer chacune d'entre elles. Vous pouvez simplement cliquer avec le bouton droit sur cette catégorie et je vais choisir le personnage ici, cliquez dessus avec le bouton droit de la souris. Nous pouvons dire Ajouter des favoris de catégorie 2. Et puis, en haut, vous verrez que tous ces nœuds, jump, launched, character, etc., ont été ajoutés à notre section Favoris. Et comme tout est répertorié par ordre alphabétique, vous devrez peut-être faire défiler la page vers le haut ou vers le bas pour voir tous les nœuds que vous pouvez voir en position accroupie, ici également. Accroupissez-vous juste là, arrêtez de sauter, arrêtez de sauter, et cetera. De même, si vous souhaitez supprimer tous ces nœuds de votre section préférée, vous n'avez pas à le faire un par un. Vous pouvez simplement cliquer avec le bouton droit ici et supprimer cette catégorie de vos favoris, et elles seront toutes supprimées de votre liste de favoris. Autres options à noter ici, si vous souhaitez supprimer un nœud donné de vos favoris, vous pouvez simplement cliquer dessus avec le bouton droit de la souris. Je vais cliquer avec le bouton droit sur mon nœud Les ici et le supprimer de nos favoris. Vous pouvez également cliquer avec le bouton droit de la souris et choisir d'effacer tous les favoris. Ça va tout effacer. Une autre option que vous avez ici est cliquer avec le bouton droit de la souris et de choisir de charger un profil. Et si vous choisissez le profil par défaut, il vous suffit de récupérer tous les favoris associés au profil par défaut. Très bien, voilà, le panneau palatin affiche une liste sans contact de toutes les fonctions et événements qui peuvent être utilisés dans les plans. Il contient également cette section Favoris qui vous permet d' accéder facilement à vos nœuds préférés et/ou aux nœuds les plus utilisés. Les gars qui feront l'affaire pour offrir celui-ci. Rendez-vous dans la prochaine. 111. Nœuds à effondrer: Très bien, bon retour à tous. Dans cette vidéo, notre objectif est de montrer comment réduire les nœuds d' un graphique dans un souci de propreté et de lisibilité. Maintenant, après un certain temps, je reçois un plan tel que mon ThirdPersonCharacter Blueprint ici. Il peut commencer à avoir beaucoup de nœuds et de réseaux de nœuds, ce qui rend sa lisibilité un peu difficile. Désormais, en réduisant les nœuds, vous pouvez garder votre gazon propre et condensé. Très bien, bien plus tôt dans le cours, nous avons créé ce script de traçage de lignes à l'intérieur de notre troisième personne et de Character Blueprint. Et c'était bien. Cependant, vous souhaiterez peut-être nettoyer des sections de votre graphique, comme celle-ci , juste pour en simplifier la lisibilité. En fait, la présence de tous ces nœuds peut avoir tendance à surcharger le recensement de temps à autre. Existe-t-il donc un moyen d' améliorer la lisibilité de ce document en un coup d'œil, nous savons que tout fonctionne. Réduisez quelque peu ce réseau de nœuds. Eh bien, oui, il le peut. Ce que je vais faire ici, c'est cliquer avec le bouton gauche de la souris, faire glisser et surligner tous ces nœuds ici, sauf mes entrées de touche zéro ici. Donc, avec tous ceux surlignés, je peux cliquer dessus avec le bouton droit de la souris , puis sur mon menu contextuel Et j'aurais pu cliquer avec le bouton droit sur n'importe lequel de mes nœuds sélectionnés ici. J'ai la possibilité de réduire les nœuds. Je vais donc y aller et le faire maintenant. Et quand je le ferai, nous verrons que l'ensemble de ce réseau de nœuds a été condensé en un seul nœud. Nous pouvons maintenant le nommer et, en fait, cela nous incite à lui donner un nom. Donc je vais juste appeler cette ligne trace, comme ça. Et maintenant, nous avons un graphique très simplifié. Nous avons réduit tous ces nœuds en un seul nœud effondré. En fait, il dit qu'il s' agit d'un graphique réduit. Si nous zoomons sur Obama ici, vous pouvez maintenant voir que je passe la souris sur cet ensemble de nœuds effondrés, nous avons un petit aperçu dans notre fenêtre. C'est donc pratique en un coup d'œil. Vous pouvez en quelque sorte voir ce qu' il y a à l'intérieur, même s'il est très petit. Mais si vous voulez avoir une vue complète, vous suffit de double-cliquer dessus et regarder en haut. Vous vous trouvez maintenant dans un onglet qui indique trace de ligne. C'est exactement le même nom que ce que nous avons appelé ce graphique réduit. Et voici notre réseau de nœuds. Nous avons un nœud d'entrée. Voici tout l'intérieur de ce graphique, puis nous avons un nœud de sortie. Maintenant, rien n'est nécessaire pour cette sortie car nous n'avions rien qui soit nécessaire pour transmettre des données ou quoi que ce soit de ce genre. Maintenant, vous vous demandez peut-être ce qui est arrivé à notre Event Graph. J'aimerais donc attirer votre attention sur le panneau Mon plan, situé juste ici. Et sous notre section graphiques, en cliquant sur cette petite flèche vers le bas, en cliquant sous la section Event Graph, nous n'avons pas seulement accès à l'un de nos nœuds d'événements que nous avons placés dans un graphe d'événement artistique. Mais nous avons également un accès rapide à notre ensemble de nœuds de traçage linéaire que nous venons de créer. Maintenant, en haut, j' ai aussi cette flèche arrière et cette flèche vers l'avant. Maintenant, regardez cette flèche arrière. Ce sont des mots illuminés. La flèche vers l'avant est un peu grisée ici. Si je clique dessus, rien ne se passera. Mais si je clique sur ma flèche de retour ici, cela me ramènera hors de mon graphique linéaire réduit ici, pour revenir sur l'herbe de mon événement. Donc, encore une fois, si je double-clique sur mon graphique réduit de trace linéaire, cela changera mon onglet Event Graph mon ensemble de nœuds Align Trace Collapse. Si je clique sur Retour ici, cela me ramènera au graphe des événements. Maintenant, je peux aussi simplement cliquer ici sur mon graphique d'événements pour y revenir. Et maintenant, de retour dans le panneau Mon plan, je peux revenir à cet ensemble de nœuds de réduction de trace de ligne en double-cliquant ici. Ça me ramènera là-bas. Et je peux également revenir à mon graphique d'événements en double-cliquant sur l' option Event Graph ici également. Il suffit donc de montrer différentes manières de naviguer dans votre graphique. Maintenant, si vous avez toujours voulu créer votre graphique réduit ici, il vous suffit de me laisser zoomer en arrière sur ma ligne. Il suffit de cliquer avec le bouton droit de la souris sur le graphique Vous avez là des nœuds étendus, alors cliquez dessus. Et cela remettra tous ces nœuds dans votre graphe, comme vous l'aviez fait auparavant. Et vous remarquerez également que ce graphique réduit n' existe plus sous la section Graph des événements greffés du panneau Mon plan. À présent, nous allons faire une démonstration de nœuds repliables sur lesquels d'autres nœuds sont branchés et déconnectés des nœuds de compression. J'ai donc une configuration juste ici. Si j'appuie sur la touche A, je vérifierais que les énumérations que j'ai configurées plus tôt dans le cours sont une énumération de l'état de santé, dans laquelle j'ai les valeurs possibles de super ok. Et elle, très mal. Et en fonction de ce que c'est réglé, si c'est super, j'allais changer de personnage. Composants du mouvement. Sautez une vélocité qui contrôle la hauteur que mon personnage peut atteindre 1 400 si mon état de santé est excellent, si tout va bien, je le laisserai à 700. Et si ce set me faisait très mal, je réglerais mes sauts sur la Velocity 2350. Maintenant, je vais juste montrer une fois de plus ce qui se passerait si je devais réduire des nœuds sur lesquels d'autres nœuds branchés et déconnectés des nœuds de réduction. Maintenant, pour le démontrer, je vais simplement sélectionner ces trois nœuds ici. Remarquez donc ces fils ici, ici et là, et même ici, ils doivent avoir quelque chose à brancher. Donc, quand je réduis ces nœuds et que j'ai même quelque chose qui coule dans ces nœuds de sélection. Je vais donc cliquer dessus avec le bouton droit de la souris. Je vais détruire ces nœuds. Et maintenant, vérifiez-le. Mon nœud d'effondrement ressemble à ceci. J'ai une broche d'entrée, mais j'ai aussi quelques broches de sortie parce que nous devons transmettre ces informations sur les mouvements de ce personnage à cet ensemble de sauts, c'est-à-dire, avis de vélocité, et nous doivent également transmettre ces recenseurs. Je vais donc nommer ce graphique en particulier, mon graphique de santé réduit. C'est un beau nom. Et maintenant, si je devais double-cliquer dessus et l'ouvrir, nous pouvons voir que nous avons une épingle de saisie d'exécution, et nous pouvons le vérifier en revenant à notre graphe d'événements. Il y a mon seul pin d'entrée d' exécution. Permettez-moi de double-cliquer dessus. Encore une fois. Laisse-moi nettoyer ça un peu. Mais il a automatiquement configuré certaines broches de sortie sur ce nœud de sortie. Nous avons donc trois broches de sortie d'exécution et un composant de mouvement des caractères, ainsi qu'une broche de sortie. Maintenant, cela vous permet de les nommer si vous ne vous aimez pas, vous savez, nouveau recenseur six, je pourrais très bien les nommer deux. Et elle, très mal. En fait, ce ne serait pas une mauvaise idée de simplement clarifier les choses. OK ? OK. Et nous allons changer cela pour faire très mal. Donc maintenant, si nous devions revenir à notre graphique des événements, cela semble un peu plus logique. Très bien, alors voilà, vous l'avez fait s'effondrer, sachez que c' est quelque chose que je ne recommande généralement pas tant que vous êtes pas dans les dernières étapes de votre projet. Et vous êtes satisfait de tous vos scripts et vous souhaitez simplement nettoyer un peu vos graphiques, juste pour des raisons de lisibilité. Belle astuce pratique que vous pouvez emporter avec vous et qui fera tout pour cette vidéo. Rendez-vous dans la prochaine. 112. Mise en page personnalisée: Très bien, bienvenue à tous. Eh bien, après avoir passé du temps à travailler dans Unreal, vous trouverez sans aucun doute votre propre façon de faire les choses, votre propre flux de travail, si vous voulez, votre propre façon de présenter votre propre façon de faire les choses, votre propre flux de travail, si vous voulez, votre propre façon de tous ces différents des panneaux d'information, pas seulement à l'intérieur d' un éditeur Blueprint comme je l'ai ouvert ici, mais aussi à l'intérieur de n'importe quel éditeur d'Unreal, qui concernent votre éditeur de niveau, les éditeurs de Static Mesh, les éditeurs de matériel, tout ce genre de choses. La question qui se pose alors est de savoir s'il existe un moyen de sauvegarder une mise en page personnalisée que je voudrais peut-être charger plus tard. La réponse à cette question est oui, bien sûr que vous le pouvez. Pour ce faire, vous pouvez trouver cette option dans le menu Windows. Si vous vous trouvez sous Fenêtre dans l'un de vos éditeurs ici, fenêtre sous la section mise en page, c'est ici que vous pouvez créer et enregistrer une mise en page personnalisée. Vous pouvez charger cette mise en page, vous pouvez supprimer cette mise en page, etc. Nous allons donc vous montrer comment procéder dans cette vidéo. Maintenant, je tiens à souligner que pendant que je suis dans l'éditeur de niveaux, j'ai cette option dans la section Fenêtre ici. Si je devais me lancer dans mon personnage à la troisième personne. Je suis donc dans un plan de classe de personnage et je passe sous la fenêtre. Je peux voir les options de mise en page et je peux également créer une mise en page personnalisée ici. Et passons également à un autre éditeur aléatoire. Je ne sais pas, je vais entrer dans contenu commencé, peut-être demande ce bon vieux fauteuil Static Mesh Editor. Ouvre ça. Bien sûr. Et sous l' option fenêtre ici, j'ai également ces options de mise en page. Donc, ce que je vais faire avant créer ma propre mise en page personnalisée, c'est d' ajouter différents panneaux de fenêtre ici et de les organiser à ma guise. Et je vais commencer ici dans mon filet statique et l'infirmière passera sous la fenêtre. Je vais allumer, disons mon journal des messages. Bien sûr. Je dirais que je veux l' ancrer à côté de mes panneaux, juste ici. Je passerai ensuite à mon plan de personnage à la troisième personne. Allons ouvrir une autre fenêtre. Voyons voir, je vais apporter mon journal de sortie. Bien sûr, je vais l'ancrer ici. Je vais mettre mes favoris de niveau à côté de mon panneau de plans. Comme ça. Je vais prendre mon panneau de palette et le placer également à côté de mes composants. Bien sûr, pourquoi pas ? fait, vous avez l'avantage de faire une pause, afin de voir et de vous souvenir où je place tous ces panneaux. Ensuite, je passerai à mon éditeur de niveaux. Ma fenêtre de niveaux est ouverte depuis le début du cours. Je l'ai remis en place. J'ai également activé les paramètres de mon monde. Et si j'introduisais également le panel des acteurs de la place. Et voyons ce que j'ai d'autre ici ? Je vais créer, allons créer World Partitioner. C'est le cas si vous travaillez avec des paysages. Je vais donc l' ouvrir ici également. OK, donc avec toutes ces mises en page, personnalisez la façon dont je cite entre guillemets, comme ça. Je vais passer sous ma fenêtre d'option ici. Et je vais passer à la section Sauvegarder la mise en page. Et je peux enregistrer ma mise en page car cela fera apparaître un petit dialogue ici. Et je vais simplement appeler ça mon costume. Et pour ma description ici, bien sûr, elle est facultative, comme indiqué, je vais simplement appeler cela mon exemple de mise en page. Je vais continuer et cliquer sur Enregistrer. Faites-moi savoir qu' il a été enregistré dans ce répertoire juste en bas. Et maintenant, je vais passer sous une fenêtre. Et dans mes options de mise en page de chargement, vous pouvez voir ma mise en page personnalisée. Mais c'est ce que j'ai mis en place actuellement. Je vais donc revenir par défaut à page par défaut de l'éditeur. Maintenant, lorsque vous faites cela, votre moteur va fermer votre moteur et, par défaut, tous vos panneaux de fenêtre retrouveront leur position par défaut. Voici donc mon éditeur de maillage statique, mon personnage à la troisième personne. J'ai mon panneau de détails ici. Vous pouvez voir que le panneau de la palette a disparu. Où sont mes fenêtres ici ? Ils sont tous partis. Et de retour ici, dans mon éditeur de niveaux lui-même, il me manque l'onglet « niveaux » ici. Où se trouve mon navigateur de contenu ? Il me manque les paramètres de mon monde, la partition du monde. Tout est revenu aux paramètres par défaut de l' éditeur. Maintenant, je retourne sous une fenêtre. Je peux charger cette mise en page. Et wallah, tu peux voir que mon palais est de nouveau là où je l'ai mis. Mon panneau de favoris est de retour ici. Tout est revenu là où je l'avais. Éditeur de niveaux, acteurs du lieu, panneau, niveaux, onglets, paramètres du monde, partition du monde, etc. Il convient donc de noter ici que lorsque vous créez votre propre mise en page personnalisée, une fois que vous l'avez enregistrée, vous enregistrez la mise en page et pas uniquement pour l'éditeur actuel dans lequel vous travaillez. Dans ce cas, ce serait mon éditeur de niveau, mais vous enregistrez également cette mise en page pour tous les autres éditeurs. Y compris dans mon cas ici, ces éditeurs de mash statiques et les éditeurs de plans, pour supprimer l'autorisation, vous deviez simplement passer sous Window Remove Layout. Voici ma mise en page personnalisée. Lorsque je sélectionne cette option, une boîte de dialogue s'affiche ici disant : Êtes-vous sûr de vouloir le faire ? Maintenant, si vous cliquez sur OK, vous remarquerez que rien n'est arrivé à ma mise en page personnalisée car c'est la mise en page que j'utilise actuellement. Cela ne supprimera donc pas la mise en page que vous utilisez actuellement. Donc, si je voulais vraiment supprimer la mise en page de mon cousin, je devrais d'abord revenir à une autre mise en page. Dans ce cas, je vais revenir à la disposition par défaut de mon éditeur. Et maintenant, si je devais passer sous notre option de fenêtre, dans la section de mise en page, j' essayais de charger cette mise en page. Vous pouvez voir qu'il n'existe plus. Pendant que nous sommes ici, je voulais également souligner que vous pouvez importer une mise en page existante ou que, lorsque vous enregistrez une mise en page, vous pouvez également envisager d'exporter une mise en page. Je ne vais pas le démontrer ici, mais je voulais vous en informer. vous recommande vivement de créer vos propres mises en page personnalisées car cela vous aidera à améliorer votre flux de travail. Les gars, ça suffira pour cette vidéo. On se voit dans la prochaine. 113. Conseils et astuces: Bienvenue. Dans cette vidéo, l' objectif est de vous fournir des conseils et astuces supplémentaires vous aider à travailler plus efficacement avec les plans dans Unreal, non de vous présenter ces trucs et astuces sur lesquels je vais travailler à l'intérieur de Maya, personnage à la troisième personne de BP. Notez toutefois que vous pouvez travailler sur n'importe lequel de vos plans. Très bien, notre personnage à la troisième personne étant ouvert, je voulais attirer votre attention sur ces deux flèches juste haut de mon graphique d'événements. Ce sont des flèches vers l'avant et vers l'avant, comme vous le voyez dans n'importe quel type de navigateur Internet. Cela vous permet de passer d'un graphique à l'autre. Maintenant, en ce moment, c'est grisé. Et si j'essaie de cliquer dessus, rien ne se passe parce que nous l'ouvrons simplement. Cependant, lorsque je clique sur différentes zones de mon panneau de plans ou ma zone de favoris, je l'ouvre ici sous les signets de la fenêtre. je commence à cliquer sur certaines de ces choses, comme je l'ai dit, sautez jusqu'à l' endroit où se trouve ma touche de saisie zéro. J'entre dans ma fonction Turbo Run. Ou je navigue vers l'une de mes interfaces Blueprint ici, Allons-y, la fonction d'interaction, ou l'une de mes macros en feu, ou je passe à l'un de mes favoris ici, je vais accéder à mon favori de santé ou même mon marque-page d'aperçu. Maintenant, vous m'avez vu cliquer sur une variété de choses. Maintenant, j'ai créé un historique et je peux maintenant utiliser ces boutons de retour et de marche pour accéder aux éléments sur lesquels j'ai cliqué. Donc, si je reviens ici, je vais revenir à mon favori de santé, à ma macro ici, Maia on fire, macro, à nouveau à mon interface d' interaction. Et comme vous pouvez le constater, il fonctionne comme n'importe quel navigateur Internet, les boutons précédent et suivant, avant , arrière, avant, arrière, etc. Maintenant, lorsque vous passez la souris dessus, vous pouvez cliquer dessus avec le bouton droit de la souris pour voir un historique complet. Je sais qu'à un moment donné, cela fonctionnait. Cependant, si j'essaie de cliquer avec le bouton droit de la souris pour le moment, je ne peux pas voir cet historique complet. Je dois imaginer que la fonctionnalité va retrouver son chemin. Très bien, ensuite, je voulais vous montrer comment copier et coller des valeurs dans Unreal. Maintenant, c'est quelque chose que je sais, vous savez comment faire grâce à de nombreuses autres applications informatiques. Contrôle C pour copier, contrôle V pour coller. Mais c'est l'une de ces astuces qui pour une raison ou une autre, échappent à l'esprit de nombreuses personnes, car elles sont même possibles. Ce que je vais faire ici, dans mon panneau de composants, et je vais passer à ma fenêtre d'affichage ici parce que ce sera un peu visuel par nature. Je vais ajouter un tout nouveau composant. Je vais ajouter un joli système de particules Agora. Cela va être attaché à mon composant de capsule. Je vais laisser ce nom de Niagara. Ça va très bien se passer. Je vais installer un actif du système Niagara ici. En cliquant sur cette liste déroulante, je vais définir l'une de ces options magiques. Bien sûr. Actuellement, il apparaît juste au centre car il se trouve à l'emplacement 000 par rapport à notre composant de capsule. Ceci est rattaché à mon élément de conseiller. Mais disons que je voulais que cette particule apparaisse juste à l'emplacement du composant simulé de ma main. Eh bien, ce serait aussi simple que de copier cet emplacement. Il s'agit d'un emplacement relatif. emplacement relatif de cette composante par rapport à notre composante catholique. Et pour ce faire, je peux simplement cliquer avec le bouton droit de la souris ici sur l'emplacement, cliquer avec le bouton droit sur Copier. Vous pouvez voir Shift Plus Rice. bouton droit de la souris est le raccourci clavier pour le faire ici. Ensuite, je peux accéder à ma particule de Niagara, cliquer avec le bouton droit ici, et je pourrais la coller. Donc, pour une raison ou une autre, c'est une astuce très pratique qui échappe à l'esprit des gens car elle est même possible. Mais croyez-moi, j'ai utilisé cette astuce tout le temps. Ensuite, j'aimerais attirer votre attention sur le panneau My Blueprint où se trouve cette icône représentant un engrenage. Et si je clique dessus, je veux parler de cette option la plus populaire affichant les variables héritées. Actuellement, je l'ai vérifié. Maintenant, si je coche cette case, vous remarquerez que de nombreuses catégories de variables vont disparaître ici. Et la raison pour laquelle elles disparaissent est qu'il s'agissait d'une catégorie de variables héritée qui a été héritée de notre classe de caractères mère. Maintenant, la raison pour laquelle il est important savoir est que si vous créez une classe de base et que vous héritez de cette classe, vous vous demandez peut-être : « Hé, où » toutes les variables que j'ai configurées dans cette classe de base, où existent-elles ? Maintenant, pour vous aider à comprendre ce point, je vais vous présenter un autre plan. Plus tôt dans le cours, nous avons créé ce plan de personnage pour enfant, hérité de mon personnage à la troisième personne. Alors laisse-moi ouvrir ce type très rapidement. C'est un enfant. Si vous voyez cela, vous pouvez l'ouvrir dans l'éditeur de plan complet en cliquant ici. Vous pouvez voir que la classe parentale ici est mon personnage à la troisième personne BP. Maintenant, si nous regardons dans la section variable de l'enfant. Par exemple, attendez une minute, où toutes les variables de ma classe parent sont ici, j'ai créé toutes ces variables. J'ai sélectionné Actor Variable, une chaussette et une variable. Ce sont des variables que nous avons créditées tout au long du cours. Où sont-ils ? Eh bien, si je vais dans l' enfant, que je clique sur cette icône en forme d'engrenage dans le panneau Mon plan et que j' affiche les variables héritées. Et nous ouvrons notre catégorie de variables ici. Nous pouvons maintenant voir toutes les variables que nous avions configurées dans notre classe parent. Ensuite, j'aimerais attirer votre attention sur une icône en forme d'engrenage située tout en haut à droite de notre panneau Détails. Si vous cliquez dessus, vous verrez également une variété d'options. Je vais vous parler de certaines d'entre elles que j'aime beaucoup utiliser, comme n'afficher que les propriétés modifiées. Si vous cochez cette case, vous réduirez votre panneau de détails pour n'afficher que les propriétés que vous avez modifiées. C'est très pratique pour savoir : « Qu'est-ce que j'ai réellement changé à propos de ce composant ? Je trouve cela particulièrement utile pour quelque chose comme le composant de mouvement des personnages, car le composant de mouvement des personnages contient toutes sortes de propriétés. Donc, si je veux découvrir celles que j'ai modifiées, je peux cliquer ici et n'afficher que les propriétés modifiées, au lieu de cocher cette énorme liste de les propriétés qui me sont présentées sinon, certaines des autres options que j'aime explorer dans ce menu, nous devons afficher tous les détails avancés. C'est quoi ce bordel ? Eh bien, dans chacune de ces catégories, nous avons des propriétés avancées qui sont moins connues, moins utilisées, etc. Vous pouvez cliquer et les afficher manuellement de cette manière. Cependant, si vous ne vouliez pas faire comme je le fais en ce moment, et les exposer tous un par un. Vous pouvez simplement accéder à cette icône en forme d'engrenage et afficher toutes les informations avancées. Et toutes ces catégories avancées seront activées immédiatement afin que vous n'ayez pas à toutes cliquer dessus. C'est pratique. Laisse-moi juste le désactiver. Quelque chose d'autre que j'aime utiliser ici se trouve dans cette catégorie, je peux réduire toutes les catégories ou élargir toutes les catégories. Une fois de plus, j' ai sélectionné les composantes des mouvements de mon personnage ici. Il y a beaucoup de catégories différentes ici. Mouvement du personnage, saut, chute, mouvement des personnages par composante , tique, réseautage, nombreuses catégories différentes. Donc, si je veux les réduire toutes, je pourrais simplement cliquer dessus et voir toutes les catégories individuelles afin de pouvoir ouvrir uniquement celles qui m'intéressent. Et bien sûr, je peux faire le contraire, c' est-à-dire élargir toutes les catégories. C'est donc un moyen facile de tous les ouvrir sans avoir à le faire un par un. Très bien, ensuite, j'aimerais parler de ce que fait ce bouton de masquage sans rapport dans la barre d'outils d' un éditeur de plan. Maintenant que cela fonctionne vraiment, vous devez vous trouver dans votre Event Graph votre script de construction, votre fonction ou une macro, quelque chose avec quelques nœuds. Je vais mettre en évidence mon composant de capsule au sein de ce réseau de nœuds. Et je vais cliquer sur ce bouton. C'est comme un bouton marche/arrêt juste ici. Lorsqu'il est bleu, il est activé. Lorsqu'il est gris, il est désactivé. Laisse-moi juste le réactiver. Ce que cela a fait, c'est qu'il est devenu gris. Tous les nœuds sont masqués. Tous les nœuds qui ne sont pas liés à celui que j'ai sélectionné, un ou à ceux que j'ai sélectionnés. Alors pourquoi tout cela est-il encore illuminé ? Eh bien, mes nœuds à deux composants attachent ici, ils dépendent de la composante capitale parce qu'ils sont connectés à l'entrée parent. Ils font apparaître des acteurs à partir des nœuds de classe situés ici. Ils dépendent de la transformation du monde que nous apporte la composante catholique. Ils sont donc également illuminés. Maintenant, si je devais zoomer ici, vous pouvez voir que tous les autres nœuds sont également masqués car ils ne sont pas liés à celui que j'ai sélectionné actuellement, ce composant catholique. C'est extrêmement utile si vous avez un enchevêtrement de fils, il est difficile de comprendre ce que fait votre script. Et vous essayez vraiment de faire briller la lumière pour vous concentrer sur un sous-ensemble de nœuds donné. Maintenant, je voulais également souligner ici que, juste à droite de notre bouton Masquer les liens sans rapport, nous avons ces trois points. Si vous cliquez dessus, vous avez la possibilité de verrouiller l'état du nœud. Maintenant, si je clique et que je l'active, nous pouvons maintenant voir que c'est activé avec cette coche. Cela va faire en sorte que tous les nœuds dans leur état actuel soient surlignés ou dosés. Cela signifie donc que si je devais cliquer ailleurs et cliquer sur un autre nœud, tous les autres nœuds resteraient absents. Et ceux que j'avais verrouillés pour être illuminés resteront allumés jusqu'à ce que je les déverrouille. C'est donc bon à savoir. Très bien, les gars, il y a quelques trucs et astuces pour travailler avec les plans d' Unreal Engine. J'espère que vous les trouverez utiles. Nous vous verrons tous dans la prochaine vidéo. 114. Raccourcis de productivité: Très bien, bienvenue à tous. Dans cette vidéo, notre objectif est de résumer tous les raccourcis qui améliorent la productivité intégrés à l'éditeur Blueprint afin que vous puissiez créer et parcourir vos scripts de manière plus efficace. Pour commencer, je vais vous montrer où sont définis les raccourcis clavier dans Unreal afin que vous puissiez personnaliser vos raccourcis clavier pour augmenter la productivité pour toutes les zones du moteur, pas seulement à l'intérieur de des plans, mais partout. Alors, où pouvez-vous personnaliser ces raccourcis clavier ? Eh bien, cela se fait dans les préférences de votre éditeur. Vous pouvez accéder à vos préférences d' éditeur en cliquant ici sur le bouton Modifier. Préférences de l'éditeur. Et avec cet onglet ouvert, je vais juste l' ouvrir en haut à droite, ici. Sur le côté gauche, vous trouverez des raccourcis clavier. Vous cliquez ici. Et c'est là que tous les raccourcis clavier sont définis pour chaque zone du moteur, chaque éditeur, chaque éditeur de Blueprint. C'est ici que nous voyons quelques raccourcis clavier tels que la compilation de F7. Vous avez un espace arrière pour accéder à un graphe parent et F va faire apparaître ce menu de recherche, etc. Maintenant, c'est évidemment génial parce que si vous vous retrouvez à faire une action donnée encore et encore, vous pouvez créer des raccourcis clavier pour vous-même. Vous pouvez également personnaliser les touches de raccourci à votre guise. Et en fait, c'est utile pour moi de le faire ici, car la touche F7, qui est actuellement destinée à la compilation, est également le raccourci clavier que j'avais associé à mon logiciel d'enregistrement OBS pour démarrer et arrêter je joue. Donc, si je voulais changer cela, je pourrais simplement cliquer ici et dire que je veux que ce soit le fait de cliquer sur cet espace pour passer à F8. Et vous pouvez également ajouter une deuxième reliure. Je peux donc dire, bien sûr, que F9 le fera également. Maintenant, il n'y a plus de bouton Enregistrer ou quoi que ce soit d'autre ici. Donc, si je devais entrer dans mon plan de personnage à la troisième et apporter une sorte de modification, comme couper ce fil, puis le rebrancher. Maintenant, vous pouvez voir qu'il me demande de compiler. Donc, si je devais appuyer sur F8, cela compilerait. Mais laissez-moi encore une fois l'extrait et le reconnecter. Et si je devais appuyer sur F9 et que vous ne me voyez évidemment pas appuyer dessus. Tu vas juste lui faire confiance. Je suis en train de le faire. F9, ça va aussi le compiler. C'est donc un moyen très pratique de personnaliser vos raccourcis clavier pour différentes zones de l'éditeur. Très bien, donc une fois cela fait, je vais vous montrer comment exécuter un tas de raccourcis clavier dans des plans. Ils seront spécifiques aux plans que vous devriez connaître. Maintenant, j'en ai parcouru beaucoup tout au long du cours. Mais ce sera un excellent résumé. Donc, pour en revenir à mon personnage à la troisième personne, il suffit de trouver une sélection de nœuds, si vous voulez, pour jouer à la maison. Si vous souhaitez sélectionner un nœud, il suffit de cliquer dessus avec le bouton gauche de la souris pour le sélectionner. Si vous souhaitez ajouter des éléments à une sélection donnée, il vous suffit de maintenir la touche Shift enfoncée. Je vais maintenir la touche Shift enfoncée et cliquer avec le bouton gauche de la souris comme ça. Si vous souhaitez modifier une sélection, vous pouvez maintenir la touche Contrôle enfoncée tout en cliquant avec le bouton gauche de la souris. Comme ça. Pour créer une sélection en zone de sélection, il vous suffit de cliquer avec le bouton gauche de la souris et de la faire glisser pour obtenir cette petite zone en pointillés. Et chaque fois que cela se touche, vous allez sélectionner ce que vous allez sélectionner cliquez avec le bouton gauche de la souris et faites glisser le pointeur de la souris. Si vous souhaitez ajouter à votre sélection de zones de sélection ici, vous pouvez maintenir la touche Maj enfoncée et cliquer avec le bouton gauche de la souris, puis y ajouter des nœuds de cette manière. Si vous souhaitez supprimer sélections de votre sélection de cadrage, il vous suffit de maintenir la touche Contrôle enfoncée, de cliquer avec le bouton gauche de la souris et de faire glisser le pointeur pour supprimer tout ce que votre sélection touche. agissait donc d'un modèle de commandes de sélection. Très bien, les commandes de navigation que vous devez connaître. Vous avez le bouton droit de la souris enfoncé. Nous allons vous déplacer sur l'ensemble du graphique. Vous avez cette icône en forme de main que vous pouvez déplacer comme ça. Si vous souhaitez zoomer sur la sélection, il vous suffit d'appuyer sur la touche d'accueil votre clavier pour zoomer sur ce que vous avez sélectionné. Cadrez-la si vous voulez. Si vous souhaitez zoomer et dézoomer sur votre graphique, suffit de le faire défiler vers l'avant et vers l' comme cette molette de défilement vers le haut et vers le bas. Maintenant, si vous souhaitez zoomer au-delà de l'échelle 1.1. Voici donc votre niveau de zoom dans le coin supérieur droit Zoom un, deux-points un. Si vous souhaitez zoomer au-delà, maintenez la touche Ctrl enfoncée, puis vous pouvez zoomer Passat jusqu'à niveau de zoom de plus sept. Très bien, voyons quelques commandes génériques vous devriez connaître à propos de control plus b. Cela vous permettra de porter cet atout. Dans ce cas, le personnage à la troisième personne se trouve dans le navigateur de contenu. Laisse-moi y retourner . Vous avez le contrôle plus un S qui enregistrera votre plan. Ensuite, nous avons des commandes informatiques génériques où si vous deviez faire quelque chose comme Control plus y, cela refera quelque chose, Control plus z qui annulera quelque chose. Explorons donc cela en déplaçant simplement un peu ce nœud vers le bas. Je vais utiliser Control Z pour annuler cela, Control Y pour le refaire, pour trouver quelque chose dans ce plan, vous pouvez faire Control plus F. J'ai aussi cette belle fenêtre de résultats ouverte juste en bas. Laisse-moi clore ça. Donc, si je devais faire le contrôle plus F, cela me donnerait mes résultats finaux. Si je devais essayer de trouver quelque chose comme Disons « Mon » tout ce qui a trait à la santé, je pourrais le rechercher. Ils se situent juste dans le cadre de ce plan. Cependant, si je voulais trouver quelque chose dans n'importe quel Blueprint, je ferais Control Shift et F, qui figureront dans le menu de n'importe quel plan ici. Et si je saisissais santé maintenant et que j'appuyais sur Entrée, je pourrais découvrir où le mot santé est référencé dans tout type de plan. Personnage à la troisième personne, mon WPP, exemple de HUD, pick-up, etc. Maintenant, comme vous vous en souvenez plus tôt dans le cours, F7 est le raccourci clavier par défaut pour compiler votre plan. Je l'ai changé pour moi personnellement, dans mes préférences d'éditeur, je l'ai changé en F8, F9, mais F7 est la méthode par défaut pour compiler vos actions variables, d' accord, que vous devez connaître. Laisse-moi juste aller dans un espace vide. Je vais juste créer rapidement un nœud publicitaire. Opérateurs, ajoutez un moyen d'obtenir et de définir une variable rapidement. Si vous comptez le brancher du côté de la saisie, vous pouvez simplement cliquer avec le bouton gauche de la souris et faire glisser le pointeur en haut d' une épingle comme celle-ci pour obtenir le contenu de cette variable. Toutefois, si vous souhaitez faire glisser et déposer sur le côté sortie d'un nœud, cliquez avec le bouton gauche de la souris sur cette épingle pour faire automatiquement apparaître le centre de cette variable. Vous devez également savoir que si vous maintenez la touche Ctrl enfoncée et que vous cliquez avec le bouton gauche de la souris sur Ctrl et cliquez avec le bouton gauche faites glisser cette dernière dans un graphique et déposez-la n'importe où. Vous pouvez obtenir cette variable en maintenant la touche Alt enfoncée, en cliquant avec le bouton gauche de la souris et en la faisant glisser . Vous pouvez placer le centre de cette variable. Et si vous n'êtes pas sûr de ce que vous voulez faire avec cette variable, vous pouvez cliquer avec le bouton gauche de la souris le bouton droit de la souris pour obtenir ou régler. Et c'est une façon décider à la volée ce que vous voulez en faire. Maintenant, ce que beaucoup de personnes ignorent à propos des variables du panneau Mon plan, vous pouvez les réorganiser en les faisant simplement glisser. Donc, si je voulais placer toutes mes variables flottantes les unes à côté des autres, je peux simplement cliquer avec le bouton gauche de la souris et les faire glisser. Donc, quel que soit celui sur lequel vous allez le faire glisser, il le sautera juste au-dessus, comme ça. Vous pourriez donc faire quelque chose comme ça pour organiser vos variables, très bien dans votre section myvariable. Ensuite, je vais vous présenter les différentes actions que vous pouvez effectuer sur les nœuds. Et je vais supprimer quelques-uns de ces getters et setters ici. Je vais laisser ce nœud d' ajout ici. Je vais également cliquer avec le bouton droit de la souris et ajouter un événement personnalisé. Je vais laisser cela sous un nom générique tout de suite. Je vais également intégrer l'une de mes fonctions personnalisées, ma fonction Modify Health. Très bien, nous avons d'abord un menu contextuel spécifique au nœud. Si je devais cliquer avec le bouton droit sur un nœud donné, je ferais apparaître un menu contextuel spécifique à un nœud . Ce que je peux faire avec ce nœud donné, je pourrais ajouter un point d'arrêt ou activer un point de rupture. Il s'agit de deux actions très courantes. rupture des liens entre nœuds est une action très courante. actualisation d'un nœud est une action très courante. De toute évidence, vous avez votre copie et vous pouvez couper, dupliquer, tout ce genre de choses également. Notez cependant qu'il s'agissait mon menu contextuel pour ce nœud de fonction. Si je devais cliquer avec le bouton droit de la souris sur ce nœud d'ajout, consultez l'une de mes options spécifiques à ce nœud. J'ai la possibilité d'ajouter une épingle. Je pourrais ajouter une épingle spécifique à ce nœud, celle-ci n'est pas disponible. Cependant, si je clique sur ce nœud de fonction ici, différents nœuds peuvent avoir des actions de nœud différentes comme ce nœud d'ajout ici. Certains nœuds vous permettent désormais de double-cliquer dessus pour accéder au nœud associé ou à un graphique. Il s'agit d'une fonction personnalisée. Donc, si je devais double-cliquer sur cette fonction que j'ai créée plus tôt dans le cours, cela ouvrira cet onglet de fonction donné pour me montrer ce que contient cette fonction. Il est donc bon de connaître les nœuds Timeline. Tu peux le faire aussi. Pour ouvrir l'éditeur de chronologie, déplacez une note, vous savez que vous pouvez déjà cliquer avec le bouton gauche souris et la faire glisser comme ceci. Cependant, vous pouvez également utiliser les touches fléchées de votre clavier pour le déplacer vers le haut et vers le bas, vers gauche et la droite, etc. Pour supprimer un nœud, vous pouvez simplement le sélectionner comme ceci et appuyer sur la touche Supprimer pour renommer un nœud, par exemple un événement personnalisé. Notez à nouveau que cela n'est pas disponible sur tous les nœuds donnés, mais sur les événements personnalisés où vous pouvez le nommer. Vous pouvez simplement cliquer avec le bouton gauche de la souris sur le titre ici. Et cela vous permettra de le renommer en tant qu'événements costumés. Appuyez sur Entrée. pouvez également appuyer sur F2 avec l'option sélectionnée, ce qui vous permettra de le renommer également en tant qu' événement personnalisé. Les autres commandes ici, laissez-moi simplement les supprimer et ajouter quelques nouveaux nœuds, vous allez cliquer avec le bouton droit de la souris pour introduire la touche sept, disons la touche sept. Nous allons modifier certains états de santé. Et permettez-moi de revenir ici, double-cliquant dessus accidentellement. J'ajouterai également un nœud de temporisation. Vous devez donc savoir maintenant que si vous sélectionnez le nœud et appuyez sur la touche F9, vous pouvez ajouter un point d'arrêt pour cela, et je peux le faire pour chacun d'entre eux. Chacun d'entre eux a donc un point d'arrêt. Pour effacer tous les points d'arrêt, je peux utiliser Control Shift et F9, qui les élimineront tous immédiatement. Pour couper une sélection, je peux simplement utiliser Control X. Évidemment, contrôler un V, c'est le coller. Pour copier une sélection donnée. Je peux juste sélectionner quelques nœuds , comme ce contrôle C, contrôle V. Vous devriez le savoir à partir de n' importe quel type d' application informatique. Voyons comment dupliquer une sélection. Je vais donc simplement les sélectionner et faire Control plus D, et cela les dupliquera. Enfin, vous devez savoir maintenant que vous pouvez ajouter un commentaire une sélection en sélectionnant simplement les nœuds autour desquels vous souhaitez créer un commentaire. Comme tous ces trois, appuyez sur la touche C pour ajouter une zone de commentaire, ma boîte de commentaires. Et encore une fois, une fois que vous avez créé une zone de commentaires dans votre fenêtre de favoris, accessible par Windows. Signets. Vous devriez alors être en mesure de trouver cette boîte de commentaires quelque part là-dedans, tout en bas , appelée Commentaire. Cependant, si je compile, puis que je mets à jour ma boîte de commentaires, si je devais m'en éloigner, je pourrais double-cliquer dessus pour accéder à ma zone de commentaires. Très bien, différentes actions d'épingle que vous devez connaître. Ajoutons ici quelques nœuds pour faciliter cette discussion. Vous savez quoi, je vais faire appel à un acteur de Spawn de Class Node parce que c'est un bon acteur pour faire une démonstration. Si je devais cliquer avec le bouton droit sur une épingle donnée, comme ma transformation d'apparition ici. Je vais afficher un menu des différentes actions d'épingle que je peux effectuer, afin de promouvoir cette variable en une action d'épingle très courante. Vous pouvez voir que, sur à peu près n'importe quelle douleur favorise également une variable avec une transformation d'apparition, un vecteur ou une épingle rotatrice. Si vous cliquez dessus avec le bouton droit de la souris, vous pouvez diviser l'épingle de structure car une transformation comprend des données de position, de rotation et d'échelle. Foster fait donc un clic droit dessus. Je peux essentiellement exposer les composants donnés de cette broche, savoir l'emplacement, la rotation et les données d'échelle de cette transformation. Si je ramène mon nœud d'ajout ici, je vais cliquer avec le bouton droit de la souris pour insérer ce nœud d'ajout. Si je devais cliquer avec le bouton droit sur ces stylos gris, ce sont des épingles génériques. Je pourrais cliquer dessus avec le bouton droit de la souris. Et je peux également effectuer différentes actions d'épingle ici Même si elles ne figurent pas dans la liste des actions sous-jacentes, je les considère comme des actions d'épingle. Je peux convertir le stylo en un type de données donné. Donc, si je sais que je veux que ce soit un entier plus, disons, un stylo flottant, je peux les modifier en conséquence. Maintenant, parfois, lorsque vous commencez à créer du code spaghetti, vous avez des fils qui circulent dans tous les sens. Parfois, vous voulez simplement mettre l'accent sur un fil connecté pour qu'il soit plus facile à lire, pour ainsi dire. Donc, si je devais brancher un de mes fils ici, laisse-moi prendre n'importe quel flotteur ici en santé, en le traînant dessus. Si je passais la souris sur cette épingle, tu verras comment elle illumine ce fil juste là. Et cela fonctionne dans les deux sens. Peu importe le côté du fil sur lequel je passe la souris, mais vous pouvez voir que peu à peu, ce fil gagne en force et s'illumine un peu plus. Cela peut donc simplement aider à des fins de lisibilité. Disons maintenant que je souhaite connecter cette variable à un autre stylo. Je pourrais couper le stylo en maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche de la souris sur l'extrait de l'outil Pen comme ça. Cependant, si je voulais le déplacer, je pourrais maintenir la touche Ctrl enfoncée et le faire glisser vers une autre entrée. Et encore une fois, cela fonctionne des deux côtés de notre connexion ici. Donc, si je voulais également déplacer cette épingle, je pourrais maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche de la souris et la déplacer. Ou si vous voulez couper ce fil, maintenez la touche Alt enfoncée, cliquez avec le bouton gauche de la souris, et cela coupera ce fil. Très bien, et enfin, montrons les raccourcis clavier pour ajouter certains des nœuds les plus couramment utilisés à votre graphe. Nous devons maintenir le B enfoncé et cliquer avec le bouton gauche de la souris. Nous allons ajouter un nœud de branche. Si vous maintenez la touche D enfoncée et que vous cliquez avec le bouton gauche de la souris, vous obtiendrez un nœud de temporisation, utilisez-le tout le temps. Maintenez la touche S enfoncée et cliquez avec le bouton gauche un nœud de séquence, le GT, puis cliquez avec le bouton gauche de la souris pour obtenir un nœud de porte, le M, M comme dans Mary, et cliquez avec le bouton gauche de la souris pour obtenir un nœud à portes multiples. Si vous maintenez la touche F enfoncée et que vous cliquez avec le bouton gauche de la souris, vous obtenez un pour chaque boucle. Si vous maintenez la touche N, N enfoncée comme dans la touche Nancy, vous cliquez avec le bouton gauche de la souris et cela fera apparaître un nœud do n. Si vous maintenez la touche 0 enfoncée et que vous cliquez avec le bouton gauche de la souris, je veux qu'il soit enneigé. Et si vous maintenez la touche P enfoncée et que vous cliquez avec le bouton gauche de la souris, vous ferez apparaître Event Begin Play s'il n' a pas déjà été ajouté à votre graphique J'utilise ces touches de raccourci tout le temps. Eh bien, les gars, ça suffira pour cette vidéo. Nous vous verrons la prochaine fois.