Plans d'Unreal Engine 5 pour débutants : créer des jeux vidéo et des médias interactifs | Jordy Vandeput | Skillshare

Vitesse de lecture


1.0x


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

Plans d'Unreal Engine 5 pour débutants : créer des jeux vidéo et des médias interactifs

teacher avatar Jordy Vandeput, Filmmaker and Youtuber

Regardez ce cours et des milliers d'autres

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

Regardez ce cours et des milliers d'autres

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

Leçons de ce cours

    • 1.

      Introduction

      2:03

    • 2.

      L'interface de Blueprint

      10:00

    • 3.

      Événements dans Unreal Engine ine

      5:24

    • 4.

      Plans contrôlables : classes de pièges et de personnages

      7:24

    • 5.

      Explorer les niveaux de difficulté

      4:32

    • 6.

      Mécanique de jeu simple - Système de plantation de bombes

      12:46

    • 7.

      Cochez la détection avec la traçage de ligne

      11:17

    • 8.

      Événements de simulation dynamique

      9:13

    • 9.

      Fonctions d'arborescence - Code réutilisable Code

      7:28

    • 10.

      Les bonnes pratiques d'organisation de plans

      4:41

    • 11.

      Projets finaux et conclusion

      3:45

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

441

apprenants

4

projets

À propos de ce cours

Apprenez à utiliser le script visuel sur Unreal Engine Blueprint en partant de zéro et donnez vie à vos niveaux statiques. Ce cours adapté aux débutants vous apprend à créer des mécanismes de jeu et des systèmes interactifs sans écrire de code. Grâce à des projets pratiques, vous comprendrez la logique qui sous-tend Blueprints. Vous ne devez pas simplement copier ce que vous voyez.



Nouveau sur Unreal Engine 5 ? Suivez mon cours pour débutants !

Ce que vous allez apprendre :

  • Naviguer dans l'éditeur Blueprint et comprendre les composants
  • Créer vos premiers objets interactifs qui répondent aux entrées des joueurs
  • Créer des mécanismes de jeu comme la plantation de bombes, la peinture par pulvérisation et les collisions qui changent de couleur
  • Utiliser des événements, des variables et des fonctions pour contrôler le jeu
  • Mettre en œuvre la détection des chutes avec la traçage de ligne pour les mécanismes de tournage posée
  • Organisez des plans désordonnés en graphiques propres et professionnels
  • Débugger les problèmes comme un pro en utilisant des techniques éprouvées

Pourquoi suivre ce cours : Chaque élément dynamique dans Unreal Engine, qu'il s'agisse d'une porte qui s'ouvre, d'un ennemi qui attaque ou d'une lumière qui vacille, nécessite des schémas. Sans eux, vos magnifiques niveaux resteront des musées statiques. Ce cours vous fera passer de la personne bloquée avec des scènes sans vie à celle qui peut créer n'importe quoi d'interactif.

À qui s'adresse-t : Parfait pour les débutants complets qui ont ouvert Unreal Engine mais qui se sentent perdus lorsqu'ils essayent de faire faire faire quelque chose avec un objet. Aucune expérience en programmation n'est nécessaire : si vous pouvez comprendre « lorsque ceci se produit, faites cela », vous pouvez maîtriser l'ensemble de la programmation

Ce que vous allez réaliser :

  • Faire pivoter des objets et changer de couleur
  • Personnages et pions contrôlables
  • Systèmes d'éclairage interactifs à l'aide
  • Mécanique de graffiti à la peinture à la bombe
  • Des épingles de bowling à base de la physique
  • Projet final : jeu de plateforme randomisé OU scène de forêt dynamique pour les rendus de films

Ce dont vous avez besoin :

  • Unreal Engine 5 (gratuit)
  • Compétences informatiques de base
  • L'envie de créer des expériences interactives

Ressources incluses :

  • Tous les fichiers de projet avec des plans commentés
  • Deux projets finaux complets avec des solutions

Cessez de regarder des scènes statiques. Commencez à créer des mondes interactifs. Rejoignez des milliers d'étudiants qui ont découvert la puissance des Blueprints d'Unreal Engine.

Rencontrez votre enseignant·e

Teacher Profile Image

Jordy Vandeput

Filmmaker and Youtuber

Top Teacher

Hi, I'm Jordy and I hosts one of the biggest YouTube channels about filmmaking & video editing; Cinecom.

With more than 2.5 million subscribers, we publish weekly tutorial videos. After graduating from film school in 2012, I immediately began teaching online where my real passion lays.

I've never liked the way education works. So I wanted to do something about it. With the classes I produce, I try to separate myself from the general crowd and deliver a class experience rather than some information thrown at a student.

Take a look at my unique classes, I'm sure you'll enjoy :-)

Voir le profil complet

Level: Beginner

Notes attribuées au cours

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

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

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

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

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

Transcription

1. Introduction: Commencer à utiliser Undril Engine est super excitant. Vous pouvez façonner un paysage, faire glisser différents modèles sur le niveau, y mettre d'autres éléments, encore plus de modèles de traités jusqu'à ce que vous obteniez quelque chose que vous avez créé. Mais c'est statique. Cela ne fait rien. La seule chose qu'il fait, c'est d'être joli. Très vite, vous vous rendez compte que les plans, la base des fonctionnalités dynamiques sont essentiels pour rendre vos jeux jouables et introduire des mécanismes de jeu pour rendus de films comportent des événements dynamiques qui leur donnent vie ou, dans mon cas, pour créer une simulation de jeu de tir entièrement dynamique qui sera utilisée pour une Bonjour. Je m'appelle Jordi. Je suis un créateur numérique et j'utilise UnrLengine pour toutes sortes de projets, allant des jeux vidéo aux rendus de films et bien UnlEngine possède des centaines d'applications différentes, mais quelle que soit l'utilisation que vous faites du moteur , vous voudrez éventuellement apprendre à créer des plans Eh bien, c'est exactement ce que je vais faire pour vous aider dans ce cours. Mon objectif est de vous enseigner la logique qui sous-tend le plan afin que vous compreniez ce que vous faites et que vous ne vous contentiez pas de simplement recréer ce que je fais sans cervelle C'est pourquoi nous allons y aller étape par étape, créer de petites choses amusantes et vraiment explorer certaines des notes clés de ce qu'elles font et de leur fonctionnement. Et nous allons également commettre des erreurs et rester bloqués parce que cela fait partie du voyage. Mais ensemble, nous allons résoudre ces erreurs, et je vais vous montrer de très bonnes techniques pour résoudre des problèmes pour finalement faire fonctionner votre plan À la fin de ce cours, vous aurez une solide compréhension du fonctionnement des plans et d' Unreal Engine Vous serez en mesure de transformer vos idées en un plan fonctionnel et éventuellement de créer le jeu de vos rêves Ce court métrage insensé ou tout autre projet irréel, vous aviez en tête une Ce cours s'adresse à tous ceux qui ont commencé à explorer UnRel Engine et qui sont maintenant bloqués sur Blueprints. Cela vous ressemble-t-il ? Alors je suis très heureuse de t' aider et j'espère te voir dans ma classe. Ensemble, abordons la programmation d'Unreal Engines et apprenons à comprendre les bases fondamentales des plans 2. L'interface de Blueprint: Salut, les gars, bienvenue, et je suis très heureuse que vous ayez commencé ce cours. Nous allons nous plonger dans le monde des plans d' Unreal Engine, qui, pour certains, sera un monstre effrayant à affronter Mais une fois que vous avez compris l'idée fondamentale du fonctionnement d'un plan, c'est en fait assez simple et très amusant Je peux passer des heures à découvrir des systèmes interactifs, et c'est tellement gratifiant si cela fonctionne Créons donc un plan. Dans le navigateur de contenu, cliquez avec le bouton droit de la souris et vous verrez que nous pouvons créer une classe de plan à partir de là Cela ouvrira une fenêtre qui nous demandera de sélectionner le type de plan que nous voulons construire Et en haut se trouvent les plus courantes, auxquelles nous allons participer, mais en élargissant toutes les classes, nous pouvons en trouver plus de 1 000 autres. Maintenant, ne vous laissez pas submerger par cela. Il existe des classes de plans très spécifiques qui auront plus de sens une fois que vous aurez compris l'idée générale qui sous-tend les plans Nous y reviendrons quand cela aura plus de sens. Donc pour l'instant, réduisez simplement cette fenêtre et examinons la classe commune. La classe d'acteur est la plus utilisée. Comme le dit la description, cela vous permet de construire quelque chose et de le placer dans le monde. Commençons donc par celui-ci et explorons certains des autres plus loin dans ce cours. Et je vais l'appeler BP Underscore Interactive Cube. BP est l'abréviation de Blueprint, et c'est un moyen de rester organisé dans votre projet Nous pouvons donc maintenant le faire glisser dans le niveau, et il affichera le widget du plan de type d'acteur Il est vide, bien sûr. Ainsi , depuis le plan, nous pouvons cliquer sur Modifier ou simplement double-cliquer sur la classe de plan dans votre navigateur de contenu Hand, ça y est. La fenêtre dans laquelle vous passerez le plus clair de votre temps. Explorons donc ce que nous voyons et à quoi cela sert. Sur le côté gauche, nous avons les composants. Et ici, nous pouvons ajouter des composants avec lesquels nous voulons faire quelque chose. Je peux donc cliquer sur et choisir parmi une longue liste d'articles. Et commençons par un simple cube. Il s'agit du même cube que vous ajouteriez directement dans votre niveau, d'ailleurs. Il possède sa propre fenêtre de visualisation, et vous pouvez le déplacer, le redimensionner , le faire pivoter, comme vous le feriez dans votre niveau. Et ce qui est intéressant, c'est que nous pouvons également voir ce cube revenir dans le niveau maintenant puisque nous l'avons ajouté au plan est très important de comprendre que si nous déplaçons le cube dans le niveau, nous déplaçons en fait l'intégralité du plan Dans le panneau détaillé, nous pouvons voir le cube que nous avons ajouté. Cela reflète la fenêtre des composants à l'intérieur du plan. Et nous pourrions sélectionner un cube à partir de là pour déplacer spécifiquement cet acteur, mais ce n'est pas une bonne pratique car cela ne reflète plus la position du cube dans le plan. En fait, le fait de modifier à nouveau la position dans le plan ne se met plus à jour dans le niveau Réinitialisons donc ce que nous venons de faire dans l'outliner. Se mettre au travail et tout construire à l'intérieur du plan lui-même. Très bien, faisons quelque chose avec ce cube. Créons notre premier plan fonctionnel. Et nous pouvons commencer à écrire des scripts à deux endroits, soit dans le script de construction, soit dans le graphe d'événements Le script de construction représente tout ce qui se passe dans l'éditeur. Par exemple, faisons glisser le cube dans la fenêtre de construction. Voici maintenant une référence au cube, et à partir de là, nous pouvons cliquer et faire glisser pour le connecter à un nœud. Unreal me montrera une liste de tous les nœuds auxquels je peux connecter le cube, montrant essentiellement toutes les caractéristiques du cube Comme si toutes les options de transformation s'y trouvaient. Nous pouvons redimensionner la position ou faire pivoter le cube à partir d'ici. Maintenant, évidemment, nous voulons définir la position ou l' échelle ou autre. Choisir get revient à la position actuelle, ce qui est utile pour d'autres choses. Pour l'instant, choisissons la position définie. Vous pouvez même le rechercher. Vous verrez le relatif et le monde. La relative est la position à l'intérieur du plan, qui est nulle La position mondiale est la position et le niveau lui-même. Choisissons donc un parent pour le moment, et vous verrez que ce nœud nous permet de saisir une nouvelle position. Par exemple, 100 unités plus haut sur l'axe Z. Et la dernière chose à faire est de connecter le nœud de construction au nœud de localisation. Si vous voulez voir les modifications apportées au niveau, nous devons cliquer sur le bouton de compilation du plan Ainsi, à presque chaque modification apportée à votre nœud, cliquez toujours dessus pour voir le résultat. Et cela contrebalance la position. Hé, ton premier plan te disait que c'était facile. Maintenant, examinons de plus près le nœud. Chaque nœud possède des entrées à gauche et des sorties à droite. Et pour activer un nœud, il a toujours besoin d'une connexion d' exécution entrante, et cela commence par le script de construction. Les autres options, telles que la cible, nouvel emplacement, etc., sont des valeurs Parfois, il faut que quelque chose y soit connecté. D'autres fois, tu ne le fais pas. Par exemple, je peux déconnecter le cube de la cible en cliquant sur la valeur avec la touche Alt. La compilation du plan maintenant va me générer une erreur dans les notes car il essaie d' exécuter la commande pour changer l'emplacement, mais de quoi ? On ne lui dit pas pour quelle cible il doit changer de position, ce qui me renvoie une erreur. En bas et sur les résultats du compilateur, nous pouvons en savoir plus sur la raison de l'erreur elle-même. C'est donc bien de savoir où et exactement quelle est l'erreur. Très convivial à mon avis. Connectons à nouveau le cube et compilons pour résoudre l'erreur. Certaines valeurs de l'entrée peuvent être saisies directement, comme l'emplacement Il n'est donc pas nécessaire de saisir une entrée, mais nous le pouvons si nous le voulons. C'est ce que nous allons faire. Je vais ajouter un nouveau composant, cette fois une sphère. Et depuis la fenêtre d'affichage, je vais le faire glisser vers une autre position Revenez au script de construction maintenant. Ce que je veux faire, c'est amener le cube à la même position que la sphère. Donc, la première chose que je dois faire est obtenir la valeur de l'emplacement de la sphère, puis de la saisir dans le nouvel emplacement du cube. Faites donc glisser la sphère dans l'éditeur de nœuds et connectez-la à un nœud get relative location. Ce qui est intéressant maintenant, c'est que la couleur du nœud ressemble à la couleur de l'épingle de localisation d'entrée. Cela indique également que nous nous y sommes connectés. Cliquez sur Compiler et démarrer. Cela fonctionne. Cela m'amène à la différence entre le script de construction et le graphe d'événements. Vous voyez, tout ce que nous créons dans le script de construction est statique. Toutes les fonctionnalités dont nous avons besoin avant de lancer le jeu ou de passer à la simulation peuvent être créées ici. Les modèles en sont un bon exemple. Et j'ai un exemple, un tas d'actifs que j'ai créés. Ce sont également des acteurs de premier plan. Je peux en ajouter un à mon niveau. Et quand je passe en revue le plan lui-même, vous pouvez voir qu'il comporte également certains acteurs dans la fenêtre des composants Nous avons le luminaire lui-même. Lumières et autres mailles qui composent la lumière. Et quand j'aborderai le script de construction, vous verrez tout un tas de nœuds ici. Maintenant, permettez-moi de revenir à mon niveau et de sélectionner un plan pour consulter le panneau détaillé. Et toutes ces options que vous voyez ici sont créées sur mesure à partir du script de construction. Je peux changer la couleur de la lumière, l'intensité, etc. Tout cela est fait dans le cadre de ces notes. Et je vous encourage à les parcourir étape par étape. Vous pouvez facilement lire ce qui se passe, et vous le comprendrez. Comme dans le premier cas, nous changeons l'intensité de la lumière, qui est définie comme intensité. Nous indiquons quelle cible, puis nous choisissons l'intensité. Et cela provient des options que nous avons dans le panneau de détails. Comme je l'ai déjà dit, nous ne pouvons créer que des éléments statiques ici, comme modifier une option. Dès que nous voulons quelque chose de dynamique, nous devons créer ces notes dans le graphique des événements. Et vous pouvez voir que j' ai aussi un tas de notes dedans parce que l'une des options que j'ai dans le panneau de détails est d'activer le scintillement, et vous pouvez voir que cela ne fait rien parce que le scintillement est quelque chose Cela ne fonctionne que lorsque nous jouons le niveau. Cliquez donc sur jouer et vous verrez maintenant que le voyant clignote. Avant de terminer cette leçon, je voudrais vous montrer à quoi ressemble le graphique des événements. Ouvrons à nouveau le plan du cube et cette fois, cliquez sur le graphique des événements en haut Et au lieu d'une note de script de construction que nous avons au début, nous utilisons un ensemble de termes tels que event begin play et event tick. Et j'aimerais vous montrer de quoi il s'agit. Le déroulement de l'événement est exécuté une fois que nous avons lancé le jeu, et je vais le connecter à une note sous forme de texte imprimé. Il s'agit d'une note très simple qui vous sera très utile pour comprendre les choses et détecter les problèmes potentiels. Il est également indiqué ici «   développement uniquement ». Ce n'est donc pas vraiment prévu dans le cadre d'un projet final. Je vais changer le texte pour démarrer le jeu. Et la seule façon de le voir en action maintenant est de lancer le niveau. Et d'ailleurs, je n'ai pas compilé cette fois car Unreal le fait automatiquement lorsque vous lancez le niveau Mais vous pouvez voir maintenant qu' il a demandé le texte. Cliquez sur Stop et revenez au plan. Je souhaite connecter le texte au tic-tac de l'événement et me déconnecter de l'événement pour commencer à jouer. Regardez ce qui se passe maintenant ? À chaque nouvelle case ou cadre, ce texte est affiché. Cela vous permet donc de mettre à jour quelque chose à chaque image. Mais il y a d'autres événements tels le chevauchement des acteurs que nous avons ici. Nous pouvons effectuer une action chaque fois que nous nous recoupons ou que nous tombons sur ce plan Par exemple, nous courons avec notre personnage dans le cube, puis le cube doit se transformer en sphère. Ça a l'air amusant à faire. Eh bien, voyons comment nous pouvons le faire dans la prochaine leçon. Pour le moment, n'oubliez pas que nous pouvons ajouter des composants que nous voulons utiliser dans un plan Dans la fenêtre d'affichage, nous pouvons ensuite voir ces éléments et modifier leurs propriétés Ensuite, nous avons deux endroits pour créer une fonctionnalité de plan, script de construction pour les éléments statiques, comme un menu d' options pour une lumière, et enfin, le graphe d'événements pour les fonctionnalités dynamiques Et c'est aussi l'endroit où nous travaillerons le plus souvent. Merci de m'avoir regardée. 3. Événements dans Unreal Engine ine: Lorsque vous concevez un plan, nous savons qu' il existe deux méthodes soit statique, qui ajoute des fonctionnalités à un plan qui ne peuvent être utilisées que dans l'éditeur lui-même, soit une fonctionnalité dynamique déclenchée par un événement Cela signifie donc que quelque chose doit se produire pour mettre en action notre séquence de nœuds. Et cela ne peut évidemment fonctionner que lorsque nous exécutons le niveau. Ouvrons donc à nouveau notre plan de cube interactif et accédons au graphique des événements Par défaut, nous voyons trois événements différents ici. Mais pas de problème si, par exemple, vous supprimez la coche d'événement. Vous pouvez toujours le retrouver en cliquant avec le bouton droit de la souris, puis en ajoutant un événement dans lequel vous trouverez tous les événements disponibles, y compris le code de l'événement. Désormais, un événement spécifique ne peut se produire qu'à partir d'une seule note. Si je devais ajouter une autre note ici, vous verrez qu'elle ne fait que mettre en évidence la note actuelle. Est-ce un problème ? Eh bien, créons quelque chose en fonction de l'événement. J'aimerais faire pivoter mon cube pour qu'il continue de tourner. Et c'est ainsi que vous voulez aborder les choses. Réfléchissez à la propriété dont nous aurions besoin pour la rotation. Eh bien, ce sera une rotation définie. Cherchons donc l'emplacement relatif défini, et il suggérera automatiquement le cube, que nous avons déjà dans le plan Il cible donc automatiquement le cube. Si ce n'est pas le cas ou si vous avez supprimé cette cible, vous pouvez toujours faire glisser votre maillage cubique de la fenêtre des composants vers la cible. OK, je vais donc connecter le tick d'événement aux nœuds de rotation. Maintenant, à chaque image, la rotation du cube est mise à jour. Génial. Mais pour quoi ? Je ne peux saisir une nouvelle rotation que manuellement, mais cela ne va pas la faire pivoter. Nous avons donc dû trouver un moyen ramener la valeur de rotation actuelle à un et de la réinsérer dans la nouvelle rotation. De cette façon, nous continuons à en ajouter un à chaque tic-tac, et le shoot pivote. Créons donc une nouvelle note cette fois en choisissant l'option get relative rotation. Mais attendez, on découvre qu'il n'y est pas. Eh bien, c'est nul. Existe-t-il une approche différente pour obtenir la rotation actuelle, peut-être ? Eh bien, si je sélectionne mon cube, je peux voir que la propriété de rotation fait partie du groupe de transformation. Alors peut-être que nous pouvons le trouver là-dedans. OK, cliquez avec le bouton droit de la souris et recherchez Obtenir une transformation relative. Et oui, elle est là. Le problème est maintenant que cette note renvoie tout en une seule valeur. Cela concerne la rotation, la position et l'échelle. Dans de tels cas, nous pouvons simplement cliquer avec le bouton droit sur la valeur et choisir Split Struct Pin, qui révèle les valeurs t. Cela est très courant lorsque vous travaillez avec des plans. Parfois, vous voulez plusieurs valeurs dans une épingle, d'autres fois vous voulez quelque chose de spécifique, puis vous pouvez simplement diviser les valeurs. En fait, je vais également cliquer avec le bouton droit sur la valeur de rotation et diviser à nouveau car je n'ai pas besoin des trois axes de rotation. Je n'ai besoin que de l'axe Z. Et voici comment l'obtenir. Je peux maintenant faire de même sur l' entrée pour la rotation définie. Maintenant, je peux brancher l'axe Z dans le Z. Évidemment, cela ne va rien faire Nous devons en ajouter un à chaque coche. Déconnectons donc l' épingle Alt, cliquons et faisons glisser la valeur Z vers un endroit pour ajouter un nouveau nœud . Nous chercherons à ajouter et nous en trouverons un sous opérateurs. Nous prenons donc la valeur actuelle et l'ajoutons une par une. Le résultat est pris en compte dans la rotation définie. Très bien, allons-y et exécutons-le. Et regardez ça. Nous avons un cube rotatif. N'est-ce pas incroyable ? Donc, comme vous pouvez le constater, ce n'est pas si compliqué. Je n'ai aucune idée de plus de 90 % de toutes ces notes différentes. Si je veux réaliser quelque chose, j'essaie de penser de manière logique. Quelles sont les étapes nécessaires pour réaliser ce que je souhaite créer ? Et j'utilise simplement la barre de recherche pour trouver les notes qui ont du sens, les essayer et voir si elles fonctionnent. S'ils n'essayent pas d'en chercher un autre. Mon objectif est de vous apprendre à penser de manière logique et à créer des plans afin que vous puissiez créer tout ce que vous voulez sans avoir à suivre aveuglément Il est très important que vous compreniez ce que vous faites. C'est de la pure programmation, mais les plans le permettent visuellement, ce qui permet aux débutants de se lancer plus facilement dans la programmation Très bien, alors quels autres événements avons-nous ? Si vous pensez à quelque chose, essayez de le rechercher. Par exemple, je veux appuyer sur la touche, ce qui doit déclencher quelque chose de cool. Eh bien, recherchez-le dans la barre de recherche. Eh bien, ça y est. Il vous donne même deux événements possibles lorsque vous appuyez sur la touche ou lorsque vous la relâchez. C'est bon, c'est cool. Je veux appuyer sur cette touche puis activer le cube rotatif. Déconnectez donc la coche d'événement, puis réglez-la sur la touche. Exécutons ça et appuyons sur la touche. Mais c'est quoi ça ? Il ne se passe rien. Comment est-ce ? Eh bien, c'est à cause de ce qu'on appelle la possession. En termes simples, je ne contrôle pas le cube. Il se trouve quelque part dans le niveau et vit tout seul. Certains événements, comme une pression sur une touche, ne peuvent se produire que lorsque je contrôle le cube ou, en d'autres termes, lorsque je le possède Eh bien, nous allons en apprendre davantage à ce sujet dans la prochaine leçon. 4. Plans contrôlables : classes de pièges et de personnages: Lorsqu'un plan existe dans votre niveau, il vit tout seul. Nous ne pouvons pas le contrôler. Nous ne pouvons exécuter des événements tels que le tic-tac ou au début que lorsque le niveau se charge ou lorsque nous le rencontrons. Mais cela signifie que nous devons d'abord posséder un plan que nous pouvons réellement contrôler pour entrer dans le maillage carré Donc, chaque fois que nous rencontrons le problème que nous devons contrôler ou posséder un plan, commençons par le plus simple, et vous avez peut-être déjà joué avec Dans mon navigateur de contenu, je vais cliquer sur AD, puis choisir Ajouter une fonctionnalité ou un pack de contenu. Et dès le départ, nous pouvons choisir parmi un ensemble de différents modèles de plans Vous pouvez choisir n'importe lequel, mais pour une meilleure démonstration, je vais choisir le modèle à la troisième personne , puis dire Ajouter au projet. Vous pouvez ensuite fermer cette fenêtre et rechercher un nouveau dossier dans votre navigateur de contenu. Et nous sommes spécifiquement intéressés par un élément du modèle. Ouvrez le dossier Blueprints, et vous y trouverez le personnage à la troisième personne de BP Et nous pouvons l' intégrer à la scène. Je vais ouvrir le plan et l'explorer un peu. Et si vous effectuez un portage, vous pouvez voir les différents composants nécessaires pour créer un personnage jouable, comme le personnage lui-même, mais aussi une caméra qui suit le personnage et crée la vue que le joueur voit Il y a une perche de caméra s' assurer que la caméra suit le personnage lorsqu'il se déplace. Mais alors, comment allons-nous nous déplacer ? en regardant le script de construction, il est complètement vide, et on comprend pourquoi maintenant ? Parce que c'est totalement dynamique. Ainsi, lorsque nous ouvrons le graphique des événements, vous pouvez trouver toutes les notes qui constituent le mouvement du personnage. Eh bien, c'est génial. Fermons le plan et appuyons sur Exécuter. Mais attendez. Je ne contrôle toujours pas le personnage. Je ne l'ai pas encore possédé. Qu'est-ce qui se passe ? Eh bien, vous ne pouvez posséder qu' un seul plan à la fois. Et en les ayant simplement dans votre niveau, le projet ne sait pas lequel vous souhaitez réellement contrôler. Et nous définissons cela à l' aide d' un plan de mode jeu C'est un autre type de plan. Maintenant, comme les modèles à la troisième personne étaient fournis avec l'un d'entre eux, vous l'avez probablement déjà vu. Je vais double-cliquer dessus. Maintenant, nous n'avons pas vraiment tous ces différents onglets ici, comme le graphique des événements, etc., car le plan d'un mode de jeu est très simple C'est un fichier qui va définir les plans par défaut pour leur niveau Ainsi, sous les classes par défaut, vous trouverez ce que l'on appelle la classe de pion par défaut Et c'est le plan qui va être chargé pour pouvoir prendre le contrôle Je vais donc fermer cela et rechercher les paramètres de mon monde. Ce sont les paramètres généraux de l'ensemble de votre niveau, et vous trouverez un réglage du mode de jeu ici. Vous pouvez le sélectionner dans un menu déroulant ou simplement faire glisser le plan du mode de jeu dans ce paramètre Le monde entier dit : regardez ce plan de mode de jeu lorsque vous lancez le jeu Et le mode de jeu Hé, regardez le plan du personnage à la troisième personne dont le joueur doit prendre le contrôle Cela signifie que pour un plan dont nous prenons le contrôle, nous n'en avons pas besoin dans le niveau Je vais donc simplement le supprimer et lancer le jeu, et c'est parti. Le plan du personnage est chargé et apparaît dans le niveau Et si vous souhaitez qu'il apparaisse à un endroit précis, vous pouvez ajouter un point de départ de joueur à votre niveau N'est-ce pas quelque chose de cool ? Nous pouvons donc maintenant ouvrir à nouveau le cube et créer quelque chose d'amusant où nous tomberons sur le cube. Je vais faire un clic droit et chercher quelque chose comme Event Colt, peut-être, mais je ne trouve pas vraiment quelque chose comme ça Faisons donc défiler la liste des événements vers le haut et voyons si quelque chose comme un événement se produit. Hmm, et il y en a. Et il est dit que cet événement se déclenchera lorsque cet acteur croise un autre acteur. C'est exactement ce dont nous avons besoin. Et ce qui est plutôt cool, c'est que nous avons tout un tas d'options ici. Ainsi, même en fonction endroit où nous l'avons atteint depuis l'endroit où nous l' avons atteint, nous pouvons créer différents types de fonctionnalités. Mais restons simples pour le moment. Je vais faire glisser mon cube dans le graphe des événements parce que je veux en faire quelque chose. Et si nous changeons le maillage d'un cube en un autre lorsque nous le rencontrons ? Ce serait génial. Cherchons donc le maillage et voyons ce que nous avons. Et je vois que nous avons un nœud appelé set static mesh. Eh bien, ça va probablement fonctionner. Et je peux choisir un maillage différent dans cette liste déroulante, quelque chose qui se trouve dans mon projet Je peux en trouver beaucoup qui proviennent de différents packages dans le moteur lui-même, mais cherchons la sphère et prenons n'importe quoi. Cela n'a pas vraiment d'importance ici. Et, bien sûr, nous voulons exécuter cette commande lorsque le plan est atteint. Alors connecte-le. Très bien, essayons-le. Appuyez sur Play, et courons vers le cube. Et boum, nous avons une sphère. Génial. Cela fonctionne. Mais revenons au problème initial que nous avons rencontré. Je vais supprimer l'événement touché, créer un événement clavier pour la touche et le connecter au nœud de maillage statique. Donc, pour que cela fonctionne, je dois prendre le contrôle de ce plan OK, ça a l'air facile, non ? Nous revenons au plan du mode de jeu. Ouvrez-le et dans la classe de pion par défaut, je vais choisir mon cube interactif, mais je ne le trouve pas Hmm. Eh bien, souvenez-vous quand nous avons créé notre plan Je vais le refaire très rapidement. Nous avons choisi un cours d'acteur. Mais comme vous pouvez le constater, il existe également une classe de pion ou une classe de personnage, qui possède des propriétés similaires Eh bien, cela signifie-t-il que nous devons refaire le plan complet Eh bien, ne t'inquiète pas. Pour en revenir à mon plan de cube interactif, vous pouvez trouver un bouton en haut pour accéder aux paramètres du cours Et ici, vous pouvez trouver la classe parent, qui est actuellement définie sur acteur, mais nous pouvons la changer en pion lors de la recherche Ainsi, vous pouvez à tout moment modifier le type de plan que vous avez créé Maintenant, lorsque nous revenons au mode de jeu Blueprint et que nous choisissons notre cube interactif à partir du pion par défaut, choisissons notre cube interactif lançons le jeu et regardons Nous sommes un cube. De toute évidence, nous ne pouvons pas nous en servir parce que nous n'avons aucun contrôle de joueur pour le cube. Pour cela, nous devons d'abord créer tous les graphes d'événements, mais nous sommes introduits dans la scène à partir de ce plan, qui signifie que je le possède Si j'appuie sur ma touche, le maillage se transforme en sphère. Je ne peux pas vraiment le voir parce que je suis dans la sphère maintenant. Faisons donc quelque chose de très rapide ici. Ouvrez le plan du cube, accédez à la fenêtre d'affichage, et je vais ajouter une caméra dans les composants Faisons glisser cette caméra un peu plus vers l'arrière et relançons le jeu. Nous voyons maintenant le cube à travers la caméra, mais nous sommes toujours dans le même plan Donc, si j'appuie sur L, nous pouvons voir le changement en sphère. Pour conclure, il n'y a qu'un seul plan dont nous pouvons prendre le contrôle Cependant, avec ce pion ou ce plan de personnage, nous pouvons interagir avec d'autres plans normaux ou d'acteurs du niveau, et contrôler directement quelque chose ou interagir avec différents types d'événements Ils ne sont pas classés comme ça, mais nous devons garder cela à l'esprit. Certains d'entre vous le pensent peut-être déjà, mais, Jordan, vous voulez pouvoir contrôler plusieurs plans en même temps, exemple avoir un tas de lumières dans ma scène et appuyer sur différentes touches pour les allumer ou les éteindre Eh bien, c'est une excellente question, et il existe une solution à cela, mais c'est pour la prochaine leçon. 5. Explorer les niveaux de difficulté: J'ai créé un nouveau niveau appelé Lumières, et ce que j'ai ici est un avion avec quelques piliers, et j'ai trois lumières là-dedans dont j'aime prendre le contrôle. Nous avons ici un projecteur bleu, une sorte de lampe rectangulaire verte fluorescente, et enfin une lumière ponctuelle aux couleurs chaudes. Ce ne sont pas des plans. J'ai juste mis ces lumières directement dans mon niveau. Maintenant, les mettre dans un plan n'est pas utile car nous voulons en prendre contrôle en appuyant sur une touche pour les activer ou les désactiver Maintenant, créer un plan de classe Pond n'est pas non plus une option, car cela fera apparaître le plan dans Nous avons donc un très mauvais contrôle sur l'endroit où ils seront positionnés. De plus, nous ne pouvons prendre le contrôle que d'un seul plan. Nous devons donc trouver une autre solution. Eh bien, voici quelque chose d' intéressant. Le niveau lui-même a également un plan. En haut, vous trouverez un bouton qui listera tous les plans spécifiquement liés au niveau, dont le mode de jeu, que nous avons déjà vu Nous l'avons en quelque sorte connecté à l'ensemble du niveau. Mais comme vous pouvez le constater, il existe également une option permettant d'ouvrir le plan de niveau Et ce qui est intéressant à propos de ce plan, c'est qu' il fonctionne au plus haut niveau de la hiérarchie, ce qui signifie que nous le possédons automatiquement Cependant, il ne s'agit pas d'une classe de blueprint normale. Elle est toujours présente par défaut, mais comme vous pouvez le constater, il n'y a pas de fenêtre de composants, ni de fenêtre d'affichage, ni de fenêtre de construction C'est parce que les composants sont essentiellement tout ce qui se trouve dans votre niveau, comme les lumières. Nous ne pouvons pas ajouter de propriétés à un niveau y a donc pas d'onglet de construction, uniquement un graphique d'événements indiquant le moment où le jeu est lancé. Et maintenant, cela devient très facile. Nous pouvons simplement sélectionner les lumières depuis le niveau et les faire glisser dans le plan du niveau Et je vais créer les événements correspondant au chiffre 12 et aux trois touches de mon clavier. La première consiste à allumer le feu ponctuel, et nous pouvons le faire de différentes manières, et le meilleur moyen de le savoir est simplement de sélectionner les points lumineux de votre niveau et nous pouvons le faire de différentes manières, et le meilleur moyen de le savoir est simplement de sélectionner les points lumineux de votre niveau et de consulter le panneau de détails Jouez avec ses propriétés pour découvrir le meilleur réglage à utiliser dans le plan Oui, on peut utiliser l'intensité. Vous savez, en gros, mettez-le à zéro, puis revenez à autre chose. Mais ensuite, nous encodons quelque chose en dur, ce qui est une mauvaise pratique, et vous voulez éviter ce codage en dur autant que possible. Le codage Hart est l'endroit où vous allez mettre des valeurs dans le plan Imaginez que nous réglions le lumen lorsque la lumière est allumée à 1 000 dans le plan Mais ensuite je reviens à mon niveau et je commence à peaufiner et je décide de remettre la luminosité de cette lumière à 100 Cela signifie que je dois également revenir à mon plan de niveau et y régler l'intensité à 100 également Si vous codez une valeur en dur, ce nombre est fixe. Au lieu de cela, cherchons une propriété qui permet simplement d'allumer ou d'éteindre la lumière au lieu de modifier la valeur d'intensité. Et dans le cadre du rendu, nous pouvons trouver une telle option appelée visible. Comme vous pouvez le voir, une simple bascule afficher ou de mettre en hauteur le composant Dans ce cas, faire briller la lumière ou non. Génial. Revenons au plan de niveau Et à partir du point lumineux, faisons glisser l' épingle pour la relier à la visibilité du nœud. Et il y a là quelque chose de très intéressant s'appelle la visibilité à bascule Et vous avez de la chance aujourd'hui, car nous n'avons pas toujours d'option d'activation pour chaque propriété Généralement, il s'agit simplement d'une option définie, puis nous devons créer manuellement des notes à ce sujet pour la faire basculer Mais pour l'instant, nous pouvons utiliser le bouton, alors connectez l'exécution de votre touche à la visibilité du bouton Et je vais faire de même pour la lampe rectangulaire. Ici aussi, activez la visibilité. Enfin, les projecteurs activent également la visibilité et relient l'arborescence des touches à cette note Revenons en arrière et lançons le jeu. Et vous remarquerez que nous pouvons maintenant allumer et éteindre ces lumières avec la clé appropriée. Rendez même un peu de disco efficace. Tu le fais vite. Maintenant, j'ai une petite mission à vous confier avant de passer à la prochaine leçon. Quand je commence mon niveau, je veux que toutes les lumières soient éteintes, mais je ne veux pas qu'elles s'éteignent dans mon niveau. C'est donc ce que doit faire le plan directeur. Ils doivent démarrer lorsque je lance le jeu, puis je peux commencer par les activer ou les désactiver à nouveau en appuyant sur ma touche. C'est très simple. Réfléchissez aux événements nécessaires pour régler l'état de la lumière lorsque je lance le jeu et je vous montrerai la solution dans la prochaine leçon. 6. Mécanique de jeu simple - Système de plantation de bombes: Hey, bon retour. Mes lumières sont donc actuellement allumées dans le concepteur de niveaux. Je vais lancer mon jeu, et comme vous pouvez le voir, ils sont maintenant désactivés. Je peux les réactiver ou les désactiver en appuyant sur mes touches dédiées Et j'espère également que cela fonctionnera pour vous. Maintenant, c'est intéressant, il y a dix façons différentes de le faire. Je l'ai probablement fait différemment de toi. Jetons donc un coup d'œil au plan des niveaux. Qu'est-ce qui se passe ici ? Pour commencer, la pression sur les touches et bouton de visibilité restent les mêmes J'utilise les événements Begin Play pour définir la visibilité de départ. Je suppose que vous l'utilisez également. Maintenant, permettez-moi de découpler le nœud de séquence pendant un moment. Et ce qui est intéressant, c'est que nous pouvons également relier le début du jeu à la visibilité Cela signifie donc que deux événements différents peuvent prendre en charge l' exécution de ces notes touche et les événements commencent à se jouer. Maintenant, le problème est qu' un événement ne peut s' exécuter que sur un autre nœud, comme vous pouvez le voir. Nous avons donc dû être un peu créatifs. Une chose que nous aurions pu faire était de sélectionner toutes les notes de visibilité à bascule, de les copier puis de les coller ici, et nous pouvons raccorder la plaque de début à la première note, puis la sortie de celle-ci à la deuxième, et enfin celle-ci à la troisième Nous fabriquons une chaîne. Et quand je le lance, cela fonctionne également. Mes lumières sont éteintes. Mais comme vous pouvez le constater, il existe de nombreuses notes pour quelque chose de simple comme celui-ci. Nous le compliquons. Nous utilisons une copie de quelque chose qui existe déjà Il est donc recommandé de toujours essayer de travailler avec le moins de notes possible. Je vais donc supprimer tout cela et connecter mon début de lecture au nœud de séquence. Cela exécutera chaque commande une par une dans une séquence. Cela fonctionne exactement de la même manière, mais un peu plus propre. Très bien, fermons le tout. Je vais ouvrir à nouveau mon niveau de cube, et je vais également ouvrir le plan du mode de jeu et le panoramique par défaut pour revenir au personnage à la troisième personne Parce que cela nous permet de contourner les obstacles et de nous aider ainsi à créer la prochaine chose que nous aimerions créer. J'aimerais placer une bombe n'importe où dans le monde. Ensuite, éloignez-vous, et quand j'appuie sur une certaine touche, cette bombe devrait exploser Nous allons adopter une approche très simple, alors ne vous inquiétez pas trop. Je vais cliquer avec le bouton droit sur mon navigateur de contenu et choisir d'ajouter un nouveau système Niagara. Il s'agit d'un système de simulation de particules et de fluides très puissant et très impressionnant, mais ne vous inquiétez pas. Nous pouvons choisir parmi un modèle, et il y a quelque chose d' assez amusant on appelle une rafale de confettis, parfaite pour l'explosion Alors, appuyons sur Créer et appelons-le confetti burst. Pour ce qui est de la bombe elle-même, nous pouvons utiliser un cube ou quelque chose qui se trouve déjà dans le moteur. Si vous le souhaitez, vous pouvez importer votre propre modèle de traité, cela n'a pas vraiment d'importance. Donc, comme toute cette action se déroule depuis le personnage, nous allons nous ouvrir et travailler le plan du personnage Il suffit de laisser de côté toutes les notes qui concernent le mouvement. Vous pouvez simplement ignorer cela. Nous travaillerons sur le site. Nous allons donc penser de manière logique étape par étape. Nous allons rencontrer des problèmes puis les résoudre. Donc, la première chose à faire est d'appuyer sur une touche pour poser la bombe. Je vais donc créer un événement clavier pour la lettre B. Lorsque celle-ci est déclenchée, un maillage représentant la bombe doit apparaître devant le personnage au sol. Passons à la fenêtre d'affichage et à un composant cubique. Nous pouvons le redimensionner et le repositionner légèrement pour qu'il soit placé devant le personnage Maintenant, en l'exécutant, nous pouvons voir que le cube se trouve devant le personnage qui se déplace parce que l'ensemble du plan est contrôlé Mais c'est une bonne chose car cela signifie que le cube sera toujours au bon endroit lorsque nous le planterons. Le seul problème est qu'au moment où le cube entre en jeu ou devient visible, il ne doit plus suivre le personnage Sinon, on se met des confettis au visage. Eh bien, il existe une option intéressante pour remplacer le fait qu'un objet doit suivre le caractère, simplement en activant la physique Nous pouvons simplement vérifier cette propriété dans le panneau de détails lorsque vous avez sélectionné votre cube Nous avons donc maintenant un cube qui tombe et reste en place. On peut même le croiser, ce qui est amusant. Nous avons activé la physique. Donc, au début, évidemment, nous voulons également désactiver la visibilité du cube. Il n'est pas nécessaire de tout programmer. Parfois, vous pouvez simplement changer certaines options. Mais la poussière suivante, lorsque nous appuyons sur la touche B, le cube devrait devenir visible. Nous l'avons déjà fait, donc cela devrait être facile. Faites glisser le cube dans le graphique des événements et connectez-le à la note de visibilité définie. Nous n'avons pas besoin de basculer pour le moment et, bien entendu, de vérifier la nouvelle visibilité pour qu'elle soit vraie Bien, maintenant nous devons nous assurer que le cube apparaisse devant le personnage Et même s'il est invisible dès le départ, il apparaît toujours juste devant le personnage au début Mais ensuite, nous nous promenons et nous appuyons sur le Biki pour le rendre visible De toute évidence, il apparaît simplement là où il se trouvait déjà. Donc, d'accord, nous devons définir emplacement du cube, et nous pouvons le faire. Nous l'avons déjà fait. Il suffit de prendre le cube et de le connecter à un emplacement mondial défini. D'ailleurs, si vous avez du mal à comprendre la différence entre un monde et un lieu relatif, c'est le moment idéal pour l'essayer. Vous verrez que ce relatif ne fonctionnera pas, c' est-à-dire la position à l'intérieur du plan Au fur et à mesure que nous courons, la position du personnage change dans le monde, mais pas dans le plan La position relative reste la même. Mais alors, quelle est la nouvelle position mondiale du cube ? Eh bien, évidemment, où en est le personnage. Prenons donc le personnage, qui est le maillage squelettique, et déterminons sa position dans le monde. Connectez-le au nouvel emplacement. Génial. Lancez le jeu, je vais me promener un peu, puis poser la bombe. Oh, c'est quoi ça ? Il apparaît en fait exactement au même endroit que mon personnage. Tu sais, ça devrait être devant moi. Et c'est là que les choses se compliquent. Il va falloir résoudre un problème. Comme nous l'avons déjà vu, nous pouvons diviser les épingles de l'emplacement. Donc, en théorie, nous pourrions connecter le X au X, puis connecter le Y à un nœud d'ajout et ajouter une valeur de, disons, 200 et placer cette valeur dans l'emplacement Y suivant. Et enfin, le Z. Non, ça reste le même. Donc, d'accord, en théorie, nous avons un décalage maintenant. Et lançons le jeu, promenons-nous et appuyons plusieurs fois sur la touche B. Et nous sommes conscients que ce décalage dépend de l'endroit où le personnage fait face. Ce n'est donc pas vraiment une bonne option. Nous ne pouvons pas prendre la position du maillage. Je vais supprimer tout cela et cliquer avec le bouton droit sur mes épingles pour les combiner à nouveau. Nous allons avoir besoin de la position de quelque chose qui se trouve devant le personnage. Hmm. Et si nous ajoutions simplement quelque chose là-dedans, par exemple une sphère aux composants, et je vais faire glisser cette sphère devant mon personnage. Maintenant, tant que je n'active pas la physique, cette sphère me suivra et restera exactement devant le personnage. La seule chose que je dois faire est de désactiver sa visibilité. Il y a cependant un problème. Même s'il est invisible, je peux toujours me heurter à d'autres objets Nous devons donc également désactiver la collision. Vous pouvez rechercher une collision. Il n'y a pas vraiment d'option ici pour activer ou désactiver cela, mais je vois qu' il existe un préréglage qui indique le bloc A, et ce qui est intéressant, c'est qu'il y a une option ici qui indique qu'il n'y a pas de collision. Hum, je me demande ce que ça va faire. Eh bien, cela a réglé mon problème. Alors maintenant, tout est réuni. Nous allons prendre cette sphère, déterminer sa position dans le monde et la relier au nouvel emplacement du cube. Et Bm, nous avons fait fonctionner le mécanisme de pose de bombes. Un problème, cependant, c' est qu'il y a un bug dans le jeu. Vous savez, les joueurs peuvent répondre à la bombe à l' infini, et c'est logique Chaque fois que nous appuyons sur la touche B, elle définit une nouvelle position dans le monde. n'y a qu'une seule bombe, donc ça ne devrait arriver qu'une seule fois. Pour résoudre ce problème, nous allons encore une fois procéder étape par étape. Donc, si le joueur appuie sur B, la bombe apparaît, et nous devons nous rappeler que c'est le joueur qui a fait cette action, afin que nous ne puissions pas la refaire une autre fois Tu sais, c'est comme ça que les humains travaillent. Si votre enfant vole un cookie mais que vous ne le voyez pas, il peut en prendre autant qu'il le souhaite Mais si vous les avez vus prendre un cookie une fois, vous l'enregistrez dans votre mémoire et vous pouvez dire à vos enfants de ne pas en prendre un autre. Et c'est ce que font les enfants. Ils écoutent très bien. Nous devons donc également le stocker dans la mémoire du jeu, et c'est là que les variables entrent en jeu. Nous le retrouvons ici en bas à gauche dans l'éditeur de plans Nous en avons déjà quelques-uns. Ce sont les composants que nous éditons, comme la sphère et le cube. Mais nous pouvons également en créer un nouveau. Cliquez sur le bouton Plus et nommez la variable plantée. Et par défaut, il est indiqué que la variable est une valeur booléenne. Il s'agit du type de variable. Nous pouvons stocker toutes sortes de choses dans une mémoire. Un booléen est simplement une déclaration vraie ou fausse. Mais nous pouvons également le remplacer par un entier. C'est un chiffre. Nous pouvons avoir une variable de texte. Il existe également une variable vectorielle. Il s'agit de trois valeurs, en d'autres termes, XYZ Pour stocker un emplacement, et pour aggraver les choses, il existe environ 7 000 types de variables supplémentaires Mais ne vous inquiétez pas, tout comme pour les classes Blueprint, vous n'utiliserez que les plus courantes sauf si vous connaissez déjà Unreal et que vous travaillez sur un projet plus important ayant Unreal et que vous travaillez sur des besoins très spécifiques Maintenant, un lingot, c'est bien, vrai ou faux. Faites glisser cette variable dans le graphique, et nous devons choisir entre get ou set. Est-ce que nous stockons un nouveau souvenir ou regardons-nous ce que nous avons stocké auparavant ? Nous allons commencer par définir la variable. Donc, lorsque j'appuie sur la touche B, nous devons d'abord nous assurer de suivre toutes les actions nécessaires pour poser la bombe, donc faites glisser le nœud défini vers le bout, puis connectez-le et réglez-le sur true. Maintenant, revenons au début. Lorsque j'appuierai sur le Biki avant de poser la bombe, je vais d'abord vérifier si nous l' avons déjà fait Donc, cette fois, on prend le get planted. Et nous pouvons vérifier cela en utilisant une simple branche, une note que vous utiliserez également beaucoup. Si vous aimez la programmation, il s'agit essentiellement d'une déclaration IL. Si une condition est vraie, faites-le. C'est une déclaration de l'IL. En réalité, c'est un peu différent. C'est ce qu'on appelle une branche. Il examine la condition, et si elle est vraie, il suit cette épingle d'exécution. Si elle est fausse, elle suit l'autre. Un excellent moyen de répartir le flux de vos notes en fonction d'une condition. C'est déjà planté, si c'est vrai, alors nous ne faisons rien. Ou nous pourrions ajouter un texte imprimé disant que la bombe est déjà posée. Si c'est faux, cela signifie que nous n'avons pas encore posé de bombe. Ensuite, nous pourrions tout faire pour planter la séquence de notes explosive. Et en lançant le jeu, nous pouvons voir maintenant qu'il fonctionne parfaitement. C'est bon, la bombe est posée. Maintenant, prenons un peu de distance et faisons-le exploser. Nous pouvons attribuer l'explosion à différentes touches ou utiliser la même. Vous savez, nous avons déjà une succursale ici, ce qui signifie que nous pourrions déclencher l'explosion elle-même une fois installée , c'est vrai. Faites donc glisser les confettis en rafale dans le plan, et tout de suite dans les fenêtres d'affichage, nous pouvons voir que les confettis se détachent De plus, lorsque nous jouons au jeu, il se déclenche. Jetons donc un coup d'œil au panneau des détails. Y a-t-il quelque chose ici qui active automatiquement cette simulation ? Eh bien, oui, il y en a. L'activation automatique est activée. Alors désactivons-le. Dans le graphique des événements, cela signifie que nous allons devoir examiner confettis et les lier à un nœud d'activation défini Donc, je ne fais que lire les propriétés d' un composant qui revient toujours sous forme de note. C'est aussi simple que cela. Si vous ne savez pas comment faire quelque chose, regardez simplement les propriétés. Voici toutes les options qui vous et celles que vous pouvez modifier. Maintenant, nous devons également définir la bonne position. Je vais donc aller un peu plus vite car nous devons maintenant comprendre comment cela fonctionne. Emplacement mondial du jeu de confettis, connecté. Prenez ensuite le cube ou la bombe, déterminez sa position dans le monde et saisissez cette valeur dans le nouvel emplacement des confettis Enfin, si votre bombe explose, elle disparaîtra également. Prenez donc le cube et connectez-le à nouveau à un nœud de visibilité défini, mais laissez la visibilité décochée. Très bien, essayons Je vais placer ma bombe, enfuir un peu, puis la faire exploser Ouaip, des confettis. Cela fonctionne. Mais tout comme pour la bombe, nous ne voulons pas que le joueur la fasse apparaître ou, dans ce cas, qu'elle explose à nouveau, car cela se produira en regardant mes notes actuelles Rien ici ne m'indique que le joueur ne doit pas réactiver les confettis Mais je suis sûr que tu sais comment faire maintenant. C'est donc encore une fois une petite tâche pour vous. Et comme avant, je vais vous montrer la solution dans la prochaine leçon. Merci d'avoir regardé. 7. Cochez la détection avec la traçage de ligne: Nous apprenons qu' avec le bon sens, vous savez quel type de notes choisir et vous pouvez relier les unes aux autres. Parfois, vous devez essayer plusieurs notes différentes pour trouver celle qui vous convient. Et un bon conseil est d' utiliser quelque chose comme Hatchipt pour lui demander ce que vous voulez faire et quelle note vous devez choisir pour C'est un outil incroyable pour vous aider dans ce genre de choses. Mais il y a quelques notes dans Unreal, qui ne sont peut-être pas si évidentes à première vue, mais il est très important de les connaître Et l'une d'entre elles est un peu plus complexe. Je veux donc explorer cela avec. Mais examinons d'abord la solution de la leçon précédente. Ainsi, lorsque nous posons une bombe, elle active toujours les confettis Et celui-ci était très simple. Nous avons simplement dû créer une autre variable. J'appelle ça explosé, et je vais vérifier si Explosed est vrai. Sinon, nous activerons les confettis. Et si c'est vrai, nous ne faisons rien. Puis, à la fin de cette série de notes, nous avons, bien sûr, explosé pour devenir réalité. C'est exactement la même chose que nous avons fait pour poser la bombe. Et comme nous disposons de ces valeurs et d'une variable, nous pourrions poursuivre sur cette base. Vous savez, le joueur peut, par exemple, récupérer une nouvelle bombe et nous remettons les deux variables à zéro, afin que le joueur puisse à nouveau poser une bombe. C'est le pouvoir de travailler avec des variables. Je vais rester dans le plan de mon personnage, cliquer avec le bouton droit de la souris dans un espace vide et rechercher Trace by channel Et nous avons ici quelques options différentes, boîte, capsule, ligne, etc. Ils sont tous identiques, sauf pour ce qui est de la forme de la trace. Pour l'instant, suivons la ligne. Cela aura plus de sens dans un moment. La première chose que je vais faire est de créer un événement en appuyant sur la touche T et de le connecter à la note de trace de ligne De cette façon, nous pouvons le déclencher lorsque j'appuie . À quoi cela sert-il et pourquoi est-ce si important ? Eh bien, nous pouvons tirer une ligne. Nous devons maintenant définir les positions de début et de fin de cette ligne. Donc, si vous voulez tirer cette ligne du personnage, nous devons commencer par déterminer nous devons commencer par où se trouve le personnage dans le monde. Et nous l'avons déjà fait à de nombreuses reprises. Pour ce qui est de la position finale, nous pourrions prendre la même position que le départ, mais liée à une note d'ajout. Cela nous permet d'ajouter 100 à la position actuelle. Tu sais, puis connecte-le jusqu'au bout. Maintenant, si nous devions l'exécuter, nous ne verrons rien. C'est parce que la ligne ne doit pas être visible. Mais au fur et à mesure que nous y travaillons, nous pouvons rendre le dessin Dbuk visible Et choisissons la durée pour que la ligne reste visible assez longtemps. OK, je vais le tester. Lorsque j'appuie sur la touche T, vous pouvez voir une ligne apparaître à partir du personnage. Chaque fois que j'appuie sur la touche. Et ce qui est intéressant, c'est que nous pouvons maintenant utiliser cette ligne pour qu'elle touche quelque chose , puis effectuer une action spécifique de manière dynamique sur ce coup. Et l'une des choses auxquelles nous pensons immédiatement est un jeu de tir. Vous savez, vous tirez une balle, qui sera soutenue par cette ligne invisible, et si elle touche un autre joueur, elle meurt. Mais cela va bien au-delà de cela. Je voudrais vous montrer très rapidement un projet sur lequel je travaille. C'est pour une pièce de théâtre. Le moteur Unreal sera utilisé comme projection en arrière-plan Et j'ai ce jouet, j'ai modifié de telle sorte que lorsque vous tirez avec le pistolet, il clique sur un bouton. À partir de là, je le laisse tracer une ligne depuis le haut, et là où il touche le sol, je fais exploser une étincelle de feu. Si vous faites cela, je peux le rendre dynamique car la surface du sol n'est pas droite. Je ne sais donc pas où placer l'étincelle. C'est là qu'intervient le tracé linéaire. Vous devez donc voir cette note comme un outil incroyable pour créer toutes sortes d'événements dynamiques, soit pour les jeux, les applications interactives, les rendus de films, dont les simulations se révèlent différentes à chaque exportation Mais bon, assez de jappements. Créons quelque chose, quelque chose de simple pour commencer. J'ai envie de marcher jusqu'à un mur et de peindre à la bombe des graffitis exactement devant moi sur ce mur. Donc, tout d'abord, je vais créer un simple mur à partir d'un cube. Je vais l' étirer un peu pour que nous puissions avoir un mur haut et long. Beaucoup d'espace pour les graffitis. Ensuite, il nous faut des graffitis. Et je suppose que vous connaissez déjà FAP, qui est le marché des actifs de moteurs irréels Si vous recherchez des graffitis et fixez le prix à la gratuité, vous en trouverez, et vous voulez idéalement rechercher des autocollants, et Quickle en propose certains Je vais juste ajouter le premier dans mon projet. C'est très simple. Si vous faites glisser un tel matériau sur votre niveau, il se projettera dans le sens de cette flèche sur n'importe quelle surface. OK, revenons donc à notre plan. La première chose que nous voulons faire est assurer que la ligne sort correctement. Tout a commencé au bas du personnage. Nous allons donc le déplacer légèrement vers le haut au niveau de la poitrine. Je vais donc faire un ajout sur la position de départ, et placer 150 dans l'axe Z. Il fait en fait 150 centimètres, ce qui est logique pour un personnage. La position des extrémités l' emportera également , car elle doit tirer directement. Maintenant, le problème vient des valeurs X et Y car cela dépend de l'endroit où le personnage fait face. En le testant très rapidement, vous pouvez voir que sur l'axe X, il part toujours dans la même direction. Nous avons donc dû trouver un moyen de le faire tourner devant le personnage à tout moment. Nous pouvons maintenant effectuer un calcul mathématique complet, mais heureusement, il existe une note simple à ce sujet appelée le vecteur Get forward. Il produira une petite valeur X Y Z basée sur la direction dans laquelle le personnage fait face, afin que nous puissions connecter ce nœud à un nœud multiplicateur. La valeur sera toujours inférieure ou égale à un. Si tu fais X plus Y, tu en auras un. C'est ainsi que nous pouvons déterminer la direction à suivre. Mais nous devons multiplier au lieu d'ajouter cette fois. Et comme le vecteur direct est un petit nombre, donc une position relative, nous devons l'ajouter à la position mondiale du maillage. Enfin, nous voulons ajouter 150 sur les deux axes Z pour l'augmenter un peu Connectez la position mondiale normale au début et la position mondiale avec le décalage ajouté entre le vecteur avant et la fin. Essayons-le. Et ça marche en quelque sorte, mais ça ne marche pas non plus. D'une manière ou d'une autre, cela provient du site, et il m'a fallu un certain temps pour le comprendre, en fait. Mais en revenant au plan et en sélectionnant le maillage, vous découvrirez qu' il a été pivoté Maintenant, nous ne pouvons pas simplement le faire revenir à zéro car c'est ainsi que le plan a été configuré N'oubliez pas que nous avons également des contrôles pour les joueurs, nous ne pouvons donc pas trop jouer avec ces actifs. Prenons donc plutôt le composant de la capsule. Il encapsule tout, comme le personnage, la caméra, etc. Et c'est en fait le composant qui est contrôlé par le joueur. Et oui, ça marche. La ligne est cependant un peu trop haute, et c'est parce qu'au lieu que le point d' ancrage se trouve en bas, comme c'est le cas pour le maillage, dans la capsule, il se trouve au milieu. Il suffit donc de le réduire à 70 ou quelque chose comme ça. Je vous montre donc ces choses que je rencontre également. De cette façon, vous pouvez voir le processus que je dois suivre pour résoudre un problème. Quoi qu'il en soit, le tracé des lignes fonctionne. Sur la sortie du nœud de trace de ligne, nous avons une propriété out hit, et je vais cliquer dessus avec le bouton droit de la souris et choisir Split the pin. Vous verrez ce qui se trouve réellement à l'intérieur. Il existe de nombreuses façons de vérifier comment il atteint quelque chose dans le niveau. un jeu de combat, vous pouvez en fait localiser les os dans le maillage squelettique de l' adversaire. Mais ce qui nous intéresse, c'est le lieu du hit. Ce sera également la propriété la plus utilisée car nous voulons faire apparaître le sticker graffiti à un endroit précis, à l'endroit où le tracé de la ligne entre en contact avec le mur Alors oui, ajoutons le sticker graffiti. Et vous pourriez penser, comme avant, nous ajoutons un autocollant aux composants, que nous le glissons dans le plan et que nous définissons sa position, comme nous l'avons fait avec le cube dans la leçon précédente Cependant, cela signifie que nous n' avons qu'un seul autocollant avec lequel travailler. En fait, si vous aviez suivi cette voie, vous auriez remarqué que vous êtes coincé dessus. Nous devons donc trouver un moyen d'ajouter un nouveau sticker au niveau chaque fois que j'appuie sur ma touche De cette façon, je peux peindre plusieurs graffitis sur le mur Voyons s'il existe un nœud pour cela. Cliquez avec le bouton droit de la souris et recherchez le spawn. Et je peux voir qu'il y a plusieurs choses que nous pouvons réellement intégrer dans le niveau, ce qui est vraiment cool Cela pourrait vous donner une idée de ce qui est possible. Et à ma grande surprise, il y en a un qui nous permet de créer un autocollant à un endroit précis, et c'est exactement ce dont nous avons besoin Très bien, nous devons donc régler le matériau de l'autocollant, qui sera celui que j'ai téléchargé En fait, nous pouvons simplement faire glisser ce matériau dans la propriété de note. C'est plus facile parfois. Il va falloir définir une taille. Sinon, nous ne pouvons pas voir l'autocollant, et vous devez revenir en arrière pour déterminer les valeurs correctes. Je vais t'épargner la douleur. J'ai juste choisi 100 et chaque attribut d'échelle et réglé la rotation X à 90 et le reste à zéro. En ce qui concerne l'emplacement, ce sera le point de référence du tracé linéaire. Enfin, nous devons simplement nous assurer que le nœud est exécuté après la note de trace de ligne. Très bien, voyons ce que ça donne. Cela fonctionne à merveille. Cependant, je remarque quelques problèmes. L'autocollant est également visible sur le personnage lui-même. Tu sais, ça ne devrait être visible que sur le mur. Et lorsque le tracé de la ligne ne touche pas un objet, il peint également les graffitis à la bombe. C'est à un endroit étrange car il n'y a pas de point de frappe, c'est normal car la note s' exécutera toujours quoi qu'il arrive. Nous devons donc régler ces deux problèmes. Commençons par l' autocollant apposé sur le personnage. Je vais sélectionner mon maillage squelettique et rechercher un autocollant dans le panneau de détails Et comme je le pensais, nous avons une option qui garantit qu'il ne recevra pas de décalcomanies. Génial. C'était une solution facile. Maintenant, le deuxième problème. Donc, ce n'est que lorsque le tracé de la ligne atteint que nous voulons le décaler pour l'étendre Et à partir du nœud de trace de ligne, nous avons une valeur de retour en bas. Cela redeviendra simplement vrai si la ligne est atteinte ou tombe s'il n'y a pas de contact. Nous pouvons donc simplement ajouter un nœud de branche entre les deux et utiliser cette vérification. Donc, ce n'est que si le hit est vrai que nous faisons apparaître le décalcomanie Sinon, nous ne faisons rien. Ainsi, lorsque je ne me tiens pas assez près du mur, graffitis ne sont pas peints à la bombe, mais seulement lorsque je suis assez près et que la ligne atteint la ligne. Évidemment, lorsque tout fonctionne comme prévu, vous devez désactiver le Dbug du tirage afin que les joueurs ne voient pas réellement ce tracé de ligne s'agit donc que d'un exemple de 1 000 exemples illustrant la façon dont vous pouvez utiliser la note de suivi. Je vous recommande vivement de jouer avec cette note et de voir quelles autres choses dynamiques vous pouvez créer. Explorez également la sphère et la trace du cube. Ils sont exactement les mêmes, mais optez plutôt pour une forme différente ce qui pourrait vous donner plus d' options pour ce que vous voulez faire. Les leçons ont été longues jusqu' à présent, alors faites une pause dans ce cours, entraînez-vous un peu avec tout que vous avez déjà appris, puis nous poursuivrons plus tard avec une simulation très amusante que nous créerons ensemble. Merci d'avoir regardé. 8. Événements de simulation dynamique: Nous avons beaucoup travaillé sur le plan du personnage à la troisième personne J'ai donc pensé à faire quelque chose de différent pour cette leçon. J'ai donc créé un niveau simple avec des murs et j'y ai ajouté des épingles. Maintenant, nous avons trois balles au-dessus. Ce ne sont que des sphères pour lesquelles j'ai activé la gravité, vous savez, pour la physique. Nous l'avons déjà vu. Et ce qui est intéressant qu'à chaque fois que je lance le jeu, nous obtenons un résultat différent. Tu sais, ces balles ne rebondiront jamais de la même façon. Ils finiront toujours ailleurs. C'est ce que l'on appelle une simulation, et vous pouvez avoir de nombreuses simulations dans un jeu, mais aussi lorsque vous effectuez des rendus de films ou tout autre élément utilisant un moteur irréel Cela signifie que toute action que nous voulons créer doit être dynamique. Il doit réagir à la simulation, et c'est là encore qu'interviennent les plans J'ai donc l'idée de changer la couleur de ces épingles si l'une des balles les heurte, et si elles reçoivent plusieurs bosses, leur couleur continuera Par exemple, une bosse les rendra verts, un second jaune et un troisième rouge La première chose à faire est donc de retirer toutes les boîtes, car nous allons les remplacer par un plan Créons donc une classe d'acteur Blueprint, que j'appellerai BP pin Et à l'intérieur des composants, je vais ajouter le cylindre, et je veux le redimensionner un peu pour que la goupille soit plus longue Et vous pouvez déjà faire glisser le plan dans votre scène pour mieux comprendre quelle mesure vous devez le redimensionner Il est toujours préférable de redimensionner le maillage lui-même plutôt que le plan lui-même. Je vais le faire pivoter et le déplacer en place. Et une fois que j'ai terminé, dupliquons ce plan fois en maintenant la touche Alt enfoncée, puis en le faisant glisser vers une autre position Bien, nous pouvons maintenant accéder au plan Pin et commencer à connecter certaines notes Nous voulons donc trouver un moyen de déclencher un événement chaque fois que le cylindre est touché. La première chose que nous pouvons faire est donc de rechercher un tel événement. Et en cas de collision, il y en a une qui s'appelle Event Hit. Nous l'avons déjà vu. Et un excellent moyen de le tester et de voir s'il fonctionne est de connecter à un texte imprimé ou à une note de chaîne. Lancez le jeu. Et malheureusement, cela ne fonctionne pas. Maintenant, je vais t' épargner la peine. Mais généralement, lorsqu' un événement souhaité n' est pas déclenché, il peut s'agir d'un paramètre dans les propriétés du maillage. Sélectionnez donc le cylindre et accédez à l'écran de détail. Sous collision, il y a un paramètre appelé Simulation Generate Hit events, qui est désactivé par défaut. Il suffit donc d'activer. Certaines de ces options sont désactivées par défaut pour des raisons de performance. Si vous n'utilisez pas le clic sur l'événement, il ne doit pas non plus être enregistré, car même si vous n'utilisez pas certaines de ces notes d'événement , ces événements reçoivent un ping à chaque fois. Et lors de la construction d'un vaste monde, cela peut entraîner des problèmes de performance. Vérifiez donc toujours les détails du composant s'il y a quelque chose qui doit être activé. Avant de passer à autre chose, il y a une chose importante à savoir. Vous savez, auparavant, nous devions définir le maillage comme cible dans une note. Cette fois, nous n' avons pas à le faire. Cela signifie que l'événement atteint est déclenché chaque fois que le plan est atteint Si je devais avoir plusieurs maillages ici et que je voulais déclencher spécifiquement le hit pour un maillage spécifique, vous pouvez sélectionner ce maillage , puis si vous cliquez avec le bouton droit ici, vous pouvez voir que nous pouvons ajouter un événement spécifique pour ce maillage Et lors d'une collision, on peut trouver le composant touché par cylindre. Il s'agit donc exactement du même événement. L'un concerne le maillage spécifique. L'autre concerne tout ce qui se trouve dans le plan. OK, ça fonctionne maintenant. Le texte à l'écran indiquera bonjour chaque fois qu'une épingle est frappée. Nous voulons donc changer la couleur de l'épingle. Pour ce faire, nous devons apporter des modifications dynamiques au matériau. Par conséquent, je vais créer un nouveau matériau et l'appeler pin. La création de matériaux est également basée sur les nœuds. Cela fonctionne de manière très similaire à celle des plans, et nous pouvons faire toutes sortes de choses et intégrer cela aux différentes propriétés des matériaux ici Nous pouvons également ajouter des textures ici. Si vous voulez que l'épingle ressemble à un poteau en bois ou autre, je vais rester simple pour le moment et simplement changer la couleur de base en blanc sur la propriété du matériau lui-même. Ensuite, je vais revenir au plan, sélectionner le cylindre et remplacer son matériau par une épingle, celle que nous venons de créer Très bien, je vais prendre le cylindre et le faire glisser dans le plan À partir de là, voyons si nous pouvons trouver un nœud pour modifier le paramètre de couleur de base de son matériau. Recherchez du matériel et parcourez la liste, j'ai besoin d'une note fixe, et voici quelque chose qui pourrait fonctionner définir la valeur du paramètre de couleur sur le matériau. Allons prendre ça. Très bien, il me demande donc de définir le nom du paramètre. Le paramètre s'appelle couleur de base, n'est-ce pas ? Alors tapons-le ici. Ensuite, nous pouvons choisir une nouvelle valeur de paramètre ou une nouvelle couleur. Tu sais, rendons-le vert. Enfin, connectez l'événement à cette note afin qu'elle puisse être déclenchée dès que vous la touchez. Très bien, essayons-le. Hmm. Cela n'a pas marché. Le nom du paramètre n'est peut-être pas correct. Peut-être devons-nous faire autre chose avec cette propriété. Revenons au matériau et examinons la propriété de la couleur de base. Faisons un clic droit dessus et voyons quelles options s'offrent à nous. Oh, intéressant. Nous pouvons le promouvoir en tant que paramètre. Hmm. C'est logique. Ces propriétés du matériau ne sont que cela. Propriétés, et nous ne pouvons modifier que ce qui se passe devant les propriétés dans lesquelles nous définissons une couleur ou une texture. Nous appelons ces paramètres, et ils entrent dans la propriété. Cela signifie que nous pouvons également changer le nom du paramètre en pin coolor, par exemple Cela rend le travail avec lequel il est beaucoup plus agréable de travailler. Cela nous permet également de mieux comprendre qu'avec des matériaux très complexes, nous pouvons modifier un paramètre spécifique, ce qui peut modifier la saleté et l'eau ou le reflet dans le verre. D'accord, je vais changer ça blanc, la couleur par défaut Et dans mon plan, nom de ce paramètre devient désormais la couleur de l'épingle Vous avez 100 notes ici, il est également beaucoup plus logique de voir la couleur des épingles plutôt que la couleur de base. Très bien, lancez la simulation, et génial. Cela fonctionne. Maintenant, l'idée est de changer trois fois de couleur. Et il existe différentes manières de le faire. L'une des méthodes consiste à créer une valeur numérique et y ajouter une valeur à chaque fois que l' événement est déclenché Ensuite, nous vérifions quel est ce nombre, et en fonction de cela, nous changeons la couleur en conséquence. Mais c'est beaucoup de code pour quelque chose que nous pouvons simplifier avec une note en D. Vous pouvez en fait trouver tout un tas de nœuds de contrôle de flux lorsque vous les recherchez. Nous en avons déjà abordé quelques-uns. Le nœud dN, où N représente un nombre que vous avez défini, exécute une action autant de fois que vous le souhaitez. Nous pouvons donc le définir dans la valeur d'entrée. Le compteur sur la sortie nous donnera le numéro auquel se trouve le nœud. Donc, si c'est la deuxième fois qu'il est déclenché, le nombre de sortie est deux. Et au lieu de faire tout un tas de branches et de vérifier si c'est le numéro un, deux ou trois, nous pouvons utiliser un nœud de commutation. Et plus précisément, l'interrupteur It où il représente un entier ou une valeur numérique, puis nous pouvons ajouter autant de broches de sortie que nous le souhaitons Je vais donc en ajouter un pour chaque numéro. Maintenant, le nœud d'échéance commence par un, nous allons donc laisser le premier zéro vide. Nous pourrions dupliquer le nœud de matériau trois fois et le faire changer de couleur. Mais encore une fois, ce n'est pas une bonne programmation. Trop de notes. Vous voulez que les choses restent simples, efficaces et faciles à adapter à l'avenir. Je vais cliquer avec le bouton droit sur la couleur du paramètre et choisir de le convertir en variable. Cela l'ajoutera à la liste des variables. Cette fois, il ne s'agit pas d'un lingot comme nous l'avons fait auparavant, mais d'une variable de type de couleur linéaire Fonctionne exactement de la même manière. Les variables peuvent être obtenues comme nous le faisons ici. Nous obtenons la valeur de la couleur, mais nous pouvons également définir la couleur. Il suffit donc de faire glisser la variable dans le plan et de choisir Set, et nous le ferons trois fois. Au fait, vous pouvez également simplement copier-coller le nœud défini. Maintenant, connectez les sorties un, deux et trois, et enfin changez la couleur de chacune d'elles. Nous pouvons ensuite transférer les sorties X de chaque nœud dans le nœud des paramètres de couleur afin qu'il soit réellement déclenché et change de couleur. Essayons-le. Chez Yippie. Cela fonctionne. Nous commençons donc à comprendre que même avec quelques notes, nous pouvons faire beaucoup de choses, mais que cela se transforme rapidement en désordre. Voici, d'ailleurs, exactement la même chose sans utiliser la note do and switch, juste un tas de branches, de chèques et de compteurs manuels Il fait exactement la même chose. Mais dans un projet plus complexe, si vous planifiez toutes vos fonctionnalités de cette manière, cela devient un véritable gâchis Explorez donc un peu plus les notes de contrôle de flux pour vous familiariser avec elles. C'est vraiment impressionnant au début, mais une fois que vous commencez à comprendre comment ils fonctionnent, ils sont tellement meilleurs. Voilà le truc. J' aime beaucoup ce que je viens de créer et je souhaite utiliser davantage ce changement de couleur dans mon projet. Et quand on pense à la mise à l'échelle, même cette structure de notes courtes est trop importante. Et c'est là que les fonctions entrent en jeu. Mais c'est pour la prochaine leçon. 9. Fonctions d'arborescence - Code réutilisable Code: Je crois que nous venons de créer une fonctionnalité étonnante avec ces spins qui changent de couleur lorsqu'un autre objet entre en collision avec Je veux m'en servir davantage, mais devoir copier et coller ces notes devient un gâchis. Et je souhaite également que ces notes soient plus faciles à ajuster, en particulier en ce qui concerne des propriétés telles que la couleur. Eh bien, c'est là que les fonctions entrent en jeu, et vous pouvez les considérer comme une note personnalisée. Sur le côté gauche, vous trouverez une fonction sap à partir de laquelle nous pouvons cliquer sur le bouton Plus pour créer une nouvelle fonction, et nous l'appellerons changement de couleur ou quelque chose comme ça. A été automatiquement ouvert. Il possède son propre espace de travail, et vous pouvez voir ici que nous pouvons revenir au graphique des événements. Et si vous fermez votre fonction, vous pouvez toujours la rouvrir en double-cliquant simplement sur votre fonction dans le panneau du plan Je vais donc revenir à mon graphe d'événements et tout mettre dans cette fonction sauf le nœud d'événements, ce qui n'est pas possible. Vous devez le connecter à une exécution entrante qu' un événement n'a pas, car c'est là que tout commence. Je vais contrôler X, qui est coupé, puis dans la fonction, je vais coller le nœud. Nous allons connecter le début de la fonction au nœud D N. Revenez ensuite au graphique des événements, et comme pour une variable, je peux faire glisser cette fonction dans mon plan Et comme vous pouvez le constater, il ne s'agit que d'un simple nœud. Vous pouvez en quelque sorte le voir comme un conteneur pour tous les autres nœuds. En connectant les touches des composants à cette fonction, tout fonctionnera exactement de la même manière. Et ce qui est cool, c'est que je peux réutiliser cette fonction autant de fois que je le souhaite. Par exemple, je vais aller dans ma fenêtre d'affichage et dupliquer ce cylindre pour en avoir deux. Et pour nous faciliter la tâche, renommons ces cylindres en épingle 1 et goupille 2 Revenons ensuite au graphique des événements et créons un impact sur le composant pour la deuxième épingle. Une fois cette option sélectionnée, cliquez avec le bouton droit de la souris sur l'événement de collision lorsque le composant est touché. Et nous pouvons maintenant connecter la même fonction à cet événement également. Et ça marche en quelque sorte, mais pas vraiment. Vous savez, mon deuxième bac ne change pas de couleur. Pourquoi est-ce le cas ? Regardons à nouveau les nœuds de la fonction. Et voici quelque chose que je remarque. Lorsque nous changeons de couleur, nous ciblons l'épingle 1. Donc, pour l'autre épingle, nous devons également cibler celle-ci. Nous avons donc besoin d'un paramètre dans la fonction que nous pouvons modifier, et c'est facile à faire. Sélectionnez la fonction et accédez au panneau de détails. Ici, vous pouvez voir en bas que nous pouvons ajouter un paramètre d'entrée et de sortie. Créons une entrée, et ce sont les mêmes que les variables. Cela signifie que nous pouvons lui donner un nom tel que target, puis choisir le type de variable. Et si vous ne connaissez pas ce type de variable, vous pouvez toujours survoler le paramètre dans ce cas, les nœuds de couleur, car cela vous indiquera de quel type de paramètre il s'agit, et c'est ce que nous voulons rendre dynamique Il s'agit d'une référence à un objet de composant maillé. C'est donc exactement ce que nous allons définir comme type de variable. Maintenant, avant de faire quoi que ce soit d'autre, revenons au graphique des événements. Vérifiez que la fonction possède une épingle d'entrée désormais appelée cible, qui est celle que nous venons de créer. Nous pouvons donc lier le maillage de l' épingle 1 à la première fonction cible et épingle 2 à la deuxième fonction. Ainsi, même si nous utilisons la même fonction, nous l'avons rendue dynamique en nous permettant d'utiliser la fonction sur différentes cibles. Et c'est ce qui est génial avec les fonctions. Nous choisissons le nombre d'options ou de propriétés que nous voulons exposer en entrée ou en sortie, et c'est exactement la même chose que pour toute autre note. Vous pouvez en fait le voir comme une note personnalisée réutilisable. Mais nous n'avons pas encore terminé. Revenons à la fonction. Au départ, la cible a donc été définie dans le graphe des événements. Il ne nous reste plus qu'à nous assurer qu'il la cible réelle du nœud de couleur. Supprimez donc la première épingle et connectez notre entrée cible à la cible des nœuds de couleur. Très bien, allons-y. Cela a définitivement résolu ce problème. Les deux épingles changent désormais de couleur individuellement, mais elles ne changent de couleur qu'une seule fois. Il devrait virer au jaune puis au rouge. Qu'est-ce qui se passe ici ? Eh bien, faisons un peu de débogage. Il s'agit d'une technique qui permet de déterminer où se situe le problème. Je veux voir si mon nœud final compte vraiment , car c'est finalement ce que définit la couleur. J'ai donc besoin de la sortie de la valeur du compteur hors de la fonction. Pour cela, nous allons créer une variable de sortie. Et nous l'appellerons compteur, et le type de variable sera un entier. Je peux le constater instantanément en regardant la couleur de la contre-épingle. Après, parfois, vous connaîtrez également ces choses. Maintenant, cela nous donne un bon de retour. Nous devons connecter la dernière broche exacte au retour et envoyer le compteur dans la variable counter de la fonction pour le transmettre. Lorsque nous revenons au graphique des événements, vous remarquerez que la fonction possède une broche de sortie, que nous pouvons utiliser en combinaison avec une note d'impression de texte. Mais au lieu du texte disant bonjour, je voulais montrer la valeur du compteur. Automatiquement, il ajoutera une variable de conversion du numérique au texte Exécutons la simulation. Et comme je le pensais, oui, il n'en produit qu'un Cela ne compte plus. Nous avons donc localisé le problème en effectuant un peu de débogage. J'utilise le texte imprimé en permanence pour découvrir ce qui se passe dans mon plan et localiser les problèmes que je rencontre. Quel est donc le problème ? Si vous deviez partager vos résultats avec She GPT, cela vous indiquera qu'une fonction sera toujours réinitialisée à chaque fois qu'elle est déclenchée Ainsi, les contrôles de flux lorsqu' il doit se souvenir de quelque chose comme le montant des cotisations qu'il a versées seront rétablis à un, ce qui est logique. Donc, même si cette note de fin était géniale pour garder mes notes mieux organisées, quelle que soit la fonction, nous ne pouvons pas l'utiliser. Et c'est bon. Nous utilisons déjà une fonction qui consiste en une seule note réutilisable. Dans le cadre de cette fonction, ce n'est pas un problème d'avoir plus de nœuds et de compliquer un peu les choses. Supprimez donc ces nœuds et créons manuellement cette même fonctionnalité. Créez une nouvelle variable appelée counter et assurez-vous qu'elle provient d'un type entier. Faites-le ensuite glisser vers le plan et choisissez Set. Connectez les broches exactes, et au lieu de connecter une variable get du compteur à la sélection du commutateur, nous pouvons simplement utiliser la sortie du nœud défini. C'est exactement pareil. Comme ces nœuds sont si proches les uns des autres, nous pouvons le faire sans créer de dégâts. Maintenant, il suffit d'en ajouter un à chaque fois qu'il est déclenché. Faites donc une extraction à partir de la valeur du compteur et faites-la passer par un nœud d'ajout. Nous allons en ajouter un, puis le connecter au nœud défini. Nous prenons donc le numéro de compteur actuel, en y ajoutons un, ce qui fait deux, et nous l' enregistrerons dans la variable avec le nœud défini. prochaine exécution, nous obtenons à nouveau la valeur du compteur , qui est maintenant de deux. Nous en ajouterons un, ce qui en fait trois et ainsi de suite. Nous avons donc essentiellement recréé le do note. Allons essayer, c'est génial. Cela fonctionne parfaitement. Maintenant, j'aimerais ajouter une autre extension à la fonction, mais ce sera une tâche pour vous. Je vous donnerai à nouveau la solution dans la prochaine leçon. Je veux donc que les deux épingles changent de couleur différemment. L'épingle 1 passe du vert au jaune puis au rouge, mais l'épingle 2 doit passer au bleu, violet et à l'orange ou autre chose. Je vous laisse le soin de choisir cette couleur créative. Mais assurez-vous qu'il utilise la même fonction. Bonne chance, et je vous verrai dans la prochaine leçon. 10. Les bonnes pratiques d'organisation de plans: Jetons un coup d' œil à la solution. Ce que nous avons dû faire était de créer trois autres paramètres d'entrée, des variables de type couleur linéaire. J'ai nommé ces couleurs un, deux et trois. Et au lieu de définir ces couleurs dans leur variable respective, nous allons connecter ces entrées. Pour en revenir au graphe des événements, nous pouvons maintenant définir les couleurs pour chaque instance de la fonction. Le premier sera donc le vert, le jaune et le rouge standard , et pour la deuxième épingle, ce sera le bleu, le violet et l'orange. Et lorsque nous exécutons la simulation, elle fonctionne. C'est ainsi que fonctionnent les fonctions et que vous pouvez toujours avoir des paramètres dynamiques spécifiques. Et cette leçon ne créera pas grand-chose, mais c'est peut-être une bonne idée de donner un peu de repos à votre cerveau après toutes ces nouvelles informations. Nous allons donc plutôt nettoyer un peu notre plan. Maintenant, si nous abordons notre fonction, nous commençons à voir un énorme gâchis. Ce n'est pas du tout agréable de travailler dans ce domaine. Voici donc certaines choses que nous pouvons faire pour commencer vous pouvez double-cliquer sur une ligne deux à un point, puis faire glisser ce point nous donner un meilleur aperçu pour nous donner un meilleur aperçu de la destination des connexions Et ce qui est bien avec une fonction, c'est que nous pouvons également choisir où doivent être les variables d'entrée. À partir du panneau de détails, je vais donc faire glisser la cible vers le bas, ce qui me permettra de mieux positionner le nœud de couleur et la ligne qui y est connectée en y ajoutant également un point. Nous pouvons évidemment sélectionner plusieurs nœuds et points pour les déplacer ensemble. Vous pouvez également sélectionner un point ou un nœud et utiliser les touches fléchées pour les déplacer. C'est ainsi que vous voulez essayer de vous assurer qu' aucune ligne ne se chevauche ou ne passe derrière d'autres notes Si jamais vous devez revenir pour apporter des ajustements, vous aurez une bien meilleure vue d'ensemble de ce que fait la logique de votre plan au lieu d'avoir à déterminer à quoi tout est lié J'aime aussi voir autant de lignes droites que possible, et il existe un moyen simple de le faire. suffit de sélectionner les notes que vous souhaitez aligner et d'appuyer sur la touche courte. Q. Essayez d'en prendre l'habitude lorsque vous concevez la structure de votre nœud. Une autre chose qui est également un peu compliquée est lorsque plusieurs lignes de connexion entrent dans le même nœud, comme avec la couleur variable définie ici Si vous deviez marquer un point sur l'un d'entre eux, vous pouvez relier l' autre à ce point. Ainsi, au lieu de consacrer trois lignes à cette note, nous n'en avons plus qu'une. Voici donc quelques-unes des techniques que nous pouvons appliquer pour nettoyer la structure du plan directeur, et c'est à chacun de décider jusqu'où il veut aller Lorsque je travaille sur un projet réel, mon trouble obsessionnel-compulsif se manifeste toujours et je veux que tout soit parfaitement aligné Bien, une dernière chose que nous pouvons faire est d'ajouter des commentaires, et pour les plans plus grands, ce sera très important Imaginez que vous ayez des centaines, voire des milliers de notes dans un seul plan, et que vous souhaitiez apporter une modification à un système spécifique Où est-ce que je l'ai refait ? Eh bien, vous sélectionnez un tas de notes et appuyez sur la touche Ci pour ajouter une zone de commentaire autour de celles-ci. Et ici, par exemple, ce serait le hit-counter. Vous pouvez redimensionner cette zone de commentaires, et si vous la déplacez, tout ce qui se trouve à l'intérieur sera également déplacé Lorsqu'il est sélectionné, certaines options s'affichent également dans un panneau de détails. À partir de là, vous pouvez réellement choisir si vous voulez que les notes qu'il contient bougent avec ou non. Vous pouvez modifier la taille du texte commun, et nous pouvons même changer la couleur. Et j'utilise beaucoup cet étiquetage couleur. Si vous créez un jeu vidéo, vous pouvez avoir toute la logique des capacités, avoir des commentaires verts, créer toute la logique du combat, commentaires rouges, des mouvements, des préparations bleues, etc. Peut voir instantanément le type de logique de ce groupe de nœuds. Je vous recommande vivement d'en faire usage. Enfin, nous pouvons ajouter des commentaires à des notes individuelles ou à des lignes de connexion. Si vous sélectionnez une note, vous verrez cette petite bascule apparaître en haut En cliquant dessus, vous pouvez ajouter un commentaire à cette note. Par exemple, modifiez la couleur de base du matériau. Pour les notes non conventionnelles, avoir ce commentaire personnalisé peut vraiment vous aider Et vous pouvez toujours le masquer en activant la zone de commentaire ou en l'affichant à Il se souvient toujours de ce que vous avez saisi ici. Donc, si vous ne voulez pas le gâchis de tous ces commentaires, mais que vous voulez y trouver des informations pour référence future, c'est possible. J'aime aussi beaucoup l'utiliser sur points d' ancrage et les lignes de connexion, en particulier lorsqu'ils parcourent une longue distance ou que je me retrouve avec autant de lignes différentes. Cela m'aide à savoir à quoi ils sont connectés et dans quel but. Voici donc quelques éléments de base pour garder votre plan propre et organisé Alignez les nœuds à l'aide du raccourci, créez des points d'ancrage pour mieux guider vos lignes de connexion, et enfin ajoutez des cases communes autour de groupes de notes ou d'un seul nœud. C'est ainsi que nous sommes arrivés à la fin de ce cours. me reste maintenant une dernière leçon de conclusion avec un excellent exercice pour mettre pratique tout ce que vous avez appris. 11. Projets finaux et conclusion: Tout d'abord, félicitations pour avoir terminé ce cours. Vous êtes maintenant officiellement prêt à commencer à créer plans dans le moteur Unreal Et même si je n'en ai qu'une idée superficielle, vous avez maintenant de solides connaissances fondamentales sur le fonctionnement des plans À partir de là, vous pouvez expérimenter, explorer et apprendre de nouvelles techniques. sera désormais beaucoup plus facile de suivre les didacticiels YouTube , car vous comprendrez mieux pourquoi des notes spécifiques sont utilisées et comment elles sont connectées. La façon dont j'ai appris à comprendre programmation et les plans était de penser à quelque chose que je voulais créer, puis d'essayer diverses notes et de débugger jusqu'à ce que cela fonctionne Et en utilisant HeChipt, cela m'aide parfois à faire le bon choix. Non, si c'est pour apprendre, essayez d'éviter les didacticiels qui se contentent de relier des notes sans expliquer leur utilité. On n' en apprend pas vraiment grand-chose. Voici donc une dernière tâche, un exercice pour entraîner tout ce que vous avez appris. Et j'ai deux tâches à accomplir. Vous pouvez choisir celui qui correspond à ce pour quoi vous utilisez UnrelEngine, ou vous pouvez faire Le premier est destiné au développement de jeux, et l'autre au rendu de films. Donc, pour le plan de développement du jeu, j'aimerais vous voir créer un jeu de plateforme comme dans Squid Game, où votre personnage doit atteindre l'autre côté en sautant sur ces tuiles Maintenant, une de chaque rangée de tuiles va tomber. C'est donc un jeu purement basé sur la chance à sauter trois fois de suite sur la bonne case, et pour compliquer la tâche du joueur, chaque fois que nous lançons le jeu, les tuiles qui tomberont sont aléatoires Chaque nouvelle instance du jeu sera donc différente. N'oubliez pas qu'une des tuiles d'une rangée doit rester en place et que l' autre doit tomber. Lorsque le joueur tombe, l'écran passe à cette couleur rouge désaturée. Mais quand nous arriverons à la fin, les confettis éclateront. Voici, encore une fois, un aperçu du devoir et essayez de le créer avec le moins de notes possible. Le fichier de projet peut être téléchargé si vous êtes bloqué. Mais n'oubliez pas qu'il existe plusieurs façons de le faire, et qu'il n'y a pas vraiment de bonne ou de mauvaise méthode. Donc, si vous avez réussi et que vous le comparez au mien, prenez-le avec un grain de sel. Bonne chance La deuxième mission concerne le rendu d'un film. J'ai dû rester très simple car je ne peux pas partager un projet contenant un tas d'actifs J'ai donc créé une forêt à partir de formes simples. J'ai également créé une séquence de niveaux avec un mouvement de caméra. Lorsque nous lançons la simulation à intervalles aléatoires, ces troncs d'arbres s'illuminent et tombent lentement Ceci est entièrement dynamique créé à l'aide d'un plan. Donc chaque fois que je lancerai la simulation, ce sera différent. Cela prendrait des jours pour être réellement animé dans le séquenceur, mais à l'aide d'un plan, j'ai pu le créer en seulement 5 Ne vous excitez pas trop pour l'instant. créer est beaucoup plus difficile que le jeu de plateforme. Vous allez devoir utiliser certaines notes que nous n'avons pas vues dans ce cours. Essayez donc de penser de manière logique. Parcourez la liste des notes pour voir si vous pouvez trouver ce que vous recherchez. Encore une fois, un aperçu de ce qu'il faut : un arbre simple composé d'un cylindre et d'un cône. Et, bien sûr, vous pouvez également utiliser un modèle d'arbre réel si vous le souhaitez, et à un moment quelconque, l'arbre ou une partie de l' arbre a besoin de s'allumer. Cela se fait dans le matériau, puis lentement l' arbre doit tomber. C'est un véritable défi, donc ce n'est pas grave si vous utilisez le HiPit pour cela ou si vous jetez un coup d'œil au fichier de projet Il s'agit sans aucun doute d'une tâche de niveau supérieur. Dans les deux fichiers de projet, j'ai ajouté des commentaires pour expliquer les notes que j'utilise et ce qu'elles font. Toutes les réponses s'y trouvent donc. Mais essayez d'abord de le créer sans jeter coup d'œil au projet Je tiens à vous remercier beaucoup d'avoir regardé et j'espère vraiment que vous avez apprécié ce cours. Je vous souhaite bonne chance dans votre aventure avec Unreal Engine et bonne chance dans vos missions. Restez créatifs.